1 2014-09-21 Valentin Dornauer <valentin@unimplemented.org>
3 The AML parser implements only a small subset of possible AML
4 opcodes. On the Fujitsu Lifebook E744 this and another bug in
5 the parser (incorrect handling of TermArg data types) would lead
6 to the laptop not turning off (_S5 not found).
8 * grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
9 in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
10 aren't always simply strings!); Add function to skip TermArgs
11 * include/grub/acpi.h: Add new opcodes
13 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
15 * grub-core/normal/main.c: Don't drop to rescue console in
16 case of password-protected prompt and no menu entries.
18 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20 * grub-core/commands/keylayouts.c: Ignore unknown keys.
22 2014-09-21 Vladimir Serbinenko <phcoder@gmail.com>
24 * grub-core/gmodule.pl.in: Accept newer binutils which output
25 empty column rather than 0x0.
27 2014-09-21 Michael Chang <mchang@suse.com>
29 * grub-core/osdep/unix/config.c: Remove extraneous comma.
31 2014-09-21 Peter Jones <pjones@redhat.com>
33 * grub-core/loader/arm/linux.c: Initialized initrd_ctx so
34 we don't free a random pointer from the stack.
35 * grub-core/loader/arm64/linux.c: Likewise.
36 * grub-core/loader/i386/linux.c: Likewise.
37 * grub-core/loader/i386/pc/linux.c: Likewise.
38 * grub-core/loader/ia64/efi/linux.c: Likewise.
39 * grub-core/loader/mips/linux.c: Likewise.
40 * grub-core/loader/powerpc/ieee1275/linux.c: Likewise.
41 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
43 2014-09-15 Khem Raj <raj.khem@gmail.com>
45 * grub-core/kern/emu/hostfs.c: use _DEFAULT_SOURCE in addition to
46 _BSD_SOURCE to avoid warnings under glibc 2.20+.
48 2014-09-08 Michael Chang <mchang@suse.com>
50 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Fix extent size
51 check; comparing &data->extent against addresses in the region it
52 points to is unpredictable.
54 2014-09-07 Colin Watson <cjwatson@ubuntu.com>
56 Support grub-emu on x32 (ILP32 but with x86-64 instruction set)
58 * configure.ac: Remove -m64 from checks for -mcmodel=large and
59 -mno-red-zone. These are always either unnecessary (x86_64-emu) or
60 already in TARGET_CFLAGS at this point, and they produce incorrect
61 results when building for x32.
62 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
63 pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
64 * include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
65 GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
67 2014-09-07 Colin Watson <cjwatson@ubuntu.com>
69 * configure.ac: Remove several unnecessary semicolons.
71 2014-08-25 Colin Watson <cjwatson@ubuntu.com>
73 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
74 Initialise pend to pacify GCC.
76 2014-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
78 * util/grub-mkconfig.in: Fix typo (gettext_print instead of
81 2014-08-13 Vladimir Serbinenko <phcoder@gmail.com>
83 * grub-core/term/at_keyboard.c: Retry probing keyboard if
84 scancode setup failed.
86 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
88 * grub-core/kern/disk_common.c: Clump disk size to 1EiB.
90 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
92 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Add
93 safety to avoid triggerring VirtualBox bug.
95 2014-08-10 Vladimir Serbinenko <phcoder@gmail.com>
97 * grub-core/fs/cbfs.c: Don't probe disks of unknow size.
99 Fixes hang on virtualbox.
101 2014-07-08 Colin Watson <cjwatson@ubuntu.com>
103 * util/grub.d/10_hurd.in: Make kernel list progression not fail on
104 kernels whose paths contain regex metacharacters.
105 * util/grub.d/10_kfreebsd.in: Likewise.
106 * util/grub.d/10_linux.in: Likewise.
107 * util/grub.d/20_linux_xen.in: Likewise.
109 Reported by: Heimo Stranner.
111 2014-06-26 Colin Watson <cjwatson@ubuntu.com>
113 * docs/grub-dev.texi (Finding your way around): The build system no
114 longer uses AutoGen directly.
116 2014-06-21 Роман Пехов <roman_pekhov>
118 * grub-core/commands/loadenv.c (check_blocklists): Fix overlap check.
120 2014-06-21 Glenn Washburn <development@efficientek.com>
122 * util/grub-install.c: Fix handling of --disk-module.
124 2014-06-21 Stephane Rochoy <sheda>
126 * grub-core/loader/i386/bsd.c (grub_netbsd_boot): Pass pointer to
129 2014-06-21 Stephane Rochoy <sheda>
131 * grub-core/commands/efi/lsefisystab.c (grub_cmd_lsefisystab): Show
132 EFI system table physical address.
134 2014-06-21 Trevor Woerner <trevor.woerner@linaro.org>
136 * util/grub-gen-asciih.c (add_glyph): Fix uninitialised variable.
138 2014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
140 * grub-core/commands/verify.c (grub_pubkey_open): Trust procfs.
142 2014-06-21 Vladimir Serbinenko <phcoder@gmail.com>
144 * grub-core/commands/verify.c (grub_pubkey_open): Fix memdisk
147 2014-04-20 Vladimir Serbinenko <phcoder@gmail.com>
149 * grub-core/kern/misc.c (__bzero): Don't compile in GRUB_UTIL.
151 Reported by: Yves Blusseau <blusseau@zetam.org>.
153 2014-04-20 Piotr Krysiuk <piotras@gmail.com>
155 * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
156 GDT in conventional memory.
158 2014-04-10 Colin Watson <cjwatson@ubuntu.com>
160 * util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
161 UUID. Other parts of grub-mkconfig tolerate these, they were
162 previously allowed here up to commit
163 55e706c918922def17f5012c23cfe88c4c645208, and they can arise in
164 practice when the system has active LVM snapshots.
165 Fixes Ubuntu bug #1287436.
167 2014-04-10 Colin Watson <cjwatson@ubuntu.com>
169 * grub-core/disk/lvm.c (grub_lvm_detect): Search for
170 "logical_volumes" block a little more accurately.
172 2014-04-06 Vladimir Serbinenko <phcoder@gmail.com>
174 * grub-core/lib/syslinux_parse.c: Fix timeout quoting.
176 2014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
178 * include/grub/libgcc.h: Remove ctzsi2 and ctzdi2. They're no longer
181 2014-04-04 Vladimir Serbinenko <phcoder@gmail.com>
183 Replace few instances of memcmp/memcpy in the code that should be
184 grub_memcmp/grub_memcpy.
186 2014-04-03 Vladimir Serbinenko <phcoder@gmail.com>
188 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Support NVMe
191 2014-03-31 Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
193 btrfs: fix get_root key comparison failures due to endianness
195 * grub-core/fs/btrfs.c (get_root): Convert
196 GRUB_BTRFS_ROOT_VOL_OBJECTID to little-endian.
198 2014-03-31 Colin Watson <cjwatson@ubuntu.com>
200 Fix partmap, cryptodisk, and abstraction handling in grub-mkconfig.
202 Commit 588744d0dc655177d5883bdcb8f72ff5160109ed caused grub-mkconfig
203 no longer to be forgiving of trailing spaces on grub-probe output
204 lines, which among other things means that util/grub.d/10_linux.in
205 no longer detects LVM. To fix this, make grub-probe's output
206 delimiting more consistent. As a bonus, this improves the coverage
209 Fixes Debian bug #735935.
211 * grub-core/disk/cryptodisk.c
212 (grub_util_cryptodisk_get_abstraction): Add a user-data argument.
213 * grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
215 * include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
217 * include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
218 * util/grub-install.c (push_partmap_module, push_cryptodisk_module,
219 probe_mods): Adjust for extra user-data arguments.
220 * util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
221 probe_abstraction): Use configured delimiter. Update callers.
223 2014-03-31 Colin Watson <cjwatson@ubuntu.com>
225 * util/grub-probe,c (options): Make -0 work again (broken by
227 (main): Simplify logic.
229 2014-03-26 Vladimir Serbinenko <phcoder@gmail.com>
231 * grub-core/lib/relocator.c: Fix the case when end of leftover is used.
233 2014-03-26 Fu Wei <fu.wei@linaro.org>
235 * grub-core/loader/arm64/linux.c: Remove redundant "0x".
237 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
239 * include/grub/i386/openbsd_bootarg.h: Add addr and frequency fields.
240 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Fill addr field.
242 Suggested by: Markus Müller.
244 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
246 * grub-core/kern/i386/pc/mmap.c: Fallback to EISA memory map
247 if E820 failed to return any regions.
249 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
251 * grub-core/mmap/i386/uppermem.c (lower_hook) [COREBOOT]: Ignore low
252 tables for low memory calculations.
254 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
256 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi): Limit
259 2014-02-28 Vladimir Serbinenko <phcoder@gmail.com>
261 * grub-core/kern/i386/coreboot/mmap.c: Filter out 0xa0000-0x100000
264 2014-02-20 Vladimir Serbinenko <phcoder@gmail.com>
266 * grub-core/disk/ahci.c: Ignore NPORTS field and rely on PI
269 2014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
271 Add bootpath parser for open firmware.
273 It enables net boot even when there is no bootp/dhcp server.
275 * grub-core/net/drivers/ieee1275/ofnet.c: Add grub_ieee1275_parse_bootpath
276 and call it at grub_ieee1275_net_config_real.
277 * grub-core/kern/ieee1275/init.c: Add bootpath to
278 grub_ieee1275_net_config.
279 * include/grub/ieee1275/ieee1275.h: Likewise.
282 2014-02-04 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
284 Add grub_env_set_net_property function.
286 * grub-core/net/bootp.c: Remove set_env_limn_ro.
287 * grub-core/net/net.c: Add grub_env_set_net_property.
288 * include/grub/net.h: Likewise.
290 2014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
292 * util/grub-mkrescue.c: Build fix for argp.h with older gcc.
294 2014-02-03 Vladimir Serbinenko <phcoder@gmail.com>
296 * util/grub-mkfont.c: Build fix for argp.h with older gcc.
298 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
300 * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
301 7 seconds to recover if last poweroff was bad.
303 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
305 * grub-core/disk/ahci.c: Properly handle transactions with no
308 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
310 * grub-core/disk/ahci.c: Add safety cleanups.
312 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
314 * grub-core/disk/ahci.c: Allocate and clean space for all possible 32
315 slots to avoid pointing to uninited area.
317 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
319 * grub-core/disk/ahci.c: Do not enable I/O decoding and keep
320 enabling busmaster for the end.
322 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
324 * util/grub-mkfont.c: Downgrade warnings about unhandled features
327 2014-01-29 Vladimir Serbinenko <phcoder@gmail.com>
329 * grub-core/term/at_keyboard.c: Tolerate missing keyboard.
331 2014-01-29 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
333 * .gitignore: add missing files and .exe variants.
335 2014-01-26 Mike Gilbert <floppym@gentoo.org>
337 grub-install: support for partitioned partx loop devices.
339 * grub-core/osdep/linux/getroot.c (grub_util_part_to_disk): Detect
340 /dev/loopX as being the parent of /dev/loopXpY.
342 2014-01-26 Vladimir Serbinenko <phcoder@gmail.com>
344 * grub-core/term/serial.c (grub_serial_register): Fix invalid free.
345 Ensure that pointers are inited to NULL and that pointers are not
348 2014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
350 * include/grub/crypto.h: Replace __attribute__ ((format (printf)) with
351 __attribute__ ((format (__printf__)) to fix compilation under MinGW-w64.
352 * include/grub/emu/misc.h: ... and here.
353 * include/grub/err.h: ... and here.
354 * util/import_gcry.py: ... and here (in files g10lib.h).
356 2014-01-25 Andrey Borzenkov <arvidjaar@gmail.com>
358 * util/grub-mkimage.c: Make prefix argument mandatory.
360 2014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
362 Fix several translatable strings.
364 Suggested by: D. Prévot.
366 2014-01-24 Vladimir Serbinenko <phcoder@gmail.com>
368 * util/grub-install.c: List available targets.
370 2014-01-23 Colin Watson <cjwatson@ubuntu.com>
372 * util/grub-install.c (write_to_disk): Add an info message.
374 2014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
376 * Makefile.am: Allow adding extra files to generated Windows ZIP
377 archive by setting GRUB_WINDOWS_EXTRA_DIST.
379 2014-01-21 Andrey Borzenkov <arvidjaar@gmail.com>
381 * configure.ac: Look for DejaVuSans also in /usr/share/fonts/truetype.
382 Show detected font path in summary.
384 2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
386 * grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
388 * grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
389 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
390 * grub-core/net/tftp.c (tftp_open): Likewise.
391 * include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
393 2014-01-21 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
395 * grub-core/net/net.c (receive_packets): Change stop condition to avoid
398 In net/net.c there is a while (1) that only exits if there is a stop
399 condition and more then 10 packages or if there is no package received.
401 If GRUB is idle and enter in this loop, the only condition to leave is
402 if it doesn't have incoming packages. In a network with heavy traffic
405 2014-01-19 Colin Watson <cjwatson@ubuntu.com>
407 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Ignore
408 EPERM when modifying kern.geom.debugflags. It is only a problem for
409 such things as installing GRUB to the MBR, in which case there'll be
410 an error later anyway, not for opening files during tests.
412 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
414 * grub-core/Makefile.am: Build grub_emu_init.[ch] from MODULE_FILES
415 instead of MOD_FILES.
416 * grub-core/genemuinit.sh: Simplify stripping of suffix so it works
417 both with and without .exe.
418 * grub-core/genemuinitheader.sh: Same.
420 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
422 * util/grub-install.c: Fix a typo.
424 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
426 * grub-core/normal/main.c (read_config_file): Buffer config file.
429 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
431 * acinclude.m4 (grub_CHECK_LINK_DIR): Check that we can also remove
432 symbolic link to directory. It fails in Msys shell on Windows 2003.
434 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
436 * Makefile.am (default_payload.elf): Add modules
437 multiboot cbmemc linux16 gzio echo help.
439 2014-01-18 Mike Gilbert <floppym@gentoo.org>
441 * Makefile.util.def: Link grub-ofpathname with zfs libs.
443 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
445 * grub-core/commands/macbless.c: Rename FILE and DIR to avoid
448 Reported by: Andrey Borzenkov.
450 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
452 * include/grub/misc.h: Move macros for compiler features to ...
453 * include/grub/compiler.h: ... new file.
454 * include/grub/list.h: Include <grub/compiler.h> instead of <grub/misc.h>.
455 * grub-core/commands/fileXX.c: Include <grub/misc.h>.
456 * grub-core/efiemu/prepare.c: Include <grub/misc.h>.
457 * grub-core/loader/i386/xen_file.c: Include <grub/misc.h>.
458 * grub-core/loader/i386/xen_fileXX.c: Include <grub/misc.h>.
459 * grub-core/video/capture.c: Include <grub/misc.h>.
460 * include/grub/command.h: Include <grub/misc.h>.
461 * include/grub/dl.h: Include <grub/misc.h>.
462 * include/grub/procfs.h: Include <grub/misc.h>.
464 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
466 * configure.ac: Add support for BUILD_EXEEXT and use it ...
467 * Makefile.am: ... here.
468 * Makefile.util.def: ... and here.
469 * grub-core/Makefile.am: ... and here.
471 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
473 * include/grub/osdep/hostfile_windows.h: Use _W64 instead of
474 FILE_OFFSET_BITS to differentiate between native MinGW and Mingw W64.
476 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
478 * grub-core/term/terminfo.c: Recognize keys F1-F12.
480 2014-01-18 Andrey Borzenkov <arvidjaar@gmail.com>
482 * configure.ac: Add support for BUILD_LDFLAGS.
483 * Makefile.am: Use BUILD_LDFLAGS for build time programs here ...
484 * grub-core/Makefile.am: ... and here.
485 * INSTALL: Mention BUILD_LDFLAGS.
487 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
489 * util/grub-mount.c: Extend GCC warning workaround to grub-mount.
491 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
493 * grub-core/kern/efi/efi.c: Ensure that the result starts with /
496 2014-01-18 Vladimir Serbinenko <phcoder@gmail.com>
498 * NEWS: Add few missing entries.
500 2014-01-17 Colin Watson <cjwatson@ubuntu.com>
502 * util/grub.d/00_header.in (make_timeout): Use && rather than test
504 * util/grub.d/10_windows.in: Likewise.
505 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): Use || rather
507 * util/grub.d/30_os-prober.in: Use && rather than test -a, and ||
510 2014-01-17 Colin Watson <cjwatson@ubuntu.com>
512 * grub-core/osdep/freebsd/hostdisk.c (grub_util_fd_open): Remove
513 redundant preprocessor conditional.
515 2014-01-08 Colin Watson <cjwatson@ubuntu.com>
517 * Makefile.util.def (grub-macbless): Change mansection to 8.
519 2014-01-07 Leif Lindholm <leif.lindholm@linaro.org>
521 * grub-core/loader/arm64/linux.c: correctly set device path end length.
523 2014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
525 * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
526 arm64 to comply with EFI specification. Also use grubaa64.efi for
528 * util/grub-mkrescue.c: Change to use bootaa64.efi too.
530 2014-01-07 Andrey Borzenkov <arvidjaar@gmail.com>
532 * include/grub/osdep/hostfile_windows.h: Do not redefine fseeko/ftello
533 on MinGW-64 when compiling for 32 bits.
535 2013-12-30 Andrey Borzenkov <arvidjaar@gmail.com>
537 * grub-core/Makefile.core.def: strip .eh_frame section for arm64-efi.
539 2013-12-30 Vladimir Serbinenko <phcoder@gmail.com>
541 * NEWS: Add few missing entries. Correct existing ones.
543 2013-12-28 Vladimir Serbinenko <phcoder@gmail.com>
545 Don't abort() on unavailable coreboot tables if not running on coreboot.
547 2013-12-28 Andrey Borzenkov <arvidjaar@gmail.com>
549 * grub-core/kern/emu/misc.c: Remove unused error.h; fixes compilation
552 2013-12-28 Colin Watson <cjwatson@ubuntu.com>
554 * NEWS: The cmosclean command in fact dates back to 1.99. Remove
555 mention of it from 2.02.
557 2013-12-27 Vladimir Serbinenko <phcoder@gmail.com>
559 * grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
561 As these functions are used on pre-ARMv6 CPUs as well we don't want
562 to make assembler assume that architecture is higher than default one.
564 2013-12-27 Colin Watson <cjwatson@ubuntu.com>
566 * NEWS: First draft of 2.02 entry.
568 2013-12-27 Colin Watson <cjwatson@ubuntu.com>
570 * INSTALL (Cross-compiling the GRUB): Fix some spelling mistakes.
571 * docs/grub.texi (Getting the source code): Likewise.
573 2013-12-25 Andrey Borzenkov <arvidjaar@gmail.com>
575 * grub-core/osdep/windows/platform.c (get_platform): Fix EFI
578 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
580 * configure.ac: Set version to 2.02~beta2.
582 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
584 * grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
586 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
588 * util/grub-probe.c: Improve help message and simplify list handling.
590 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
592 Fix buffer overflow in grub_efi_print_device_path.
594 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
596 Show SATA device path.
598 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
600 Revert grub-file usage in grub-mkconfig.
602 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
604 Make newly-created files other than grub.cfg world-readable.
606 2013-12-24 Andrey Borzenkov <arvidjaar@gmail.com>
608 * util/grub.d/00_header.in: Improve compatibility with old config.
610 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
612 Make rijndael.c respect aliasing rules.
614 Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
616 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
618 Make grub_util_device_is_mapped_stat available in grub-emu core.
620 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
622 Add -Qn to TARGET_CFLAGS if it's supported.
623 Fixes compilation on cygwin.
625 Reported by: Andrey Borzenkov.
626 Suggested by: Andrey Borzenkov.
628 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
630 Save TARGET_CC version in modinfo.sh.
632 Suggested by: Andrey Borzenkov.
634 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
636 Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
637 follow the same algorithm to avoid method mismatch. Don't assume
638 DMRAID- UUID to mean full disk but instead check that mapping is linear.
640 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
642 Declare GRUB_EFI_VENDOR_APPLE_GUID.
644 2013-12-24 Vladimir Serbinenko <phcoder@gmail.com>
646 Dump type and vendor specific data when printing device path.
648 2013-12-23 Colin Watson <cjwatson@debian.org>
650 Update some documentation to refer to Git rather than Bazaar.
652 * docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
654 * po/README: Likewise. Fix spelling mistake.
656 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
658 Don't distribute config.h.
660 * Makefile.am (platform_HEADERS): Move to ...
661 (nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
662 failure when building from a distributed tarball.
664 2013-12-23 Colin Watson <cjwatson@ubuntu.com>
666 * configure.ac: Fix spelling.
667 * grub-core/commands/parttool.c: Fix grammar.
668 * grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
669 Embedding Partition".
671 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
673 ARM64 support for grub-mkrescue.
675 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
677 Install modinfo.sh to keep build information around.
679 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
681 * grub-core/modinfo.sh.in: Add build config information.
683 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
685 ARM64 grub-file and grub-mkconfig support.
687 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
689 Remove leftover options defines.
691 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
693 * include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
695 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
697 * grub-core/loader/arm64/linux.c: Add missing bracket.
699 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
701 Add arm64-efi recognition to grub-file.
703 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
705 Fix ia64-efi recognition in grub-file.
707 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
709 Recognize raspberry pi kernel in grub-file.
711 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
713 Enable cache on ARM U-Boot port.
715 Without it the port is reidiculously slow.
717 2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
719 Fix ARM cache maintainance.
721 More code was converted from ASM to C for easier handling.
723 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
725 * grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
728 Suggested by: Leif Lindholm.
730 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
732 * util/grub-mkconfig.in: Fix Xen platform conditions.
734 2013-12-22 Andrey Borzenkov <arvidjaar@gmail.com>
736 * util/grub-mkrescue.c: Split single help message string in several
737 strings used in previous shell version.
739 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
741 Add arm64 Linux loader.
743 2013-12-22 Leif Lindholm <leif.lindholm@linaro.org>
745 Add grub_fdt_create_empty_tree() and grub_fdt_set_prop64().
747 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
749 Add module loading and parsing boot time checkpoints.
751 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
753 * grub-core/loader/arm/linux.c: Pass arguments through on ATAG
756 2013-12-22 Lars Wendler <polynomial-c@gentoo.org>
758 * util/grub-mkconfig.in: Skip non-executable files.
760 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
762 Workaround buggy timer in raspberry pie by using our own timer
765 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
767 * include/grub/arm/uboot/kernel.h (GRUB_KERNEL_MACHINE_HEAP_SIZE):
768 Increase to 16 MiB to allow loading the whole memdisk.
770 2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
772 Fix ARM Linux Loader on non-FDT platforms.
774 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
776 * configure.ac: Choose link format based on host_os on emu.
778 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
780 * grub-core/osdep/unix/getroot.c: Non-unix build fix.
782 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
784 * grub-core/kern/emu/main.c: Build fix for emu.
786 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
788 Build fixes for argp.h with older gcc.
790 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
792 * util/grub-glue-efi.c: Use "universal binary" rather "fat binary"
795 Suggested by: David Prévot.
797 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
799 * include/grub/crypto.h (grub_crypto_xor): Fix cast-align warning.
801 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
803 Enable -Wformat=2 if it's supported.
805 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
807 * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes
808 -Wmissing-declarations if supported.
810 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
812 * grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as
813 u32 as both HFS and HFS+ have 32-bit inodes.
815 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
817 * include/grub/misc.h (grub_strtol): Fix overflow.
819 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
821 * include/grub/term.h (grub_unicode_estimate_width): Use grub_size_t
822 as return type in both conditionals.
824 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
826 * include/grub/video.h (grub_video_rgba_color_rgb): Fix prototype
827 to use uint8_t for color.
829 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
831 * util/misc.c (grub_util_get_image_size): Check for overflow.
833 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
835 * grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
838 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
840 * grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
841 for pointer difference.
843 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
845 * util/import_gcry.py: Skip sample keys.
847 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
849 * util/misc.c (grub_qsort_strcmp): Don't discard const attribute.
851 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
853 * configure.ac: Remove duplicate warning arguments.
855 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
857 Add missing static qualifiers.
859 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
861 Add missing includes.
863 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
865 Inline printf templates when possible to enable format checking.
867 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
869 * include/grub/crypto.h: Don't discard const attribute.
871 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
873 * grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
876 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
878 * grub-core/lib/crypto.c: Don't discard const attribute.
880 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
882 * grub-core/lib/disk.c: Fix potential overflow.
884 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
886 * grub-core/lib/arg.c: Don't discard const attribute.
888 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
890 * grub-core/kern/dl.c: Don't discard const attribute.
892 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
894 * grub-core/kern/disk.c: Fix potential overflow.
896 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
898 * conf/Makefile.common: Don't include non-existing directory
899 grub-core/lib/libgcrypt-grub/include.
901 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
903 Clarify several translatable messages.
905 2013-12-21 David Prévot <david@tilapin.org>
907 Correct some translatable strings.
909 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
911 * util/grub-mkrescue.c: Rephrase mkrescue description.
913 2013-12-21 Vladimir Serbinenko <phcoder@gmail.com>
914 2013-12-21 Colin Watson <cjwatson@ubuntu.com>
916 Clarify several translatable messages.
918 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
920 Be more verbose about some configure failures.
922 2013-12-20 Colin Watson <cjwatson@ubuntu.com>
924 Fix various build problems on GNU/Hurd.
926 * grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
929 * include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
930 [__GNU__]: Add prototype.
931 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
932 long int using %ld rather than %d.
934 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
936 * util/grub-install.c: Inform user about install platform.
938 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
940 * configure.ac: Set version to 2.02~beta1.
942 2013-12-18 Allen Pais <allen.pais@oracle.com>
943 2013-12-18 Bob Picco <bob.picco@oracle.com>
945 * grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
947 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
949 Make grub_zlib_decompress handle incomplete chunks.
953 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
955 * grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt
958 2013-12-18 Aleš Nesrsta <starous@volny.cz>
960 * grub-core/disk/usbms.c: Retry on unknown errors.
961 Reuse the same tag on retries.
963 2013-12-18 Aleš Nesrsta <starous@volny.cz>
965 * grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
967 Avoid confusing them with already completed transfers.
969 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
973 Due to XEN bug it prevents Linux boot. Remove it at least, until
976 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
978 * po/exclude.pot: Add 2 missing excludes.
980 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
982 Add missing license section in macbless.mod and macho.mod.
984 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
986 Allow compilation without thumb-interwork as long as no thumb is
987 involved or only thumb2 is used.
989 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
991 * INSTALL: Update comment as to why sparc64 clang isn't usable.
993 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
995 Add __attribute__ ((sysv_abi)) only if it's really needed.
997 Some compilers don't support it.
999 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1001 * grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
1003 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1005 Remove -Wold-style-definition.
1007 Not very useful and interaction of it with regexp depends on GCC
1010 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1012 Make grub_util_get_windows_path_real static.
1014 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1016 * grub-core/commands/fileXX.c: Silence cast-align.
1017 * grub-core/loader/i386/xen_fileXX.c: Likewise.
1019 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1021 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Use explicit cast
1022 rather than LL suffix.
1024 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1026 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): Remove leftover.
1028 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1030 * grub-core/loader/arm/linux.c: Use common initrd functions.
1032 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1034 Decrease number of strings to translate.
1036 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1038 * grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
1040 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1042 Mark strings for translation and add remaining ones to exclude list.
1044 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1046 * util/grub-file.c (main): Fix sizeof usage.
1048 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1050 Silence spurious warning.
1052 2013-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1054 Remove check_nt_hiberfil as it's been superseeded by file command.
1056 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1058 * docs/osdetect.cfg: Add isolinux config to detected OSes.
1060 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1062 Implement syslinux parser.
1064 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1066 * grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
1068 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1070 Support cpuid --pae.
1072 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1074 Use AT keyboard on Yeeloong 3A.
1076 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1078 Add Yeeloong 3A reboot and halt.
1080 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1082 Add Radeon Yeeloong 3A support.
1084 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1086 Add bonito 3A support.
1088 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1090 * grub-core/loader/machoXX.c: Fix compilation on non-i386.
1092 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1094 * grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
1096 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1098 * grub-core/loader/macho.c: Fix compilation on non-i386.
1100 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1102 Add missing format_arg attribute to check that printf with translated
1103 messages has proper arguments.
1105 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1107 Use grub_xasprintf to format translated error messages containing
1110 2013-12-17 Jon McCune <jonmccune@google.com>
1112 Fix double-free introduced by commit 33d02a42d64cf06cada1c389
1114 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1116 Unify message for unsupported relocation.
1118 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1120 Mark miscompile error for translation.
1122 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1124 Use %I64 and not %ll when using OS printf if compiling for windows.
1126 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1128 Update Mac code to match new register_efi prototype.
1130 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1132 Implement better integration with Mac firmware.
1134 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1136 * grub-core/loader/multiboot_mbi2.c: Implement special value for
1139 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1141 Include serial module in default_payload.elf.
1143 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1145 Add explicit thumb interwork bx in asm files.
1147 Shouldn't matter for armv >= 5 but let's be safe.
1149 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1151 Implement Truecrypt ISO loader.
1153 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1155 * grub-core/lib/arg.c: Ensure at least a single space between commands.
1157 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1159 Implement grub_file tool and use it to implement generating of config
1162 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1164 Change to v1 xen grants.
1166 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1168 * grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
1170 GRUB relied on %ebx being preserved across hypercall which isn't true.
1172 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1174 * grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
1176 GRUB relied on %rdi being preserved across hypercall which isn't true.
1178 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1180 Implement XEN VFB support.
1182 2013-12-17 Vladimir Serbinenko <phcoder@gmail.com>
1184 Remove grub_bios_interrupt on coreboot.
1186 It's not used currently and cannot be used safely currently.
1188 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1190 Update exclude.pot and mark few strings for translation.
1192 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1194 * util/grub-mkrescue.c: Fix incorrect file usage in fallback code.
1196 Reported by: Jon McCune
1198 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1200 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1201 Add verbose information which firmware directories were tried.
1203 2013-12-16 Andrey Borzenkov <arvidjaar@gmail.com>
1205 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect_all): New
1206 function to optionally redirect all three standard descriptors.
1207 Redefine grub_util_exec, grub_util_exec_redirect and
1208 grub_util_exec_redirect_null to use it.
1209 * include/grub/emu/exec.h: Define it.
1210 * include/grub/osdep/exec_unix.h: Delete, it is unused.
1211 * grub-core/osdep/linux/platform.c (grub_install_get_default_x86_platform):
1212 Use grub_util_exec_redirect_all to redirect error to NULL.
1214 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1216 * grub-core/tests/sleep_test.c: Silence spurious warning.
1218 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1220 Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
1221 linker trying to "fixup" the code.
1223 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1225 * grub-core/kern/x86_64/xen/startup.S: Align stack.
1227 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1229 Add support for converting PE+ to Elf64.
1231 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1233 * grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
1235 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1237 Remove practice of assigning random const pointers to device id.
1239 This is not required as cache code already checks driver id as well.
1241 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1243 * include/grub/x86_64/types.h: Define sizeof (long) as 4 when compiling
1246 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1248 * include/grub/efi/api.h: Don't use call wrappers when compiled with
1249 mingw or cygwin as API already matches.
1251 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1253 * grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
1255 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1257 * include/grub/efi/api.h: Define (u)intn_t based on pointer size and
1260 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1262 Handle X86_64_PC64 relocation.
1264 Those are generated by some cygwin compilers.
1266 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1268 Determine the need for mingw-related stubs at compile time rather than
1269 using not very significant $target_os.
1271 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1273 * grub-core/genmod.sh.in: Strip before converting to ELF as strip
1274 may not work with ELF.
1276 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1278 Use unix functions for temporary files and special files on cygwin.
1280 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1282 Define functions explicitly rather than using --defsym in tests
1283 whenever possible. Respect locality in remaining cases.
1285 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1287 * grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
1289 2013-12-15 Andrey Borzenkov <arvidjaar@gmail.com>
1291 * grub-core/osdep/windows/platform.c (grub_install_register_efi): Handle
1292 unlikely errors when getting EFI variables and make exhaustive search
1293 for all BootNNNN variables to find matching one.
1295 2013-12-15 Ian Campbell <ijc@hellion.org.uk>
1297 * grub-core/kern/uboot/init.c: Fix units of uboot timer.
1299 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1301 New functional test for sleep function.
1303 This test allows to check sleep without qemu. Keep qemu version as
1304 well as functional test won't notice if all clocks are going too fast
1307 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1309 Add explicit sysv_abi on amd64 asm routines.
1311 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1313 * grub-core/commands/efi/lsefisystab.c: Use %lld to show
1316 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1318 * include/grub/test.h: Use gnu_printf rather than printf on GRUB
1321 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1323 * grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
1326 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1328 * grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
1330 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1332 * grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
1335 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1337 * grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
1339 In case of quick removal of loopback and adding another one it may
1340 get same ID, confusing the cache system.
1342 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1344 * grub-core/commands/acpi.c: Use grub_addr_t rather than long when
1347 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1349 * grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
1350 than converting to long.
1352 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1354 * grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
1356 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1358 * util/grub-mkimagexx.c (relocate_addresses): Display offset rather
1359 than almost useless pointer.
1361 2013-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1363 Add gcc_struct to all packed structures when compiling with mingw.
1365 Just "packed" doesn't always pack the way we expect.
1367 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1369 * include/grub/i386/coreboot/lbio.h: Add missing attribute (packed).
1371 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1373 * util/grub-pe2elf.c: Fix handling of .bss.
1375 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1377 Implement windows flavour of EFI install routines.
1379 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1381 * conf/Makefile.extra-dist: Adjust path to conf/i386-cygwin-img-ld.sc.
1383 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1385 Change grub_install_register_efi interface to pass GRUB device.
1387 This allows grub_install_register_efi to request partition info
1390 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1392 Workaround cygwin bug when using \\?\Volume{GUID} syntax.
1394 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1396 Do not use TCHAR string functions as they are not available on cygwin.
1398 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1400 Workaround windows bug when querying EFI system partition parameters.
1402 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1404 * grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
1407 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1409 * grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
1411 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1413 Make i386-* other than i386-pc compileable under cygwin.
1415 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1417 Fix definition of grub_efi_hard_drive_device_path. Take care that
1418 existing code would work even if by some reason bogus definition is
1419 used by EFI implementations.
1421 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1423 * grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
1425 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1427 * grub-core/osdep/windows/blocklist.c: Add missing cast in printf
1430 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1432 * util/config.c: Remove trailing newline from distributor in simple
1435 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1437 * include/grub/efi/api.h: Rename protocol and interface to avoid
1440 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1442 * .gitignore: add .exe variants. add missing files. remove few outdated
1445 2013-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1447 * grub-core/osdep/exec.c: Use unix version on cygwin.
1449 2013-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1451 Implement multiboot2 EFI BS specification.
1453 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1455 * grub-core/normal/charset.c: Fix premature line wrap and crash.
1456 Crash happened only in some cases like a string starting at the
1457 half of the screen of same length.
1459 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1461 * include/grub/efiemu/efiemu.h: Sync configuration table declaration
1462 with EFI counterpart.
1464 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1466 Propagate the EFI commits to x86-efi specific parts.
1468 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1470 * grub-core/commands/efi/lssal.c: Fix terminating condition.
1472 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1474 Introduce grub_efi_packed_guid and use it where alignment is not
1477 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1479 * include/grub/efi/api.h (grub_efi_device_path): Define length as
1480 unaligned u16 rather than u8[2].
1482 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1484 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
1485 for relocation range.
1487 2013-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1489 * grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
1490 non-function pcrel21b relocation. It happens with .text.unlikely
1493 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1495 * make MAX_USABLE_ADDRESS platform-specific
1496 * grub-core/kern/efi/mm.c: add Vladimir's new BYTES_TO_PAGES_DOWN macro.
1498 2013-12-10 Leif Lindholm <leif.lindholm@linaro.org>
1500 * grub-core/lib/fdt.c: change memcpy => grub_memcpy
1502 2013-12-09 Jon McCune <jonmccune@google.com>
1504 * Add --no-rs-codes flag to optionally disable reed-solomon codes
1505 in grub-install and grub-bios-setup for x86 BIOS targets.
1507 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1509 Add missing compile and link options for sparc64-emu.
1511 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1513 Implement sparc64 trampolines (needed for sparc64-emu).
1515 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1517 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
1518 range of R_SPARC_HI22.
1519 Implement R_SPARC_LM22.
1521 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1523 * grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
1524 Do not explicitly check for symbol table as it's already checked in
1525 platform-independent layer.
1527 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1529 * grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
1530 on ia64 as __clear_cache is a dummy on ia64.
1532 2013-12-09 Vladimir Serbinenko <phcoder@gmail.com>
1534 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1535 Do not explicitly check for symbol table as it's already checked in
1536 platform-independent layer.
1538 2013-12-09 Colin Watson <cjwatson@ubuntu.com>
1540 * util/grub-mkconfig.in: Add missing newline to output.
1542 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1544 * grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
1545 * grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
1547 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1549 * grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
1550 compilation with GCC <= 4.2.
1551 * grub-core/kern/emu/argp_common.c: Likewise.
1553 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1555 * include/grub/kernel.h [__sparc__]: Restrict sparc64-ieee1275 to
1556 right platform rather than leaking to sparc64-emu.
1558 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1560 * grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
1561 But ensure that the variables in question are indeed unsigned.
1563 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1565 * grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
1567 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1569 Remove grub_memalign on emu.
1571 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1573 * grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
1574 truncate incomplete lines but instead flushes them.
1576 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1578 Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
1579 and implement windows variant.
1581 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1583 Fix mips-emu compilation.
1585 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1587 * configure.ac: Check for freetype library usability.
1589 2013-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1593 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1595 * util/grub-mkfont.c: Replace stpcpy with grub_stpcpy.
1597 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1599 * docs/grub.texi (Environment): Update color_normal and color_highlight
1600 defaults (light-gray instead of white).
1602 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1604 * grub-core/normal/main.c (INIT): Set default color to light-gray
1605 to match GRUB_TERM_DEFAULT_NORMAL_COLOR (i.e. rescue mode), Linux
1606 and apparently BIOS defaults.
1608 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1610 Transform -C option to grub-mkstandalone to --core-compress available
1611 in all grub-install flavours.
1613 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1615 Merge GRUBFS and GRUB_FS variables.
1617 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1619 Revert commit 69ca97c820, it caused failures when using OS device name
1620 in grub-install. Instead just strip off parenthesis in grub-install
1621 if (hdX) was passed.
1623 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1625 * util/grub-install.c (push_partmap_module): Add helper to convert
1626 partmap names to module names and use it in probe_mods(). Fixes
1627 failure to find partmap modules in diskfilter case.
1629 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1631 * configure.ac: Make unifont mandatory on coreboot.
1633 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1635 * configure.ac: Skip unifont 6.3 pcf and bdf.
1637 2013-12-07 Vladimir Serbinenko <phcoder@gmail.com>
1639 * Makefile.am: Remove partial font files if generation failed.
1641 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1643 * util/misc.c (grub_qsort_strcmp): Add qsort helper function to sort
1645 * include/grub/util/misc.h: Define it ...
1646 * util/grub-install.c (device_map_check_duplicates): ... and use it.
1648 2013-12-07 Andrey Borzenkov <arvidjaar@gmail.com>
1650 * util/grub.d/30_os-prober.in: Fix use of grub-probe instead of
1653 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1655 Don't add -mlong-calls when compiling with clang.
1657 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1659 * configure.ac: Fix a typo.
1661 2013-12-06 Vladimir Serbinenko <phcoder@gmail.com>
1663 Revamp relocation handling.
1665 Move more code to common dl.c. Add missing veneers for arm and arm64.
1666 Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
1668 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1670 * util/grub-mkimagexx.c: Fix reloc section generation for ia64.
1672 2013-12-05 Mike Gilbert <floppym@gentoo.org>
1674 * INSTALL: Raise minimum python version to 2.6.
1675 * gentpl.py: Use python3-style print function.
1677 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1679 * util/grub-install.c: Mention Boot* variable.
1681 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1683 * grub-core/osdep/linux/hostdisk.c
1684 (grub_util_find_partition_start_os): Initialise start to avoid
1685 spurious compiler warning.
1687 2013-12-05 Colin Watson <cjwatson@ubuntu.com>
1689 On Linux, read partition start offsets from sysfs if possible, to
1690 cope with block device drivers that don't implement HDIO_GETGEO.
1691 Fixes Ubuntu bug #1237519.
1693 * grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
1695 (sysfs_partition_start): Likewise.
1696 (grub_util_find_partition_start_os): Try sysfs_partition_start
1699 2013-12-05 Leif Lindholm <leif.lindholm@linaro.org>
1701 * grub-core/kern/fdt.c: Update struct size when adding node.
1703 2013-12-05 Vladimir Serbinenko <phcoder@gmail.com>
1705 Handle unaligned .bss on sparc64.
1707 Current code improperly assumes that both __bss_start and _end are
1708 aligned to 8-bytes. Eliminating this assumption and explicitly align
1711 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1713 * grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
1714 so it doesn't land in the middle of loaded image.
1716 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1718 * configure.ac: Move all warning options that may be absent in
1719 gcc >= 3.1 to optional.
1721 Note: while this allows to compile with older GCC, official requirements
1722 remain the same and no support for older GCC.
1724 2013-12-04 Colin Watson <cjwatson@ubuntu.com>
1726 Copying the themes directory in grub-shell isn't
1727 parallel-test-friendly and breaks on the second test when the source
1728 directory is read-only (as in "make distcheck"). Instead, add a
1729 hidden --themes-directory option to grub-mkrescue et al, and use it
1732 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1734 * conf/Makefile.common (CFLAGS_GNULIB): Remove -Wno-old-style-definition
1735 as it's no longer necessarry.
1737 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1739 * configure.ac: Allow compilation with older GCC for ARM.
1741 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1743 * configure.ac: Add -no-integrated-as if {addme|ame} isn't supported.
1744 * INSTALL: Note that GRUBwas successfully compiled with clang 3.2 for
1747 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1749 * grub-core/kern/emu/main.c: Ignore missing prototype for main.
1751 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1753 Pass font config to config.h and not by TARGET_CFLAGS as adding
1754 arguments doesn't work if TARGET_CFLAGS is specified on command
1757 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1759 * configure.ac: Add -Wvla if compiler supports it.
1761 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1763 * grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
1764 Remove variable length arrays.
1765 * grub-core/term/efi/console.c (grub_console_putchar): Likewise.
1767 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1769 * grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
1771 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1773 * include/grub/types.h: Declare all byteswaps as inline functions
1774 except compile-time ones.
1776 Solves variable shadowing in constructions like
1777 cpu_to_le (le_to_cpu(x) + 1).
1779 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1781 * grub-core/kern/efi/efi.c: Remove variable length arrays.
1783 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1785 * grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
1788 2013-12-04 Vladimir Serbinenko <phcoder@gmail.com>
1790 * grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
1791 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1793 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
1795 * grub-core/Makefile.core.def (setjmp): Distribute
1798 2013-12-03 Colin Watson <cjwatson@ubuntu.com>
1800 Add a new timeout_style environment variable and a corresponding
1801 GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
1802 controls hidden-timeout handling more simply than the previous
1803 arrangements, and pressing any hotkeys associated with menu entries
1804 during the hidden timeout will now boot the corresponding menu entry
1807 GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
1808 generates a warning, and if it shows the menu it will do so as if
1809 the second timeout were not present. Other combinations are
1810 translated into reasonable equivalents.
1812 Based loosely on work by Franz Hsieh. Fixes Ubuntu bug #1178618.
1814 2013-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1816 * util/config.c: Add missing pointer adjustment.
1817 Reported by: qwertial
1819 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1821 * grub-core/kern/arm64/dl_helper.c: Include grub/arm64/reloc.h
1822 directly, not via `cpu' link, to fix libgrub.pp generation.
1824 2013-11-30 Leif Lindholm <leif.lindholm@linaro.org>
1828 2013-11-30 Andrey Borzenkov <arvidjaar@gmail.com>
1830 * docs/grub.texi (sleep): Document exit codes.
1832 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1834 Ensure that -mno-unaligned-access or some equivalent option is used.
1836 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1838 * grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
1841 2013-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1843 Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
1845 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
1847 * docs/grub-dev.texi (Font Metrics): Exclude @image command from DVI
1848 builds, since we don't have an EPS version of font_char_metrics.png.
1849 Add leading dot to image extension per the Texinfo documentation.
1851 2013-11-29 Colin Watson <cjwatson@ubuntu.com>
1853 * util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
1854 <freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
1855 * util/grub-gen-widthspec.c: Likewise.
1856 * util/grub-mkfont.c: Likewise.
1858 2013-11-29 Andrey Borzenkov <arvidjaar@gmail.com>
1860 * util/grub-setup.c (main): Move parsing of (hdX) syntax to ...
1861 * util/setup.c (SETUP): ... here. Fixes regression: grub-install
1862 failed to install on (hdX).
1863 * util/grub-setup.c (get_device_name): Remove, not needed after
1866 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1868 * grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
1870 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1872 * util/grub-fstest.c: Remove variable length arrays.
1874 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1876 * grub-core/osdep/linux/ofpath.c: Check return value of read.
1878 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1880 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1881 computing crc32 rather than handling with md fundtions directly.
1883 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1885 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
1886 checking fwstart.img rather than md fundtions directly.
1888 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1890 * util/grub-mkrescue.c (main): Check that fread succeeded.
1892 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1894 * conf/Makefile.common: Remove -mexplicit-relocs and
1895 -DUSE_ASCII_FALLBACK on yeeloong.
1897 -DUSE_ASCII_FALLBACK is already added by font snippets.
1898 -mexplicit-relocs isn't needed is compiler/assemblera are
1899 configured properly.
1900 If they're not we shouldn't attempt to fix it by ourselves.
1901 Binary compare between before and after shows no difference.
1903 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1905 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
1906 sources in dependencies directly.
1908 This was the only instance of "library" in core config. A bug was
1909 reported that -fno-stack-protector wasn't passed to it. Instead of
1910 figuring out why it failed just remove this construction used
1913 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
1915 * grub-core/osdep/unix/password.c (grub_password_get): Check that
1918 2013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
1920 * docs/grub.texi (ls): Fix command description in case of a device name
1923 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1925 Eliminate variable length arrays in grub_vsnprintf_real.
1927 A bit tricky because this function has to continue to work without
1928 heap for short strings. Fixing prealloc to 32 arguments is reasonable
1929 but make all stack references use 32-bit offset rather than 8-bit one.
1930 So split va_args preparsing to separate function and put the prealloc
1933 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1935 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
1936 Fixes build for windows.
1938 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1940 * gentpl.py: Don't generate platform-dependent conditionals for
1941 platform-independent targets.
1943 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
1945 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
1946 references to mdadm from otherwise generic code.
1947 (grub_util_exec_pipe): Likewise.
1948 (grub_util_exec_pipe_stderr): Likewise.
1949 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
1950 This function calls vgs, not mdadm; adjust variable names
1953 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
1955 Generate Makefile.*.am directly from gentpl.py, eliminating the use
1956 of Autogen. The Autogen definitions files remain intact as they
1957 offer a useful abstraction.
1959 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
1961 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
1962 into no-ops, and use it in programs that copy files but do not need
1963 to take special care to sync writes (grub-mknetdir, grub-rescue,
1966 2013-11-26 Colin Watson <cjwatson@ubuntu.com>
1968 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
1969 than hardcoding /usr/local/bin/xorriso.
1971 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1973 Add PCI command activation to all PCI drivers as required for coreboot
1974 and maybe some other firmwares.
1976 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1978 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
1979 and non-Apple variants of efiemu compile.
1981 2013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
1983 * configure.ac: Add explicit check for linking format of
1984 efiemu64; save it as EFIEMU64_LINK_FORMAT.
1985 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
1986 hardcoding linking format.
1988 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1990 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
1993 2013-11-25 Colin Watson <cjwatson@ubuntu.com>
1994 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1996 Add a --locale-directory option to grub-install and related tools.
1998 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
1999 --locale-directory option.
2000 (enum grub_install_options): Add
2001 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2002 * util/grub-install-common.c (grub_install_help_filter): Handle
2003 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
2004 (grub_install_parse): Likewise.
2005 (get_localedir): New function to check for a user-provided option
2006 before trying grub_util_get_localedir.
2007 (copy_locales): Use get_localedir rather than
2008 grub_util_get_localedir. Handle differing locale directory layouts.
2009 (grub_install_copy_files): Likewise.
2011 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2013 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
2014 Don't rely on PATH_MAX.
2016 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
2018 * grub-core/genmoddep.awk: Use more portable && rather than and.
2020 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2022 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
2023 an object after data. While it doesn't seem right solution, it
2024 works well enough and OSX isn't main compilation platform.
2026 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2028 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
2029 While it doesn't seem right solution, it works well enough and
2030 OSX isn't main compilation platform.
2032 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2034 * configure.ac: Add -static to LDFLAGS when using apple linker to
2035 prevent it from pulling in dynamic linker.
2037 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2039 Apple assembly doesn't handle symbol arithmetic well. So define an
2040 offset symbol in boot.S and use it.
2042 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2044 Apple assembly doesn't handle symbol arithmetic well. So instead
2045 of getting addres of kernel_sector + 4 define kernel_sector_high.
2046 It also makes code more readable.
2048 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2050 With Apple assembly in .macro environvemnt you have to use $$ instead
2051 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
2052 to $$x on Apple and to $x on everything else.
2054 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2056 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
2059 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2061 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
2062 and non-Apple. This instruction is shorter and faster,
2063 so no reason not to use it on both.
2065 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2067 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
2068 .text when compiling for Apple.
2070 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2072 * grub-core/term/arc/console.c: Add missing cast to silence warning.
2074 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2076 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
2077 %dx restore the probe worked on non-existant drive. Reorganize the
2078 code a little bit to free 2 bytes necessary for push/pop.
2080 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2082 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2083 Add missing cast to silence warning.
2085 2013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
2087 * util/grub-install.c (update_nvram): Support --no-nvram flag
2090 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2092 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
2094 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2096 * util/garbage-gen.c: Add missing include of sys/time.h.
2098 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2100 Don't add -mflush-func if it's not supported by compiler.
2102 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
2104 Move common BIOS/coreboot memory map declarations to
2105 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
2107 2013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
2109 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
2111 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2113 * INSTALL: Document why older clang versions aren't appropriate.
2115 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2117 * INSTALL: Document about clang for mips.
2119 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2121 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
2124 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2126 Add *-xen to the list of grub-install-common platforms.
2128 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2130 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
2133 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2135 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
2137 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2139 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
2140 with -mcmodel=large.
2142 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2144 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
2145 range-checking for 32-bit quantities.
2147 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2149 * configure.ac: Compile with -fPIC when compiling with clang on
2152 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2154 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
2155 when compiling with clang.
2157 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2159 clang emits calls to abort () under some unknown conditions.
2160 Export abort () when compiling with clang.
2162 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2164 * docs/grub-dev.texi: Document stack and heap sizes.
2166 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2168 * include/grub/i386/pc/memory.h: Decrease
2169 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
2170 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
2171 The binary doesn't change (checked). It's more to better reflect actual
2174 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2176 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
2177 at compile time that enough of scratch size is available.
2179 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2181 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
2182 Previously we misaligned stack by 8 in startup.S and compensated
2183 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
2184 right behaviour is to align stack in startup.S and keep it aligned
2185 in callwrap.S. startup.S part was committed few commits before. This
2186 takes care of callwrap.S.
2187 Reported by: Gary Lin.
2189 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2191 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
2192 .data and .bss. May happen if compiler and assembly use different
2195 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2197 On MIPS handle got16 relocations to local symbols in an ABI-compliant
2200 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2202 Add support for a new magic symbol _gp_disp on mips to handle PIC
2205 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2207 Use $t9 for indirect calls from asm to C as PIC ABI requires.
2209 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2211 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
2212 when rest of GRUB is compiled for hisher stepping. Instead use
2213 .set mips3/.set mips1 around cache and sync opcodes.
2215 2013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
2217 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
2218 do essentially the same thing, do it in similar way.
2220 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
2222 * util/grub-mkrescue.c (main): If a source directory is not
2223 specified, read platform-specific files from subdirectories of
2224 pkglibdir, not pkgdatadir.
2226 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
2228 * grub-core/normal/progress.c: Remove unused file.
2230 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2232 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
2235 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2237 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
2240 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
2242 * coreboot.cfg: Add missing file.
2244 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2246 * Makefile.am: Allow STRIP to be empty when creating windowszip.
2248 2013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
2250 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
2251 selectively skipping systems.
2253 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2255 * Makefile.util.def (grub-mkimage): Add
2256 grub-core/osdep/aros/config.c to extra_dist.
2257 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
2258 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
2259 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
2260 grub-core/gnulib-no-gets.diff.
2262 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
2264 Add automated filesystem checking based on scripts I've used now for
2265 quite some time locally. Most of the test require root so they are
2266 skipped when run without necessarry privelegies.
2268 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2270 * util/grub-install.c (main): Adjust info messages to match
2271 installed paths of grub-bios-setup and grub-sparc64-setup.
2273 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
2275 * util/grub-install-common.c (copy_locales): Consistently use
2276 grub_util_get_localedir () rather than LOCALEDIR.
2277 (grub_install_copy_files): Likewise.
2279 2013-11-19 Josh Triplett <josh@joshtriplett.org>
2281 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
2282 16-byte boundary, as required by the x86-64 ABI, before calling
2283 grub_main. In some cases, GCC emits code that assumes this
2284 alignment, which crashes if not aligned. The EFI firmware is also
2285 entitled to assume that stack alignment without checking.
2287 2013-11-18 Josh Triplett <josh@joshtriplett.org>
2289 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
2290 4k page boundaries as expected by firmware rather than 1k
2292 (grub_mmap_malign_and_register): Likewise.
2294 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2296 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
2297 fragmentation 512M is enough.
2299 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2301 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
2302 pointer to 32K. This is the size of cache element which is the most
2303 common allocation >1K. This way the pointer is always around blocks
2304 of 32K and so we keep performance while decreasing fragmentation.
2306 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2308 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
2309 current memory when allocating large chunks. This significantly
2310 decreases memory fragmentation.
2312 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2314 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
2316 * tests/lzocompress_test.in: Skip if lzop is not installed.
2317 * tests/xzcompress_test.in: Skip if xz is not installed.
2319 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2321 * util/grub-mkrescue.c (main): Fix typo.
2323 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2325 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
2326 clock frequency to 200 MHz,
2328 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2330 * tests/util/grub-shell.in: Increase console size to 1024x1024.
2332 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2334 * Makefile.am (default_payload.elf): Add pata to loaded modules.
2335 Load config file from (cbfsdisk)/etc/grub.cfg.
2337 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2339 * util/grub-install-common.c (grub_install_copy_files): Fix module
2340 destination directory.
2342 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2344 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
2345 files have not been built.
2347 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
2349 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
2350 Handle errors from mkstemp.
2351 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
2353 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2355 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
2356 on primary master on pseries.
2358 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2360 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
2361 already loaded. This saves memory needed for tests,
2363 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2365 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
2368 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2370 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
2373 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2375 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
2376 master since with some combinations of qemu and firmware only primary
2377 IDE channel is available.
2379 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2381 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
2382 low-memory platforms where we don't have enough memory for them.
2383 * grub-core/tests/videotest_checksum.c: Likewise.
2385 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2387 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
2388 already loaded. This saves memory needed for tests,
2390 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2392 Fix handling of install lists.
2394 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2396 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
2398 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2400 On i386-ieee1275 we run in paged mode. So we need to explicitly map
2401 the devices before accessing them.
2403 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2405 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
2408 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2410 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
2412 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2414 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
2415 (grub_file_close): Free file->name.
2417 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2419 * grub-core/commands/verify.c (free_pk): Plug memory leak.
2420 (grub_load_public_key): Likewise.
2421 (grub_verify_signature_real): Likewise.
2422 (grub_cmd_verify_signature): Likewise.
2424 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2426 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
2429 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2431 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
2432 (grub_longjmp): Restore r31.
2433 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
2435 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2437 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
2438 modules to be in line with make_image_abs.
2440 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
2442 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
2444 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
2446 2013-11-17 Ian Campbell <ijc@hellion.org.uk>
2448 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
2450 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2452 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
2453 to leave some memory to firmware.
2455 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2457 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
2458 of loading gfxterm as gfxterm is embed in kernel on some platforms.
2459 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
2462 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2464 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
2465 now needs full arguments.
2467 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2469 * util/grub-mkrescue.c (main): Add trailing \n in
2470 .disk_label.contentDetails to be in line with previous shell script.
2472 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2474 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2476 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2478 * util/grub-install-common.c (grub_install_parse): Recognize
2479 --compress=none like shell script did.
2481 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2483 * include/grub/misc.h: Replace check for __sparc64__ with one for
2484 __sparc__ as __sparc64__ isn't actually defined.
2486 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2488 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
2489 counterpart of fixing the naming of escc ports.
2491 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
2493 * util/grub-install-common.c (platforms): Fix the order of entries and
2494 remove useless field val.
2496 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2498 * util/grub-install.c: Add new option --no-bootsector to skip
2499 installing of bootsector. Accept --grub-setup=/bin/true as
2500 backwards-compatible synonym.
2502 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2504 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
2505 order of qsort arguments (number of elements vs. element size).
2507 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2509 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
2510 the function of these files exceeds what can be sanely handled in shell
2511 in posix-comaptible way. Also writing it in C extends the functionality
2512 to non-UNIX-like OS and minimal environments.
2514 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2516 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
2517 compiling to thumb2.
2518 * grub-core/kern/arm/cache_armv7.S: Likewise.
2519 * grub-core/lib/arm/setjmp.S: Likewise.
2521 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2523 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
2524 in grub_uboot_syscall
2526 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2528 Decrease stack usage in lexer.
2530 We have only 92K of stack and using over 4K per frame is wasteful
2532 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
2533 as macros so that compiler would remove useless structure on stack.
2534 Better solution would be to fix flex not to put this structure on
2535 the stack but flex is external program.
2537 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2539 Decrease stack usage in signature verification.
2541 We have only 92K of stack and using over 4K per frame is wasteful
2543 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
2545 (grub_verify_signature_real): Likewise.
2547 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2549 Decrease stack usage in mdraid 0.9x.
2551 We have only 92K of stack and using over 4K per frame is wasteful
2553 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
2556 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2558 Decrease stack usage in BtrFS.
2560 We have only 92K of stack and using over 4K per frame is wasteful
2562 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
2565 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2567 Decrease stack usage in JFS.
2569 We have only 92K of stack and using over 4K per frame is wasteful
2571 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
2572 stack. Note: this function is recursive.
2573 (grub_jfs_read_inode): Read only part we care about.
2575 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
2577 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
2580 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2582 * configure.ac: Restore -nostdlib for libgcc symbols tests.
2584 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2586 * docs/grub.texi (Environment): Document cmdpath.
2588 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
2590 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
2591 Remove "unused" attribute from arguments, they are used.
2593 2013-11-15 Colin Watson <cjwatson@debian.org>
2595 * .gitignore: Only ignore grub-mk* at the top level.
2597 2013-11-15 Colin Watson <cjwatson@ubuntu.com>
2599 * util/grub-reboot.in (usage): Fix a typo.
2601 2013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2603 Replace libgcc version of ctz with our own.
2605 On upcoming arm64 port libgcc ctz* are not usable in standalone
2606 environment. Since we need ctz* for this case and implementation is
2607 in C we may as well use it on all concerned platforms.
2609 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2611 * configure.ac: Probe for linking format rather than guessing it based
2614 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2616 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
2617 "1" prior to handoff.
2619 Reported by: M A Young.
2621 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2623 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
2626 Reported by: M A Young.
2628 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2630 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
2631 compilation on NetBSD.
2633 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2635 * acinclude.m4: Don't add -P on initial nm test.
2637 Note: even though this patch postdates Andrey's it bears 14 Nov as
2638 date due to timezone difference.
2640 2013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
2642 * grub-core/Makefile.core.def (signature_test): Add missing
2645 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2647 * util/grub-install_header: Set localedir here, since this file is
2649 * util/grub-install.in: Remove setting of localedir.
2650 * util/grub-mkrescue.in: Likewise.
2652 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2654 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
2656 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2658 * configure.ac: Move nm checks to the end.
2659 Call grub_PROG_NM_WORKS.
2660 * acinclude.m4: New check grub_PROG_NM_WORKS.
2661 Use $TARGET_CFLAGS -c when compiling test binary.
2663 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2665 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
2668 2013-11-14 Matthew Garrett <mjg@redhat.com>
2670 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
2671 cmdpath to firmware directory.
2673 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2675 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
2676 at the start of second iteration.
2678 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2680 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
2682 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2684 * Makefile.am (default_payload.elf): New target for easier coreboot
2687 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2689 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
2690 clang (not necessarry with -no-integrated-as).
2691 * include/grub/symbol.h [__arm__]: Likewise.
2693 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2695 * configure.ac: Use -no-integrated-as on arm with clang.
2696 * INSTALL: Mention ARM compilation with clang.
2698 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2700 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
2703 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
2705 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
2706 code for indirect block handling.
2708 Saves 185 bytes on compressed image.
2710 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2714 * Makefile.am: Remove build-grub-* in make clean.
2716 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2718 New files to gitignore.
2720 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
2721 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
2723 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2725 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
2727 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
2729 * .gitignore: fix rules for .dep* and add *.a post git migration
2731 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2733 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
2736 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2738 * grub-core/kern/misc.c: Don't redirect divisions in the
2740 * include/grub/misc.h: Likewise.
2742 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2744 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
2745 systems that require checking the return value of write.
2747 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2749 * util/grub-install.in (efi_quiet): Fix inverted logic: make
2750 efibootmgr quiet when --debug is not used, rather than when it is.
2752 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2754 * gentpl.py (define_macro_for_platform_dependencies): Remove
2755 first (and thus unused) of two definitions for this function.
2756 (platform_dependencies): Likewise.
2758 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2760 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
2761 functions, we only need to check this for the target, not the host.
2762 * configure.ac (grub_apple_cc): Likewise.
2764 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2766 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
2767 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
2768 asm to stay in arm even if surrounding is thumb.
2770 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2772 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
2773 helper functions are needed for thumb.
2775 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2777 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
2778 level / 3 division explicitly unsigned. Saves few bytes.
2780 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2782 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
2784 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2786 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
2789 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2791 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
2792 grub_uboot_boot_data to asm part.
2794 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2796 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
2798 (grub_uboot_syscall): Save/restore r9 and align stack.
2800 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2802 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
2804 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2806 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
2807 occurencies with END.
2809 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2811 * util/grub-editenv.c (help_filter, argp): Document how to delete
2812 the whole environment block.
2813 Reported by Dan Jacobson. Fixes Debian bug #726265.
2815 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
2817 * docs/grub.texi (Internationalisation, Supported kernels): Fix
2820 2013-11-13 Josh Triplett <josh@joshtriplett.org>
2822 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
2823 increment/decrement.
2825 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2827 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
2828 compiling with clang.
2830 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2832 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
2835 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2837 Redirect all divisions to grub_divmod64.
2839 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2841 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
2843 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2845 Add missing includes of loader.h.
2847 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2849 * configure.ac: Allow disabling themes.
2851 2013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
2853 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
2855 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2857 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
2858 until it becomes operational.
2860 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2862 * grub-core/Makefile.core.def (legacy_password_test): Disable
2863 on platforms where no legacycfg is compiled.
2864 * grub-core/tests/lib/functional_test.c: Tolerate failure to
2865 load legacy_password_test.
2867 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2869 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2871 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2873 * grub-core/efiemu/prepare.c: Remove variable length arrays.
2875 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2877 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
2878 strict-aliasing warning.
2879 (fsync): Silence cast warning.
2881 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2883 * grub-core/commands/verify.c: Remove variable length arrays.
2884 Load gcry_dsa/gcry_rsa automatically.
2886 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2888 * grub-core/tests/signature_test.c: New test.
2890 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2892 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
2895 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2897 * grub-core/tests/legacy_password_test.c (vectors): Make static.
2898 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
2900 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2902 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
2904 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2906 * grub-core/fs/proc.c: Allow \0 in proc files.
2908 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2910 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
2912 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2914 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
2916 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2918 * grub-core/fs/ext2.c: Remove variable length arrays.
2920 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2922 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
2925 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2927 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
2928 * grub-core/disk/cryptodisk.c: Likewise.
2929 * grub-core/disk/geli.c: Likewise.
2930 * grub-core/disk/luks.c: Likewise.
2932 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2934 * grub-core/tests/legacy_password_test.c: New test.
2935 * grub-core/commands/legacycfg.c: Remove variable length arrays.
2937 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2939 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
2941 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2943 * grub-core/tests/pbkdf2_test.c: New test.
2945 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2947 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
2949 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2951 * grub-core/io/lzopio.c: Remove variable length arrays.
2953 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2955 * include/grub/crypto.h: Add maximums on hash size and cipher block
2958 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2960 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
2962 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2964 * grub-core/tests/xnu_uuid_test.c: New test.
2966 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2968 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
2971 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2973 * grub-core/commands/hashsum.c: Remove variable length arrays.
2975 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2977 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
2979 * tests/grub_func_test.in: Increase memory allocation.
2981 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2983 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
2984 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
2987 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2989 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
2990 (grub_util_get_fd_size_os): ...this.
2991 (grub_hostdisk_flush_initial_buffer): New empty function.
2993 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2995 * grub-core/gensyminfo.sh.in: Handle the case of portable output
2996 without --defined-only.
2998 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3000 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
3001 rip-relative addressing in prologue.
3003 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3005 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
3006 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
3008 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3010 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3011 Add missing semicolon.
3013 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3015 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
3017 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3019 * configure.ac: Check for lzma.h for enabling liblzma and allow
3022 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3024 Add missing includes of loader.h.
3026 2013-11-11 Fam Zheng <famcool@gmail.com>
3028 * util/grub.d/30_os-prober.in: Add minix entry.
3030 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3032 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
3033 right buffer for temporary load.
3035 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3037 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
3039 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3041 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
3044 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3046 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
3048 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
3050 (LzmaDec_InitDicAndState): Make static.
3052 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3054 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
3056 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3058 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
3060 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
3062 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3064 * docs/grub-dev.texi: Replace bzr references with git ones.
3066 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3068 * docs/grub.texi (Simple configuration): Remove reference to
3069 grub-reboot from saved default entry description - grub-default
3070 does not use it anymore.
3072 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3074 * configure.ac: Make efiemu test cflags match the cflags efiemu is
3077 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
3079 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
3081 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3083 Fix grub_machine_fini bitrot.
3085 Reported by: Glenn Washburn.
3087 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3089 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
3091 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3093 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
3095 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
3098 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3100 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
3101 Add -march=core2 when testing compile of efiemu64.
3103 Thanks Andrey Borzenkov for spotting this.
3105 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3107 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
3108 XEN PV environment and load kernels.
3110 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3112 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
3113 * grub-core/loader/multiboot_mbi2.c: Likewise.
3115 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3117 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
3120 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3122 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
3124 Tested by: Denis 'GNUtoo' Carikli.
3126 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3128 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
3130 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3132 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
3133 Use to get rounded angle rather than truncated.
3135 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3137 * grub-core/term/serial.c: Add option for enabling/disabling
3138 RTS/CTS flow control.
3140 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3142 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
3145 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3147 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
3148 Use grub_fatal rather than divide by zero.
3149 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
3151 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3153 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
3155 (grub_fixed_fsf_divide): Likewise.
3157 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3159 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
3160 division by-zero and senseless negative divisions.
3162 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3164 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
3165 division by-zero and senseless negative divisions.
3166 (circprog_set_property): Don't accept negative num_ticks.
3168 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3170 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
3171 division by-zero and senseless negative divisions.
3173 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3175 * configure.ac: Use elf_*_fbsd on kfreebsd.
3177 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3179 * grub-core/tests/div_test.c: New test.
3181 2013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3183 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
3184 * grub-core/gfxmenu/gui_canvas.c: Likewise.
3185 * grub-core/gfxmenu/view.c: Likewise.
3186 * grub-core/video/fb/video_fb.c: Introduce new functions:
3187 grub_video_set_area_status, grub_video_get_area_status,
3188 grub_video_set_region, grub_video_get_region.
3189 * grub-core/video/bochs.c: Likewise.
3190 * grub-core/video/capture.c: Likewise.
3191 * grub-core/video/video.c: Likewise.
3192 * grub-core/video/cirrus.c: Likewise.
3193 * grub-core/video/efi_gop.c: Likewise.
3194 * grub-core/video/efi_uga.c: Likewise.
3195 * grub-core/video/emu/sdl.c: Likewise.
3196 * grub-core/video/radeon_fuloong2e.c: Likewise.
3197 * grub-core/video/sis315pro.c: Likewise.
3198 * grub-core/video/sm712.c: Likewise.
3199 * grub-core/video/i386/pc/vbe.c: Likewise.
3200 * grub-core/video/i386/pc/vga.c: Likewise.
3201 * grub-core/video/ieee1275.c: Likewise.
3202 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
3203 * include/grub/video.h: Likewise.
3204 * include/grub/video_fb.h: Likewise.
3205 * include/grub/fbfill.h: Updated render_target structure.
3206 grub_video_rect_t viewport, region, area
3207 int area_offset_x, area_offset_y, area_enabled
3208 * include/grub/gui.h: New helper function
3209 grub_video_bounds_inside_region.
3210 * docs/grub-dev.texi: Added information about new functions.
3212 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3214 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
3217 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3219 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
3221 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
3223 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3225 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
3226 simple division on arm and ia64.
3228 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3230 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
3233 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3235 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
3237 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3239 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
3240 prefix symbol, not @.
3242 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3244 * INSTALL: Add note about older gcc and clang.
3246 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3248 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
3250 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3252 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
3253 NULL pointer dereference.
3255 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3257 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
3260 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3262 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
3265 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3267 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
3269 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
3270 * grub-core/disk/geli.c (ascii2hex): Likewise.
3272 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3274 * configure.ac: Run linker tests without -Werror.
3275 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
3276 Change all occurences of -static-libgcc resp -lgcc to
3277 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
3279 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3281 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
3283 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3285 Allow compiling with clang (not really supported though).
3287 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
3289 * configure.ac: Add -no-integrated-as when using clangfor asm files.
3290 Add -mrtd -mregparm=3 on i386 when not using clang.
3291 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
3293 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3295 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
3297 * grub-core/lib/reed_solomon.c: Likewise.
3298 * include/grub/i386/gdb.h: Likewise.
3299 * include/grub/i386/pc/int.h: Likewise.
3300 * include/grub/i386/pc/pxe.h: Likewise.
3301 * include/grub/ieee1275/ieee1275.h: Likewise.
3303 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3305 Import libgcrypt 1.5.3.
3307 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3309 * configure.ac: Don't add -Wcast-align on x86.
3311 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3313 * configure.ac: Add -freg-struct-return on all platforms that
3316 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3318 * acinclude.m4: Use -Werror on parameter tests.
3319 * configure.ac: Likewise.
3321 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3323 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
3325 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3327 * configure.ac: Check that -malign-loops works rather than assuming that
3328 either -falign-loops or -malign-loops work.
3330 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3332 * configure.ac: Remove -fnested-functions. We don't need it anymore.
3334 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3336 * configure.ac: Prevent cflags leaking to subsequent tests by always
3337 resetting cflags to target_cflags in target tests.
3339 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3341 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
3344 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3346 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
3348 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3350 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
3352 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3354 * grub-core/normal/cmdline.c (grub_cmdline_get):
3355 Remove nested functions.
3357 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3359 * tests/test_sha512sum.in: Make it work on emu.
3361 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3363 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
3365 (grub_bidi_line_logical_to_visual): Likewise.
3367 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3369 Remove vestiges of -Wunsafe-loop-optimisations.
3371 * conf/Makefile.common (CFLAGS_GNULIB): Remove
3372 -Wno-unsafe-loop-optimisations.
3373 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
3375 * grub-core/io/gzio.c: Likewise.
3376 * grub-core/script/parser.y: Likewise.
3377 * grub-core/script/yylex.l: Likewise.
3378 * util/grub-mkfont.c: Likewise.
3380 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3382 * util/grub-mkfont.c (process_cursive): Remove nested function.
3384 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3386 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
3387 (grub_boot_time): Likewise.
3389 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3391 * include/grub/symbol.h (FUNCTION): Use @function rather than
3393 (VARIABLE): Likewise.
3395 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3397 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
3399 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3401 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
3402 (parse_dhcp_vendor): Likewise.
3404 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3406 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
3408 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3410 * grub-core/gettext/gettext.c (main_context), (secondary_context):
3411 Define after defining type and not before.
3413 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3415 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
3417 (grub_gcm_decrypt): Likewise.
3418 (algo_decrypt): Likewise.
3419 (grub_zfs_decrypt_real): Transform error type.
3421 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3423 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
3425 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3427 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
3428 (grub_usbms_cbi_reset): Likewise.
3429 (grub_usbms_bo_reset): Likewise.
3430 (grub_usbms_reset): Likewise.
3431 (grub_usbms_attach): Likewise.
3432 (grub_usbms_transfer_cbi): Likewise.
3434 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3436 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
3437 "checksum = checksum;".
3439 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3441 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
3444 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3446 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
3449 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3451 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
3453 (grub_ehci_fini_hw): Likewise.
3454 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3456 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3458 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
3459 return grub_usb_err_t for cosistency. All users updated.
3461 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3463 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
3464 assigning to itself.
3466 2013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
3467 2013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3469 Issue separate DNS queries for ipv4 and ipv6
3471 Adding multiple questions on a single DNS query is not supportted by
3472 most DNS servers. This patch issues two separate DNS queries
3473 sequentially for ipv4 and then for ipv6.
3475 Fixes: https://savannah.gnu.org/bugs/?39710
3477 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
3478 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
3479 * (grub_net_dns_lookup): Now using separated dns packages.
3480 * (grub_cmd_nslookup): Add error condition.
3481 * (grub_cmd_list_dns): Print DNS option.
3482 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
3483 --prefer-ipv4, and --prefer-ipv6.
3484 * include/grub/net.h (grub_dns_option_t): New enum.
3485 * (grub_net_network_level_address): option added.
3487 2013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
3489 * grub-core/video/fb/video_fb.c: Merge two blit functions
3492 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3494 * grub-core/term/terminfo.c: Add sequences for home and end.
3496 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3498 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
3501 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3503 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
3506 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3508 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
3509 e-mail by Per Öberg.
3511 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3513 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
3516 2013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
3518 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
3520 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
3522 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3524 * docs/grub.texi: Document usage of menuentry id.
3526 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3528 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
3530 2013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
3532 * grub-core/commands/i386/nthibr.c: New command.
3534 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3536 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
3538 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3540 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
3543 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3545 Support GRUB_DISABLE_SUBMENU config.
3547 Inspired by patch from Prarit Bhargava.
3549 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3551 * docs/grub.texi: Mention RSA support.
3553 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3555 * grub-core/commands/verify.c: Add RSA support.
3557 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3559 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
3560 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
3561 device is known to be ATAPI.
3563 2013-11-03 Mike Frysinger <vapier>
3565 * configure.ac: Don't add target-prefix.
3567 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3569 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
3572 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3574 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
3575 if language is English.
3577 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3579 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
3581 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3583 * configure.ac: Don't add -m32/-m64 on emu.
3587 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
3588 broken linux headers.
3590 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3592 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
3594 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3596 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
3597 Reed-Solomon recovery if more than half of redundancy info is 0.
3599 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3601 * util/grub-mount.c: Handle symlinks to directories.
3603 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3605 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
3606 find_file recursively for symlink.
3608 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3610 * tests/util/grub-shell.in: Copy themes.
3612 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3614 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
3616 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3618 * configure.ac: Use 0x8000 for address instead of 8000.
3620 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3622 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
3625 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3627 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
3630 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3632 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
3634 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3636 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
3637 file_progress_read_hook.
3638 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
3640 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3642 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
3645 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3647 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
3649 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3651 Rewrite blocklist functions in order to get progress when
3652 reading large extents and decrease amount of blocklist hook calls.
3654 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3656 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
3659 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3661 Support --base-clock for serial command to handle weird cards with
3662 non-standard base clock.
3664 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3666 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
3668 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
3669 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
3670 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
3671 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
3672 + strcpy rather than strncpy.
3674 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3676 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
3677 (check_pool_label): Likewise. Fixes overflow.
3678 (nvlist_find_value): Fix comparison.
3680 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3682 * include/grub/misc.h (grub_strcat): Removed. All users changed to
3683 more appropriate functions.
3685 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3687 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
3690 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3692 * util/grub-mkrescue.in: Do not use UUID search on EFI.
3694 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3696 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
3699 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3701 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
3703 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3705 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
3706 (initialize_tables): reset tl and td to NULL after freeing.
3708 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3710 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
3712 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3714 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
3717 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3719 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
3721 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3723 * grub-core/loader/multiboot.c: Add support for multiboot kernels
3726 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3728 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
3729 a page in protected space.
3731 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3733 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
3734 allocate space for zero-sized modules.
3736 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3738 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
3740 2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
3742 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
3744 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3746 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
3747 safeguards. Fixes a crash with i386/pc/console.c.
3749 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3751 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
3752 and grub_hostfs_init.
3754 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3756 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
3757 windows method on other platforms without good stat as well.
3759 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3761 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
3763 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
3765 Make / in btrfs refer to real root, not the default volume.
3766 Modify mkrelpath to work even if device is mounted with subvolid option.
3768 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
3770 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
3772 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
3775 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3777 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
3780 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
3782 * docs/autoiso.cfg: New file.
3784 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3786 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
3787 COND_GRUB_PE2ELF conditions.
3789 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3791 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
3792 "vnd", "rd" and "fd" disks.
3794 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3796 Move grub_disk_write out of kernel into disk.mod.
3798 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3800 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
3803 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3805 * grub-core/kern/misc.c (grub_abort): Make static
3807 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3809 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
3810 transform invalid unicode codepoints.
3812 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3814 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
3817 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
3819 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
3821 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3823 Consolidate cpuid code.
3825 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3827 Move cpuid code to cpuid.h and TSC code to tsc.c.
3829 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3831 * util/grub.d/00_header.in: Don't use LANG if it's not set.
3833 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
3835 * util/grub-mkconfig.in: Replace $0 with $self.
3836 * util/grub-reboot.in: Likewise.
3837 * util/grub-set-default.in: Likewise.
3839 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3841 * docs/osdetect.cfg: New file.
3843 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3845 * tests/util/grub-shell.in: Add new --debug option.
3847 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3849 * tests/test_unset.in: New test.
3851 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
3853 * tests/test_sha512sum.in: New test.
3855 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3857 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
3858 * include/grub/misc.h: Remove strncat.
3859 * grub-core/lib/posix_wrap/string.h: Likewise.
3861 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3863 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
3864 Try to handle more than 0xFFFF packets.
3865 Reported by: Bernhard Übelacker <bernhardu>.
3866 He also spotted few overflows in first version of this patch.
3868 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3870 * tests/date_unit_test.c: New test.
3872 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3874 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
3875 of first three years after start of validity of unixtime.
3877 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3879 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
3880 division as the one making more sense.
3881 (update_screen): Likewise.
3882 (complete): Likewise.
3884 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3886 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
3888 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3890 Make char and string width grub_size_t rather than grub_ssize_t.
3892 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3894 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
3896 (grub_history_replace): Likewise.
3898 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3900 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
3903 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3905 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
3908 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3910 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
3911 Use unsigned divisions rather than signed variants.
3913 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3915 * grub-core/video/readers/png.c (grub_png_convert_image): Use
3916 unsigned arithmetics.
3919 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3921 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
3923 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3925 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
3926 rather than signed one.
3927 (recovery): Likewise.
3929 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3931 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
3933 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3935 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
3938 2013-10-25 Jon McCune <jonmccune@google.com>
3940 * docs/grub.texi: Cleanup security documentation around signatures.
3942 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3944 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
3946 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3948 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
3951 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3953 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
3954 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
3955 functions when compiling for kernel.
3957 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3959 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
3960 unsigned long long when using %llu.
3962 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3964 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
3965 terminal after updating progress.
3967 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3969 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
3970 argument. We don't disable Gate A20 in this code.
3972 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3974 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
3975 Conceptually based on change in branch "vbe-on-coreboot".
3977 2013-10-24 Robert Millan <rmh@gnu.org>
3979 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
3980 numeric constants with their symbolic equivalent.
3981 Taken from branch "vbe-on-coreboot".
3983 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3985 * docs/grub.texi: Fix ordering and use pxref rather than xref.
3987 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3989 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
3990 divmod64 for offset division.
3992 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3994 Rename .bzrignore to .gitignore. Add "*.o" rule.
3996 * .bzrignore: Renamed to...
3997 * .gitignore: ...this.
3999 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4001 Add new progress module that displays the load progress of files.
4003 * grub-core/lib/progress.c: New file.
4004 * grub-core/Makefile.core.def (progress): New module.
4005 * grub-core/kern/file.c (grub_file_open): File name added.
4006 * (grub_file_read): Progress hook added.
4007 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
4008 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
4009 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
4010 * include/grub/file.h (struct grub_file): Add progress module members.
4011 * include/grub/term.h (struct grub_term_output): Likewise.
4012 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
4013 Terminal velocity added.
4014 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
4015 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
4016 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
4017 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
4018 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
4019 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
4020 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
4021 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
4022 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
4023 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
4024 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
4025 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
4027 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4029 Verify signatures of signatures unless --skip-sig is specified.
4031 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4033 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
4036 Saves 70 bytes on compressed image.
4038 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4040 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
4043 Saves 10 bytes on compressed image.
4045 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4047 * grub-core/kern/misc.c (grub_isprint): Move to ...
4048 * include/grub/misc.h (grub_isprint): ... here. Make inline.
4050 Saves 20 bytes on compressed image due to remving exporting.
4052 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4054 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
4056 Saves 5 bytes on compressed image.
4058 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4060 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
4063 Saves 379 bytes on compressed image.
4065 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4067 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
4069 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4071 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
4073 Saves 40 bytes on compressed image.
4075 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4077 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
4078 mask rather than 64-bit type.
4080 Saves 20 bytes on compressed image.
4082 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
4084 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
4085 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
4087 Saves 273 bytes on compressed image.
4089 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4091 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
4092 variable length arrays.
4094 Saves 50 bytes on compressed image.
4096 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4098 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
4100 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4102 * grub-core/fs/ufs.c: Remove variable length arrays.
4104 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4106 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
4108 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4110 * grub-core/fs/zfs.c: Remove variable length arrays.
4111 Reduces zfs.mod by 160 bytes (208 compressed).
4113 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4115 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
4117 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4119 * grub-core/net/arp.c: Remove variable length arrays.
4120 * grub-core/net/bootp.c: Likewise.
4121 * grub-core/net/dns.c: Likewise.
4122 * grub-core/net/icmp6.c: Likewise.
4123 * grub-core/net/net.c: Likewise.
4125 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4127 * grub-core/fs/ntfs.c: Remove variable length arrays.
4128 Increases ntfs.mod by 64 bytes (but decreases by 3 when
4131 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4133 * grub-core/fs/hfs.c: Remove variable length arrays.
4134 Reduces hfs.mod by 8 bytes (52 compressed).
4136 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4138 * grub-core/fs/udf.c: Remove variable length arrays.
4139 Increases udf.mod by 128 bytes (but decreases by 13 when
4142 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4144 * grub-core/fs/iso9660.c: Remove variable length arrays.
4145 Increases iso9660.mod by 200 bytes (but decreases by 79 when
4148 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4150 * grub-core/fs/nilfs2.c: Remove variable length arrays.
4151 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
4154 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4156 * grub-core/fs/xfs.c: Remove variable length arrays.
4157 Reduces xfs.mod by 40 bytes (43 compressed).
4159 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4161 * grub-core/fs/fshelp.c: Remove variable length arrays.
4162 Reduces fshelp.mod by 116 bytes (23 compressed).
4164 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4166 * grub-core/normal/completion.c: Remove variable length arrays.
4167 * grub-core/normal/menu_entry.c: Likewise.
4169 Reduces normal.mod by 496 bytes.
4171 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4173 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
4174 by 356 bytes (158 compressed).
4176 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4178 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
4179 by 364 bytes (169 compressed).
4181 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4183 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
4184 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
4185 * include/grub/types.h (grub_unaligned_uint64_t): New type.
4187 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4189 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
4190 bitmasks to small structures of size chosen to fit in registers.
4192 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4194 * conf/Makefile.common: Use -freg-struct-return on i386. This
4195 decreases code size and improves performance.
4197 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4199 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
4201 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4203 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
4205 Simplify expressions to save around 256 bytes in kernel.img.
4206 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
4208 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4210 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
4211 Use GRUB_UTIL_FD_O_* rather than O_*.
4213 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4215 Add haiku-specific functions.
4217 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4219 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
4221 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4223 Move stat () and device mode checking into OS-dependent files as
4224 long as performance doesn't suffer.
4226 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4228 Split make_system_path_relative_to_its_root into separate file
4229 relpath.c from getroot.c as it's common between unix and haiku
4230 but otherwise haiku doesn't use any functions from unix getroot.c.
4232 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4234 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
4236 (grub_util_is_special_file): Likewise.
4238 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4240 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
4241 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
4243 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4245 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
4246 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
4248 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4250 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
4251 (load_image): Likewise.
4253 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4255 * util/grub-render-label.c: Move backend part to ...
4256 * util/render-label.c: ... here.
4258 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4260 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
4261 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
4263 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4265 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
4267 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4269 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
4270 CD-ROM in case when it's declared as having subpartitions.
4272 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4274 Don't add -lm on haiku.
4276 * configure.ac: Define BUILD_LIBM to -lm on most platforms
4278 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
4281 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4283 * configure.ac: Use -melf_*_haiku as target on haiku.
4285 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4287 * Makefile.util.def: Add util/setup.c to extra_dist.
4289 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4291 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
4292 unknown types through.
4294 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4296 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
4297 (grub_util_check_char_device): Likewise.
4298 * include/grub/emu/getroot.h: Likewise.
4300 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4302 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
4303 memset rather than inline static function.
4305 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4307 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
4308 not doing embedded decompressor.
4310 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4312 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
4314 * grub-core/kern/disk.c: Likewise.
4315 * grub-core/kern/misc.c: Likewise.
4316 * include/grub/parser.h: Likewise.
4317 * include/grub/script_sh.h: Likewise.
4318 * include/grub/zfs/zfs.h: Likewise.
4320 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4322 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
4324 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4326 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
4327 defined before trying to use it.
4329 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4331 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
4334 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4336 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
4337 Use __unused__ rather than __used__ on gcc < 3.2.
4339 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4341 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
4343 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
4345 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4347 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
4349 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4351 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
4352 * include/grub/emu/misc.h: Likewise.
4354 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4356 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
4359 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
4361 * grub-core/tests/checksums.h: Regenerated due to progress bar
4362 get_minimal_size changes.
4364 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
4366 Added `tr' command support.
4368 * grub-core/commands/tr.c: New file.
4369 * grub-core/Makefile.core.def: Build rules for new module.
4371 * tests/grub_cmd_tr.in: New test.
4372 * Makefile.util.def: Build rules for new test.
4374 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4376 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
4378 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4380 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
4381 * docs/gurb.texi: Likewise.
4383 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4385 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
4386 Pixmap highlighted section with east and west slices was displayed
4387 incorrectly due to negative width of the central slice.
4389 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
4391 * docs/grub.texi: Graphical options information update.
4392 Removed outdated. Updated current. Inserted missed.
4394 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4396 * docs/grub.texi: Mention few new platform-specific commands.
4398 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4400 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
4401 currently used so this doesn't really have any effect.
4402 Reported by: Douglas Ray <dougray>
4404 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4406 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
4407 compilation but prevents gcc from displaying messages in non-Latin
4409 * conf/Makefile.common: Likewise.
4411 2013-10-16 Hiroyuki YAMAMORI
4413 Handle Japanese special keys.
4414 Reported by: Hiroyuki YAMAMORI.
4415 Codes supplied by: Hiroyuki YAMAMORI.
4417 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4419 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
4421 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
4423 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
4424 * docs/grub.texi: Likewise.
4426 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4428 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
4429 value in case of incomplete read.
4430 (grub_util_fd_write): Likewise.
4432 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4434 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
4436 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4438 * util/grub-editenv.c (create_envblk_file): More from here ...
4439 * util/editenv.c (grub_util_create_envblk_file): ... to here.
4441 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4443 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
4444 canonicalize file name before doing the rest.
4446 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4448 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
4451 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4453 Define grub_util_is_directory/regular/special_file and
4454 use OS-dependent versions rather than to rely on stat().
4456 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4458 * util/grub-mkimage.c: Move backend part to ...
4459 * util/mkimage.c: ... here.
4461 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4463 Allow compilation with mingw64 albeit with warnings due to lack of
4466 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
4467 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
4468 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
4469 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
4471 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
4473 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4475 Remove leftover references to some of the system headers.
4477 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4479 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
4482 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4484 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
4487 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4489 Split out blocklist retrieving from setup.c to
4490 grub-core/osdep/blocklist.c and add windows implementation since
4491 generic version doesn't work on NTFS on Windows due to aggressive
4494 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4496 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
4499 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4501 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
4502 Cut tailing newline. Remove arbitrary limitation. Always use
4503 grub_util_tchar_to_utf8.
4505 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4507 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
4508 * tests/printf_unit_test.c (printf_test): Add %% tests.
4509 Reported by: Paulo Flabiano Smorigo.
4511 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4513 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
4516 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4518 * configure.ac: Check for nvlist_lookup_string in nvpair since we
4519 use nvlist_lookup_string and don't use nvlist_print.
4521 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4523 Add wrappers around rename, unlink, mkdir, opendir, readdir and
4524 closedir to handle filename charset translation.
4526 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4528 * include/grub/emu/hostdisk.h: Move file operations to
4529 * include/grub/emu/hostfile.h: ... here.
4531 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4533 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
4536 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4538 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
4540 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4542 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
4543 and remove export.h.
4545 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4547 * grub-core/kern/emu/error.c: Removed.
4548 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
4549 explicitly as it's already in libgnu.a.
4551 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4553 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
4554 config-util.h include.
4556 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4558 Split emunet into platform-dependent and GRUB-binding parts. Keep
4559 platform-dependent part in kernel for easy access to OS functions.
4561 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
4563 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
4566 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4568 * grub-core/osdep/windows/emuconsole.c: New file.
4570 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4572 * conf/Makefile.extra-dist: Add osdep/*/init.c
4574 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4576 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
4578 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4580 * util/grub-probe.c (probe): Separate different drives in hint-str
4581 by spaces and not newlines.
4582 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
4584 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4586 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4589 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4591 Pass-through unknown E820 types. It required reorganisation of mmap
4594 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
4596 * Makefile.util.def: Add osdep/init.c to grub-mount files.
4598 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4600 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
4603 2013-10-14 qwertial <qwertial>
4605 * grub-core/gdb_grub.in: Fix overflow and wrong field.
4607 2013-10-14 Jon McCune <jonmccune@google.com>
4609 * docs/grub.texi: Document new signatures possibility.
4611 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4613 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
4615 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4617 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
4619 (grub_util_tchar_to_utf8): Likewise.
4621 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4623 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
4624 * grub-core/kern/emu/main.c: Add missing include.
4625 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
4626 Don't call grub_util_init_nls.
4627 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
4630 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4632 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
4635 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4637 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
4639 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4641 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
4643 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4645 Add a wrapper for fopen. On unix-like systems just pass-through. On
4646 windows use unicode version.
4648 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
4650 Move set_program_name and init_nls to host_init. On windows
4651 fix in this fuction console and argument charset as well.
4653 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
4655 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
4656 GRUB_ENABLE_CRYPTODISK.
4658 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
4659 GRUB_ENABLE_CRYPTODISK.
4660 * util/grub-mkconfig_lib.in: Likewise.
4662 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
4664 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
4666 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
4668 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
4669 error when enabling debug.
4671 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
4673 * configure.ac: Use -melf_*_obsd on openbsd.
4675 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4677 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
4679 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
4681 * include/grub/misc.h: Use gnu_printf rather than printf as format
4682 template since our functions are independent of libc.
4684 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4686 * util/grub-setup.c (setup): Move copying of partition table as
4687 futher up as possible to avoid possible overwrite by floppy routines.
4689 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
4691 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
4693 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4695 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
4696 * docs/grub.texi: Likewise.
4698 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4700 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
4701 it's mostly unused. Move vestiges to the callers.
4703 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4705 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
4706 version of salt and hash. Use grub_snprintf rather than snprintf.
4708 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4710 * docs/grub.texi: Fix problem with braces.
4712 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4714 * conf/Makefile.extra-dist: Fix extra-dist list.
4715 * grub-core/Makefile.core.def: Likewise.
4717 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4719 * docs/grub.texi: Document disk names used on Windows and AROS.
4721 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4723 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
4725 * grub-core/osdep/aros/hostdisk.c: Likewise.
4727 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
4729 Avoid including hostfile.h when not necessarry as it pulls
4730 in OS-specific headers which may redefine generic names
4733 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4735 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
4736 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
4737 scrollbar_bottom_pad
4738 * docs/grub.texi: Likewise.
4740 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
4742 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
4744 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4746 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
4748 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4750 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
4752 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
4755 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4757 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
4760 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4762 Move OS-specific driver configuration to grub_util_fd_open. This
4763 moves OS-dependent parts from kern/emu/hostdisk.c to
4764 grub-core/osdep/*/hostdisk.c.
4766 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4768 * util/grub-mkimage.c (generate_image): Use size_t instead of
4770 * util/grub-mkimagexx.c (locate_sections): Likewise.
4771 (load_image): Likewise.
4773 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4775 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
4777 (grub_util_write_image): Likewise.
4779 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4781 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
4782 get random when no RNG is available.
4783 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
4785 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4787 * include/grub/util/lvm.h: Removed.
4789 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4791 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
4792 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
4794 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4796 * grub-core/osdep/windows/sleep.c: Add missing config.h.
4798 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4800 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
4802 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4804 * grub-core/net/drivers/emu/emunet.c: Move to ..
4805 * grub-core/osdep/linux/emunet.c: ..here.
4807 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4809 * util/ieee1275/ofpath.c: Move to ...
4810 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
4811 * grub-core/osdep/basic/ofpath.c: ..here.
4813 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4815 Move password-querying (util-version) routines to grub-core/osdep.
4817 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4819 Move sleep routines to grub-core/osdep.
4821 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4823 Move OS-dependent files to grub-core/osdep and document it.
4825 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4827 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
4828 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
4830 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4832 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
4834 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4836 * util/misc.c: Remove leftover inclusion of malloc.h.
4838 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4840 * include/grub/setjmp.h: Remove leftover GRUBOF.
4842 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4844 * util/raid.c: Fold into ...
4845 * util/getroot_linux.c: ... here. Make all functions static.
4847 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4849 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
4850 macros to GRUB ones.
4852 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4854 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
4855 occasional bug. If there are too many boot entries or too low
4856 scrollbar height then we need to use another formula to calculate
4857 the position and size of the scrollbar thumb.
4859 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4861 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
4863 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4865 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
4866 * docs/grub.texi: Likewise.
4868 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4870 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
4873 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
4875 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
4876 minimal width calculations.
4878 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4880 * docs/grub.texi: Update note on colors on emu console.
4882 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4884 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
4885 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
4886 it's FS and not GRUB limitation.
4888 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4890 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
4892 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
4894 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
4896 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4898 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
4899 kernels by version order.
4901 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4903 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
4905 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4907 Add AROS hostdisk and getroot routines.
4909 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4911 Make cryptodisk and diskfilter probe data retrievable programmatically
4912 and not just printable.
4914 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
4916 Split random retrieving code into separate files.
4918 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4920 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
4923 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4925 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
4927 * grub-core/tests/fake_input.c: Likewise.
4928 * grub-core/tests/cmdline_cat_test.c: Likewise.
4930 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4932 * grub-core/video/capture.c: Do not do finalization when .fini
4933 is called as there is explicit capture_end.
4935 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4937 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
4938 changing windows to avoid crash.
4940 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4942 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
4944 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4946 * po/exclude.pot: Add several strings to exclude.
4948 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4950 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
4952 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4954 * autogen.sh: Add ./util/grub-gen-widthspec.c and
4955 ./util/grub-gen-asciih.c to exclude list.
4957 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4959 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
4960 and don't mark error strings for translation.
4962 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4964 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
4965 properly in case of missing block size.
4967 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4969 * grub-core/lib/arm/setjmp.S: Add missing license section.
4971 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
4973 * po/swiss.sed: Add replacement for key names and for term computer.
4975 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
4977 * grub-core/gfxmenu/theme_loader.c: New global options for the
4978 theme background image handling. desktop-image-scale-method,
4979 desktop-image-h-align, desktop-image-v-align.
4980 * grub-core/gfxmenu/view.c: Likewise.
4981 * include/gfxmenu_view.h: Likewise.
4982 * include/bitmap_scale.h: Proportional scale functions introduced.
4983 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
4984 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
4985 cases of unexpected input variables for scale functions.
4986 * docs/grub.texi: Updated documentation for new options.
4988 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
4990 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
4992 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4994 * grub-core/tests/checksums.h: Corrected due to changes in
4995 bilinear interpolation function.
4997 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
4999 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
5000 to eliminate artefacts in bilinear interpolation.
5002 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5004 * grub-core/video/readers/tga.c: Support paletted tga.
5006 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5008 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
5009 incorrect cbcr setting when in color mode.
5011 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5013 * grub-core/video/readers/png.c: Support paletted images and clean up
5016 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5018 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
5019 usage of wrong table which resulted in mishandling of 4-byte
5022 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5024 * grub-core/term/terminfo.c: Add Home and End key sequences.
5026 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5028 * grub-core/video/readers/png.c (grub_png_decode_image_header):
5029 Fix formula for computing total number of bytes.
5031 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5033 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
5034 image processing, fix big-endian and support grayscale.
5036 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5038 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
5039 Correctly will with maximum transparency when using index color.
5041 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5043 * grub-core/video/readers/png.c: Support grayscale
5045 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
5047 * grub-core/video/readers/jpeg.c: Support grayscale.
5049 2013-09-26 Jon McCune <jonmccune@google.com>
5051 * grub-core/commands/loadenv.c: Support skipping signature check
5052 and variable names filtering.
5054 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5056 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
5057 * grub-core/kern/emu/hostfs.c: Likewise.
5058 * util/getroot_unix.c: Likewise.
5060 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5062 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
5063 Migrate all explicit defines to this new one.
5065 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5067 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
5068 grub_util_fd_strerror when using grub_util_fd_*.
5069 (grub_util_fd_open_device): Likewise.
5070 (grub_util_biosdisk_read): Likewise.
5071 (grub_util_biosdisk_write): Likewise.
5072 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
5073 (grub_util_fd_strerror): Likewise.
5074 (grub_util_fd_sync): Likewise.
5075 (grub_util_fd_close): Likewise.
5076 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
5077 (grub_util_fd_close): Likewise.
5078 (grub_util_fd_strerror): Likewise.
5079 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
5080 function proto rather than macro.
5081 (grub_util_fd_sync): Likewise.
5082 (grub_util_fd_open): Likewise.
5083 (grub_util_fd_strerror): New proto.
5085 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5087 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
5088 platforms on which it doesn't work.
5090 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5092 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
5093 stat immediately to where it's used.
5095 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5097 * util/getroot.c (grub_util_check_block_device): Move to ...
5098 * util/getroot_unix.c (grub_util_check_block_device): ... here.
5099 * util/getroot.c (grub_util_check_char_device): Move to ...
5100 * util/getroot_unix.c (grub_util_check_char_device): ... here.
5102 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
5104 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
5107 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5109 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
5111 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
5113 * docs/grub.texi (File name syntax): Document ZFS filenames
5114 (/volume@snapshot/...).
5116 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5118 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
5119 Always return full path. Fixes a problem with mkrelpath.
5121 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5123 * util/grub-install.in: Add GPT PReP support.
5124 * util/grub-probe.c (probe): Support GPT partition type.
5125 (main): Support -t gpt_parttype.
5127 2013-09-23 Aleš Nesrsta <starous@volny.cz>
5129 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
5131 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
5133 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
5135 2013-09-23 Tim Hardeck <thardeck>
5137 * util/grub.d/10_hurd.in: Filter out character for the class.
5138 * util/grub.d/10_kfreebsd.in: Likewise.
5139 * util/grub.d/10_linux.in: Likewise.
5140 * util/grub.d/20_linux_xen.in: Likewise.
5142 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
5144 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
5147 2013-09-23 Josh Triplett <josh@joshtriplett.org>
5149 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
5152 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5154 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
5155 doesn't use posix_wrap. Keep literal -fno-builtin however.
5157 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5159 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
5161 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5164 * configure.ac: Do not enable -Wmissing-noreturn as its
5165 usefulness is limited and creates problems on some OS notably with
5166 code generated by bison.
5168 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5171 * configure.ac: Do not explicitly enable -Waddress as it's not
5172 supported by all gcc and when it is, it's already enabled by -Wall.
5174 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5176 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
5177 desactivated use of EDID at all.
5179 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5182 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
5183 video if no text is available.
5185 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5188 * configure.ac: Substitute TARGET_RANLIB.
5190 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5193 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
5195 Based on patches from AROS.
5197 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5200 * grub-core/Makefile.am: Override STRIP and RANLIB.
5201 * configure.ac: compute TARGET_RANLIB.
5202 * INSTALL: Document TARGET_RANLIB
5204 Based on patches from AROS.
5206 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5208 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
5209 that floppies are unpartitioned.
5211 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5213 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
5214 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
5216 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5218 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
5219 less nice but more portable.
5220 * grub-core/lib/posix_wrap/wchar.h: Likewise.
5222 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5224 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
5226 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
5228 (grub_cryptodisk_cheat_insert): Likewise.
5229 (grub_cryptodisk_close): Likewise.
5231 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5233 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
5234 Use windows path for DEFAULT_DIRECTORY.
5236 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5238 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
5239 difference was likely just gcc version, not anything mingw-related.
5241 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5243 Use Winapi on both cygwin and mingw32 to share more code between both.
5245 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5247 * util/grub-install.in: Add --grub-editenv option.
5248 * util/grub-install_header (grub_compress_file): Explicitly check for
5249 plain file to avoid cp error.
5251 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
5253 * docs/grub.texi (Device syntax): Document new LVM UUID based device
5254 names; fix LVM driver name (lvm, not lv).
5255 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
5258 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5260 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
5261 files rather than one file with loads of #if's.
5262 * util/getroot.c: Likewise.
5264 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5266 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
5268 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5270 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
5271 GNU/Hurd to the list of checked PRNG.
5273 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5275 * configure.ac: On FreeBSD use -melf_*_fbsd format.
5277 2013-09-21 Ales Nesrsta <starous@volny.cz>
5279 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
5281 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5283 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
5284 * grub-core/disk/lvm.c: Add LVM UUIDs.
5285 * util/getroot.c: Use LVM UUIDs whenever possible.
5287 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
5289 * docs/grub.texi (Networking commands): Add documentation for
5290 network related commands.
5292 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5294 * util/getroot.c (grub_util_open_dm): Check major rather than the name
5295 to determine if device is handled by devmapper.
5296 (convert_system_partition_to_system_disk): Likewise.
5297 (get_dm_uuid): Don't check explicitly if device is mapped, it's
5298 already done in grub_util_open_dm.
5300 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
5302 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
5303 Clean up stack manipulation (sync_caches_armv*)
5305 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5307 * util/lvm.c: Remove since unused. Remove remaining references.
5309 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5311 Handle the case of partitioned LVM properly.
5313 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5314 Stop on meeting LVM, mpath or DMRAID.
5315 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
5316 (read_device_map): Likewise.
5317 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
5318 device is full disk rather than erroring out on LVM and similar cases.
5320 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5322 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
5324 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5326 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
5328 Reported by: Leif Lindholm
5330 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
5331 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5333 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
5336 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
5338 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
5339 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
5341 2013-09-18 Douglas Ray <dougray@cpan.org>
5343 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
5346 2013-09-18 Aleš Nesrsta <starous@volny.cz>
5348 * docs/grub.texi: Fix broken link.
5350 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
5352 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
5353 to break endless loop.
5355 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5357 * util/grub-fstest.c: Fix several printf formats.
5358 * util/grub-mkimage.c: Likewise.
5359 * util/grub-mkimagexx.c: Likewise.
5360 * util/grub-script-check.c: Likewise.
5362 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5364 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
5367 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5369 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
5371 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5373 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
5374 removed in current versions cygwin_conv_*.
5376 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5378 * configure.ac: Disable efiemu runtime on cygwin.
5380 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5382 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
5383 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
5385 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5387 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
5390 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5392 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
5394 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
5397 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5399 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
5400 when on x86 and not cygwin.
5401 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
5404 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5406 * configure.ac: Set CPP to build one when checkoing for freetype for
5409 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5411 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
5412 [!GRUB_BUILD]: Remove has_argument.
5414 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5416 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
5417 Replace with a dummy.
5419 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5421 * configure.ac: Don't change host_os from mingw to cygwin.
5423 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5425 * configure.ac: Change target_os from windows to cygwin.
5427 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5429 Handle grub-pe2elf and grub-mkfont for cases when build != host.
5431 * Makefile.am (build-grub-mkfont): Don't include gnulib.
5432 (build-grub-gen-asciih): Likewise.
5433 (build-grub-gen-widthspec): Likewise.
5434 * Makefile.util.def (grub-pe2elf): Remove.
5435 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
5436 * configure.ac: Separate tests for build.
5437 Move ./build-grub-pe2elf to grub-core.
5439 * grub-core/Makefile.am (build-grub-pe2elf): New target.
5440 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
5442 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
5444 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
5445 * util/grub-pe2elf.c: Simplify not to rely on getopt.
5446 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
5448 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5450 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
5451 mingw32 as well based on grub_util_get_disk_size.
5452 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
5453 grub_util_get_fd_size.
5455 (fsync): Moved to ...
5456 * grub-core/kern/emu/misc.c (fsync): ... here.
5458 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5460 * include/grub/mm.h (grub_extend_alloc): Remove.
5461 * grub-core/loader/i386/pc/plan9.c: Use own version of
5462 grub_extend_alloc with appropriate types.
5464 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5466 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
5468 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5470 * util/getroot.c: Include sys/wait.h only when we need waitpid.
5472 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5474 Fix dependencies on cygwin.
5476 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
5477 dependencies when used and defined.
5478 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
5480 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5482 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
5483 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
5485 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5487 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
5488 implementation available to cause compile-time rather than runtime
5491 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5493 * util/grub-fstest.c: Don't check for symlinks on windows.
5495 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5497 * INSTALL: Mention unavailability of man pages when cross-compiling.
5499 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5501 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
5503 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
5505 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5507 * INSTALL: Document cross-compilation.
5508 * acinclude.m4: Determine whether nm support -P and --defined-only.
5509 * configure.ac: Add TARGET_ to all variables pertaining to target
5510 that don't have it yet.
5511 * gentpl.py: Likewise.
5512 * grub-core/Makefile.am: Likewise.
5513 * grub-core/genmod.sh.in: Likewise.
5514 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
5517 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5519 * configure.ac: Remove -Wempty-body. It's not essential and needs
5522 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
5524 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
5525 * util/getroot.c: Likewise.
5527 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5529 * grub-core/disk/ahci.c: Add needed explicit cast.
5530 * grub-core/lib/backtrace.c: Likewise.
5531 * grub-core/net/ip.c: Likewise.
5532 * grub-core/net/tcp.c: Likewise.
5533 * grub-core/net/udp.c: Likewise.
5535 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5537 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
5539 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5541 * util/import_gcry.py: Add final newline in visibility.h.
5543 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5545 * conf/Makefile.common: Fix typo.
5547 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5549 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
5551 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5553 * Makefile.am (widthspec.h): Fix typo.
5554 * util/grub-gen-widthspec.c: Likewise.
5556 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5558 Move ascii.h and widthspec.h generation to a separate build-time-only
5561 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
5563 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5564 Always fill bootdisk info and improve check for NetBSD disklabel.
5566 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5568 * conf/Makefile.extra-dist: Add util/bin2h.c.
5569 Reported by: floppym.
5571 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5573 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
5575 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5577 * configure.ac: Disable unifont and starfield if no freetype was found.
5579 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5581 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
5582 on NetBSD and OpenBSD.
5584 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5586 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
5588 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5590 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
5591 reduced. Inheritant options are processed during the theme loading.
5593 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
5595 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
5597 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5599 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
5601 2013-08-14 Avik Sil <aviksil@in.ibm.com>
5603 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
5606 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5608 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
5609 remove-potcdate.sed.
5611 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5613 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
5614 unused attribute from pull argument.
5616 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5618 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
5621 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
5623 * util/getroot.c (pull_lvm_by_command): add --separator option
5624 to vgs call to disable padding of output to 10 characters.
5626 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5628 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
5630 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
5633 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5635 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
5638 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5640 Fix handling of build-time grub-bin2h and grub-mkfont when doing
5641 full Canadian cross. Tested with build=x86_64, host=arm,
5642 target=ppc-ieee1275.
5644 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5646 * configure.ac: Error if no $BUILD_CC could be found.
5649 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5651 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
5654 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
5656 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
5657 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
5659 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
5661 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
5662 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
5663 falling back to the partition device, otherwise a later call to this
5664 function may fail spuriously.
5665 Reported by Axel Beckert. Fixes Debian bug #708614.
5667 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5669 * autogen.sh: Replace find -not by the POSIX-compliant find !.
5671 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
5673 Prevent shadowing of stdlib's devname(3) on BSD.
5675 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
5676 and devlast to diskname and disklast, respectively.
5678 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
5680 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
5682 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
5684 * docs/grub.texi: Introduce terminal window position options:
5685 terminal-left: terminal window's left position
5686 terminal-top: terminal window's top position
5687 terminal-width: terminal window's width
5688 terminal-height: terminal window's height
5689 terminal-border: terminal window's border width
5690 * grub-core/gfxmenu/theme-loader.c: Likewise.
5691 * include/grub/gfxmenu_view.h: Likewise.
5692 * po/exlude.pot: Likewise.
5693 * grub-core/gfxmenu/view.c: Likewise.
5694 Also updated minimal window size.
5695 Also terminal_sanity_check function has been introduced.
5696 * grub-core/tests/checksums.h: Update (terminal window height
5697 is adjusted now for low resolution screen)
5699 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5701 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
5704 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5706 * po/exclude.pot: Add few recent exceptions.
5708 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5710 * tests/grub_func_test.in: Add unicode.pf2.
5712 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5714 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
5715 standard rather than noral color, in line with other terminals.
5717 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5719 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
5722 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5724 * grub-core/loader/arm/linux.c: Change printf to dprintf.
5726 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
5728 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
5729 inappropriate printf.
5731 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
5733 * .bzrignore: Remove grub-core/lib/dtc-grub,
5734 grub-core/Makefile.libfdt.def
5735 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
5737 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5739 * include/grub/video.h (grub_video_register): Keep double-linked as
5740 well as single-linked invariants.
5741 Reported by: qwertial.
5743 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5745 * grub-core/commands/nativedisk.c (get_uuid): Handle
5746 GRUB_DISK_DEVICE_UBOOTDISK_ID.
5748 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
5750 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
5751 maximum of NW, N, NE heights instead of N's height and maximum of
5752 NW, W, SW widths instead of W's width. (So the box will be always
5755 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
5757 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
5758 Fix misuse of variable count.
5760 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
5761 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
5762 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5764 New ports to arm-uboot and arm-efi.
5765 Mostly by Leif Lindholm with some additions from
5766 Francesco Lavra and cleanup by Vladimir Serbinenko.
5768 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5770 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
5772 Reported by: Leon Drugi.
5774 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5776 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
5777 Reported by: Paulo Flabiano Smorigo.
5779 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5781 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
5783 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
5785 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
5787 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5789 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
5791 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5793 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
5795 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
5797 * grub-core/net/bootp.c: Export net_* variables.
5798 * grub-core/net/net.c: Likewise.
5800 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5802 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
5804 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5806 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
5808 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5810 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
5812 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
5814 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
5816 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5818 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
5821 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5823 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
5826 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5828 * grub-core/fs/zfs/zfs_lz4.c: New file.
5829 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
5831 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5833 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
5835 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5837 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
5838 (check_pool_label): Likewise.
5839 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
5841 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
5843 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
5845 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5847 * docs/grub.texi (Commands): Document postition parameters
5848 for menuentry command.
5850 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
5852 * util/grub-mknetdir.in: Remove stray line from help output.
5854 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5856 Remove early sm712 init as there is no reason for it (the "watchdog"
5857 effect was due to wrong GPIO map).
5859 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5861 * grub-core/commands/pcidump.c: Remove static variables.
5863 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5865 * grub-core/commands/sleep.c: Refresh screen before sleeping.
5867 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5869 * configure.ac: Move delimiter after the infos.
5871 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5873 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
5875 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5877 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
5878 not filling whole 8x16 space.
5880 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5882 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
5884 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
5886 * configure.ac: Indicate which liblzma is used if any.
5888 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
5889 2013-06-21 Craig Sanders <savannah@taz.net.au>
5891 * util/grub-reboot.in: Document submenu usage.
5893 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
5895 * .bzrignore: Update with a number of new test-related files.
5897 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
5899 * util/grub-script-check.c: Fail on scripts containing no
5900 commands, to guard against corrupted grub-mkconfig setups that
5901 produce no useful output.
5902 * tests/grub_script_no_commands.in: New test.
5903 * Makefile.util.def (grub_script_no_commands): Add.
5904 Reported by Hans Putter. Fixes Debian bug #713886.
5906 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5908 * grub-core/disk/diskfilter.c: Forgot to remove comment
5909 from previous commit.
5911 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5913 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5914 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
5916 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5918 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
5920 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
5922 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
5923 rescan diskfilter devices until nothing new is found.
5925 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5927 Fix casts when compiling coreboot-specific code for 64-bit EFI.
5929 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5931 Don't try to detect cbfs on *-emu.
5933 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5935 * grub-core/term/gfxterm.c: USe right background color when scrolling.
5937 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5939 Add support for processed coreboot payload chainloading.
5941 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5943 Enable coreboot information commands even when not loaded as
5944 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
5946 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5948 Support for cbfs. Also factor out the part which is common
5949 for all archives to a separate module. This splits tar from cpio
5950 as they are very different but keeps cpio, cpio_be, odc and newc
5951 together since they're very similar.
5953 2013-06-15 David Michael <fedora.dm0@gmail.com>
5955 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
5956 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
5958 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5960 * tests/grub_script_eval.in: Really add the eval test.
5962 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5964 Move flavour-specific parts out of common cpio.c file and
5965 rename remaining to cpio_common.c
5967 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5969 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
5970 off new function grub_script_execute_new_scope. Change callers to use
5971 either of them as appropriate.
5972 * grub-core/commands/eval.c: New command eval.
5973 * docs/grub.texi (Commands): Document it.
5975 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5977 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
5978 to fetch values when listing.
5980 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
5982 Fix make dist on non-pc.
5984 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
5986 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
5987 without a device name.
5989 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5991 Remove enable_executable_check as it's not needed anymore.
5992 Reported by: dougray.
5994 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5996 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
5997 ambigouos RAID before discovering RAIDs on top of it.
6000 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
6002 Fix typo (failback vs fallback).
6004 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
6006 * util/grub.d/30_os-prober.in: Add support for probing EFI
6007 System Partition (as of os-prober 1.58).
6009 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6011 * configure.ac: Add yet another path to unifont. For parabola.
6013 2013-05-30 Josh Triplett <josh@joshtriplett.org>
6015 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
6016 handling to copy the killed characters to the kill buffer as
6017 UCS4 stored as grub_uint32_t rather than as 8-bit characters
6018 stored as char. Eliminates UCS4 truncation and corruption
6019 observed when killing characters with Ctrl-u and yanking them
6022 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6024 Detach optional parts of gfxterm and integrate in with coreboot init.
6026 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6028 Move blit and fill dispatcher to appropriate files to decrease export
6029 and relocation overhead.
6031 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6033 * grub-core/font/font.c, include/grub/font.h: Inline simple font
6036 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6038 * grub-core/Makefile.am: Fix compilation problem with some
6041 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6043 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
6045 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6047 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
6050 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
6052 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
6055 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
6057 * grub-core/partmap/dfly.c: New partition map.
6059 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6061 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
6063 Reported by: Francesco Lavra.
6065 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
6067 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
6068 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
6070 * conf/Makefile.common: define dist_grubconf_DATA
6072 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6074 Progressively skip menu elements on small terminals rather
6077 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6079 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
6080 to avoid losing last column.
6082 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6084 * po/exclude.pot: Add missing string "%C".
6086 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6088 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
6091 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6093 * util/grub-install.in: Gettextize "Not found" message.
6095 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6098 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6100 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6102 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
6104 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
6106 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6108 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
6110 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6112 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
6113 attribute since structure is not necessarily aligned.
6115 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
6117 * docs/grub.texi (Device syntax): Clarify description of network
6120 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6122 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
6123 for vasprintf presence.
6125 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6127 * util/grub-install.in: Handle efibootmgr presence check.
6128 Reported by: Leif Lindholm.
6130 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6132 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
6133 new strings to translate.
6135 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6137 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
6138 yet another string (pun intended) to translate.
6140 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6142 * po/POTFILES-shell.in: Autogenerate it.
6144 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6146 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
6148 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6150 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
6153 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
6155 * docs/grub.texi (Network): Add description of net_default_interface,
6156 net_default_ip and net_default_mac. Rewrite variables description
6157 to emphasize that they are per-interface.
6159 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6161 New test: cmdline and cat.
6163 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6165 * grub-core/commands/cat.c: Show UTF-8 characters.
6167 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6169 * conf/Makefile.common: Poison float and double on non-emu.
6171 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6173 * configure.ac: Don't disable extended registers on emu.
6175 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6177 * configure.ac: Don't use extended registers on x86_64.
6178 Reported by: Peter Jones.
6180 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6182 * grub-core/term/efi/console.c: Fix compile error.
6184 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6186 Compressed HFS+ support.
6188 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6190 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
6193 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6197 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6199 * grub-core/tests/setjmp_test.c: New test.
6201 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6203 New variables 'net_default_*' to determine MAC/IP of default interface.
6205 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6207 * tests/gettext_strings_test.in: A test to check for strings not
6208 marked for translation.
6210 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6212 * autogen.sh: Exclude unused libgcrypt files from translation.
6214 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6216 Simplify few strings.
6218 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6220 Mark few forgotten strings for translation.
6222 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6224 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
6227 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6229 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
6231 * grub-core/video/readers/tga.c: Likewise.
6233 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6235 * tests/priority_queue_unit_test.cc: New test.
6237 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6239 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
6242 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
6244 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
6245 variable for one time boot menu entry.
6247 2013-05-05 Bean <bean123ch@gmail.com>
6249 * grub-core/commands/testspeed.c: New command testspeed.
6251 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6253 Factor-out human-size printing.
6255 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6257 Agglomerate more mallocs to speed-up gfxterm.
6259 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6261 Speed-up gfxterm by slightly agglomerating mallocs.
6263 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6267 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6269 Speed-up gfxterm by saving intermediate results in index+alpha
6272 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6274 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
6277 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6279 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
6280 line of timeout as it may contain the rest of long line.
6282 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6284 * grub-core/normal/main.c: Fix freed memory dereference.
6286 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6288 Fix several memory leaks.
6290 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6292 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
6294 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6296 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
6298 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6300 Fix test -a and -o precedence.
6301 Reported by: adrian15.
6303 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6305 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
6307 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
6309 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
6310 and add it as source to functional_test module.
6312 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6314 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
6316 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6318 New series of tests for gfxterm and gfxmenu.
6320 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6322 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
6323 the theme path relative to $prefix/themes.
6325 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6327 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
6329 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6331 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6333 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
6336 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6338 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
6339 grub_gfxmenu_timeout_notifications.
6340 (grub_gfxmenu_view_destroy): Likewise.
6342 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6344 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
6346 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6348 Several fixes to ieee1275 and big-endian video.
6350 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6352 Add missing exports on mips.
6354 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6356 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
6357 if no unifont is found.
6358 Restore original keyboard.
6360 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6362 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6363 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
6365 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6367 First automated video test (running videotest and comparing results)
6369 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6371 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
6372 instead of 2 to have full RGB/CMY test pattern.
6374 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6378 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6380 * include/grub/arc/arc.h: Account for missing "other" peripheral on
6381 ARCS. All users updated.
6383 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6385 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
6387 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
6389 * grub-core/partmap/amiga.c: Fix size of checksummed block.
6391 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6393 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
6394 Reported by: qwertial.
6396 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6398 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
6399 with syntax "XXX deg"/"XXX °".
6401 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6403 Make PCI init in i386-qemu port more robust.
6405 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
6407 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
6408 cached view is reused.
6409 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
6412 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6414 Unify more code in grub-install_header.
6416 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6420 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6422 Enforce disabling of firmware disk drivers when native drivers kick in.
6424 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6426 * grub-core/commands/nativedisk.c: Customize the list of modules on
6427 platform. Don't try to search for disks already using native drivers.
6429 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6431 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
6434 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6436 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
6437 handling of variables containing backslash.
6439 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6441 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
6443 Reported by: qwertial.
6445 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6447 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
6449 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6451 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
6453 Reported by: qwertial.
6455 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6457 * docs/grub.texi: Add a comment about usefullness of nativedisk.
6459 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6461 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
6463 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6465 New command `nativedisk'.
6467 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6469 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
6470 * grub-core/loader/i386/bsd.c: Likewise.
6472 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6474 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
6476 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6478 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
6479 grub_get_unaligned16 rather than shifts.
6481 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6483 * grub-core/kern/file.c: Use const char * rather than casting to
6486 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6488 * grub-core/commands/probe.c: Add missing grub_device_close.
6490 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6492 * INSTALL: Document linguas.sh.
6494 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6496 Remove POTFILES.in and regenerate it in autogen.sh.
6498 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6500 Move --directory/--override-directorry to grub-install_header and unify.
6502 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
6504 * grub-core/term/morse.c: Macroify dih and dah.
6506 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6508 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
6510 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6512 * grub-core/term/ns8250.c: Systematically probe ports by writing
6513 to SR before using them.
6515 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6517 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
6519 (check_sas): Get sas_adress info.
6521 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6523 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
6526 2013-04-27 Leon Drugi <eyak>
6528 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
6531 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6533 Core compression test.
6535 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6537 Implement grub_machine_get_bootlocation for ARC.
6539 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6541 Improve AHCI detection and command issuing.
6543 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6547 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6549 Make 'make check' work on emu.
6551 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6553 Replace libcurses with our own vt100 handling for the ease of testing
6554 and decreasing prerequisites.
6556 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6558 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
6560 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6562 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
6563 compile when not needed.
6565 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6567 * tests/pseries_test.in: New test.
6569 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6571 Add test to check that different boot mediums work.
6573 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6575 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
6576 ofw limited ISO support.
6578 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6580 * configure.ac: Fix loongson conditional.
6582 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6586 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6588 Add serial on ARC platform.
6590 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6592 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
6595 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6597 * tests/partmap_test.in: Add missing double semicolon.
6599 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6601 * util/grub-mkrescue.in: Fix loongson filename.
6603 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6605 * util/grub-mkrescue.in: Move all files that don't have a location
6606 set in stone under /boot/grub. Use ISO hard links rather than copies
6609 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6611 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
6614 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6616 Make check work on mips-arc.
6618 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6620 * util/grub-mkrescue.in: Alias sashARCS as sash.
6622 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6624 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
6627 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6629 * util/grub-install.in: Fix target fo qemu_mips.
6630 Fix extension on EFI.
6632 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6634 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
6635 in front of chosen entry to mark it even if highlighting is lost.
6637 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6639 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
6640 gfxpayload=keep if cbfb is active.
6642 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6644 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
6646 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6648 Add missing video ids to coreboot and ieee1275 video.
6650 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6652 * util/grub-mkrescue.in: Add mips-arc support.
6654 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6656 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
6658 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
6660 Move mips-arc link address. Previous link address was chosen
6661 in belief that RAM on SGI platforms grows down while in fact it
6662 grows up from an unusual base.
6664 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6666 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
6667 Fix a type which prevented CD-ROM and floppy boot.
6669 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6671 Support coreboot framebuffer.
6673 * grub-core/video/i386/coreboot/cbfb.c: New file.
6675 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6677 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
6678 detecting too small regions.
6680 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6682 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
6684 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
6686 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
6688 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6690 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6692 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
6693 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6694 * grub-core/loader/powerpc/ieee1275/linux.c
6695 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
6697 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6699 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6700 Look for /boot-rom as well as /rom/boot-rom.
6702 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6704 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
6705 handling when creating text_layer failed.
6706 * grub-core/video/video.c (grub_video_create_render_target):
6707 Set result to 0 on error.
6708 (grub_video_delete_render_target): Do not dereference NULL.
6710 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6712 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
6713 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
6714 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
6715 (grub_linux_load64): Mask out 2 high bits.
6717 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
6719 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
6722 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
6724 Add support for pseries and other bootinfo machines to grub-mkrescue.
6726 Tested by: Paulo Flabiano Smorigo.
6728 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6730 * util/grub-mkrescue.in: Add GPT for EFI boot.
6732 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6734 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
6735 It improves performance in qemu.
6737 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6739 * build-aux/snippet: Add missing gnulib files.
6741 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6743 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
6745 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
6747 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
6749 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6750 2013-04-15 Peter Jones <pjones@redhat.com>
6752 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
6754 Based on patch by Peter Jones.
6756 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6758 Fix DMRAID partition handling.
6760 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6762 * tests/grub_cmd_date.in: Skip on sparc64.
6764 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6766 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
6767 firmware error messages.
6769 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6771 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
6772 source and destination differ.
6774 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
6776 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
6779 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6781 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
6782 match config-util.h to avoid warnings and increase compatibility.
6784 2013-04-14 Szymon Janc <szymon@janc.net.pl>
6785 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6787 Add option to compress files on install/image creation.
6789 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6791 * docs/grub-dev.texi: Rearrange menu to match the section order.
6792 Reported by: Bryan Hundven.
6794 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6796 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
6798 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6800 Move GRUB out of system area when using xorriso 1.2.9 or later.
6802 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6804 * tests/grub_cmd_date.in: Add missing exit 1.
6806 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6808 * tests/partmap_test.in: Skip on sparc64.
6810 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6812 Support grub-shell on sparc64.
6814 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6816 Support mkrescue on sparc64.
6818 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6820 Allow IEEE1275 ports on path even if it wasn't detected automatically.
6821 Needed on OpenBIOS due to incomplete device tree.
6823 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6825 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
6826 would be otherwise excluded.
6828 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6830 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
6831 Inline name defines used only once.
6833 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6835 Fix memory leaks in ofnet.
6836 Reported by: Francesco Lavra.
6838 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6840 * docs/man/grub-glue-efi.h2m: Add missing file.
6842 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6844 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
6846 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6848 Better support Apple Intel Macs on CD.
6850 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6852 Replace stpcpy with grub_stpcpy in tools.
6854 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6856 Handle Japanese special keys.
6857 Reported by: Hiroyuki YAMAMORI.
6858 Codes supplied by: Hiroyuki YAMAMORI.
6860 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6862 * util/grub-mkimage.c: Document memdisk implying --prefix.
6864 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6866 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
6867 much we can do about it anyway.
6869 2013-04-12 Aleš Nesrsta <starous@volny.cz>
6871 Fix handling of split transfers.
6873 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6875 * grub-core/net/http.c: Fix bad free.
6877 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6879 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
6882 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6884 Disable partmap check on i386-ieee1275 due to openfirmware issues.
6886 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6888 * tests/util/grub-shell.in: Fix it on powerpc.
6890 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6892 Turn off QEMU ACPI-way since new releases don't have shutdown port
6895 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6897 * docs/grub.texi: Update coreboot status info.
6899 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6901 * tests/grub_cmd_date.in: New test for datetime.
6903 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
6905 * tests/partmap_test.in: Fix missing qemudisk setting.
6907 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6909 Support i386-ieee1275 grub-mkrescue and make check on it.
6911 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6913 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
6916 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6918 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
6919 GRUB_CMDLINE_XEN_DEFAULT.
6920 Reported by: Marc Warne (GigaTux) <gigatux>
6922 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6926 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6928 Use ACPI shutdown intests as traditional port was removed.
6930 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
6932 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
6935 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6937 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
6938 Fix few warining messages and leaks while on it.
6940 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
6942 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
6943 links under grub-core/lib/libgcrypt-grub/mpi.
6945 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6947 Fix ia64-efi image generation on big-endian machines. Deduplicate
6948 some code while on it.
6949 Reported by: Leif Lindholm.
6951 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6953 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
6956 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
6958 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
6960 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
6962 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
6965 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6967 * grub-core/normal/term.c: Few more fixes for menu entry editor
6969 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6971 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6973 * grub-core/normal/term.c: Few more fixes for menu entry editor
6975 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
6977 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6979 * conf/Makefile.extra-dist (EXTRA_DIST): Add
6980 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
6982 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
6984 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
6985 instead of hardcoding grub.mo.
6987 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
6989 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
6991 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6993 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
6994 grub-core/disk/geli.c.
6996 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6998 * util/grub-mkfont.c: Prefer enum to #define.
7000 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7002 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
7004 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7006 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
7008 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7010 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
7012 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7014 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
7016 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7018 * include/grub/bsdlabel.h: Use enums.
7020 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7022 Move GRUB_CHAR_BIT to types.h.
7024 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7026 * docs/grub.texi: Document more user commands.
7028 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
7030 * docs/grub.texi: Document menuentry --id option.
7032 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
7034 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
7036 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7038 Unify file copying setup across different install scripts. Add
7039 options for performing partial install.
7041 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7042 2013-04-04 Peter Jones <pjones@redhat.com>
7044 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
7046 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7048 Use TSC as a possible time source on i386-ieee1275.
7050 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7052 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
7055 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7057 * util/grub-setup.c (setup): Handle some corner cases.
7059 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7061 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
7063 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7065 * grub-core/commands/verify.c: Save verified file to avoid it being
7066 tampered with after verification was done.
7068 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7070 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
7071 reported width by one to compensate for curesor algorithm problem.
7073 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7075 Fix screen corruption in menu entry editor and simplify the code
7078 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
7080 * util/grub-mount.c (fuse_init): Return error if fuse_main
7083 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
7085 * include/grub/elf.h: Add missing ARM relocation codes and fix
7088 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7090 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
7092 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7093 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7095 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
7096 into account when calculating radius.
7098 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7100 * grub-core/gfxmenu/view.c: Fix off-by-one error.
7102 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
7104 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
7106 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7108 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
7109 missing closing bracket.
7111 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
7113 * INSTALL: Mention xorriso requirement.
7115 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
7117 * grub-core/commands/verify.c: Fix hash algorithms values for
7118 the first three hashes - they start with 1, not with 0.
7120 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7122 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
7123 Try terminating EFI services several times due to quirks in some
7126 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
7128 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
7129 skipping Event, Device, Processor, PowerRes, ThermalZone, and
7130 BankField extended opcodes.
7131 (get_sleep_type): Add minimal scope handling (just enough to
7132 handle setting the scope to the root path).
7133 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
7134 * include/grub/acpi.h: Add enumeration values for Event, Device,
7135 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
7137 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
7139 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
7142 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7144 * grub-core/disk/ahci.c: Give more time for AHCI request.
7146 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7148 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
7151 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
7153 Replace the region at 0 from coreboot tables to available in BSD
7156 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7158 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
7161 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7163 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
7166 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7168 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7169 handling of multi-device filesystems.
7171 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7173 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
7176 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7178 Add new 'proc' filesystem framework and put luks_script into it.
7180 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7182 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
7185 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7187 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
7189 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7191 Add ability to generate newc additions on runtime.
7193 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
7195 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
7198 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
7200 * po/POTFILES.in: Regenerate.
7202 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7204 * grub-core/commands/verify.c (hashes): Add several hashes
7207 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7209 Slight improve in USB-related boot-time checkpoints.
7211 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7213 * grub-core/commands/boottime.c: Fix copyright header.
7215 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7217 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
7218 coreboot tables content. Support for cbmemc.
7220 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7222 Fix a conflict between ports structures with 2 controllers of
7225 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
7227 * include/grub/boottime.h: Add missing file.
7229 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7231 Initialize USB ports in parallel to speed-up boot.
7233 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7235 Fix USB devices not being detected when requested
7236 due to delayed attach.
7238 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7240 Implement boot time analysis framework.
7242 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7244 Remove get_endpoint_descriptor and change all functions needing
7245 descriptor to just receive it as argument rather than endpoint
7248 2013-03-19 Aleš Nesrsta <starous@volny.cz>
7250 Better estimate the maximum USB transfer size.
7252 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7254 Resend a packet if we got the wrong buffer in status.
7256 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7258 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
7259 multiplication rather than division.
7261 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7263 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
7266 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7268 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
7269 operations to have intended shifts and not divisions.
7271 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7273 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
7274 intended shifts rather than division.
7276 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7278 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
7279 computation for some years before epoch. Avode confusing division
7282 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7284 * grub-core/video/i386/pc/vbe.c
7285 (grub_video_vbe_print_adapter_specific_info): Replace division by
7288 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7290 Adjust types in gdb module to have intended unsigned shifts rather than
7293 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7295 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
7296 maximum size is 4G - 1 on hfs
7298 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7300 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
7302 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7304 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
7307 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
7309 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
7310 causing gcc error with gcc 4.7.1.
7312 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7314 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
7315 dereference null pointer. While the code is technically correct, gcc
7316 may eliminate a null check if pointer is already dereferenced.
7318 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
7320 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
7322 * grub-core/normal/term.c (read_terminal_list): Likewise.
7324 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7326 Lift up core size limits on some platforms. Fix potential memory
7327 corruption with big core on small memory systems. Document remaining
7330 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7332 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
7335 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7337 Remove all trampoline support. Add -Wtrampolines when
7338 present. Remove symbols used for trampolines to make
7339 link fail if trampolines are present.
7341 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7343 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
7344 append out of its parent.
7346 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7348 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
7351 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7353 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
7354 all vars to a macro. All users updated.
7356 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7358 * grub-core/disk/ieee1275/nand.c: Fix compilation on
7361 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7363 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
7365 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7367 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
7369 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7371 Move to more hookless approach in IEEE1275 devices handling.
7373 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7375 * grub-core/kern/term.c (grub_term_normal_color),
7376 (grub_term_highlight_color): Add back lost defaults.
7378 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7380 Make elfload not use hooks. Opt for flags and iterators instead.
7382 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7384 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
7385 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
7387 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7389 * grub-core/script/execute.c (gettext_append): Remove nested functions.
7391 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7393 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
7394 hook pass-through parameter. All users updated and unnested.
7396 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7398 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
7401 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7403 * grub-core/fs/hfs.c: Remove nested functions.
7405 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7407 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
7408 the context through.
7409 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
7411 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7413 * util/grub-editenv.c (list_variables): Move print_var out of its
7416 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7418 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
7421 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7423 * grub-core/gentrigtables.c: Make tables const.
7425 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7427 Remove nested functions from videoinfo iterators.
7429 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7431 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
7432 for 64-bit platforms.
7434 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7436 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
7437 a FOR_CHILDREN macro.
7439 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
7441 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
7442 platform from firmware path.
7444 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7446 Enable linux16 on non-BIOS systems for i.a. memtest.
7448 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
7450 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
7452 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7454 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
7455 Fix end of table condition.
7457 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7459 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
7462 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7464 * grub-core/fs/jfs.c: Remove nested functions.
7466 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7468 * grub-core/fs/minix.c: Remove nested functions.
7470 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7472 * grub-core/fs/iso9660.c: Remove nested functions.
7474 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7476 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
7479 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7481 * util/grub-fstest.c: Remove nested functions.
7483 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7485 * grub-core/loader/machoXX.c: Remove nested functions.
7487 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
7489 Remove nested functions from disk and file read hooks.
7491 * include/grub/disk.h (grub_disk_read_hook_t): New type.
7492 (struct grub_disk): Add read_hook_data member.
7493 * include/grub/file.h (struct grub_file): Likewise.
7494 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
7499 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
7501 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
7502 Fix off by one error in enumerating extended partitions.
7504 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
7506 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
7507 memory leak if device name is not found.
7509 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7511 * grub-core/normal/menu_entry.c (update_screen): remove
7512 unused variable `off' which caused scroll down arrow to be always shown.
7514 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7516 * grub-core/normal/menu_entry.c (insert_string): fix off by one
7517 access to unallocated memory.
7519 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
7521 * Makefile.util.def: Add partmap/msdos.c to common library.
7522 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
7523 * grub-core/disk/ldm.c: Check for existence of
7524 GRUB_PC_PARTITION_TYPE_LDM.
7526 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
7528 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
7529 sizes and display sector size.
7531 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
7533 Implement new command cmosdump.
7535 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7537 Support Openfirmware disks with non-512B sectors.
7539 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
7541 * (grub_ofdisk_get_block_size): New function.
7542 * (grub_ofdisk_prepare): Use the correct block size.
7543 * (grub_ofdisk_read): Likewise.
7544 * (grub_ofdisk_write): Likewise.
7545 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
7548 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
7550 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
7552 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7554 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
7557 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7559 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
7562 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7564 Implement USBDebug (full USB stack variant).
7566 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7568 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
7569 unless they have unexpected values.
7571 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7573 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
7576 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7578 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
7579 zero-out of port structure.
7581 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7583 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
7584 of extended attributes.
7586 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
7588 * util/grub-install.in: change misleading comment about
7591 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
7593 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
7594 when menu highlight color isn't set.
7596 2013-01-27 C. Masloch <pushbx@38.de>
7598 Improve FreeDOS direct loading support compatibility.
7600 * include/grub/i386/relocator.h (grub_relocator16_state):
7602 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
7604 (grub_relocator16_boot): Handle %ebp.
7605 * grub-core/lib/i386/relocator16.S: Likewise.
7606 * grub-core/loader/i386/pc/freedos.c:
7607 Load BPB to pass kernel which partition to load from.
7608 Check that kernel file is not too large.
7609 Set register dl to BIOS unit number as well.
7611 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
7613 * util/grub-reboot.in (usage): Document the need for
7615 * util/grub-set-default.in (usage): Likewise.
7616 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
7618 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7620 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
7621 than defining WORDS_BIGENDIAN manually.
7623 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7625 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
7628 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7630 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
7632 (blit_comb: add_device_width): Likewise.
7634 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7636 Remove nested functions from USB iterators.
7638 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
7639 (grub_usb_controller_iterate_hook_t): Likewise.
7640 (grub_usb_iterate): Add hook_data argument.
7641 (grub_usb_controller_iterate): Likewise.
7642 (struct grub_usb_controller_dev.iterate): Likewise.
7644 Update all implementations and callers.
7646 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7648 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
7649 margin when not needed.
7651 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7653 Make color variables global instead of it being per-terminal.
7655 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7657 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
7660 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7662 Fix powerpc and sparc64 build failures caused by un-nesting memory
7665 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7667 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
7668 parameter declarations.
7670 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7672 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
7674 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7676 Improve spkmomdem reliability by adding a separator between bytes.
7678 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7680 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
7681 an Acer registration utility with several sightings in the wild.
7682 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
7684 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7686 Remove nested functions from filesystem directory iterators.
7688 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
7689 (struct grub_fs.dir): Add hook_data argument.
7691 Update all implementations and callers.
7693 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
7695 * docs/grub.texi (Multi-boot manual config): Fix typo for
7698 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7700 * util/grub-mkimage.c (main): Postpone freeing arguments.output
7701 until after its use in generate_image.
7703 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7705 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
7706 initrd size to addr_min, since the initrd will be allocated after
7709 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7711 * conf/Makefile.common: Fix autogen rules to pass definition
7712 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
7714 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
7716 * include/grub/elf.h: Update ARM definitions based on binutils.
7718 2013-01-20 Aleš Nesrsta <starous@volny.cz>
7720 Split long USB transfers into short ones.
7722 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
7724 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
7725 is interrupted by ESC.
7727 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7729 * util/grub-script-check.c (main): Uniform the error message.
7731 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7733 Remove nested functions from ELF iterators.
7735 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7737 Remove nested functions from device iterators.
7739 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
7740 (grub_arc_iterate_devs): Add hook_data argument.
7741 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
7742 (struct grub_ata_dev.iterate): Add hook_data argument.
7743 * include/grub/device.h (grub_device_iterate_hook_t): New type.
7744 (grub_device_iterate): Add hook_data argument.
7745 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
7746 (struct grub_disk_dev.iterate): Add hook_data argument.
7747 (grub_disk_dev_iterate): Likewise.
7748 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
7750 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
7752 * include/grub/partition.h (grub_partition_iterate_hook_t): New
7754 (struct grub_partition_map.iterate): Add hook_data argument.
7755 (grub_partition_iterate): Likewise.
7756 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
7757 (struct grub_scsi_dev.iterate): Add hook_data argument.
7761 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
7763 Fix typos for "developer" and "development".
7765 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7767 Add license header to spkmodem-recv.c.
7769 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7771 Rewrite spkmodem to use PIT for timing. Double the speed.
7773 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7775 Add new command pcidump.
7777 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7779 New terminal outputs using serial: morse and spkmodem.
7781 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7783 Improve bidi handling in entry editor.
7785 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
7787 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7788 argument to prevent name collision.
7790 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
7792 Remove nested functions from script reading and parsing.
7794 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
7795 getline_data argument, passed to getline.
7796 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
7797 getline_data argument, passed to grub_parser_split_cmdline.
7798 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
7799 lexerstate->getline_data to lexerstate->getline.
7800 (grub_script_lexer_init): Add getline_data argument, saved in
7801 lexerstate->getline_data.
7802 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
7803 argument, passed to grub_script_parse.
7804 * grub-core/script/script.c (grub_script_parse): Add getline_data
7805 argument, passed to grub_script_lexer_init.
7806 * include/grub/parser.h (grub_parser_split_cmdline): Update
7807 prototype. Update all callers to pass appropriate getline data.
7808 (struct grub_parser.parse_line): Likewise.
7809 (grub_rescue_parse_line): Likewise.
7810 * include/grub/reader.h (grub_reader_getline_t): Add void *
7812 * include/grub/script_sh.h (struct grub_lexer_param): Add
7813 getline_data member.
7814 (grub_script_parse): Update prototype. Update all callers to pass
7815 appropriate getline data.
7816 (grub_script_lexer_init): Likewise.
7817 (grub_normal_parse_line): Likewise.
7819 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
7821 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
7822 static instead of nested. Rename to ...
7823 (grub_parser_execute_getline): ... this.
7824 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
7826 * grub-core/normal/main.c (read_config_file: getline): Make static
7827 instead of nested. Rename to ...
7828 (read_config_file_getline): ... this.
7829 (grub_normal_read_line): Add unused data argument.
7830 * grub-core/script/execute.c (grub_script_execute_sourcecode:
7831 getline): Make static instead of nested. Rename to ...
7832 (grub_script_execute_sourcecode_getline): ... this.
7833 * util/grub-script-check.c (main: get_config_line): Make static
7836 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
7838 Remove nested functions from memory map iterators.
7840 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
7841 argument, passed to hook.
7842 * grub-core/kern/i386/coreboot/mmap.c
7843 (grub_linuxbios_table_iterate): Likewise.
7844 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
7846 (grub_machine_mmap_iterate): Add hook_data argument.
7847 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
7848 Add hook_data argument, passed to hook.
7849 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
7851 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7853 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
7855 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
7857 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
7859 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
7861 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
7862 (grub_machine_mmap_iterate): Likewise.
7863 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
7864 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
7866 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
7867 Remove NESTED_FUNC_ATTR from here and from all users.
7868 (grub_mmap_iterate): Update prototype.
7869 (grub_efi_mmap_iterate): Update prototype. Update all callers to
7870 pass appropriate hook data.
7871 (grub_machine_mmap_iterate): Likewise.
7873 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
7874 static instead of nested.
7875 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
7877 (lsmmap_hook): ... this.
7878 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
7880 (grub_efiemu_mmap_fill: fill_hook): Likewise.
7881 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
7882 heap_init): Likewise.
7883 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
7885 (mmap_iterate_hook): ... this.
7886 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
7888 * grub-core/lib/ieee1275/relocator.c
7889 (grub_relocator_firmware_get_max_events: count): Likewise.
7890 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
7892 (grub_relocator_firmware_fill_events_iter): ... this.
7893 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
7894 hook): Likewise. Rename to ...
7895 (grub_relocator_alloc_chunk_align_iter): ... this.
7896 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
7898 (generate_e820_mmap_iter): ... this.
7899 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
7901 (count_hook): ... this.
7902 (grub_linux_boot: hook): Likewise. Rename to ...
7903 (grub_linux_boot_mmap_find): ... this.
7904 (grub_linux_boot: hook_fill): Likewise. Rename to ...
7905 (grub_linux_boot_mmap_fill): ... this.
7906 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
7907 hook): Likewise. Rename to ...
7908 (grub_fill_multiboot_mmap_iter): ... this.
7909 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
7910 hook): Likewise. Rename to ...
7911 (count_hook): ... this.
7912 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
7913 hook): Likewise. Rename to ...
7914 (grub_fill_multiboot_mmap_iter): ... this.
7915 * grub-core/loader/powerpc/ieee1275/linux.c
7916 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
7917 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
7918 Likewise. Rename to ...
7919 (alloc_phys_choose): ... this.
7920 (determine_phys_base: get_physbase): Likewise.
7921 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
7922 find_hook): Likewise.
7923 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
7924 (malloc_hook: count_hook): Likewise.
7925 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
7926 Likewise. Rename to ...
7927 (lower_hook): ... this.
7928 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7929 (upper_hook): ... this.
7930 (grub_mmap_get_post64: hook): Likewise. Rename to ...
7931 (post64_hook): ... this.
7932 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
7933 Likewise. Rename to ...
7934 (lower_hook): ... this.
7935 (grub_mmap_get_upper: hook): Likewise. Rename to ...
7936 (upper_hook): ... this.
7937 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
7938 (grub_mmap_iterate: fill_hook): Likewise.
7939 (fill_mask): Pass addr and mask within a single struct.
7940 (grub_cmd_badram: hook): Make static instead of nested. Rename
7942 (badram_iter): ... this.
7943 (grub_cmd_cutmem: hook): Likewise. Rename to ...
7944 (cutmem_iter): ... this.
7946 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7948 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
7949 delimit path in strings using quotes.
7950 * util/getroot.c (grub_guess_root_devices): Likewise.
7951 (grub_make_system_path_relative_to_its_root): Likewise.
7952 * util/grub-probe.c (probe): Likewise.
7953 * util/ieee1275/ofpath.c (find_obppath): Likewise.
7954 (xrealpath): Likewise.
7956 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7958 Fix compilation with older compilers.
7960 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
7961 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
7963 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
7964 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
7965 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
7967 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
7968 * include/grub/crypto.h: Add type defines.
7969 * util/import_gcrypth.sed: Remove duplicate type defines.
7971 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7973 New command list_trusted.
7975 * grub-core/commands/verify.c (grub_cmd_list): New function.
7977 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
7979 * util/grub-mkimage.c (generate_image): Fix "size of public key"
7982 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
7984 Remove nested functions from PCI iterators.
7986 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
7987 passed to hook. Update all callers to pass appropriate hook data.
7988 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
7989 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
7990 Remove NESTED_FUNC_ATTR from here and from all users.
7991 (grub_pci_iterate): Update prototype.
7992 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
7993 instead of nested. Rename to ...
7994 (grub_cs5536_find_iter): ... this.
7995 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
7996 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
7998 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
8000 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
8002 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
8004 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
8005 * grub-core/video/radeon_fuloong2e.c
8006 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
8007 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
8008 find_card): Likewise.
8009 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
8012 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8014 * grub-core/commands/verify.c: Mark messages for translating.
8016 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8018 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
8021 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8023 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
8026 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8028 * autogen.sh: Do not try to delete nonexistant files.
8029 * util/import_gcrypth.sed: Add some missing header removals.
8031 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
8033 Clean up dangling references to grub-setup.
8034 Fixes Ubuntu bug #1082045.
8036 * docs/grub.texi (Images): Refer generally to grub-install rather
8037 than directly to grub-setup.
8038 (Installing GRUB using grub-install): Remove direct reference to
8040 (Device map) Likewise.
8041 (Invoking grub-install): Likewise.
8042 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8043 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8044 * util/grub-install.in (usage): Likewise.
8046 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
8047 Apply to grub-bios-setup and grub-sparc64-setup rather than to
8049 * configure.ac: Remove grub_setup output variable.
8051 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
8053 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
8054 grub-setup to grub-sparc64-setup.
8056 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8058 Import gcrypt public-key cryptography and implement signature checking.
8060 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8062 * grub-core/fs/ntfs.c: Ue more appropriate types.
8063 * grub-core/fs/ntfscomp.c: Likewise.
8064 * include/grub/ntfs.h: Likewise.
8066 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8068 Support Apple FAT binaries on non-Apple platforms.
8070 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
8071 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
8073 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
8076 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8078 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
8081 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
8083 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
8084 explicitly zeroing elements.
8085 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
8086 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
8087 of elements in a structure already allocated using grub_zalloc.
8088 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8090 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
8092 * docs/grub.texi (grub_cpu): New subsection.
8093 (grub_platform): Likewise.
8095 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8097 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
8099 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8101 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
8104 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8106 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
8107 * grub-core/fs/ntfscomp.c: Likewise.
8108 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
8109 (grub_ntfs_comp): Likewise.
8111 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8113 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
8115 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
8116 of groups_per_block. All users updated.
8118 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8120 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
8121 grub_error properly.
8122 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
8123 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
8125 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8127 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
8128 always in /boot/zfs.
8129 Reported by: Yuta Satoh.
8131 2013-01-03 Yuta Satoh <nigoro>
8133 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
8136 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8138 * configure.ac: Extend -Wno-trampolines to host.
8140 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8142 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
8145 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
8147 * docs/grub.texi (Invoking grub-mkrelpath): New section.
8148 (Invoking grub-script-check): Likewise.
8150 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
8152 * docs/grub.texi (Invoking grub-mount): New section.
8153 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
8155 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8157 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
8158 test failures, so that a failing unit test correctly causes 'make
8161 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8163 Fix failing printf test.
8165 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
8166 '$' in the correct order when collecting type information.
8168 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
8170 * docs/grub.texi (configfile): Explain environment variable
8172 (source): New section.
8173 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
8175 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
8177 Remove several trivially-unnecessary uses of nested functions.
8179 * grub-core/commands/i386/pc/sendkey.c
8180 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
8182 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
8184 (legacy_file_getline): ... this.
8185 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
8187 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
8188 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
8190 (probe_dummy_iter): ... this.
8191 * grub-core/kern/i386/coreboot/mmap.c
8192 (grub_linuxbios_table_iterate: check_signature): Likewise.
8193 * grub-core/kern/parser.c (grub_parser_split_cmdline:
8194 check_varstate): Likewise. Mark inline.
8195 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
8196 an additional parameter.
8197 (find_long: fnd_long): Likewise. Pass two additional parameters.
8198 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
8199 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
8200 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
8201 Likewise. Rename to ...
8202 (grub_cmos_find_port_iter): ... this.
8203 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
8205 (find_rtc_iter): ... this.
8207 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
8208 function directly into the function body, since it is only called
8211 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
8213 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
8214 __attribute__ ((unused)).
8215 * grub-core/video/bochs.c (find_card): Likewise.
8216 * grub-core/video/cirrus.c (find_card): Likewise.
8217 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
8218 * grub-core/video/sis315pro.c (find_card): Likewise.
8219 * grub-core/video/sm712.c (find_card): Likewise.
8221 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8223 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
8224 Fixes Savannah bug #37821.
8226 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8228 Apply program name transformations at build-time rather than at
8229 run-time. Fixes Debian bug #696465.
8231 * acinclude.m4 (grub_TRANSFORM): New macro.
8232 * configure.ac: Create output variables with transformed names for
8234 * util/bash-completion.d/grub-completion.bash.in: Use
8235 pre-transformed variables for program names.
8236 * util/grub-install.in: Likewise.
8237 * util/grub-kbdcomp.in: Likewise.
8238 * util/grub-mkconfig.in: Likewise.
8239 * util/grub-mkconfig_lib.in: Likewise.
8240 * util/grub-mknetdir.in: Likewise.
8241 * util/grub-mkrescue.in: Likewise.
8242 * util/grub-mkstandalone.in: Likewise.
8243 * util/grub-reboot.in: Likewise.
8244 * util/grub-set-default.in: Likewise.
8245 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8246 * tests/util/grub-shell-tester.in: Remove unused assignment.
8247 * tests/util/grub-shell.in: Likewise.
8248 * util/grub.d/00_header.in: Likewise.
8250 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
8252 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
8254 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
8256 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
8258 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
8260 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
8261 Reported by: Eriks Latosheks <foresterlv>.
8263 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8265 * docs/grub.texi (Network): Update instructions on generating netboot
8268 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8270 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
8271 around device name if necessarry.
8273 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8275 * util/grub-install.in: Follow the symbolic link parameter added
8276 to the file command.
8278 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
8280 * util/grub-install.in: Remove stale TODO.
8282 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8284 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
8285 dynamic allocation for the bootpath buffer.
8287 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
8289 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
8292 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8294 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
8295 argument rather than font name. All users updated.
8296 (grub_gfxterm_set_window): Likewise.
8298 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
8300 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
8303 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8305 * util/getroot.c (convert_system_partition_to_system_disk): Support
8308 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
8310 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
8311 infinite loop on corrupted FS.
8313 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8315 Fix big-endian mtime.
8317 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
8318 together sec and usec.
8319 (grub_ufs_dir): Use correct byteswapping for UFS time.
8321 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
8323 Support big-endian UFS1.
8325 * Makefile.util.def (libgrubmods): Add ufs_be.c
8326 * grub-core/Makefile.core.def (ufs1_be): New module.
8327 * grub-core/fs/ufs_be.c: New file.
8328 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
8331 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
8333 * include/grub/types.h: Fix functionality unaffecting typo in
8334 GRUB_TARGET_WORDSIZE conditional macro.
8336 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8338 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
8340 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8342 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
8343 that /netbsd appears first (when it exists).
8345 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
8347 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
8348 Fixes Savannah bug #37558.
8350 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
8352 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
8353 description of extract_entries_configfile.
8355 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
8357 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
8359 (grub_cmd_linux): Likewise.
8360 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
8361 preferred_lifetime. Update all users.
8363 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
8365 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
8366 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
8368 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
8370 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
8371 errors from grub-probe to /dev/null, not stdout.
8373 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
8375 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
8378 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
8380 * util/grub-install.in: Make the error message if $source_dir
8381 doesn't exist more useful.
8383 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
8385 Fix grub-emu build on FreeBSD.
8387 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
8388 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
8390 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
8391 implementation is currently Linux-specific.
8392 * util/getroot.c (exec_pipe): Define only on Linux or when either
8393 libzfs or libnvpair is unavailable.
8394 (find_root_devices_from_poolname): Remove unused path variable.
8396 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
8398 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
8399 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
8400 should fit before end == 63.
8402 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
8404 * util/grub-setup.c (write_rootdev): Remove unused core_img
8405 parameter. Update all callers.
8406 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
8407 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
8410 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8412 * util/grub-mkconfig_lib.in (grub_tab): New variable.
8413 (grub_add_tab): New function.
8414 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
8415 * util/grub.d/10_illumos.in: Likewise.
8416 * util/grub.d/10_kfreebsd.in: Likewise.
8417 * util/grub.d/10_linux.in: Likewise.
8418 * util/grub.d/10_netbsd.in: Likewise.
8419 * util/grub.d/10_windows.in: Likewise.
8420 * util/grub.d/10_xnu.in: Likewise.
8421 * util/grub.d/20_linux_xen.in: Likewise.
8422 * util/grub.d/30_os-prober.in: Likewise.
8424 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8426 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8427 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
8428 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
8429 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
8430 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
8432 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8433 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
8435 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8437 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
8439 Reported by: BURETTE, Bernard.
8441 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
8443 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
8446 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
8448 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
8449 IEEE1275 machines. Fixes powerpc-emu compilation.
8450 * include/grub/terminfo.h: Likewise.
8452 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8454 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
8456 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
8458 (efiemu_set_variable): Make vendor_guid a const pointer.
8460 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8462 Don't require grub-mkconfig_lib to generate manpages for programs.
8464 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
8465 dependencies, don't add grub-mkconfig_lib.
8466 (program): Pass empty adddeps.
8467 (script): Pass grub-mkconfig_lib as adddeps.
8469 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8471 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
8472 * util/getroot.c (grub_find_device): Likewise.
8473 (get_mdadm_uuid): Likewise.
8474 (grub_util_is_imsm): Likewise.
8475 (grub_util_pull_device): Likewise.
8476 * util/grub-probe.c (probe): Likewise.
8478 2012-09-10 Benoit Gschwind <gschwind>
8480 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
8481 (devs): Add devpath_8.
8483 2012-09-08 Peter Jones <pjones@redhat.com>
8485 * grub-core/Makefile.core.def (efifwsetup): New module.
8486 * grub-core/commands/efi/efifwsetup.c: New file.
8487 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
8488 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
8490 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
8492 2012-09-05 Jiri Slaby <jslaby@suse.cz>
8494 * configure.ac: Add SuSe path.
8496 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
8500 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
8502 * util/import_gcry.py: Sort cipher_files, to make build system
8503 generation more deterministic.
8505 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8507 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
8508 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
8509 (grub_set_datetime): Likewise.
8511 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8513 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
8516 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8518 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
8520 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8522 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
8524 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8526 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
8527 required for checkouts from bzr, but it may be useful for users or
8528 distributors wishing to update translations against a tarball
8529 distribution, and it can be helpful for the tarball to be a superset
8532 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8534 * Makefile.am (EXTRA_DIST): Add
8535 grub-core/tests/boot/linux.init-mips.S,
8536 grub-core/tests/boot/linux.init-ppc.S, and
8537 grub-core/tests/boot/linux-ppc.cfg.
8539 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8541 * grub-core/mmap/mips/loongson: Remove empty directory.
8543 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8545 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
8548 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
8550 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
8553 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
8555 * configure.ac: Strengthen the test for working -nostdinc -isystem.
8557 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8559 * po/POTFILES.in: Regenerated.
8561 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
8563 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
8564 (NetBSD): New subsection.
8566 2012-07-22 Ales Nesrsta <starous@volny.cz>
8568 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
8569 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
8571 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8573 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
8574 * util/grub.d/10_hurd.in: Add missing quoting.
8575 * util/grub.d/10_illumos.in: Likewise.
8576 * util/grub.d/10_kfreebsd.in: Likewise.
8577 * util/grub.d/10_linux.in: Likewise.
8578 * util/grub.d/20_linux_xen.in: Likewise.
8580 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8582 New command `lsefi'.
8584 * grub-core/Makefile.core.def (lsefi): New module.
8585 * grub-core/commands/efi/lsefi.c: New file.
8586 * include/grub/efi/api.h: Add more GUIDs.
8588 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8590 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
8591 (grub_bsd_elf32_hook): Likewise.
8592 (grub_bsd_elf64_size_hook): Likewise.
8593 (grub_bsd_elf64_hook): Likewise.
8594 (grub_bsd_load_elf): Likewise.
8596 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8598 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
8599 if hash function is unavailable.
8600 (dec_stream_header): Likewise.
8602 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8604 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
8607 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
8609 Fix coreboot compilation.
8611 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
8612 (grub_vga_text_init_real): ... this.
8613 (grub_vga_text_fini): Rename to ...
8614 (grub_vga_text_fini_real): ... this.
8616 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8618 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
8620 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8622 * grub-core/lib/legacy_parse.c: Support clear and testload.
8624 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8626 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
8628 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8630 * grub-core/fs/ext2.c: Experimental support for 64-bit.
8632 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8634 * grub-core/net/tftp.c (ack): Fix endianness problem.
8635 (tftp_receive): Likewise.
8636 Reported by: Michael Davidsaver.
8638 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8640 * gentpl.py: Make mans depend on grub-mkconfig_lib.
8642 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8644 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
8645 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
8646 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
8648 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8650 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
8652 Reported by: Stuart Hayes.
8654 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8656 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
8658 * grub-core/Makefile.core.def (mda_text): New module.
8659 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
8660 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
8661 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
8662 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
8664 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
8665 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
8666 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
8668 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
8670 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
8672 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
8674 * grub-core/term/i386/vga_common.c: Removed.
8675 * include/grub/i386/vga_common.h: Likewise.
8676 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
8677 (grub_vga_cr_bw_read): Likewise.
8678 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
8679 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
8680 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
8681 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
8682 grub_vga_cr_read/grub_vga_cr_write.
8683 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
8685 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8687 * configure.ac: Bump version to 2.00.
8688 * grub-core/normal/main.c (features): Add feature_200_final.
8690 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8691 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
8693 * NEWS: Fix unclarity and language mistakes.
8695 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8697 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
8698 additional size to 3 pages.
8699 Reported by: Stuart Hayes.
8701 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8703 * NEWS: Add 2.00 entry.
8705 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8707 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
8708 put explicit "/" for empty path.
8709 (wildcard_expand): Improve dprintf.
8711 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
8713 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
8714 it's equal to currnode. This can happen with "" symlink.
8716 2012-06-27 Yves Blusseau <blusseau@zetam.org>
8718 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
8719 echo shell command by printf command.
8721 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8723 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
8724 the value returned by firmware is the maximal position, not diumension.
8725 (grub_terminfo_output_state): Use a more sane fallback.
8727 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8729 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
8731 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8733 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
8734 frequency to 150 MHz.
8736 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8740 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
8742 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
8744 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
8746 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8748 Handle slash in HFS label.
8750 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
8751 (grub_hfs_dir): Tanslate slash.
8752 (grub_hfs_label): Don't translate slash.
8754 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8756 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
8757 network protocol listing since it introduces problematic dependency on
8760 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8762 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
8764 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8766 Init video early on yeeloong to avoid being rebooted by watchdog.
8768 * grub-core/Makefile.am (gensm712): New target.
8769 (sm712_start.S): Likewise.
8770 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
8771 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
8772 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
8774 * include/grub/vga.h: Move registry definitions to...
8775 * include/grub/vgaregs.h: ... here.
8777 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
8779 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
8782 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8784 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
8785 platforms with firmware disk drivers in the core.
8787 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8789 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
8790 informative verbose message.
8791 (read_lv): Handle 64-bit segment size.
8793 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8795 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
8797 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8799 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
8800 character but still remove trainling spaces.
8801 (grub_fat_label): Ignore archive flag.
8803 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8805 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
8806 cast between linux_kernel_header and linux_kernel_params.
8808 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8810 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
8812 (grub_raid6_recover_func_t): Likewise.
8813 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
8814 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8816 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
8818 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
8820 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8824 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
8825 [__NetBSD__]: Add explicit cast before bitshift.
8827 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8829 * configure.ac: Bump to 2.00~rc1.
8831 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8833 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
8836 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8837 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
8839 * docs/grub.texi: Fix search syntax.
8840 (Multi-boot manual config): Put msdos rather than GPT example.
8841 Grammar corrections.
8843 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
8845 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
8847 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8849 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
8851 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8853 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
8854 message on double free. Put the value of magic in case of mismatch.
8856 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8858 Speed-up video on yeeloong.
8860 * grub-core/video/sm712.c (framebuffer): Remove render_target and
8862 (grub_video_sm712_video_fini): Unmap cached_ptr.
8863 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
8864 (grub_video_sm712_set_active_render_target): Removed.
8865 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
8866 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
8869 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8871 Avoid flushing the same line multiple times on loongson.
8873 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
8874 Step in 32 bytes and not 1 byte.
8875 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
8878 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8880 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
8883 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8885 Implement flow control for http.
8887 * grub-core/net/http.c (parse_line): Handle response 206.
8888 (http_receive): Stall if too many packets are in the queue.
8889 (http_establish): Fix range header.
8890 (http_seek): Fix double free.
8891 (http_close): Likewise.
8892 (http_packets_pulled): New function.
8893 (grub_http_protocol): Set http_seek
8894 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
8895 (ack_real): Set window depending on i_stall.
8896 (grub_net_send_tcp_packet): Likewise.
8897 (grub_net_tcp_stall): New function.
8898 (grub_net_tcp_unstall): Likewise.
8899 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
8900 (grub_net_tcp_unstall): Likewise.
8902 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8904 * grub-core/net/tftp.c: Decrease stall to 50 packets.
8906 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8908 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
8910 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8912 * tests/util/grub-shell.in: Fix a typo.
8914 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8916 Implement flow control for tftp.
8918 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
8919 packets but stop only if stop condition is satisfied.
8920 (grub_net_fs_read_real): Call packets_pulled after real read. Use
8921 `stall' instead of `eof' as stop condition.
8922 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
8923 (http_err): Likewise.
8924 * grub-core/net/tftp.c (ack): Replace the first argument with data
8926 (tftp_receive): Stall if too many packets are in wait queue.
8927 (tftp_packets_pulled): New function.
8928 (grub_tftp_protocol): Set packets_pulled.
8929 * include/grub/net.h (grub_net_packets): New field count.
8930 (grub_net_put_packet): Increment count.
8931 (grub_net_remove_packet): Likewise.
8932 (grub_net_app_protocol): New field `packets_pulled'.
8933 (grub_net): New field `stall'.
8935 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
8937 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
8938 sync part to handle them.
8940 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8942 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
8943 * grub-core/net/drivers/ieee1275/ofnet.c
8944 (grub_ieee1275_net_config_real): Likewise.
8946 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8948 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
8949 the direct route for server/gateway.
8951 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8953 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
8954 IP address to server name since we may not hame the DNS.
8956 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8958 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
8959 freeing random buffer on failure.
8960 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
8962 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8964 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
8966 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8968 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
8970 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
8971 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
8972 Handle malloc error correctly.
8974 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8976 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8979 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8981 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
8984 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8986 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
8987 none is explicitly specified.
8989 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8991 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
8994 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8996 Respect netmask from bootp/dhcp.
8998 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
8999 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
9000 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
9002 (grub_net_add_ipv4_local): ... this.
9003 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
9004 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
9005 (grub_net_add_ipv4_local): New proto.
9007 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9009 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
9010 determining EFI memory map size.
9012 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9014 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
9016 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9018 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
9019 when looking for partition separator.
9021 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9023 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9026 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9028 Restructure FAT driver to avoid hook in label reading as it hits a
9031 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
9032 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
9033 (grub_fat_iterate_dir): Split into ...
9034 (grub_fat_iterate_init): ... this, ...
9035 (grub_fat_iterate_fini): ... this, ...
9036 (grub_fat_iterate_dir_next): ... and this. All users updated.
9038 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9040 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9041 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
9042 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9043 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
9044 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
9045 New fields last_key and last_key_time.
9046 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
9047 extended key-esc into extended key-extended key.
9049 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9051 Avoid unnecessary memcpy of whole video buffer.
9053 * grub-core/video/fb/video_fb.c (dirty): New struct.
9054 (framebuffer): Add members current_dirty and previous_dirty.
9055 (dirty): New function.
9056 (grub_video_fb_fill_rect): Update dirty.
9057 (common_blitter): Likewise.
9058 (grub_video_fb_scroll): Likewise.
9059 (doublebuf_blit_update_screen): Copy only dirty part.
9060 (doublebuf_pageflipping_update_screen): Likewise.
9061 (grub_video_fb_doublebuf_blit_init): Init dirty.
9062 (doublebuf_pageflipping_init): Likewise.
9063 (grub_video_fb_setup): Likewise.
9065 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9067 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
9070 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9072 Fix wildcard regexp dot and other special characters handling.
9073 Reported by: Robert Mabee.
9075 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
9076 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
9077 (split_path): Trigger expansion on '?'.
9078 (unescape): New function.
9079 (wildcard_expand): Unescape parts copied without globbing.
9080 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
9081 (grub_script_arglist_to_argv): Don't unescape expansions.
9083 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9085 * include/grub/net.h (grub_net_card): New member txbufsize.
9086 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
9087 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9088 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
9089 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
9091 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
9092 compatible property to check for macs. Set
9093 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
9094 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
9095 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
9096 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
9097 (send_card_buffer): Use txbuf.
9098 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
9099 nested function out of the parent while on it.
9101 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9103 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
9105 (grub_ieee1275_net_config_real): Fix config pointer.
9107 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9109 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
9110 filename parsing to non-block devices.
9112 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9114 * grub-core/kern/device.c (grub_device_open): Remove dead code.
9116 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9118 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
9121 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9123 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
9124 UUID search command even if hints probing failed.
9126 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9128 * po/POTFILES.in: Regenerated.
9130 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9132 Speed-up video on fuloong.
9134 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
9136 (grub_pci_device_unmap_range): Handle non-cached address.
9137 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
9139 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
9140 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
9141 (grub_video_sis315pro_set_active_render_target): Removed.
9142 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
9143 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
9144 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
9146 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
9149 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9151 * docs/grub.texi (Multi-boot manual config): New section.
9153 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9155 Avoid slow read-back from VRAM.
9157 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9159 * grub-core/video/fb/video_fb.c
9160 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
9161 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
9162 (front_target): Remove front_target. Add pages.
9163 (grub_video_fb_init): Skip setting front_pages.
9164 (grub_video_fb_fini): Likewise.
9165 (doublebuf_blit_update_screen): Use pages.
9166 (grub_video_fb_doublebuf_blit_init): Likewise.
9167 (doublebuf_pageflipping_init): Allocate offscreen buffer.
9168 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
9169 (grub_video_fb_setup): Prefer doublebuffing.
9171 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9173 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
9176 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9180 * tests/util/grub-shell.in: Handle loongson.
9181 * tests/partmap_test.in: Add loongson to the list of platform using ATA
9183 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
9184 Reboot instead of shutdown if REBOOT is defined.
9186 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9188 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
9189 sized ports since unlike on real hardware qemu supports only 32-bit
9192 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9194 * Makefile.util.def (grub-mkrescue): Enable on loongson.
9195 * util/grub-mkrescue.in: Handle loongson.
9197 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
9199 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
9200 Set is_part appropriately.
9201 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
9202 names. Canonicalize partition without full disk.
9204 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9206 Revert usb-quiesce since it's wrong.
9208 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
9209 (grub_ofdisk_init): Don't do quiesce.
9211 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9213 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
9214 PowerMac workaround to Xserves as well.
9215 Information supplied by: Benjamin Herrenschmidt.
9217 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9219 Don't assume that beginning address is also the entry point on ppc.
9221 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
9222 (grub_linux_boot): Use linux_entry.
9223 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
9224 (grub_linux_load64): Likewise.
9226 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9228 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
9230 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9232 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
9233 needlessly lose the console.
9235 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9237 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
9240 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9242 Remove non-functional EFI grub_get_rtc. Put a better fatal message
9243 than current grub_get_rtc() not implemented when booted with
9244 coreboot without TSC.
9246 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
9247 Add machine/time.h to kernel headers on loongson.
9248 * grub-core/Makefile.core.def (kernel): Remove
9249 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
9250 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
9251 (grub_get_rtc): Likewise.
9252 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
9253 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
9254 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
9255 * grub-core/kern/i386/tsc.c (grub_tsc_init)
9256 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
9257 rather than installing known non-working time source.
9258 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
9259 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
9260 * include/grub/time.h: Don't include machine/time.h.
9261 * include/grub/efi/time.h: Removed.
9262 * include/grub/i386/efi/time.h: Likewise.
9263 * include/grub/i386/ieee1275/time.h: Likewise.
9264 * include/grub/powerpc/ieee1275/time.h: Likewise.
9265 * include/grub/sparc64/ieee1275/time.h: Likewise.
9266 * include/grub/x86_64/efi/time.h: Likewise.
9268 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
9270 Remove dot on i and j when combining with above diacritics.
9272 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
9274 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
9275 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
9276 with dotless variants when any combining above is present.
9278 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9280 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
9281 text and not binary.
9283 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9285 Stop polling as soon as we have the packet we were waiting for.
9287 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
9289 * grub-core/net/arp.c (have_pending): New var.
9290 (pending_req): Likewise.
9291 (grub_net_arp_send_request): Fill pending_req and use have_pending as
9293 (grub_net_arp_receive): Set have_pending.
9294 * grub-core/net/dns.c (recv_data): New field stop.
9295 (recv_hook): Set stop.
9296 (grub_net_dns_lookup): Init stop and use as stop condition.
9297 * grub-core/net/http.c (http_establish): Use headers_recv as stop
9299 * grub-core/net/net.c (grub_net_poll_cards): New argument
9300 stop_condition. Stop when it goes true.
9301 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
9303 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
9305 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9307 Keep TX and RX buffers on EFI rather than always allocate new ones.
9309 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
9310 card. All users updated.
9311 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
9312 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
9313 (get_card_packet): Likewise.
9314 (grub_efinet_findcards): Init new fields.
9316 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9318 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
9319 compilation error on sparc64.
9321 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9323 Use ITC on IA64 rather than broken routine based on daytime.
9325 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
9327 (grub_get_rtc) [__ia64__]: Likewise.
9328 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
9329 (get_itc): New function.
9330 (grub_rtc_get_time_ms): Likewise.
9331 (grub_machine_init): Calibrate ITC.
9332 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
9333 Keep only on non-ia64. Don't export since it's broken and used only
9334 if TSC is unavailable.
9336 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9338 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
9340 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
9341 Skip if parent is unused.
9343 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9345 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
9347 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9349 Fix wildcard escaping.
9351 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
9352 * grub-core/script/execute.c (wildcard_escape): .. to here.
9354 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
9355 * grub-core/script/execute.c (wildcard_unescape): .. to here.
9357 * grub-core/script/execute.c (gettext_append): Always escape.
9358 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
9359 * grub-core/script/yylex.l: Don't cut away the escaping.
9360 * tests/grub_script_echo1.in: Add tests with wildcard.
9362 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9364 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
9365 (ftdi_hw_configure): Likewise.
9366 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
9368 (real_config): Handle 1.5 stop bits.
9369 (pl2303_hw_configure): Likewise.
9371 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9373 * Makefile.am: Add ppc linux bootcheck.
9374 * grub-core/tests/boot/linux-ppc.cfg: New file.
9375 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
9377 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9379 * tests/grub_script_expansion.in: Skip network protocols.
9381 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9383 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
9385 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9387 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
9391 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9393 ESCC serial driver for conducting sautomated tests in qemu.
9394 Not tested on real hardware.
9396 * include/grub/serial.h (grub_serial_port): New field escc_desc.
9397 * grub-core/term/ieee1275/escc.c: New file.
9398 * grub-core/Makefile.core.def (escc): New module.
9400 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9402 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
9404 (serial_hw_fetch): Don't read invalid handle.
9405 (serial_hw_put): Don't write into invalid handle.
9407 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9409 Add a 1.5 stop bits value.
9411 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
9412 * include/grub/serial.h (grub_serial_stop_bits_t): Add
9413 GRUB_SERIAL_STOP_BITS_1_5.
9415 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9417 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
9418 value rather than let it uninited.
9420 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9422 * grub-core/commands/wildcard.c (+check_file): New function.
9423 (wildcard_expand): Don't expand to non-existing files, expand with
9424 suffix and not attempt to expand if not needed.
9426 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9428 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
9429 out of partitions containing other partitions.
9431 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9433 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
9434 on some qemu versions with GRUB.
9436 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
9438 (grub_openbsd_bootarg_pcibios): New struct.
9439 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
9442 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9444 * tests/util/grub-shell.in: Trim firmware output on EFI.
9446 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9448 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
9449 and coreboot since it's already in kernel.
9451 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9453 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
9454 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
9455 to here. New return value start. All users updated.
9456 Recursively scan linear mappings.
9457 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
9459 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
9460 Use grub_util_get_dm_node_linear_info.
9461 * util/getroot.c (convert_system_partition_to_system_disk): Use
9462 grub_util_info rather than grub_dprintf.
9463 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
9465 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9467 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
9469 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
9470 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
9472 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
9474 * include/grub/types.h (grub_set_unaligned64): New function.
9475 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
9478 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9480 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
9481 (grub_ofdisk_fini): Quiesce USB devices.
9483 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9485 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
9488 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9490 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
9492 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9494 * grub-core/disk/pata.c (grub_pata_pio_read)
9495 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
9496 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
9498 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9500 Extend automated tests to qemu-mips.
9502 * Makefile.am: reorganise tests and enable qemu-mips.
9503 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
9504 * grub-core/tests/boot/linux.init-mips.S: New file.
9505 * tests/partmap_test.in: Handle ata0 disks.
9506 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
9509 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9511 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
9513 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
9516 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9518 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
9519 (grub_halt): Likewise.
9520 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
9522 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9524 * grub-core/term/serial.c (grub_serial_register)
9525 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
9526 the behaviour in line with x86 platforms.
9528 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9530 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
9531 (grub_ata_strncpy): Likewise.
9532 (grub_ata_identify): Add missing byteswaps.
9534 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9536 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
9538 (screen_read_char): Likewise.
9539 (grub_vga_text_cls): Likewise.
9541 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9543 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
9545 (make_file_path): Likewise.
9547 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
9549 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
9551 Tested by: Paulo Flabiano Smorigo.
9552 Crucial information about API supplied by: Coleen <Last name unknown>.
9553 Reviewed by: Coleen <Last name unknown>.
9555 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9557 * util/grub-mkimage.c: Disable -Wcast-align.
9559 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9561 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
9564 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9566 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
9568 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9570 * util/grub-probe.c (escape_of_path): Fix double free.
9572 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9574 * grub-core/commands/videoinfo.c (hook): Show pitch.
9576 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9578 * util/grub.d/20_linux_xen.in: Skip xen-syms.
9580 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9582 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
9583 (probe): Add ieee1275 to OFW devices.
9585 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9587 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
9589 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9591 Handle IBM OFW path.
9593 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
9595 (of_path_of_scsi): Handle vdevice.
9597 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9599 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
9600 Allocate in multiples of 16 to avoid adding a few bytes free region the
9603 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
9605 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
9606 Allocate in multiples of 16 to avoid adding a few bytes free region the
9608 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
9610 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9612 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
9614 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
9615 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
9617 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
9619 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
9621 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9623 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
9624 resulted in \\ at the end of the line.
9626 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9628 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
9629 (grub_parser_cmdline_state): Likewise.
9630 (grub_parser_split_cmdline): Likewise.
9632 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9634 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
9635 /dev/root and /dev/dm-*.
9637 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9639 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
9640 fix partially stale display.
9642 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9644 * grub-core/normal/menu_entry.c (backward_char): Use right line for
9647 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9649 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
9650 Fix MBR remapping workaround.
9651 (grub_util_biosdisk_read) [__linux__]: Likewise.
9653 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
9655 * util/grub-install.in: Check for ieee1275 and not ieee1276.
9657 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9659 * configure.ac: Bump to beta6.
9661 2012-05-31 Christer Weinigel <christer@weinigel.se>
9663 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
9665 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9667 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
9668 (grub_cmd_linux): Likewise.
9670 2012-05-31 Christer Weinigel <christer@weinigel.se>
9674 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
9675 (GRUB_EHCI_MULT_TWO): Likewise.
9676 (GRUB_EHCI_MULT_THREE): Likewise.
9677 (GRUB_EHCI_CMASK_MASK): New enum value.
9678 (GRUB_EHCI_SMASK_MASK): Likewise.
9679 (GRUB_EHCI_CMASK_OFF): Likewise.
9680 (GRUB_EHCI_SMASK_OFF): Likewise.
9681 (grub_ehci_pci_iter): Enable periodic schedule.
9682 (grub_ehci_parse_notrun): Likewise.
9683 (grub_ehci_restore_hw): Likewise.
9684 (grub_ehci_setup_qh): Set flags for low speed transfers.
9685 (grub_ehci_find_qh): Use periodic list for low speed.
9686 (grub_ehci_setup_transfer): Check periodic queue as well.
9687 (grub_ehci_check_transfer): Likewise.
9688 (grub_ehci_cancel_transfer): Cancel periodic transfer.
9690 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
9692 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
9695 2012-05-31 Peter Jones <pjones@redhat.com>
9697 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
9698 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
9699 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
9701 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9703 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
9704 uninited variable. Allocate at least setup_sects.
9706 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9708 Fix handling of EFI with big memory maps.
9710 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
9711 (real_mode_mem): Likewise.
9712 (real_mode_target): Likewise.
9713 (real_mode_pages): Likewise.
9714 (prot_mode_pages): Likewise.
9715 (linux_params): New var.
9716 (linux_cmdline): Likewise.
9717 (free_pages): Don't set real mode variables.
9718 (allocate_pages): Don't allocate real mode memory.
9719 (grub_e820_add_region): Remove the limit.
9720 (grub_linux_boot): Allocate and copy real mode memory.
9721 (grub_linux_unload): Free linux_cmdline.
9722 (grub_cmd_linux): Use temporary storage for parameters.
9723 (grub_cmd_initrd): Likewise.
9724 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
9725 (linux_kernel_params): Make it 1K big.
9727 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9729 * Makefile.util.def: Remove -Wno-format.
9730 * grub-core/Makefile.core.def: Likewise.
9732 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9734 * tests/cmp_unit_test.c: Add missing failure message.
9735 * tests/example_unit_test.c: Likewise.
9736 * tests/printf_unit_test.c: Likewise.
9738 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
9740 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
9741 relaxation of protective MBR requirements.
9743 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9745 * configure.ac: Add condition for COND_HOST_XNU.
9746 * Makefile.util.def (10_xnu): New script.
9747 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
9749 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9751 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
9754 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
9756 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
9757 Binary on other platforms stays identical.
9759 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9761 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
9764 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9766 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
9768 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9770 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
9771 rather than defining size_t ourselves to avoid conflict.
9773 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9775 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
9776 initialisation to avoid __bzero reference.
9778 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9780 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
9782 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
9783 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
9784 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
9785 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
9786 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
9788 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9790 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
9791 * grub-core/kern/misc.c: Likewise.
9792 * grub-core/loader/i386/xnu.c: Likewise.
9793 * include/grub/i386/tsc.h: Likewise.
9794 * include/grub/symbol.h: Likewise.
9796 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9798 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
9799 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
9802 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9804 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
9805 Implement Apple flavour.
9806 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
9808 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9810 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
9811 (memmove) [__APPLE__]: Likewise.
9812 (memcpy) [__APPLE__]: Likewise.
9813 (memset) [__APPLE__]: Likewise.
9814 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
9815 (memmove) [__APPLE__]: Likewise.
9816 (memcpy) [__APPLE__]: Likewise.
9817 (memset) [__APPLE__]: Likewise.
9819 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
9821 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
9824 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9826 * grub-core/normal/main.c (read_config_file): Provide config_file and
9828 * util/grub.d/41_custom.in: Use config_directoy when available.
9830 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9832 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
9833 (grub_bfs_dir): Likewise.
9835 2012-05-27 Peter Jones <pjones@redhat.com>
9837 The old code gives arguments to a printf function which can't work
9838 correctly, and the compiler complains.
9840 * grub-core/tests/example_functional_test.c (example_test): Add
9842 * grub-core/tests/lib/test.c (add_failure): Rewrite.
9843 * include/grub/test.h (grub_test_assert_helper): New declaration.
9844 (grub_test_assert): Use grub_test_assert_helper.
9846 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9848 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
9849 (exfctest): ... this to avoid overlong filenames.
9852 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9854 Handle "." and ".." on squashfs.
9856 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
9857 Make inode numbers into stack.
9858 (grub_squash_read_symlink): Use stack.
9859 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
9860 (make_root_node): Fill stack.
9861 (grub_squash_open): Use stack.
9863 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9865 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
9868 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9870 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
9871 stderr on test calls.
9873 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9875 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
9877 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9879 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
9881 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9883 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
9886 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9888 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
9889 (grub_hfsplus_iterate_dir): Add "." and "..".
9891 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9893 * grub-core/fs/cpio.c (canonicalize): Handle "..".
9894 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
9896 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9898 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
9899 (find_path): Handle "." and "..".
9901 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
9903 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
9904 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
9905 (grub_affs_iterate_dir): Handle hardlinks.
9907 2012-05-26 Matthew Garrett <mjg@redhat.com>
9909 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
9910 (grub_efi_console_fini): Likewise.
9911 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
9912 (grub_video_gop_fill_mode_info): Rename to ...
9913 (grub_video_gop_fill_real_mode_info): ... this.
9914 (grub_video_gop_fill_mode_info): New function.
9915 (grub_video_gop_setup): Setup double framebuffer.
9916 (grub_video_gop_get_info_and_fini): Use original framebuffer.
9918 (grub_video_gop_swap_buffers): Copy framebuffer.
9919 (grub_video_gop_fini): Free offscreen buffer.
9920 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
9922 (grub_efi_gop_blt_pixel): New struct.
9924 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9926 * gentpl.py: Remove error disabling for objconv.
9928 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9930 * configure.ac: Remove -Wunitialized as it's not available on older
9933 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
9935 Fix extent overflow comparator.
9937 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
9938 (grub_hfsplus_read_block): Set type.
9939 (grub_hfsplus_cmp_extkey): Compare type.
9941 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
9943 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
9945 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9947 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
9950 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9952 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
9953 (dejavu_bold_14.pf2): New target.
9955 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
9957 * configure.ac: Fix djvu font detection.
9959 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9961 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
9962 ext* instead of ext2.
9964 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9966 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
9969 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
9971 * docs/grub-dev.texi: Remove dot from .png.
9973 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9975 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
9976 protective entry in any slot.
9977 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
9978 if protective entry is found in any slot.
9980 Protective entry in non-first slot make no sense but is a widespread
9983 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9985 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
9987 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9989 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
9991 (grub_reiserfs_open): Don't free root.
9993 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
9995 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
9996 after freeing for safety.
9998 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10000 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
10001 Reported by: Jordan Uggla.
10003 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
10005 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
10006 actual implementation. Specifically, clarify that the grub menu will
10007 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
10010 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
10012 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
10015 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10017 Remove unjustified hard dependency of normal.mod on gfxterm.
10019 * include/grub/term.h (grub_term_output): New member fullscreen.
10020 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
10021 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
10022 (grub_gfxterm): Set .fullscreen.
10023 * grub-core/normal/menu.c (menu_init): Use fullscreen.
10024 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
10026 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10028 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
10029 mentioning possible problems with non-ASCII (non-compliant) ISOs.
10030 Mention case-insensitive AFFS, SFS and JFS.
10032 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10034 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
10036 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10038 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10041 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10043 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
10044 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
10046 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10048 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
10049 (grub_jfs_mount): Fill caseins.
10050 (grub_jfs_find_file): Respect caseins.
10052 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10054 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
10057 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10059 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
10060 New argument origpath. All users updated.
10062 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10064 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
10065 (read_attr): Ensure that we read start of possibly compressed block.
10067 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10069 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
10070 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
10073 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10075 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
10076 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
10077 (dejavu.pf2): Replace with ...
10078 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
10081 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10083 * util/grub.d/20_linux_xen.in: Add missing line.
10085 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10087 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
10088 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
10089 (grub_utf16_to_utf8): Likewise.
10091 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10093 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
10094 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
10095 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10096 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
10097 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
10098 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
10100 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10102 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
10105 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10107 * grub-core/fs/udf.c (read_string): Bail out on size=0.
10108 (grub_udf_read_symlink): Handle read_string failure.
10110 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10112 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
10115 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10117 Fix handling of UDF symlinks.
10119 * grub-core/fs/udf.c (read_string): New argument outbuf.
10121 (grub_ufs_read_symlink): Rename to ...
10122 (grub_udf_read_symlink): ... this. All users updated.
10123 Handle symlinks with more than one component.
10125 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10127 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
10128 symlinks. Replace leading colon with a slash.
10130 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10132 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
10135 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10137 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
10138 match in inner node.
10140 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
10142 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
10143 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
10144 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
10145 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
10146 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
10147 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
10148 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
10149 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
10150 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
10152 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10154 Use grub-probe and not cmp to check that disk is empty.
10156 * util/grub-install.in: Use grub-probe for zero-check.
10157 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
10158 (probe): Handle PRINT_ZERO_CHECK.
10159 (argp_parser): Handle -t zero_check.
10161 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
10163 Flush block cache on adding disk to device map.
10165 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
10166 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
10168 (read_device_map): Likewise.
10169 (open_device): Flush on opening.
10171 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10173 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
10174 (handle_symlink): Fix off-by-one error.
10175 Canonicalize the target.
10176 (grub_cpio_dir): Canonicalize the name.
10179 (grub_cpio_open): Canonicalize the name.
10181 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10183 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
10186 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10188 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
10189 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
10191 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10193 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
10194 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
10197 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10199 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
10202 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10204 Fix UFS1 big file support.
10206 * grub-core/fs/ufs.c (INODE): Removed.
10207 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
10209 (INODE_MODE): Simplify.
10210 (grub_ufs_inode): Use uint64_t for size and not int64_t.
10211 (grub_ufs_lookup_symlink): Don't use INODE.
10213 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10215 Fix minixfs with non-power-of-two blocks since it's supported by minix.
10217 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
10218 (grub_minix_data): Replace log_block_size with block_size.
10219 (grub_minix_read_file): Use block_size but avoid 64-bit division.
10220 (grub_minix_mount): Fill block_size.
10222 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10224 * configure.ac: Bump to beta5.
10226 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10228 Fix wrapped HFS+ handling.
10230 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
10231 blocks_start. All users updated.
10232 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
10234 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
10236 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10238 Fix long symlinks on reiserfs.
10240 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
10241 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
10242 (grub_reiserfs_iterate_dir): Save size for non-directories.
10243 (grub_reiserfs_open): Don't reread stat block as we already know the
10245 (grub_reiserfs_read): Split into...
10246 (grub_reiserfs_read_real): ... and ...
10247 (grub_reiserfs_read): ...this.
10249 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10251 Fix non-indexed JFS.
10253 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
10254 (grub_jfs_data): New field namecomponentlen.
10255 (grub_jfs_mount): Fill namecomponentlen.
10256 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
10258 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10260 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
10261 * tests/grub_script_echo1.in: Add tests.
10263 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10265 * util/grub-install.in: Ignore empty devicetree directory.
10267 2012-05-08 Bean <bean123ch@gmail.com>
10269 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
10271 (free_rsm): Free header as well.
10272 (free_old_fragments): Fix memory leak.
10273 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
10274 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
10275 (destroy_pq): Likewise.
10276 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
10278 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10280 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
10281 resulting hash as a precaution.
10283 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10285 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
10286 '_' in variable names.
10287 * grub-core/net/net.c (grub_net_network_level_interface_register):
10290 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10292 Fix AFFS with non-512B blocks.
10294 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
10295 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
10296 (grub_affs_data): Replace blocksize with log_blocksize.
10297 (grub_affs_read_block): Fix non-512B blocks.
10298 (grub_affs_read_symlink): Likewise.
10299 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
10300 (grub_affs_read): Fix non-512B blocks.
10301 (grub_affs_label): Likewise.
10302 (grub_affs_mtime): Likewise.
10303 (grub_affs_mount): Fix block detection routine.
10305 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
10307 Add filesystem mtime to AFFS.
10309 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
10310 (aftime2ctime): New function.
10311 (grub_affs_dir): Use aftime2ctime.
10312 (grub_affs_label): Fix return value.
10313 (grub_affs_mtime): New function.
10314 (grub_affs_fs): Add mtime.
10316 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10318 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
10321 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10323 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
10326 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10328 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
10330 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
10332 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
10334 (FLAGS_CASE_SENSITIVE): New enum value.
10335 (cache_entry): New struct.
10336 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
10337 cache_size and cache.
10338 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
10339 Add log_blocksize and fshelp_flags.
10340 (grub_sfs_read_extent): Handle non-512 blocks.
10341 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
10342 (grub_sfs_read_file): Handle non-512 blocks.
10343 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
10345 (grub_sfs_read_symlink): Handle non-512 blocks.
10346 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
10347 (grub_sfs_dir): Free cache.
10348 (grub_sfs_close): Likewise.
10350 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10352 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
10355 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10357 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
10359 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10361 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
10363 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
10365 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
10366 (grub_sfs_read_extent): Likewise.
10367 (grub_sfs_read_block): Likewise.
10368 (grub_sfs_mount): Likewise.
10369 (grub_sfs_iterate_dir): Likewise.
10370 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
10371 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
10373 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10375 Fix errors on compressed NTFS with 512B clusters.
10377 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
10379 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
10381 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
10382 Relax check for inline extents.
10383 (ntfscomp): Return correct -1 on error and not 0.
10385 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10387 * util/grub-install.in: Fix handling of prefix containing spaces.
10389 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10391 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
10392 (grub_squash_read_data): Fix offset byte-swapping.
10394 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10396 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
10397 per common usage and preffered in several parts of code.
10398 (grub_memcmp): Likewise.
10399 (grub_strncmp): Likewise.
10400 * include/grub/misc.h (grub_strcasecmp): Likewise.
10401 (grub_strncasecmp): Likewise.
10402 * Makefile.util.def (cmp_test): New test.
10403 (grub_script_strcmp): Likewise.
10404 * tests/cmp_unit_test.c: New file.
10405 * tests/grub_script_strcmp.in: Likewise.
10406 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
10408 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10410 * include/grub/pci.h: Move enums into no-asm part.
10412 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10414 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
10416 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
10418 * util/getroot.c (find_hurd_root_device): Try to make error message
10419 and comments to translators clearer.
10421 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10423 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
10425 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10427 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
10430 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10432 * docs/grub.cfg: Update.
10434 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10436 * docs/grub.texi (PXE): Remove not present variables.
10438 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
10440 * grub-core/net/net.c (defserver_set_env): New function.
10441 (defserver_get_env): Likewise.
10442 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
10444 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10446 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
10449 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10451 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
10452 * grub-core/kern/emu/hostdisk.c: Likewise.
10454 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10456 Handle hurd userspace partitions.
10458 * util/getroot.c (find_hurd_root_device): New function.
10459 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
10461 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10463 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
10465 Reported by: Bastian Blank.
10467 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10469 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
10470 crossing page boundary.
10472 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10474 Fix B-tree search in BFS, especially in presence of non-ASCII
10477 * grub-core/fs/bfs.c (bfs_strcmp): New function.
10478 (find_in_b_tree): Use standard bsearch + btree algorithm.
10480 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10482 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
10485 2012-05-03 Matthew Garrett <mjg@redhat.com>
10486 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10488 Suspend broadcom cards in order to stop their DMA.
10490 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
10491 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
10492 (pci): Don't build on x86 EFI.
10493 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
10494 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
10496 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
10497 stop_broadcom if running on EFI.
10498 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
10499 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
10500 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
10501 (grub_pci_find_capability): New proto.
10503 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10505 * docs/grub.texi: Remove dot from the extension as it apparently
10506 doesn't work with some makeinfo versions.
10508 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10510 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
10511 with GRUB expectance.
10513 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10515 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
10517 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10519 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
10520 zero after directory block since last entry may be not 0-terminated if
10521 it ends on block boundary. Use continue instead of if spanning whole
10524 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10526 Support 4K sectors UDF inline files.
10528 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
10529 (grub_udf_extended_file_entry): Likewise.
10530 (grub_fshelp_node): Name the anonymous union. Put block at the end.
10532 (get_fshelp_size): New function.
10533 (grub_udf_read_icb): Read whole block.
10534 (grub_udf_iterate_dir): Likewise.
10535 (grub_udf_dir): Likewise.
10536 (grub_udf_open): Likewise.
10538 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10540 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
10542 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10544 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
10545 inline symlinks in addition to workaround.
10547 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10549 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
10551 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10553 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
10555 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10557 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
10559 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10561 Fix reiserfs big seek times.
10563 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
10564 exact. All users updated.
10565 (grub_reiserfs_read): Use nearest btree search for seeking.
10566 Fix return value on error.
10568 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10570 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
10572 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
10573 * docs/grub.texi: Update menuentry description.
10575 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10577 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
10578 crash when embedding onto filesystem.
10580 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10582 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
10585 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10587 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
10589 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10591 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
10594 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10595 2012-05-01 Bean <bean123ch@gmail.com>
10597 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
10599 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10601 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
10602 Special behaviour for len = 0 to read whole file isn't used anywhere and
10603 can cause buffer ovewrflows in several places.
10605 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10607 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
10609 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10611 Handle RAIDZ on non-512B sectors.
10613 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
10614 max_children_ashift.
10615 (fill_vdev_info_real): Fill max_children_ashift.
10616 (read_device): Use max_children_ashift.
10618 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10620 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
10622 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10624 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
10626 * docs/grub.texi: Update device.map parts.
10628 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10630 Don't scan into non-diskfilter devices having diskfilter names.
10632 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
10633 (scan_disk): New argument accept_diskfilter. Fix recursion depth
10635 (scan_disk_hook): New function.
10637 2012-04-29 Bean <bean123ch@gmail.com>
10639 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
10642 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
10644 * configure.ac: Detect starfield theme font path
10645 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
10647 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10649 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
10650 geometry on serial consoles.
10652 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10654 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
10655 because of network consoles.
10657 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10659 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
10662 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10664 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
10665 falls on Q syndrom.
10667 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10669 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
10670 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
10672 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10674 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
10675 Allocate at lest 8192 for temporary buffer as required for lzo.
10677 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10679 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
10680 to cluster_bits, since it's already added in.
10681 (grub_fat_read_data): Likewise.
10683 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10685 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
10686 as long as cluster size is multiple of 512 bytes.
10688 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10690 * util/grub-mkrescue.in: Fix locale directory.
10692 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
10694 * grub-core/kern/emu/hostdisk.c (map): Make static.
10696 2012-04-23 Bean <bean123ch@gmail.com>
10698 * util/grub-fstest.c (fstest): Add missing break.
10700 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
10704 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
10705 not define nr variable.
10706 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
10707 find_root_devices_from_poolname, find_root_devices_from_libzfs,
10708 grub_find_device): Do not define.
10710 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10712 Fix kfreebsd compile and behaviour.
10714 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
10716 * util/getroot.c: Fix wait.h include.
10717 (grub_guess_root_devices): Error if grub_find_device fails.
10718 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
10719 (grub_util_get_dev_abstraction): Likewise.
10720 (grub_util_pull_device): Likewise.
10721 (grub_util_get_grub_dev): Likewise.
10722 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
10724 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10726 Fix and unify wholedisk detection.
10728 * util/getroot.c (convert_system_partition_to_system_disk): New argument
10729 is_part. All users updated.
10730 (device_is_wholedisk): Removed.
10731 (grub_util_biosdisk_get_grub_dev): Use is_part.
10733 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10735 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
10738 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10740 * configure.ac: Bump to beta4.
10742 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10744 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
10745 --fs-uuid --set UUID syntax.
10747 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10749 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
10752 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10754 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
10756 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
10758 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
10760 2012-04-18 Mike Gilbert <floppym@gentoo.org>
10762 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
10764 2012-04-18 Bean <bean123ch@gmail.com>
10766 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
10769 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10771 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
10773 (grub_util_biosdisk_read): Handle Linux partitions not exactly
10774 corresponding to GRUB partitions.
10775 (grub_util_biosdisk_write): Likewise.
10777 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10779 Scan mdraid before LVM.
10781 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
10782 (grub_diskfilter_register_front): ... this.
10783 (grub_diskfilter_register_back): New function.
10784 All users of grub_diskfilter_register updated.
10786 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10788 * util/grub-install.in: Fix an automatic target detection bug.
10790 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10792 * util/grub-install.in: New option --efi-directory.
10794 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10796 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
10797 boot services if we have no other choice.
10799 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
10801 * util/grub-mknetdir.in: Rename --override-directory to --directory and
10803 * tests/util/grub-shell.in: Update to --directory.
10805 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10807 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
10809 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10811 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
10812 (grub_minix_read_file): Likewise.
10813 (grub_minix_read_inode): Likewise.
10814 (grub_minix_find_file): Likewise.
10815 (grub_minix_dir): Likewise.
10817 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10819 * util/grub-setup.c (setup): Fix partition handling and blocklist
10822 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
10824 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
10825 redundant buggy overlap check.
10827 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10829 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
10832 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10834 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
10835 kh.loadflags on pre-2.00 kernels.
10837 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10839 Terminate UNDI and PXE before launching the payload to avoid problems
10842 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
10843 (grub_loader_flags): ... this. All users updated.
10844 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
10845 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
10846 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
10847 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
10849 (grub_pxe_restore): Likewise.
10850 (fini_hnd): New var.
10851 (GRUB_MOD_INIT): Register shutdown hook.
10852 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
10853 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
10854 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
10855 (grub_loader_set): Rename second argument to flags.
10857 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10859 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
10861 (grub_get_num_of_utf8_bytes): New function.
10862 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
10863 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
10865 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
10866 (grub_ucs4_to_utf8): Change return type.
10868 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10870 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
10872 * grub-core/fs/bfs.c (hop_level): Likewise.
10873 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
10875 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10877 * grub-core/lib/adler32.c: Recode due to license unclearness.
10879 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10881 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
10882 (test_header): Likewise.
10884 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10886 Fix --help formatting.
10888 * util/grub-mkconfig_lib.in (print_option_help): New function.
10889 (grub_fmt): Likewise.
10890 * util/grub-install.in: Use print_option_help and grub_fmt.
10891 * util/grub-kbdcomp.in: Likewise.
10892 * util/grub-mkconfig.in: Likewise.
10893 * util/grub-mknetdir.in: Likewise.
10894 * util/grub-mkrescue.in: Likewise.
10895 * util/grub-mkstandalone.in: Likewise.
10896 * util/grub-reboot.in: Likewise.
10897 * util/grub-set-default.in: Likewise.
10898 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10900 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
10902 * linguas.sh: Remove autogenerated *.po.
10904 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10906 * po/README: Move language fetcing to ...
10907 * linguas.sh: ... here.
10908 * po/README: Point to linguas.sh.
10910 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10912 * po/README: Exclude ko.po due to disclaimer problems.
10914 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10916 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
10918 (grub_gettext_translate_real): Handle 0th string.
10919 (grub_gettext_translate): Ensure that "" isn't translated.
10921 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10923 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
10924 TRANSLATORS comment.
10925 (grub_diskfilter_print_partmap): Propagate changing of error into
10928 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10930 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
10931 to uint64_t to prevent overflow.
10932 (grub_diskfilter_lv): Increase start_extent and extent_count
10933 to uint64_t to prevent overflow.
10935 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10937 * configure.ac: Increase version.
10939 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10941 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
10943 * po/Rules-translit: New file.
10944 * po/arabic.sed: Likewise.
10945 * po/cyrillic.sed: Likewise.
10946 * po/greek.sed: Likewise.
10947 * po/hebrew.sed: Likewise.
10948 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
10949 * po/Makefile.in.in: Add extra_dist4.
10951 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10953 Handle big-endian minixfs (fixes minixfs tests on bigendian).
10955 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
10956 modify names. Introduce MODE_BIGENDIAN.
10957 * grub-core/fs/minix_be.c: New file.
10958 * grub-core/fs/minix2_be.c: Likewise
10959 * grub-core/fs/minix3_be.c: Likewise.
10960 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
10962 * grub-core/Makefile.core.def (minix_be): New module.
10963 (minix2_be): Likewise.
10964 (minix3_be): Likewise.
10966 2012-04-01 Felix <email@hamburg.de>
10968 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
10969 (devs): Add MBP 2011.
10971 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10973 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
10975 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10977 * grub-core/normal/cmdline.c (print_completion): New field
10979 (grub_cmdline_get): Handle width properly.
10981 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
10983 * grub-core/commands/lsacpi.c (options): Add missing terminator.
10985 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10987 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
10988 after 29th of February.
10990 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10992 Fix exfat endianness handling.
10994 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
10995 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
10996 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
10997 Byte-swap utf16 when necessary.
10998 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
11000 2012-03-31 Anton Blanchard <anton@samba.org>
11001 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11003 Fix btrfs endianness handling.
11005 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
11006 (lower_bound): Make root uint64_t. Use root in le.
11007 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
11008 (find_path): Fix template key init.
11009 (grub_btrfs_dir): Fix mtime byteswap.
11010 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
11012 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11014 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
11015 recursion_depth. Break infinite resursions. All users updated.
11017 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11019 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
11021 Reported by: Peter Jones.
11023 2012-03-31 Anton Blanchard <anton@samba.org>
11025 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
11028 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11030 * util/grub-install.in: Fix nvram call for PreP.
11032 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11034 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
11035 the error when some elements are missing into a warning.
11037 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11039 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
11041 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
11043 * docs/grub.texi (Invoking grub-probe): New section.
11044 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
11046 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11048 Fix tab and wide character handling in editor and menu.
11050 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
11051 agglomerate control characters with combining marks.
11052 (bidi_line_wrap): Allow break on tab.
11053 (grub_unicode_get_comb_start): New function.
11054 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
11056 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
11058 * grub-core/normal/term.c (print_ucs4_terminal): New argument
11059 fixed_tab_size. All users updated.
11060 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
11061 (grub_term_getcharwidth): Handle \t.
11062 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
11065 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11067 Handle big-endian mdraid.
11069 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
11070 * grub-core/Makefile.core.def (mdraid09_be): New module.
11071 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
11072 rather than grub_le_to_cpu* and grub_cpu_to_le*.
11073 * grub-core/disk/mdraid_linux_be.c: New file.
11075 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11077 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
11079 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11081 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11082 missing quotes which caused confusion among translators.
11084 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11086 * util/grub-mkconfig_lib.in: Fix typo.
11088 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11090 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
11092 * tests/grub_script_leading_whitespace.in: New file.
11093 * Makefile.util.def (grub_script_leading_whitespace): New test.
11095 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11097 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
11100 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11102 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
11103 starts with control character.
11105 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11107 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
11109 (grub_gdb_outbuf): Likewise.
11111 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
11113 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
11114 zero terminator. Fixes a crash.
11116 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11118 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
11120 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
11121 images independently of preffered adderss field.
11123 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11125 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
11126 * grub-core/commands/regexp.c: Likewise.
11127 * grub-core/loader/i386/linux.c: Likewise.
11128 * grub-core/partmap/msdos.c: Likewise.
11129 * grub-core/script/execute.c: Likewise.
11130 * grub-core/term/gfxterm.c: Likewise.
11132 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11134 Add variable parsing in $"..." and fix several mismatches with bash.
11136 * Makefile.util.def (grub_script_gettext): New test.
11137 * grub-core/script/execute.c (parse_string): New function.
11138 (gettext_append): Likewise.
11139 (grub_script_arglist_to_argv): Use gettext_append.
11140 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
11141 * tests/grub_script_gettext.in: New file.
11143 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11145 Fix handling of leading spaces in scripts.
11147 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
11149 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
11150 other than skipping \r. All users updated.
11151 * tests/grub_script_echo1.in: Add space-related tests.
11152 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
11154 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
11156 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
11158 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11160 * configure.ac: Bump up the version to beta2.
11162 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11164 Fix gettext reload bugs (e.g. inability to disable gettext
11167 * grub-core/gettext/gettext.c: Encapsulate all static variables in
11168 main_context and secondary_context. All functions updated.
11169 (grub_gettext_translate): Rename to ...
11170 (grub_gettext_translate_real): ... this. Return NULL on failed
11172 (grub_gettext_translate): Handle secondary context.
11173 (grub_gettext_delete_list): Close file and zero-out the context.
11174 (grub_mofile_open): Don't call grub_gettext_delete_list.
11176 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
11177 if locale="" to avoid pointless error message.
11178 (grub_gettext_env_write_lang): Update lang even if load fails.
11179 Handle secondary context.
11180 (grub_gettext_reread_prefix): New function.
11181 (read_main): Likewise.
11182 (read_secondary): Likewise.
11183 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
11184 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
11185 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
11186 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
11188 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11190 * configure.ac: Decrease warning level to avoid spurious warnings and
11191 to be able to compile with GCC 4.2.
11192 * Makefile.util.def: Remove -Wno-error=logical-op.
11194 2012-03-10 William Bittner <william.bittner@gmail.com>
11196 * util/import_unicode.py: Add missing brackets around string for
11199 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11201 Fix efi chainloader on network root.
11203 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
11205 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
11208 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11210 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
11211 unused show_text member.
11212 * docs/grub.texi: Document "text" property.
11214 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11216 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
11219 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11221 Fix IMSM handling on Fedora.
11223 * util/getroot.c (grub_util_is_imsm): New function.
11224 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
11226 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11228 * Makefile.am: Strip gold section.
11229 * conf/Makefile.common: Likewise.
11230 * gentpl.py: Likewise.
11231 * grub-core/Makefile.core.def: Likewise.
11232 * grub-core/genmod.sh.in: Likewise.
11234 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11236 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
11237 * util/grub.d/20_linux_xen.in: Likewise.
11238 Based on Debian patch.
11240 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11242 * util/grub.d/10_linux.in: Fix syntax error resulting in
11243 Richard Laager's patch.
11244 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
11246 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11248 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
11251 2012-03-10 Richard Laager <rlaager@wiktel.com>
11253 * util/grub.d/10_linux.in: Fix ZFS root passing.
11255 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11257 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11258 * grub-core/commands/xnu_uuid.c: Likewise.
11259 * grub-core/loader/efi/appleloader.c: Likewise.
11260 * grub-core/script/execute.c: Likewise.
11261 * grub-core/script/main.c: Likewise.
11262 * util/grub-mkfont.c: Likewise.
11264 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11266 * util/grub-mkfont.c (options): Use more appropriate "select" that
11267 "set" for face index.
11269 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11271 * util/grub-editenv.c (options): Gettextize command summaries.
11273 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11275 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
11276 "out of memory" error messagge.
11278 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11280 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
11281 of diskfilter for diskfilter on diskfilter support.
11283 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11285 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
11287 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11289 * util/grub-install.in: Check for themes/starfield/theme.txt and not
11292 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11294 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
11296 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11298 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
11300 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
11302 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
11305 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11307 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
11309 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
11311 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
11313 * util/grub-install.in: Fix and gettextize error message.
11315 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11317 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
11319 * util/grub-mount.c (options): Likewise.
11321 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11323 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
11325 * grub-core/commands/search_wrap.c (options): Likewise.
11327 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11329 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
11331 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11333 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
11335 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
11338 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11340 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
11341 "temporary" since it's used in identifier and is limited in space.
11343 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11345 * po/POTFILES.in: Regenerate. Include *.h since they contain
11346 translatable strings as well.
11348 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
11350 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
11351 byte-swap on big-endian.
11352 Reported by: Lennart Sorensen
11354 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11356 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
11357 (allocate_pages): Improve dprintf.
11358 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
11359 code32_start. Fill code32_start and kernel_alignment in params.
11360 (grub_cmd_initrd): Use prot_init_space.
11362 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11364 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
11366 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11368 * util/grub-install.in: Add missing dot at the end of sentence.
11370 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11372 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
11373 * grub-core/commands/videotest.c: Likewise.
11374 * grub-core/loader/i386/linux.c: Likewise.
11376 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11378 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
11380 Reported by: Milo Casagrande.
11382 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11384 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
11385 * grub-core/commands/gptsync.c: Likewise.
11386 * grub-core/commands/hashsum.c: Likewise.
11387 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11388 * grub-core/commands/legacycfg.c: Likewise.
11389 * grub-core/io/gzio.c: Likewise.
11390 * grub-core/net/net.c: Likewise.
11391 * grub-core/term/gfxterm.c: Likewise.
11392 * grub-core/term/terminfo.c: Likewise.
11393 * grub-core/tests/test_blockarg.c: Likewise.
11394 * grub-core/video/video.c: Likewise.
11395 * util/grub-install.in: Likewise.
11396 * util/grub-mkfont.c: Likewise.
11398 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11400 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
11402 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11404 * grub-core/commands/search_wrap.c (options): Fix a typo.
11405 Reported by: David Prévot.
11407 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11409 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
11412 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11414 * util/grub-script-check.c (main): Fix a syntax error message which was
11417 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11419 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
11421 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11423 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
11426 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11428 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
11430 * util/grub-mount.c (options): Likewise.
11432 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11434 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
11436 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11438 * grub-core/net/http.c: Add TRANSLATORS comments.
11439 * grub-core/normal/cmdline.c: Likewise.
11440 * grub-core/normal/misc.c: Likewise.
11441 * grub-core/partmap/msdos.c: Likewise.
11442 * grub-core/parttool/msdospart.c: Likewise.
11443 * grub-core/script/execute.c: Likewise.
11444 * grub-core/script/main.c: Likewise.
11445 * grub-core/term/terminfo.c: Likewise.
11446 * grub-core/video/bitmap.c: Likewise.
11447 * util/grub-install.in: Likewise.
11448 * util/grub-mkimage.c: Likewise.
11449 * util/grub-mklayout.c: Likewise.
11450 * util/grub-setup.c: Likewise.
11452 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11454 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
11455 with similar messages in grub-fstest.
11457 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11459 * util/grub-install.in: Unify "option requires an argument" message
11460 with similar messages in other files.
11461 * util/grub-mkconfig.in: Likewise.
11463 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11465 * util/grub-set-default.in: Replace printf with gettext_printf (the
11466 string in in question is already translated from grub-reboot)
11468 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11470 * configure.ac: Bump up the version to beta1.
11472 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11474 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
11475 case when min_align = 0.
11477 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11479 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
11480 and fix a case when line_start overflows.
11482 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11484 * util/grub-reboot.in (usage): Mention id posibility.
11485 * util/grub-set-default.in (usage): Likewise.
11487 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11489 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
11490 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
11491 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
11492 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
11493 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
11494 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11495 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
11497 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11499 * grub-core/commands/menuentry.c (options): Remove
11500 GRUB_ARG_OPTION_REPEATABLE.
11501 Reported by: Andreas Vogel
11503 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
11505 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
11507 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
11509 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
11512 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11514 Use sort -V by the idea of Georgi Georgiev.
11516 * util/grub-mkconfig_lib.in (version_sort): New function.
11517 (version_test_numeric): Use version_sort.
11519 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11521 Use submenus in grub-mkconfig.
11523 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
11524 * util/grub-mkconfig_lib.in (grub_quote): New function.
11525 (gettext_printf): Use gettext and not gettext_quoted to fix several
11527 * util/grub.d/10_hurd.in: Use submenus.
11528 * util/grub.d/10_kfreebsd.in: Likewise.
11529 * util/grub.d/10_linux.in: Likewise.
11530 * util/grub.d/10_netbsd.in: Likewise.
11531 * util/grub.d/20_linux_xen.in: Likewise.
11532 * util/grub.d/30_os-prober.in: Likewise.
11533 * util/grub.d/10_illumos.in: Add missing quoting.
11534 * util/grub.d/10_windows.in: Likewise.
11536 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11538 Fix menu title instability bug.
11540 * grub-core/commands/menuentry.c (options): New option --id.
11541 (grub_normal_add_menu_entry): New argument id. All users updated.
11542 (grub_cmd_menuentry): Handle --id.
11543 (grub_menu_init): Accept unknown arguments.
11544 * grub-core/normal/main.c (features): Add feature_menuentry_id and
11545 feature_menuentry_options.
11546 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
11548 (get_entry_number): Match with id as well.
11549 * include/grub/menu.h (grub_menu_entry): New member id.
11550 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
11551 * util/grub.d/00_header.in: Define menuentry_id_option.
11552 * util/grub.d/10_hurd.in: Define id.
11553 * util/grub.d/10_illumos.in: Likewise.
11554 * util/grub.d/10_kfreebsd.in: Likewise.
11555 * util/grub.d/10_linux.in: Likewise.
11556 * util/grub.d/10_netbsd.in: Likewise.
11557 * util/grub.d/10_windows.in: Likewise.
11558 * util/grub.d/20_linux_xen.in: Likewise.
11559 * util/grub.d/30_os-prober.in: Likewise.
11561 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11563 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
11564 "scope" with "body".
11566 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11568 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
11569 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
11570 prot_size and prot_file_size.
11572 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11574 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
11575 All users updated. If easily=1 require raid-5/-6 to be full.
11576 (is_node_readable): Likewise.
11577 (scan_devices): Scan incomplete but readable LVs at the end.
11578 (grub_diskfilter_memberlist): Pull missing devices.
11579 (insert_array): Skip scanning until device is complete or scan is
11581 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
11583 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
11584 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
11586 2012-03-03 Matthew Garrett <mjg@redhat.com>
11587 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11589 Avoid EFI boot services when loading Linux.
11591 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
11592 avoid_efi_bootservices. All users updated.
11593 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
11594 argument avoid_efi_bootservices. All users updated.
11595 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
11596 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
11597 align, min_align, relocatable, prefered_address. All users updated.
11598 Allocate avoiding boot services if kernel is relocatable.
11599 (grub_cmd_linux): Check if kernel is relocatable.
11600 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
11601 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
11602 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
11603 avoid_efi_boot_services.
11604 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
11605 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
11606 (linux_kernel_params): Likewise.
11608 2012-03-03 Matthew Garrett <mjg@redhat.com>
11609 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11613 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
11615 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
11616 modes. Set gop_handle.
11617 (grub_video_gop_get_edid): New function.
11618 (grub_gop_get_preferred_mode): Likewise.
11619 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
11620 (grub_video_efi_gop_adapter): Set .get_edid.
11621 * include/grub/efi/edid.h: New file.
11622 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
11624 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11626 * util/grub-install.in: Load efivars unconditionally.
11628 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11630 * po/Rules-piglatin: Change suffix from .po-update-en to
11631 .po-update-en-piglatin.
11633 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11637 * po/piglatin.sed: New file.
11638 * po/en@piglatin.header: Likewise.
11639 * po/Rules-piglatin: Likewise.
11640 * po/README: Add en@piglatin to autogenerated languages.
11642 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11644 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
11646 * grub-core/commands/hdparm.c (options): Use "Display" rather than
11647 "Check" since we don't check anything.
11648 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
11650 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
11651 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
11652 (grub_md_sha512_real): Likewise.
11654 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
11656 * grub-core/commands/gptsync.c: Fix typographic quoting.
11657 * grub-core/commands/ieee1275/suspend.c: Likewise.
11658 * grub-core/commands/parttool.c: Likewise.
11659 * grub-core/commands/search_wrap.c: Likewise.
11660 * grub-core/commands/videoinfo.c: Likewise.
11661 * grub-core/gfxmenu/gui_label.c: Likewise.
11662 * grub-core/hello/hello.c: Likewise.
11663 * grub-core/kern/emu/main.c: Likewise.
11664 * grub-core/net/net.c: Likewise.
11665 * grub-core/normal/menu.c: Likewise.
11666 * grub-core/normal/menu_text.c: Likewise.
11667 * grub-core/normal/misc.c: Likewise.
11668 * util/grub-editenv.c: Likewise.
11669 * util/grub-install.in: Likewise.
11670 * util/grub-kbdcomp.in: Likewise.
11671 * util/grub-mkconfig.in: Likewise.
11672 * util/grub-mknetdir.in: Likewise.
11673 * util/grub-mkrescue.in: Likewise.
11674 * util/grub-mkstandalone.in: Likewise.
11675 * util/grub-reboot.in: Likewise.
11676 * util/grub-set-default.in: Likewise.
11677 * util/grub-setup.c: Likewise.
11678 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11680 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11682 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
11683 * grub-core/commands/keystatus.c: Likewise.
11684 * grub-core/commands/loadenv.c: Likewise.
11685 * grub-core/commands/probe.c: Likewise.
11686 * grub-core/commands/regexp.c: Likewise.
11687 * grub-core/commands/true.c: Likewise.
11688 * grub-core/commands/videoinfo.c: Likewise.
11689 * grub-core/disk/cryptodisk.c: Likewise.
11690 * grub-core/disk/ldm.c: Likewise.
11691 * grub-core/disk/loopback.c: Likewise.
11692 * grub-core/disk/luks.c: Likewise.
11693 * grub-core/fs/zfs/zfsinfo.c: Likewise.
11694 * grub-core/kern/disk.c: Likewise.
11695 * grub-core/kern/emu/hostdisk.c: Likewise.
11697 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11699 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
11700 * util/grub-install.in: Add missing quote in the comment.
11702 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11704 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
11705 * grub-core/commands/lsmmap.c: Likewise.
11706 * grub-core/commands/minicmd.c: Likewise.
11707 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
11708 * grub-core/commands/regexp.c: Likewise.
11709 * grub-core/gdb/gdb.c: Likewise.
11710 * grub-core/term/gfxterm.c: Likewise.
11711 * util/grub-mkconfig.in: Likewise.
11712 * util/grub-mkfont.c: Likewise.
11713 * util/grub-mklayout.c: Likewise.
11714 * util/grub-mknetdir.in: Likewise.
11715 * util/grub-mkrescue.in: Likewise.
11716 * util/grub.d/30_os-prober.in: Likewise.
11718 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11720 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
11721 with "Direct color" and "Packed" with "Packed pixel".
11722 (grub_cmd_videoinfo): Simplify legend.
11724 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11726 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
11727 absolutely unclear error message.
11729 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11731 * util/grub-mkstandalone.in: Remove confusing leftover print.
11733 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11735 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
11737 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
11738 (GRUB_MOD_INIT): Likewise.
11739 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
11741 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
11743 * util/grub-install.in (usage): Likewise.
11744 Spell ID in whole letters.
11745 Add missing ending dot.
11747 * util/grub-reboot.in: Fix capitalisation.
11748 * util/grub-set-default.in: Likewise.
11750 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11752 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
11753 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
11754 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
11755 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
11756 Disable -Werror for -Wdeprecated-declarations.
11757 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
11758 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
11759 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
11760 (grub_util_get_grub_dev): Make luks handling dependent on
11761 HAVE_DEVICE_MAPPER and not __linux__.
11762 (get_win32_path): Fix format security.
11763 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
11764 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
11765 Don't try grub_find_zpool_from_dir.
11766 (grub_make_system_path_relative_to_its_root) [!__linux__]:
11767 #ifdef-out paresdir.
11769 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11771 * util/grub-pe2elf.c (usage): Add missing noreturn.
11772 (write_section_data): Rename name to shname to avoid shadowing.
11773 (write_symbol_table): Rename name to symname to avoid shadowing.
11774 Fix write_reloc_section call.
11776 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11778 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
11779 to ensure that it's after the last byte of .text.
11781 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11783 * util/ieee1275/ofpath.c (my_isdigit): New function.
11784 (trailing_digits): Use my_isdigit.
11785 (strip_trailing_digits): Likewise.
11787 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11789 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
11790 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
11792 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11794 * grub-core/kern/i386/pc/startup.S: Define __start.
11796 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11798 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
11799 strip already transforms he format.
11801 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
11803 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
11805 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11807 * util/grub-install.in: Add missing gettext init.
11808 * util/grub-kbdcomp.in: Likewise.
11809 * util/grub-mkconfig.in: Likewise.
11810 * util/grub-mknetdir.in: Likewise.
11811 * util/grub-mkrescue.in: Likewise.
11812 * util/grub-mkstandalone.in: Likewise.
11813 * util/grub-reboot.in: Likewise.
11814 * util/grub-set-default.in: Likewise.
11815 * util/grub.d/00_header.in: Likewise.
11816 * util/grub.d/10_hurd.in: Likewise.
11817 * util/grub.d/10_windows.in: Likewise.
11818 * util/grub.d/30_os-prober.in: Likewise.
11819 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11821 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11823 * po/Rules-swiss: Fix header comment.
11825 2012-02-29 Andreas Vogel <anvoit>
11827 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
11828 resulted in leak of arguments.
11830 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11832 * grub-core/boot/i386/pc/startup_raw.S: Use separate
11833 reed_solomon_size const definition instead of computing it since
11834 Apple assembler doesn't support the later.
11836 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11838 * gentpl.py (kernel): Rewrite Apple part.
11840 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11842 * include/grub/kernel.h (FOR_MODULES): Check module magic.
11844 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11846 * util/grub-mkimagexx.c (locate_sections): Support non-standard
11848 (load_image): Likewise.
11850 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11852 * configure.ac: Fix a typo in previous commit.
11854 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11856 Don't add -Wl,-N on Apple platform.
11858 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
11859 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
11861 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11863 * grub-core/Makefile.core.def (lzma_decompress): Use
11864 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
11866 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11868 * grub-core/genmod.sh.in: Rewrite the Apple part.
11870 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11872 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
11875 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11877 * acinclude.m4 (grub_CHECK_PIC): New test.
11878 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
11880 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11882 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
11883 to avoid the warning.
11885 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11887 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
11888 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
11889 after. All users updated.
11891 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11893 Use the common size routine in hostfs so we can read disks as well.
11895 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
11896 (grub_util_get_fd_size): ... this. Return size in bytes.
11898 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
11899 grub_util_get_fd_size.
11901 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11903 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
11904 Add blocksize retrieval.
11906 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11908 * configure.ac: Restore CFLAGS after efiemu check.
11910 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11912 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
11915 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11917 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
11919 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11921 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
11922 (grub_cmd_halt): Likewise.
11924 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11926 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
11927 for local arithmetics.
11928 Break %sp init into 2 instructions.
11929 Add 0 byte at the end.
11931 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11933 * grub-core/disk/diskfilter.c (read_segment): Initialise err
11936 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11938 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
11941 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11943 * grub-core/disk/ldm.c (make_vg): Init part.name.
11944 (grub_ldm_detect): Silence spurious warning.
11945 (grub_util_is_ldm): Likewise.
11947 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11949 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
11950 sane value to avoid a spurious warning.
11952 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11954 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
11955 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
11957 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11959 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
11960 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
11962 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11964 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
11965 hardcoding the relevant info.
11967 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11969 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
11970 missing const qualifiers.
11971 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
11973 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11975 * util/getroot.c [__APPLE__]: Add missing includes.
11976 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
11978 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11980 * util/grub-mkimage.c (generate_image): Silence spurious warning.
11982 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11984 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
11987 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11989 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
11991 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11993 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
11994 and grub_file_close call.
11996 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
11998 Add LZSS Mach-O support (needed for new xnu kernelcache).
12000 * grub-core/Makefile.core.def (xnu): Add file lzss.c
12001 * grub-core/loader/lzss.c: New file.
12002 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
12003 on Mach-O open failure.
12004 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
12005 Don't free cmdsXX in uncompressedXX is set.
12006 (grub_macho_file): Init new fields.
12007 New argument is_64bit. All users updated.
12008 Handle compressed. Error out if no suitable architecture is found.
12010 (grub_macho_open): New argument is_64bit. All users updated.
12011 * grub-core/loader/macho32.c: Add defines for new fields.
12012 * grub-core/loader/macho64.c: Likewise.
12013 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
12014 (grub_macho_parse): Handle compressed.
12015 Defer actual processing if compressed.
12016 (grub_macho_cmds_iterate): Decompress if compressed. New argument
12017 "filename". All users updated.
12018 (grub_macho_size): New argument "filename". All users updated.
12019 (grub_macho_get_entry_point): Likewise.
12020 (grub_macho_load): Handle compressed.
12021 * include/grub/macho.h (grub_macho_lzss_header): New struct.
12022 (GRUB_MACHO_LZSS_OFFSET): New define.
12023 (grub_decompress_lzss): New proto.
12024 * include/grub/machoload.h (grub_macho_file): New fields to handle
12026 (grub_macho_contains_macho64): Remove proto.
12027 (grub_macho_contains_macho32): Likewise.
12028 * util/grub.d/30_os-prober.in: Use kernel cache if available.
12030 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
12032 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
12034 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12038 * Makefile.am (starfield_theme_files): New var.
12039 (starfield_DATA): Use starfield_theme_files.
12040 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
12041 Add bootcheck-related files.
12042 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
12043 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
12044 and font_char_metrics.txt.
12045 * grub-core/Makefile.core.def (kernel): Update extra_dist.
12046 (setjmp): Add lib/ia64/longjmp.S.
12047 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
12048 * po/POTFILES.in: Regenerate.
12049 * po/Rules-swiss: use DISTFILES.common.extra2 and not
12050 DISTFILES.common.extra1.
12051 * util/devicemap.c: Removed.
12052 * grub-core/lib/i386/relocator_backward.S: Likewise.
12053 * util/import_gcry.py: Remove unused files. Add extra_dist for
12056 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12058 * grub-core/gettext/gettext.c (grub_mofile_open): Call
12059 grub_gettext_delete_list before changing grub_gettext_max to avoid
12060 running out of array bounds.
12062 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12064 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
12065 grub_vga_text_init/grub_vga_text_fini.
12067 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
12069 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
12071 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12073 * configure.ac: Bump to 2.00~beta0.
12075 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12077 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
12078 missing initialisation.
12080 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12082 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
12084 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12086 Support v2 xnu boot arguments.
12088 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
12089 New argument fsbfreq_out.
12090 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
12091 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
12093 * grub-core/loader/machoXX.c (grub_macho_load): New argument
12095 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
12096 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
12097 (grub_xnu_boot_params): Rename to ...
12098 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
12099 (grub_xnu_boot_params_v2): New struct.
12101 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12103 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
12104 zeroing of CRC field before computing CRC.
12106 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12108 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
12109 Change order of allocations to decrease fragmentation.
12111 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12113 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
12115 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
12117 Use write-combining MTRR to speed up video with buggy BIOSes.
12119 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
12120 (cpuid): New define.
12123 (mtrr_base): Likewise.
12124 (mtrr_mask): Likewise.
12125 (grub_vbe_enable_mtrr_entry): New function.
12126 (grub_vbe_enable_mtrr): Likewise.
12127 (grub_vbe_disable_mtrr): Likewise.
12128 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
12129 control off to BIOS.
12130 (grub_video_vbe_init): Fill mtrr.
12131 (grub_video_vbe_fini): Disable mtrr.
12132 (grub_video_vbe_get_info_and_fini): Likewise.
12133 (grub_video_vbe_setup): Enable mtrr.
12135 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
12137 * include/grub/partition.h (grub_partition_map): Change prototype of
12138 embed to take a maximum value for nsectors.
12139 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
12140 * include/grub/fs.h (grub_fs): Likewise.
12141 * grub-core/partmap/msdos.c (embed_signatures): New array.
12142 (pc_partition_map_embed): Check for and avoid sectors matching any
12143 of the signatures in embed_signatures, up to max_nsectors.
12144 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
12145 returned sector map to max_nsectors.
12146 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
12147 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
12148 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
12149 * util/grub-setup.c (setup): Allow for the embedding area being
12150 split into multiple blocklists. Tell dest_partmap->embed the
12151 maximum number of sectors we care about.
12153 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12155 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
12156 Specify blocklist_install and reserver_first_sector for all fs.
12157 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
12160 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12162 * util/grub-install.in: Clarify strings.
12163 Fix source dir check.
12165 2012-02-27 Richard Laager <rlaager@wiktel.com>
12167 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
12168 "zfs" and "fuse.zfs" as synonyms.
12170 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12172 * configure.ac: Put platform and target_cpu substitutions back since
12173 they are used for directories.
12175 2012-02-27 Richard Laager <rlaager@wiktel.com>
12176 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12178 * util/grub.d/10_linux.in: Add ZFS-related arguments.
12179 * util/grub.d/20_linux_xen.in: Likewise.
12181 2012-02-27 Richard Laager <rlaager@wiktel.com>
12183 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
12186 2012-02-27 Richard Laager <rlaager@wiktel.com>
12188 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
12191 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12193 Don't use insecure popen in getroot.
12195 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
12196 (exec_pipe): ... here.
12197 (find_root_devices_from_poolname): Use exec_pipe.
12199 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12201 Remove platform and target_cpu replacement.
12203 * configure.ac: Remove platform and target_cpu substitutions.
12204 * tests/util/grub-shell.in: Use modinfo.
12205 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
12208 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12210 Autodetect platform in grub-install but allow override.
12212 * util/grub-install.in: Autodetect platform. Support --target and
12213 --directory. Read platform from modinfo.sh.
12215 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12217 Support btrfs multi-volume probe.
12219 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
12220 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
12221 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
12222 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
12223 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
12224 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
12225 grub_find_root_devices_from_btrfs if on btrfs.
12227 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12229 Remove any awareness of *.c util files about target.
12231 * Makefile.util.def (grub-setup): Split to ...
12232 (grub-bios-setup): ... and this.
12233 (grub-sparc64-setup): ... and this.
12234 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
12235 * docs/man/grub-setup.h2m: Split into ...
12236 * docs/man/grub-sparc64-setup.h2m: ... this.
12237 * docs/man/grub-bios-setup.h2m: ... and this.
12238 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
12239 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
12240 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
12241 (grub_target_addr_t): Remove.
12242 (grub_target_size_t): Remove.
12243 (grub_target_ssize_t): Remove.
12244 * util/grub-install.in: Use new grub-*-setup.
12245 * util/grub-mkimagexx.c (Elf_Word): New define.
12246 (Elf_Half): Likewise.
12247 (Elf_Section): Likewise.
12248 (ELF_ST_TYPE): Likewise.
12249 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
12250 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
12252 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12254 Replace grub_target_addr with more appropriate types.
12256 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
12257 grub_target_addr with grub_addr.
12258 * grub-core/commands/iorw.c (grub_cmd_read): Replace
12259 grub_target_addr with grub_port.
12260 (grub_cmd_write): Likewise.
12261 * grub-core/commands/memrw.c (grub_cmd_read): Replace
12262 grub_target_addr with grub_addr.
12263 (grub_cmd_write): Likewise.
12264 * grub-core/video/efi_uga.c (find_line_len): Likewise.
12266 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12268 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
12269 const qualifier for vendor_guid.
12271 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12273 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
12275 (efiemu_memequal): Likewise.
12276 (find_variable): Likewise.
12278 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12280 Fix missing console prototype on qemu-mips.
12282 * include/grub/mips/qemu_mips/console.h: New file.
12284 2012-02-27 Matthew Garrett <mjg@redhat.com>
12285 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12287 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
12288 * include/grub/efi/efi.h: Likewise.
12289 * include/grub/efi/api.h: Add guid for EFI-specified variables.
12290 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
12291 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
12292 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
12293 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
12294 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
12296 2012-02-27 Matthew Garrett <mjg@redhat.com>
12298 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
12300 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12302 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
12305 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12307 * configure.ac: Remove inappropriate use of program_transform_name
12308 on grubdir and bootdir but allow explicit specification of those
12311 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12313 * util/grub-mknetdir.in (grub_prefix): Removed.
12314 (subdir): Use @bootdirname@ and @grubdirname@.
12316 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12318 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
12320 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12322 * po/POTFILES.in: Regenerated.
12324 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12326 Remove improper use of program_transform_name on pkglibrootdir.
12328 * configure.ac (pkglibrootdir): Removed.
12329 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
12330 * util/grub-mkimage.c: Likewise.
12332 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12334 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
12337 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12339 * util/grub-install.in: Use file identifier if no UUID is available
12340 or user explicitly prompted for it.
12342 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
12344 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
12345 (freebsd_get_zfs): New function.
12346 (grub_freebsd_boot): Pass zfs UUID.
12347 (grub_cmd_freebsd): Set zfs UUID.
12349 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
12351 * conf/Makefile.common (platformdir): Base on pkglibdir and not
12354 2012-02-27 Mike Gilbert <floppym@gentoo.org>
12356 Add configure flag to control libzfs integration.
12358 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
12360 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12362 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
12364 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
12367 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12369 Remove grub_{modname}_init and grub_{modname}_fini. They should never
12370 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
12371 be used on non-modules.
12373 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
12374 Rename to grub_boot_init.
12375 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
12376 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
12377 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
12378 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
12379 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
12380 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
12381 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
12382 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
12384 (grub_machine_init): Remove empty inits.
12385 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
12387 (grub_machine_init): Remove empty inits.
12388 * grub-core/term/arc/console.c: Remove explicit proto.
12389 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
12390 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
12391 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12392 grub_at_keyboard_fini.
12393 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
12394 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
12395 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12397 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
12398 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
12399 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12401 * grub-core/term/ieee1275/console.c: Remove explicit proto.
12402 * grub-core/term/serial.c (GRUB_MOD_INIT)
12403 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
12404 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12406 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
12407 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
12408 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
12409 grub_terminfo_fini.
12410 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
12411 (GRUB_MOD_FINI): Likewise.
12412 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
12413 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
12414 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12415 grub_video_radeon_fuloong2e_fini.
12416 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
12417 [LOONGSON]: Rename to grub_video_sis315pro_init.
12418 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12419 grub_video_sis315pro_fini.
12420 * grub-core/video/sm712.c (GRUB_MOD_INIT)
12421 [LOONGSON]: Rename to grub_video_sm712_init.
12422 (GRUB_MOD_FINI) [LOONGSON]: Rename to
12423 grub_video_sm712_fini.
12424 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
12425 (grub_at_keyboard_fini): Likewise.
12426 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
12427 Don't declare grub_{modname}_init.
12428 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
12429 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
12431 (grub_keylayouts_fini) [!EMU]: Likewise.
12432 * include/grub/serial.h (grub_serial_init) [!EMU]:
12434 (grub_serial_fini) [!EMU]: Likewise.
12435 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
12437 (grub_terminfo_fini) [!EMU]: Likewise.
12438 * include/grub/video.h (grub_font_init) [!EMU]:
12440 (grub_font_fini) [!EMU]: Likewise.
12441 (grub_gfxterm_init) [!EMU]: Likewise.
12442 (grub_gfxterm_fini) [!EMU]: Likewise.
12443 (grub_video_sm712_init) [!EMU]: Likewise.
12444 (grub_video_sm712_fini) [!EMU]: Likewise.
12445 (grub_video_sis315pro_init) [!EMU]: Likewise.
12446 (grub_video_sis315pro_fini) [!EMU]: Likewise.
12447 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
12448 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
12450 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12452 Make nand a prefix for nand devices.
12454 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
12456 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12458 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
12459 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
12461 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12463 * include/grub/env.h (grub_env_find): Remove prototype.
12464 * grub-core/kern/env.c (grub_env_find): Make static.
12465 (grub_env_set): Remove useless set.
12467 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12469 * grub-core/kern/i386/realmode.S: Remove useless align.
12471 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12473 * include/grub/dl.h (grub_dl_load_file): Don't export.
12475 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12477 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
12480 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12482 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
12484 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
12485 not reloading whole superblock but only the part which is really needed.
12486 Remove useless grub_errors.
12487 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
12490 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12492 Don't export grub_get_rtc.
12494 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
12495 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
12497 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12499 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
12501 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12503 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
12504 argument since it can be deduced from diskfilter. All users updated.
12506 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12510 * include/grub/list.h (grub_prio_list): Removed.
12511 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
12512 GRUB_COMMAND_PRIO_MASK.
12513 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
12514 GRUB_COMMAND_FLAG_ACTIVE.
12515 (grub_prio_list_insert): Removed.
12516 (grub_prio_list_remove): Likewise.
12517 (GRUB_AS_PRIO_LIST): Likewise.
12518 (GRUB_AS_PRIO_LIST_P): Likewise.
12519 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
12520 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
12521 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
12522 * grub-core/kern/command.c (grub_register_command_prio): Inline
12523 the prio_list code.
12524 (grub_unregister_command): Likewise.
12526 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12528 Fix interrupt mixup from previous commit.
12530 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
12531 (grub_realidt): New var.
12532 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
12534 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
12536 (grub_relocator16_boot): Set grub_relocator16_idt.
12537 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
12538 (LOCAL(realidt)): ... this.
12539 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
12540 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
12541 (grub_realidt): New variable.
12543 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12545 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
12546 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
12547 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
12548 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
12550 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
12551 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
12552 * po/POTFILES.in: Regenerate.
12554 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12556 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
12559 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12561 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
12563 (add_length): Likewise.
12565 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12566 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
12568 GDB serial and backtrace support.
12570 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
12571 (prot_to_real): Likewise.
12572 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
12573 * grub-core/Makefile.core.def (backtrace): New module.
12575 * grub-core/gdb/cstub.c: New file.
12576 * grub-core/gdb/gdb.c: Likewise.
12577 * grub-core/gdb/i386/idt.c: Likewise.
12578 * grub-core/gdb/i386/machdep.S: Likewise.
12579 * grub-core/gdb/i386/signal.c: Likewise.
12580 * grub-core/lib/i386/backtrace.c: Likewise.
12581 * grub-core/lib/backtrace.c: Likewise.
12582 * include/grub/backtrace.h: Likewise.
12583 * include/grub/gdb.h: Likewise.
12584 * include/grub/i386/gdb.h: Likewise.
12586 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12588 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
12590 (add_length): Likewise.
12591 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
12592 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
12594 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
12595 __argp_get_display_len.
12597 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12599 $"..." support in scripts.
12601 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
12602 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
12603 * grub-core/script/yylex.l: Likewise.
12604 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
12607 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12609 * gentpl.py: Remove obsolete pkglib_DATA handling.
12611 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12613 Don't transform PACKAGE_TARNAME following a discussion on autoconf
12616 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
12617 * util/grub-kbdcomp.in: Likewise.
12618 * util/grub-mkconfig.in: Likewise.
12619 * util/grub-mkconfig_lib.in: Likewise.
12620 * util/grub-mknetdir.in: Likewise.
12621 * util/grub-mkrescue.in: Likewise.
12622 * util/grub-mkstandalone.in: Likewise.
12623 * util/grub-reboot.in: Likewise.
12624 * util/grub-set-default.in: Likewise.
12625 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12627 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12629 Remove GRUB_PREFIX.
12631 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
12632 * util/grub.d/00_header.in: Compute prefix in the only place it's still
12633 used for backward compatibility.
12635 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12637 Add new all_video module.
12639 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
12640 * grub-core/Makefile.core.def (all_video): New module.
12641 * grub-core/genmoddep.awk: Generate dependency of all_video from
12643 * grub-core/lib/fake_module.c: New file.
12644 * grub-core/normal/main.c (features): Add feature_all_video_module.
12645 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
12646 don't do explicit search again.
12647 insmod all_video in load_video if available.
12649 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12651 Another round of string clarification and adding TRANSLATORS comments.
12653 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12655 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
12657 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12659 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
12661 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
12662 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
12664 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12666 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
12667 trailing newline implicitly. All users updated.
12669 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12671 Implement serial on IEEE1275 and EFI.
12673 * docs/grub.texi (Platform-specific limitations): Fix the columen video
12674 on emu. Mention arc and emu as the only platforms without serial
12676 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
12677 ieee1275 platforms.
12678 * grub-core/term/efi/serial.c: New file.
12679 * grub-core/term/ieee1275/serial.c: Likewise.
12680 * grub-core/term/serial.c (grub_serial_find): Disable direct port
12681 specification if no ns8250 driver is available.
12682 (grub_cmd_serial): Likewise.
12683 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
12684 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
12685 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
12686 (grub_efi_parity_type_t): New type.
12687 (grub_efi_stop_bits_t): Likewise.
12688 (grub_efi_serial_io_interface): New struct.
12689 * include/grub/serial.h (grub_serial_port): Make 'broken' field
12690 available for all interfaces.
12691 Add EFI and IEEE1275 fields.
12692 (grub_ofserial_init): New proto.
12693 (grub_efiserial_init): Likeiwse.
12694 * util/grub.d/00_header.in: Don't check for the presence of serial
12697 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12699 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
12700 name as if it was an alias.
12702 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12704 * grub-core/commands/lsacpi.c (options): Fix typo.
12706 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12708 Convert grub-emu to argp.
12710 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
12712 * util/argp_common.c: Rename to ...
12713 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
12714 Add missing includes.
12715 * grub-core/kern/emu/main.c: Convert to argp.
12716 * po/POTFILES.in: Regenerate.
12717 * util/grub-install.in (usage): Make first letter lowcase in messages
12719 * util/grub-setup.c (options): Likewise.
12721 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12723 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
12724 Put back accidently commented-out code.
12726 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12728 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
12729 loop check using Brent algorithm.
12730 (grub_hfsplus_btree_search): Likewise.
12732 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12734 * util/grub-install.in: Fix usage of wrong device for PreP install.
12736 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12738 * conf/Makefile.common (CFLAGS_GNULIB): Add
12739 -Wno-unsafe-loop-optimizations.
12740 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
12742 * grub-core/commands/legacycfg.c: Add pragma to skip
12743 -Wunsafe-loop-optimizations.
12744 (check_password_md5_real): Fix loop counter type.
12745 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
12747 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
12748 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
12750 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
12751 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
12752 * grub-core/net/net.c (grub_net_route_address): Add safety loop
12754 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
12755 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
12756 avoid possible infinite loops.
12757 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
12758 and -Wunsafe-loop-optimizations.
12759 * grub-core/script/yylex.l: Likewise.
12760 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
12761 (print_glyphs): Avoid infinite loops.
12762 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
12764 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
12766 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
12767 to avoid infinite loop.
12768 (disp_acpi_rsdt_table): Likewise.
12770 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12772 * grub-core/font/font.c (grub_font_load): Add support for default
12773 path for fonts ($prefix/fonts).
12774 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
12775 for checking if string is a path.
12776 * grub-core/normal/main.c (features): Add feature_default_font_path.
12777 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
12778 * util/grub.d/00_header.in: Use default directory if possible.
12779 * util/grub-install.in: Install unicode.pf2.
12781 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12783 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
12784 * po/Rules-swiss: New file.
12785 * po/swiss.sed: Likewise.
12787 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12789 * grub-core/fs/btrfs.c (find_device): Fix typos.
12790 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
12791 * util/grub-mkrelpath.c (argp_parser): Likewise.
12792 Reported by: Yuri Chornoivan.
12794 2012-02-23 Dalet Omega <daletomega@gmail.com>
12796 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
12797 for usual informative messages.
12799 2012-02-23 Dalet Omega <daletomega@gmail.com>
12803 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
12804 * conf/Makefile.common: Define starfielddir.
12805 * configure.ac: Configure starfield.
12806 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
12807 * themes/starfield/README: Likewise.
12808 * themes/starfield/blob_w.png: Likewise.
12809 * themes/starfield/boot_menu_c.png: Likewise.
12810 * themes/starfield/boot_menu_e.png: Likewise.
12811 * themes/starfield/boot_menu_n.png: Likewise.
12812 * themes/starfield/boot_menu_ne.png: Likewise.
12813 * themes/starfield/boot_menu_nw.png: Likewise.
12814 * themes/starfield/boot_menu_s.png: Likewise.
12815 * themes/starfield/boot_menu_se.png: Likewise.
12816 * themes/starfield/boot_menu_sw.png: Likewise.
12817 * themes/starfield/boot_menu_w.png: Likewise.
12818 * themes/starfield/slider_c.png: Likewise.
12819 * themes/starfield/slider_n.png: Likewise.
12820 * themes/starfield/slider_s.png: Likewise.
12821 * themes/starfield/src/blob_nw.xcf: Likewise.
12822 * themes/starfield/src/bootmenu/: Likewise.
12823 * themes/starfield/src/bootmenu/center.xcf: Likewise.
12824 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
12825 * themes/starfield/src/bootmenu/side.xcf: Likewise.
12826 * themes/starfield/src/slider_c.xcf: Likewise.
12827 * themes/starfield/src/slider_n.xcf: Likewise.
12828 * themes/starfield/src/slider_s.xcf: Likewise.
12829 * themes/starfield/src/terminalbox/: Likewise.
12830 * themes/starfield/src/terminalbox/center.xcf: Likewise.
12831 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
12832 * themes/starfield/src/terminalbox/side.xcf: Likewise.
12833 * themes/starfield/starfield.png: Likewise.
12834 * themes/starfield/terminal_box_c.png: Likewise.
12835 * themes/starfield/terminal_box_e.png: Likewise.
12836 * themes/starfield/terminal_box_n.png: Likewise.
12837 * themes/starfield/terminal_box_ne.png: Likewise.
12838 * themes/starfield/terminal_box_nw.png: Likewise.
12839 * themes/starfield/terminal_box_s.png: Likewise.
12840 * themes/starfield/terminal_box_se.png: Likewise.
12841 * themes/starfield/terminal_box_sw.png: Likewise.
12842 * themes/starfield/terminal_box_w.png: Likewise.
12843 * themes/starfield/theme.txt: Likewise.
12845 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
12847 * util/grub.d/00_header.in: Add missing export theme.
12849 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12851 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
12853 Reported by: Eren D.
12855 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12857 * conf/Makefile.common (grubdatadir): Removed.
12858 (Makefile.am): Move eveything grubdata to pkgdata.
12860 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12862 * grub-core/commands/acpihalt.c (get_sleep_type):
12863 Remove unused variable.
12865 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12867 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
12868 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
12869 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
12870 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
12871 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
12872 i18n with gettext no-op.
12873 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
12874 GRUB_ACPI_OPCODE_STRING_CONST.
12875 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
12876 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
12878 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12880 * po/POTFILES.in: Regenerate.
12882 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12884 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
12885 -Wno-error=missing-noreturn.
12887 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12889 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
12890 condition to avoid possibly infinite loops.
12891 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
12892 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
12894 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12896 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
12897 condition to avoid possibly infinite loops.
12899 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12901 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
12904 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12906 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
12908 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12910 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
12912 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12914 * util/bin2h.c (usage): Add missing attribute noreturn.
12916 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12918 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
12919 if the size isn't divisible by 512.
12921 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12923 Make list_push and list_remove functions rather than inline functions
12924 to decrease size and avoid aliasing violations.
12926 * include/grub/list.h (grub_list_push): Move to ...
12927 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
12928 * include/grub/list.h (grub_list_remove): Move to ...
12929 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
12931 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
12933 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
12934 and -Wunused-result.
12936 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12938 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
12939 Reported by: Seth Goldberg
12941 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
12943 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
12945 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
12947 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
12948 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
12950 * docs/grub.texi (Simple configuration): Document
12951 GRUB_CMDLINE_GNUMACH.
12953 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
12955 * conf/Makefile.common (platform_SCRIPTS): New variable.
12956 (platform_PROGRAMS): Likewise.
12957 * gentpl.py: Mark *,module and *.image for install.
12958 * grub-core/gdb_grub.in: Add a notice of expected environment.
12959 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
12960 (gmodule.pl): Likewise.
12962 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
12964 Replace grub_checkkey with grub_getkey_noblock.
12966 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
12967 (grub_getkey_noblock): ... this. All users updated.
12969 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
12971 * grub-core/kern/emu/console.c: Move to ...
12972 * grub-core/term/emu/console.c: ...here.
12973 (grub_ncurses_getkey): Fix return value if no key is detected.
12975 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12977 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
12978 (grub_unit_test_fini): Likewise.
12979 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
12981 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12983 * include/grub/test.h (GRUB_UNIT_TEST)
12985 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12987 * grub-core/script/execute.c (grub_script_break): Clarify logic.
12988 Better error handling.
12989 (grub_script_return): Likewise.
12990 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12992 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12994 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
12995 rimplicit redifinition.
12997 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12999 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
13002 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13004 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
13005 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
13008 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13010 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
13011 as GRUB_ERR_BUG. Don't malloc if no device is available.
13013 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13015 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
13016 Mark calling with invalid term as GRUB_ERR_BUG.
13018 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13020 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
13021 packets rather than raising an error.
13023 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13025 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
13028 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13030 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
13031 diagnostic to dprintf.
13032 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13034 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13036 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
13039 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13041 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
13042 (grub_ntfs_iterate_dir): Likewise.
13044 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13046 Efiemu stylistic fixes and gettext.
13048 * grub-core/efiemu/i386/loadcore32.c
13049 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
13050 * grub-core/efiemu/i386/loadcore64.c
13051 (grub_arch_efiemu_relocate_symbols64): Likewise.
13052 * grub-core/efiemu/i386/pc/cfgtables.c
13053 (grub_machine_efiemu_init_tables): Likewise.
13054 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
13055 (grub_efiemu_loadcore_initXX): Add a filename argument.
13057 Improved error message.
13058 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
13059 Add a filename argument.
13061 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
13062 Reclassify double relocation as GRUB_ERR_BUG.
13064 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13066 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
13069 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13071 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
13074 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13076 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
13078 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
13080 Improve string. Gettextize.
13082 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13084 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
13086 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
13088 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13090 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
13091 [GRUB_UTIL]: New function.
13092 (insert_array) [GRUB_UTIL]: Store partmaps.
13093 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
13095 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
13096 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
13097 (probe_abstraction): Print diskfilter and not raid.
13098 Reported by: Lennart Sorensen
13100 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13102 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
13103 * util/grub-mkimagexx.c (MASK3): New define.
13104 (add_value_to_slot_20b): Use MASK3.
13105 (add_value_to_slot_21): Likewise.
13106 (relocate_addresses): Fix format specification.
13107 (load_image): Explicitly init symtab_section.
13109 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13111 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
13112 (grub_util_biosdisk_get_grub_dev): Fix format specification.
13114 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13116 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
13118 Reported by: Lennart Sorensen
13120 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
13122 * gentpl.py: Add missing license header.
13123 * docs/grub.texi: Update copyright year.
13125 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13127 Source grub-mkconfig_lib from the build directory at build time.
13128 Suggested by: Vladimir Serbinenko.
13130 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
13131 * util/grub-install.in: Define pkgdatadir if not already set, and source
13132 grub-mkconfig_lib from there.
13133 * util/grub-kbdcomp.in: Likewise.
13134 * util/grub-mkconfig.in: Likewise.
13135 * util/grub-mknetdir.in: Likewise.
13136 * util/grub-mkrescue.in: Likewise.
13137 * util/grub-mkstandalone.in: Likewise.
13138 * util/grub-reboot.in: Likewise.
13139 * util/grub-set-default.in: Likewise.
13140 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13142 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13144 Increase warning level.
13146 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
13147 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
13148 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
13149 (TARGET_CFLAGS): Likewise.
13150 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
13151 * grub-core/Makefile.core.def (decompressor_xz): Add
13152 -Wno-unreachable-code.
13153 (normal): Add -Wno-redundant-decls.
13154 (xzio): Add -Wno-unreachable-code.
13155 (lzopio): Add -Wno-redundant-decls -Wno-error.
13156 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
13157 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
13158 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
13159 * grub-core/kern/dl.c: Add exception to -Wcast-align.
13160 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
13161 * grub-core/kern/i386/coreboot/init.c: Add exception to
13162 -Wsuggest-attribute=noreturn.
13163 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
13164 * grub-core/kern/ia64/dl_helper.c: Likewise.
13165 * grub-core/kern/mips/dl.c: Likewise.
13166 * grub-core/kern/sparc64/dl.c: Likewise.
13167 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
13168 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
13169 (memcmp): Likewise.
13170 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
13171 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
13172 * grub-core/loader/mips/linux.c: Likewise.
13173 * grub-core/loader/multiboot_elfxx.c: Likewise.
13174 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
13175 * grub-core/video/sm712.c: Add exception to -Wcast-align.
13176 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
13177 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
13179 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
13180 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
13183 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13185 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
13188 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13190 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13191 Avoid improper use of strings.
13192 (grub_cmd_legacy_initrdnounzip): Likewise.
13194 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13196 * include/grub/emu/misc.h (grub_util_warn): Add missing format
13198 (grub_util_info): Likewise.
13199 (grub_util_error): Likewise.
13201 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13203 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
13204 * util/grub-fstest.c (fstest): Likewise.
13206 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13208 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
13209 (grub_md_sha512_real): Likewise.
13210 (grub_util_get_geli_uuid): Likewise.
13211 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
13212 (grub_util_biosdisk_open): Fix format specification.
13213 Respect format security.
13214 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
13215 (xrealloc): Likewise.
13216 (xasprintf): Likewise.
13218 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13220 * util/import_gcry.py: Include grub/crypto.h in init.c.
13222 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13224 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
13225 (generate_image): Make prefix a const char *.
13226 Fix format specifications. Respect format security.
13227 Avoid void * arithmetics.
13229 (argp_parser): Remove unused variable. Respect format security.
13230 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
13231 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
13232 (count_funcs): Remove unused variable.
13233 (relocate_addresses): Fix format specification.
13234 Disable x86-64 with elf32. Remove unused variables.
13235 (add_fixup_entry): Avoid shadowing.
13236 (make_reloc_section): Fix format specification.
13238 (locate_sections): Fix format specifications.
13239 (load_image): Avoid shadowing.
13241 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13243 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
13244 Fix format specifications. Respect format security.
13245 Don't translate already translated grub_errmsg.
13246 (argp_parser): Remove unused variable
13248 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13250 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
13252 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13254 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
13255 (main): Likewise. Use xmalloc. Respect format security.
13257 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13259 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
13261 (argp_parser): Remove unused variable.
13263 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13265 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
13266 (add_pixel): Make static.
13267 (add_font): Likewise.
13268 (write_string_section): Make name and str a const char *.
13269 (write_be16_section): Make name a const char *.
13270 (print_glyphs): Make static.
13271 (write_font_ascii_bitmap): Likewise.
13272 (write_font_width_spec): Likewise.
13273 (write_font_pf2): Likewise.
13274 (argp_parser): Remove unused variable.
13275 Respect format security.
13276 (main): Avoid shadowing. Respect format security.
13278 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13280 * util/grub-editenv.c (argp_parser): Make static.
13281 (create_envblk_file): Use xmalloc.
13282 (open_envblk_file): Likewise.
13283 Resepect format security.
13284 (set_variables): Respect format security.
13286 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13288 * util/getroot.c (grub_find_device): Respect format security.
13289 (get_mdadm_uuid): Remove unused variable.
13290 (grub_util_pull_device): Dont call gettext on already translated
13292 (find_system_device): Remove unused variable.
13293 (grub_util_get_grub_dev): Likewise.
13294 (grub_make_system_path_relative_to_its_root): Respect format security.
13296 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13298 * util/grub-fstest.c (execute_command): Make first argument
13300 (read_file): Avoid shadowing.
13301 Reuse underlying error message if device open fails.
13302 (cmd_cmp): Respect format security.
13303 (root): Make const char *.
13304 (fstest): Remove args argument and use global copy.
13305 Respect format security.
13306 (argp_parser): Make static.
13307 (main): Make default_root const char *.
13309 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13311 * util/grub-mount.c (root): Make const char *.
13312 (execute_command): Make first argument a const char *.
13313 (fuse_init): Respect format security.
13314 (argp_parser): Make static. Remove unused variable.
13315 (main): Make default_root a const char *.
13316 Respect format security.
13318 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13320 * util/grub-probe.c (probe): Don't call gettext on already translated
13322 Remove unused variables.
13323 (argp_parser): Remove unused variable.
13325 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13327 * util/grub-script-check.c (argp_parser): Remove unused variable.
13328 (main): Rename read to curread to avoid shadowing.
13330 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13332 * util/misc.c (grub_util_write_image_at): Fix format specification.
13333 (grub_util_write_image): Likewise.
13334 (grub_script_execute_argument_to_string): Removed (unused).
13335 (grub_script_execute_menuentry): Likewise.
13336 (grub_putchar): Likewise.
13338 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13340 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
13341 (FUNCTION) [GRUB_UTIL]: Likewise.
13342 (VARIABLE) [GRUB_UTIL]: Likewise.
13344 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13346 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
13347 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
13349 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13351 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
13354 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13356 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
13357 (LzmaEnc_SaveState): Removed (unused).
13358 (LzmaEnc_RestoreState): Likewise.
13359 (LzmaEnc_InitPriceTables): Made static.
13360 (LzmaEnc_Construct): Likewise.
13361 (LzmaEnc_FreeLits): Likewise.
13362 (LzmaEnc_Destruct): Likewise.
13363 (LzmaEnc_Init): Likewise.
13364 (LzmaEnc_InitPrices): Likewise.
13365 (LzmaEnc_Finish): Likewise.
13366 (LzmaEnc_PrepareForLzma2): Removed (unused).
13367 (LzmaEnc_MemPrepare): Likewise.
13368 (LzmaEnc_GetNumAvailableBytes): Likewise.
13369 (LzmaEnc_GetCurBuf): Likewise.
13370 (LzmaEnc_CodeOneMemBlock): Likewise.
13372 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13374 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
13375 (grub_util_ldm_embed): Likewise.
13377 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13379 * util/grub-editenv.c (print_var): Rename name to varname to
13381 (main): Rename index to curindex to avoid shadowing.
13382 Make filename a const char *.
13384 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13386 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
13387 to arg_getline to avoid shadowing.
13389 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13391 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
13392 disk_ to avoid shadowing.
13394 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13396 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
13397 curindex to avoid shadowing.
13399 (MatchFinder_GetNumAvailableBytes): Make static.
13401 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13403 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
13406 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13408 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
13409 argument from encrypt to do_encrypt to avoid shadowing.
13411 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13413 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
13414 incorrect nesting of #if's.
13416 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13418 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
13419 checks which are always false on some platforms.
13420 (grub_cmd_lsacpi): Likewise.
13421 * grub-core/kern/misc.c (grub_strtoul): Likewise.
13422 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
13425 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13427 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
13428 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
13430 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13432 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
13433 re_dfa_t to avoid breaking alignment invariants.
13434 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
13435 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
13437 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13439 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
13440 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
13442 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13444 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
13447 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13449 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
13450 conserve alignment invariants.
13451 (grub_ehci_ehcc_read16): Likewise.
13452 (grub_ehci_oper_read32): Likewise.
13453 (grub_ehci_oper_write32): Likewise.
13454 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13455 Conserve alignment invariants.
13457 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13459 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
13460 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
13463 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13465 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
13466 Remove unused variable.
13468 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13470 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
13473 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13475 * include/grub/net.h: Remove double declarations.
13477 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13479 Remove "payload" command in ia64 Linux loader since I couldn't
13480 find any evidence of it being used for anything.
13481 Replace "relocate" command with an environment variable
13483 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
13485 (ia64_boot_payload): Removed.
13486 (last_payload): Likewise.
13487 (RELOCATE_OFF): Likewise.
13488 (RELOCATE_ON): Likewise.
13489 (RELOCATE_FORCE): Likewise.
13490 (relocate): Likewise.
13491 (free_pages): Don't free payloads.
13492 (grub_load_elf64): Use common error messages.
13493 Use "linux_relocate" variable.
13494 Increase the space after boot_params.
13495 (grub_cmd_payload): Removed.
13496 (grub_cmd_relocate): Likewise.
13497 (grub_cmd_fpswa): Improve messages.
13498 (cmd_payload): Removed.
13499 (cmd_relocate): Likewise.
13500 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
13501 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
13503 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13505 Convert UHCI to DMA framework.
13507 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
13508 (grub_uhci_pci_iter): Fill new members
13509 (grub_alloc_td): Use P2V and V2P functions.
13510 (grub_free_queue): Likewise.
13511 (grub_alloc_qh): Likewise.
13512 (grub_uhci_setup_transfer): Likewise.
13513 (grub_uhci_check_transfer): Likewise.
13515 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13517 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
13518 Remove assignment in if while on it.
13520 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13522 * util/grub-mkstandalone.in: Fix modules directory.
13524 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13526 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
13528 (argp_parser): Accept "auto" as compression specification.
13530 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13532 Fix `help' with unloaded modules.
13534 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
13535 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
13536 (grub_dyncmd_dispatcher): Small stylistic fix.
13537 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
13538 explicit help is requested.
13540 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13542 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
13543 Explicitly init restart while on it.
13545 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13547 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
13550 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13552 * util/grub-mknetdir.in: Use . rather than source for POSIX
13555 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13557 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
13559 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13561 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
13564 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13566 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
13569 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13571 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
13573 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13575 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
13576 iteration of partitions.
13578 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
13580 Improve gettext support. Stylistic fixes and error handling fixes while
13583 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13585 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
13586 part. Instead setup the correct stack in RM.
13587 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
13589 * include/grub/i386/relocator_private.h: New file.
13591 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13593 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
13595 * util/grub-fstest.c (options): Add missing DEVICE part.
13597 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13599 Clarify and unify messages.
13601 * grub-core/commands/hashsum.c (options): Unify messages.
13602 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
13603 literal-only message as translatable.
13604 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
13605 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
13606 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
13608 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
13609 key, not the key used to unlock. Clarify what it's used for.
13610 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
13611 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
13612 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
13613 * util/grub-editenv.c (options): Unify "verbose" message.
13614 * util/grub-fstest.c (read_file): Unify error message.
13615 (fstest): Add quotes around commands.
13616 (options): Unify "verbose" message.
13617 * util/grub-install.in: Add quotes around variable name.
13618 * util/grub-kbdcomp.in: Unify error message.
13619 * util/grub-mkfont.c (main): Likewise.
13620 * util/grub-mkrescue.in: Likewise.
13621 * util/grub-mklayout.c (options): Unify "verbose" message.
13622 * util/grub-mkstandalone.in: Unify help and verbose messages.
13623 * util/grub-mount.c (options): Unify "verbose" message.
13624 * util/grub-probe.c (options): Likewise.
13625 * util/grub-script-check.c (options): Likewise.
13626 * util/grub-setup.c (setup): Unify no-terminator message.
13627 (options): Use DEVICE and not DEV.
13628 Unify "verbose" message.
13629 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
13631 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13633 Improve and unify messages.
13635 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
13636 name. All users updated.
13637 Print filename in error.
13638 (read_device_map): Print filename in error.
13639 * util/getroot.c (grub_guess_root_devices): Print filename in error.
13640 (grub_util_get_os_disk): Likewise.
13641 (grub_util_biosdisk_get_grub_dev): Likewise.
13642 (grub_util_check_block_device): Likewise.
13643 (grub_util_check_char_device): Likewise.
13644 (grub_make_system_path_relative_to_its_root): Likewise.
13645 * util/grub-editenv.c (create_envblk_file): Likewise.
13646 (open_envblk_file): Likewise.
13647 (write_envblk): Likewise.
13648 * util/grub-fstest.c (cmd_cp): Likewise.
13649 (cmd_cat): Likewise.
13650 (cmd_cmp): Likewise.
13651 * util/grub-menulst2cfg.c (main): Likewise.
13652 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
13653 (write_font_width_spec): Likewise.
13654 (write_font_pf2): Likewise.
13655 * util/grub-mkimage.c (generate_image): New argument outname.
13657 Remove unreacheable message.
13658 (options): Unify messages.
13659 (help_filter): Likewise.
13660 * util/grub-mklayout.c (usage): Removed (unused).
13661 (main): Print filename in error.
13662 * util/grub-mkrescue.in: Fix wrong quoting.
13663 * util/grub-setup.c (setup): Print filename in error.
13664 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
13665 (check_sas): Likewise.
13666 * util/misc.c (grub_util_get_fp_size): Removed.
13667 (grub_util_get_image_size): Print filename in error.
13668 (grub_util_read_at): Removed.
13669 (grub_util_read_image): Print filename in error.
13670 (grub_util_load_image): Likewise.
13671 (grub_util_write_image_at): New argument filename. All users updated.
13672 Print filename in error.
13673 (grub_util_write_image): New argument filename. All users updated.
13674 Print filename in error.
13675 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
13676 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
13678 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13680 * grub-core/Makefile.core.def (pxechain): New module.
13681 * grub-core/loader/i386/pc/pxechainloader.c: New file.
13682 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
13684 (grub_pc_net_config_real): Use grub_pxe_get_cached.
13685 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
13687 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13689 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
13690 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
13691 * include/grub/err.h (grub_error_saved): New struct.
13692 (grub_errmsg): Make array size explicit.
13693 * include/grub/misc.h (grub_error_save): New function.
13694 (grub_error_load): Likewise.
13695 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
13696 (grub_error_push): Update `errno' member name.
13697 (grub_error_pop): Likewise
13698 * grub-core/net/tftp.c (tftp_data): New member save_err.
13699 (tftp_receive): Save error.
13700 (tftp_open): Restore error.
13702 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
13704 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
13705 to real mode down to execute A20-related code in protected mode as
13708 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
13710 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
13711 NULL when the argument `level' has an unexpected value.
13713 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13715 Move platform-dependent files from $prefix to $prefix/$platform.
13717 * config.h.in (GRUB_TARGET_CPU): New definition.
13718 (GRUB_PLATFORM): Likewise.
13719 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
13720 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
13721 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13722 * grub-core/kern/dl.c (grub_dl_load): Likewise.
13723 * grub-core/normal/autofs.c (read_fs_list): Likewise.
13724 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
13725 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
13726 * grub-core/normal/term.c (read_terminal_list): Likewise.
13727 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
13729 (grub_gettext_init_ext): Likewise.
13730 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
13732 * util/grub-install.in: Update directories.
13733 * util/grub-mknetdir.in: Likewise.
13734 * util/grub-mkrescue.in: Likewise.
13736 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13738 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
13739 grub_error framework. All users updated.
13741 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13743 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
13744 lists (by always binsearching), improve caching (cache strings
13745 used for binsearch, not only results), improve
13746 maintainability (by using more structured binary search) and correct
13749 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13751 * grub-core/script/execute.c (grub_script_return): Fix warning.
13753 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
13755 * grub-core/script/execute.c (grub_script_return): Fix potential
13757 Reported by: Jim Meyering.
13759 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13761 * po/POTFILES.in: Regenerate.
13762 * util/grub-install.in: Gettextize the strings missed in first pass.
13764 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13766 * Makefile.util.def (grub-mkdevicemap): Removed.
13767 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
13768 * include/grub/util/deviceiter.h: Removed.
13769 * util/deviceiter.c: Likewise.
13770 * util/getroot.c (grub_util_get_os_disk): New function.
13771 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
13772 replacement for EFI.
13773 * util/grub-mkdevicemap.c: Removed.
13774 * util/grub-probe.c (probe): Handle PRINT_DISK.
13775 (argp_parser): Handle -t disk.
13777 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13779 * util/grub-mkfont.c: Migrate to argp.
13780 * util/grub-mklayout.c: Likewise.
13781 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13782 * util/grub-mkrelpath.c: Likewise.
13783 * util/grub-probe.c: Likewise.
13784 * util/grub-script-check.c: Likewise.
13786 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13788 * util/grub-reboot.in: Add missing datarootdir.
13789 Add missing newline.
13790 * util/grub-set-default.in: Add missing datarootdir.
13791 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
13792 * util/grub-mkrescue.in: Likewise.
13794 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13796 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
13798 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13800 * util/grub-kbdcomp.in: Add decent help and gettextize.
13801 * docs/man/grub-kbdcomp.h2m: New file.
13803 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13805 Migrate grub-mkimage.c to argp.
13807 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
13808 (grub-setup): Likewise.
13809 * util/grub-setup.c (print_version): Move to ...
13810 * util/argp_common.c (print_version): ... here.
13811 * util/grub-setup.c (argp_program_version_hook): Move to ...
13812 * util/argp_common.c (argp_program_version_hook): ... here.
13813 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
13815 * util/grub-mkimage.c (main): Migrate to argp.
13817 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13819 * util/grub-mkrescue.in: Use same message as
13820 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
13821 for better translations.
13823 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13825 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
13826 options with generic grub-mkrescue.in with the goal of future
13829 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13831 * grub-core/kern/mm.c: Add missing include of i18n.h
13832 * grub-core/lib/relocator.c: Likewise.
13834 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13836 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
13838 (allocate_pages): Check return value.
13839 Replace fatal with error.
13840 (grub_linux_boot): Replace printf with dprintf.
13841 Check find_mmap_size return value.
13842 Replace fatal with error.
13843 Don't call grub_machine_fini.
13844 (grub_load_elf64): Replace printf with dprintf.
13845 (grub_cmd_linux): Likewise.
13846 (grub_cmd_initrd): Likewise.
13847 (grub_cmd_payload): Likewise.
13849 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13851 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
13853 * grub-core/video/radeon_fuloong2e.c
13854 (grub_video_radeon_fuloong2e_setup): Likewise.
13855 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
13856 * grub-core/video/video.c (grub_video_set_mode): Don't override
13857 standard out of memory message.
13859 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13861 NetBSD disk wedge support.
13863 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
13864 [__NetBSD__]: Handle NetBSD disk wedges.
13865 * util/getroot.c (convert_system_partition_to_system_disk)
13866 [__NetBSD__]: Likewise.
13868 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
13870 * util/grub-mkconfig.in: Use umask rather than chmod to create
13871 grub.cfg.new to avoid insecure grub.cfg.
13873 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13875 * grub-core/commands/ls.c: Gettextize.
13876 * grub-core/commands/setpci.c: Likewise.
13877 * grub-core/commands/videotest.c: Likewise.
13878 * grub-core/disk/geli.c: Likewise.
13879 * grub-core/kern/mm.c: Likewise.
13880 * grub-core/lib/relocator.c: Likewise.
13881 * grub-core/loader/efi/appleloader.c: Likewise.
13882 * grub-core/loader/i386/xnu.c: Likewise.
13883 * grub-core/loader/ia64/efi/linux.c: Likewise.
13884 * grub-core/loader/xnu.c: Likewise.
13885 * grub-core/net/dns.c: Likewise.
13886 * grub-core/net/net.c: Likewise.
13887 * grub-core/script/lexer.c: Likewise.
13888 * grub-core/script/parser.y: Likewise.
13889 * grub-core/script/yylex.l: Likewise.
13890 * util/getroot.c: Likewise.
13891 * util/grub-setup.c: Likewise.
13893 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13895 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
13898 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13900 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
13902 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13904 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
13906 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
13907 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
13909 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13911 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
13912 * util/grub-install.in: Gettextize.
13913 * util/grub-mkconfig.in: Likewise.
13914 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
13916 (grub_warn): Gettextize.
13917 * util/grub-mknetdir.in: Gettextize.
13918 * util/grub-mkrescue.in: Likewise.
13919 * util/grub-mkstandalone.in: Likewise.
13920 * util/grub-reboot.in: Likewise.
13921 * util/grub-set-default.in: Likewise.
13922 * util/grub.d/00_header.in: Likewise.
13923 * util/grub.d/10_hurd.in: Likewise.
13924 * util/grub.d/10_kfreebsd.in: Likewise.
13925 * util/grub.d/10_linux.in: Likewise.
13926 * util/grub.d/10_netbsd.in: Likewise.
13927 * util/grub.d/10_windows.in: Likewise.
13928 * util/grub.d/20_linux_xen.in: Likewise.
13929 * util/grub.d/30_os-prober.in: Likewise.
13930 * po/POTFILES-shell.in: Regenerate.
13932 2012-02-03 Richard Laager <rlaager@wiktel.com>
13934 * util/grub-mkimage.c (main): Fix format-security warning.
13935 * util/grub-mkrelpath.c (main): Likewise.
13936 * util/grub-probe.c (main): Likewise.
13938 2012-02-03 Richard Laager <rlaager@wiktel.com>
13940 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
13942 Put back lost PRINT_DRIVE.
13944 2012-02-03 Richard Laager <rlaager@wiktel.com>
13946 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
13947 (grub_guess_root_devices): Replace strlen with sizeof.
13949 (find_root_devices_from_poolname): Remove unused variable.
13952 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13954 Support install on multi-device filesystems.
13956 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
13957 (grub_guess_root_devices): ...this. Return char **. All users updated.
13958 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
13960 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
13961 (find_root_devices_from_poolname): ... here.
13962 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
13964 (grub_guess_root_device): Rename to ...
13965 (grub_guess_root_devices): ... this. Return char **. All users updated.
13966 * util/grub-install.in: Handle multi-device filesystems.
13967 * util/grub-probe.c (probe). Make device_names a char **. Add delim
13968 argument. All users updated.
13969 Handle multi-device filesystems.
13970 Use 'delim' as separator.
13971 Remove device check to allow filesystems on file.
13972 (main): Support -0 argument. Handle multi-device.
13973 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
13974 Fix a cross-device check while on it.
13975 (arguments): Remove root_dev.
13976 (argp_parser): Remove -r.
13977 (main): Remove root_dev.
13979 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13981 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
13983 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13985 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
13987 Reported by: NODA, Kai <nodakai>.
13989 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
13993 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
13995 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
13996 (grub_ehci_setup_qh): Likewise.
13997 (grub_ehci_find_qh): Likewise.
13998 (grub_ehci_transaction): Likewise.
13999 (grub_ehci_setup_transfer): Likewise.
14000 (grub_ehci_check_transfer): Likewise.
14001 (grub_ehci_portstatus): Likewise.
14002 (grub_ehci_detect_dev): Likewise.
14003 (grub_ehci_transfer_controller_data): New field td_last_phys.
14004 (grub_ehci_setup_transfer): Fill td_last_phys.
14005 (grub_ehci_check_transfer): Use td_last_phys.
14007 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
14009 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
14010 if no submenu is present.
14012 2012-02-01 Aleš Nesrsta <starous@volny.cz>
14016 * include/grub/usb.h (grub_usbms_protocol_t): New values
14017 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
14018 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
14019 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
14020 (grub_usbms_dev): Add subclass, protocol and intrpt.
14021 Remove in_maxsz and out_maxsz.
14022 (grub_usbms_reset): Rename to ...
14023 (grub_usbms_bo_reset): .. this.
14024 (grub_usbms_cbi_cmd): New function.
14025 (grub_usbms_cbi_reset): Likewise.
14026 (grub_usbms_reset): Likewise.
14027 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
14028 (grub_usbms_transfer): Rename to ...
14029 (grub_usbms_transfer_bo): ... this.
14030 (grub_usbms_transfer_cbi): Likewise.
14031 (grub_usbms_transfer): Likewise.
14033 2012-02-01 Aleš Nesrsta <starous@volny.cz>
14034 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
14036 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
14037 the support for the CS5536 modification thereos and few bugfixes.
14039 * grub-core/Makefile.core.def (ehci): New module.
14040 * grub-core/bus/usb/ehci.c: New file.
14041 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
14042 port and hubaddr. All users updated.
14043 Save port and hubaddr into dev structure.
14044 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
14046 * include/grub/pci.h (grub_dma_phys2virt): New function.
14047 (grub_dma_virt2phys): Likewise.
14048 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
14050 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14052 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
14053 check as some mkfs implementations omit it.
14055 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14057 * docs/grub.texi (Unicode): Mention identifier and space limitations.
14059 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14061 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
14062 Add new member volname2.
14063 (grub_jfs_label): Use volname2 if available.
14065 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14067 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
14068 over last_mounted as seen in image generated by mkfs.nilfs2.
14069 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
14071 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14073 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
14074 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
14075 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
14077 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14079 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
14082 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14084 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
14085 subvolume name (by removing a bogus and useless check).
14087 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14089 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
14090 sizeof while on it.
14092 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14094 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
14095 (grub_scsi_read_capacity10): ... this.
14096 (grub_scsi_read_capacity16): New function.
14097 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
14099 Fix off-by-one error.
14100 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
14102 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
14103 (grub_scsi_read_capacity10): ... this.
14104 (grub_scsi_read_capacity_data): Rename to ...
14105 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
14106 (grub_scsi_read_capacity16): New struct.
14107 (grub_scsi_read_capacity16_data): Likewise.
14108 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
14109 grub_scsi_cmd_read_capacity10.
14110 New command grub_scsi_cmd_read_capacity16.
14112 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14114 SCSI >2TiB support.
14116 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
14117 (grub_scsi_write16): Likewise.
14118 (grub_scsi_read): Use read16 when necessary.
14119 (grub_scsi_write): Likewise.
14120 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
14121 (grub_scsi_write16): Likewise.
14122 (grub_scsi_cmd_t): Add READ16 and WRITE16.
14124 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14126 SCSI write support (for usbms mainly).
14128 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
14130 (grub_scsi_write): Implement.
14131 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
14133 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
14135 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
14138 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14140 * grub-core/lib/posix_wrap/string.h (memchr): New function.
14142 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14144 * po/POTFILES.in: Regenerate.
14146 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14148 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
14149 with grub_printf to avoid unnecessary fatal failure.
14151 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14153 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
14154 (INT_MAX): Likewise.
14155 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
14156 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
14157 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
14158 (strcpy): Likewise.
14159 (strstr): Likewise.
14160 (strchr): Likewise.
14161 (strncpy): Likewise.
14162 (strcat): Likewise.
14163 (strncat): Likewise.
14164 (strcoll): Likewise.
14165 * include/grub/types.h (GRUB_SHRT_MAX): New define.
14166 (GRUB_INT_MAX): Likewise.
14168 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14170 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
14172 (optimize_utf8): Likewise.
14173 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
14175 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14177 * grub-core/boot/i386/pc/lnxboot.S: Use
14178 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
14179 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
14181 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
14183 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
14185 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14187 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
14188 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
14189 now to avoid double free.
14190 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
14192 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
14193 * util/grub-probe.c (escape_of_path): Always return a new copy.
14194 (print_full_name): Escape path.
14195 (probe): Don't call grub_util_devname_to_ofpath on NULL.
14196 Fix hints on abstractions.
14198 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14200 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
14201 Don't add "root" line if no compatibility hont is available.
14202 Suggested by: Seth Goldberg.
14204 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14206 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
14207 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
14208 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
14209 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
14211 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14213 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
14215 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14217 * util/grub-pe2elf.c (ehdr): Make static.
14219 (num_sections): Likewise.
14220 (offset): Likewise.
14222 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14224 Eliminate ofpath limits and possible overflows.
14226 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
14227 (OF_PATH_MAX): Removed.
14228 (MAX_DISK_CAT): New const.
14229 (find_obppath): Use allocated rather than preallocated buffer.
14230 Return result. Argument of_path removed. All users updated.
14231 Add missing fdstat.
14232 (xrealpath): New function.
14233 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
14234 Allocate rather than use preallocated buffer. All users updated.
14235 (__of_path_common): Use allocated rather than preallocatecd buffer.
14236 Return result. Argument of_path removed. All users updated.
14237 (vendor_is_ATA): Read only needed part form the file.
14238 (check_sas): Allocate depending on contents rather than fixed.
14239 (main) [STANDALONE]: Handle NULL result.
14241 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14243 * grub-core/normal/completion.c (iterate_dev): Close the disk.
14245 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14247 Cryptodisk write support.
14249 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
14250 (grub_cryptodisk_decrypt): Moved logic to ...
14251 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
14252 (grub_cryptodisk_write): Implement.
14253 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
14254 (grub_util_fd_write): ... this. Make global.
14255 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
14257 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14259 * include/grub/list.h (grub_list_remove): Don't crash if element is
14262 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14264 Rename ofconsole to console.
14266 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
14267 as sysnonym to console.
14268 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
14269 * grub-core/term/ieee1275/console.c: ... this. All users updated.
14270 Rename grub_ofconsole_ to grub_console_. All users updated
14271 (grub_console_term_output): Rename "ofconsole" to "console".
14272 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
14275 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14277 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
14279 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
14280 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
14281 GRUB_DISK_DEVICE_FILE_ID.
14283 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14285 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
14286 and improve performance.
14288 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14290 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
14291 missing ieee1275/ prefix on whole disk.
14293 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14295 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
14296 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
14298 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14300 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
14302 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
14304 Merge common RAID and LVM logic to an abstract diskfilter.
14305 Add LDM support using the same framework.
14307 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
14308 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
14309 (libgrubmods): Remove grub-core/disk/raid.c and
14310 grub-core/partmap/gpt.c.
14311 * grub-core/Makefile.core.def (ldm): New module.
14312 (raid): Renamed to diskfilter. All users updated.
14313 * grub-core/disk/raid.c: Moved to ...
14314 * grub-core/disk/diskfilter.c: ... here.
14315 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
14317 (find_array): Renamed to ...
14318 (find_lv): ... this. Support multi-LV. Skip nameless LVs
14319 (grub_is_array_readable): Renamed to ...
14320 (grub_is_lv_readable): ... this. Support multinode hierarchy.
14321 (insert_array): New argument id.
14322 (is_node_readable): New function.
14323 (scan_device): Rename to ...
14324 (scan_disk): .. this. Restrict to one disk.
14325 (scan_devices): New function.
14326 (grub_diskfilter_iterate): Support multi-LV.
14327 Skip invisible and nameless LVs.
14328 (grub_diskfilter_memberlist): Support multi-LV.
14329 (grub_diskfilter_read_node): New function.
14330 (grub_raid_read): Most of logic moved to ...
14331 (read_segment): ... here
14332 (read_lv): New function.
14333 (grub_diskfilter_get_vg_by_uuid): New function.
14334 (grub_diskfilter_make_raid): Likewise.
14335 * grub-core/disk/ldm.c: New file.
14336 * grub-core/disk/lvm.c (vg_list): Removed.
14337 (lv_count): Likewise.
14338 (scan_depth): Likewise.
14339 (is_lv_readable): Likewise.
14340 (grub_lvm_getvalue): Advance pointer past the number.
14341 (find_lv): Removed.
14342 (do_lvm_scan): Refactored into ...
14343 (grub_lvm_detect): ... this. Support raid.
14344 (grub_lvm_iterate): Removed.
14345 (grub_lvm_memberlist): Likewise.
14346 (grub_lvm_open): Likewise.
14347 (grub_lvm_close): Likewise.
14348 (read_lv): Likewise.
14349 (read_node): Likewise.
14350 (is_node_readable): Likewise.
14351 (is_lv_readable): Likewise.
14352 (grub_lvm_read): Likewise.
14353 (grub_lvm_write): Likewise.
14354 (grub_lvm_dev): Use diskfilter
14355 (GRUB_MOD_INIT): Likewise.
14356 (GRUB_MOD_FINI): Likewise.
14357 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
14359 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
14360 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14361 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
14362 grub_diskfilter_read_node.
14363 Fix a bug with xor.
14364 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
14365 grub_diskfilter_read_node.
14366 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
14367 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
14368 (grub_disk_dev_iterate): Move from here...
14369 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
14370 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
14372 (grub_hostdisk_find_partition_start): Likewise.
14373 (grub_hostdisk_os_dev_to_grub_drive): New function.
14374 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
14375 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
14376 * util/getroot.c (make_device_name): ... here.
14377 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
14379 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
14380 * grub-core/kern/emu/hostdisk.c
14381 (convert_system_partition_to_system_disk): Move to ...
14382 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
14383 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
14384 * util/getroot.c (device_is_wholedisk): ... here.
14385 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
14386 * util/getroot.c (find_system_device): ... here.
14387 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
14389 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
14390 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14392 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
14394 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
14396 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
14397 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
14398 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
14400 * include/grub/raid.h: Renamed to ...
14401 * include/grub/diskfilter.h: ... this.
14402 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
14403 (GRUB_RAID_LAYOUT_*): Make into array.
14404 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
14405 (grub_diskfilter_vg): New struct.
14406 (grub_diskfilter_pv_id): Likewise.
14407 (grub_raid_member): Removed.
14408 (grub_raid_array): Likewise.
14409 (grub_diskfilter_pv): New struct.
14410 (grub_diskfilter_lv): Likewise.
14411 (grub_diskfilter_segment): Likewise.
14412 (grub_diskfilter_node): Likewise.
14413 (grub_diskfilter_get_vg_by_uuid): New proto.
14414 (grub_raid_register): Inline.
14415 (grub_diskfilter_unregister): Likewise.
14416 (grub_diskfilter_make_raid): New proto.
14417 (grub_diskfilter_vg_register): Likewise.
14418 (grub_diskfilter_read_node): Likewise.
14419 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
14420 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
14421 (grub_util_is_ldm): Likewise.
14422 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
14423 (grub_hostdisk_find_partition_start): Likewise.
14424 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
14425 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
14427 (grub_gpt_partition_map_iterate): New proto.
14428 * include/grub/lvm.h (grub_lvm_vg): Removed.
14429 (grub_lvm_pv): Likewise.
14430 (grub_lvm_lv): Likewise.
14431 (grub_lvm_segment): Likewise.
14432 (grub_lvm_node): Likewise.
14433 * util/getroot.c [...]
14434 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
14435 (probe_abstraction): Likewise.
14436 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
14437 (main): Remove dead logic.
14439 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
14441 Simplify root device discover and don't fail when trying to open
14444 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
14446 (get_diskname_from_path): Likewise.
14447 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
14450 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14452 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
14454 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14456 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
14459 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14461 * util/grub-install.in: Add missing \.
14462 Reported by: gentoofan
14464 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14466 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
14467 (direct_read): Use correct compressed size.
14468 (grub_squash_read_data): Likewise.
14470 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14472 * docs/grub.texi (Platform limitations): New section.
14473 (Platform-specific operations): Likewise.
14474 * docs/grub-dev.texi (Porting): Likewise.
14476 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14478 IEEE1275 disk write support.
14480 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
14482 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
14483 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
14484 and seek loginc to ...
14485 (grub_ofdisk_prepare): ... here.
14486 (grub_ofdisk_write): Implement.
14488 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14490 ARC disk write support.
14492 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
14493 (reopen): New argument writable. All users updated.
14494 Handle required access mode.
14495 (grub_arcdisk_write): Implement.
14496 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
14497 (grub_arc_firmware_vector): Make buffer to write a const buffer.
14499 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14501 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
14502 (read_sblock): Don't attempt to read superblocks outside the disk size.
14504 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14506 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
14507 first superblock to find the second one when possible.
14509 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
14511 * util/grub-install.in: Fix an ARC bug.
14512 Print a warning if no platform-specific setup is available.
14514 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14516 Use static allocation rather than scratch pointer in reed_solomon.
14517 It decreases its size significantly and avoids a variable in .text.
14519 * grub-core/lib/reed_solomon.c (scratch): Removed.
14520 (chosenstat): New const or static array.
14522 (errpot): Likewise.
14523 (errpos): Likewise.
14526 (errvals): Likewise.
14527 (eqstat): Likewise.
14528 (pol_evaluate): Replace x with log_x argument. All users updated.
14529 (syndroms): Removed.
14530 (gauss_solve): Use statically allocated arrays.
14531 (rs_recover): Likewise.
14532 Calculate syndroms directly.
14533 (decode_block): Use statically allocated arrays.
14534 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
14535 (main) [TEST]: Allow -DTEST -DSTANDALONE.
14537 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14539 Eliminate fixed limit on reed solomon decoder length.
14541 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
14542 rather than hardcoding the address.
14543 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
14544 no_reed_solomon_length.
14545 Move gate_a20 to no-reed-solomon part.
14546 Don't force a particular size of no reed-solomon part.
14547 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
14549 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
14550 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
14552 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14554 * grub-core/commands/wildcard.c (match_files): Handle filenames
14555 without explicit device.
14556 (wildcard_expand): Don't add explicit device if not already present.
14557 * tests/grub_script_echo1.in: Add a new expansion test.
14559 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14561 Replace single-linked with double-linked lists. It results in more
14562 compact and more efficient code.
14564 * grub-core/kern/list.c (grub_list_push): Moved from here ...
14565 * include/grub/list.h (grub_list_push): ... to here. Set prev.
14566 (grub_list_remove): Moved from here ...
14567 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
14568 (grub_prio_list_insert): Set prev.
14569 * include/grub/list.h (grub_list): Add prev. All users updated.
14571 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14573 Handle newer autotools. Add some missing quotes while on it.
14575 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
14576 (pkglib_DATA): Move grub-mkconfig_lib from here ...
14577 (pkgdata_DATA): ... here.
14578 * Makefile.util.def (update-grub_lib): Removed.
14579 * conf/Makefile.common (pkglib_DATA): Removed.
14580 (pkglib_SCRIPTS): Likewise.
14581 (pkgdata_DATA): New variable.
14582 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
14584 Add missing quotes.
14585 Remove unused variable while on it.
14586 * tests/util/grub-shell.in: Likewise.
14587 * util/grub-install.in: Likewise.
14588 * util/grub-mkconfig.in: Likewise.
14589 * util/grub-mknetdir.in: Likewise.
14590 * util/grub-mkrescue.in: Likewise.
14591 * util/grub-mkstandalone.in: Likewise.
14592 * util/grub.d/00_header.in: Likewise.
14593 * util/grub.d/10_hurd.in: Likewise.
14594 * util/grub.d/10_illumos.in: Likewise.
14595 * util/grub.d/10_kfreebsd.in: Likewise.
14596 * util/grub.d/10_linux.in: Likewise.
14597 * util/grub.d/10_netbsd.in: Likewise.
14598 * util/grub.d/10_windows.in: Likewise.
14599 * util/grub.d/20_linux_xen.in: Likewise.
14600 * util/grub.d/30_os-prober.in: Likewise.
14601 * util/update-grub_lib.in: Removed.
14603 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
14605 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
14606 a workaround for intel problem.
14608 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
14609 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14610 2012-01-23 pfsmorigo
14612 * util/grub-install.in: Support dd'in into PreP partition.
14613 * util/grub-probe.c (probe): Support discovering partition type.
14614 (main): Support -t msdos_parttype.
14616 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14618 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
14619 infinite recursion using counter.
14620 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14621 init to skip it if the magic check fails.
14622 (dec_stream_header): Init s->crc32.
14624 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14625 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
14626 2012-01-22 Richard Laager <rlaager@wiktel.com>
14628 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
14630 (find_bestub): Determine correct size.
14631 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
14632 (scan_disk): Align the size down.
14633 Call check pool before find_bestub to have ashift.
14635 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14637 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
14638 dprintf in no-malloc zone.
14640 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
14642 * configure.ac: Add back in test for limits.h.
14644 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14646 Support 4K-sector NTFS.
14648 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
14649 (grub_ntfs_data): Remove blocksize.
14650 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
14651 Remove data argument. All users updated.
14653 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14655 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
14656 being in .text to avoid dprel references.
14657 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
14658 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
14659 (grub_arch_highmemsize): Likewise.
14660 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
14661 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
14662 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
14664 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14666 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
14668 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
14669 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
14671 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14673 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
14675 (grub_set_datetime_cmos): Likewise.
14677 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14679 Make XZ compression parameters dependent on target and not host CPU.
14681 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
14682 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
14684 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14686 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
14687 set but not used variable.
14689 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14691 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
14692 created when no uuid support is compiled into mkfs.reiser.
14694 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14696 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
14697 (utf8_to_macroman): Do the opposite.
14698 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
14700 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14702 * configure.ac: Refise build qemu_mips w/o unifont.
14704 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14706 Eliminate grub_min/grub_max prone to overflow usage.
14708 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
14709 (poll_nonroot_hub): Likewise.
14710 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
14711 (grub_affs_label): Likewise.
14712 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
14713 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
14714 (grub_hfs_label): Likewise.
14715 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
14716 * grub-core/fs/zfs/zfs.c (MIN): Remove.
14717 (zap_leaf_array_equal): Use grub_size. Remove MIN.
14718 (zap_leaf_array_get): Likewise.
14719 (dnode_get_path): Likewise.
14720 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
14721 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
14722 * grub-core/script/execute.c (grub_script_break): Likewise.
14723 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
14725 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
14726 * include/grub/misc.h (grub_min): Removed.
14727 (grub_max): Likewise.
14729 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14731 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
14734 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14736 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
14738 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14740 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
14742 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14744 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
14745 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
14747 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14749 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
14750 rather than a hack for grub_strncasemap.
14752 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14754 Support multiple initrds
14755 Note: part of this was accidently committed in r3739.
14757 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
14759 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
14760 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
14761 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14762 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14763 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14765 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14767 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
14768 disks with unknown size.
14769 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
14771 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14773 Remove defines pertaining to arbitrary limits not affecting GRUB
14776 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
14777 (EXT2_MAX_SYMLINKCNT): Likewise.
14778 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
14779 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
14780 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
14781 (GRUB_PXE_MAX_BLKSIZE): Likewise.
14782 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
14783 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
14784 (DN_MAX_OBJECT_SHIFT): Likewise.
14785 (DN_MAX_OFFSET_SHIFT): Likewise.
14786 (DN_MAX_OBJECT): Likewise.
14787 (DNODES_PER_LEVEL_SHIFT): Likewise.
14788 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
14789 (SPA_MAXBLOCKSIZE): Likewise.
14790 (SPA_BLOCKSIZES): Likewise.
14791 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
14792 (MZAP_MAX_BLKSZ): Likewise.
14794 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14796 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
14797 handle NULL appropriately.
14800 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14804 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
14806 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
14807 * configure.ac: Fix efiemu check.
14809 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14811 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
14813 Reported by: adamwill
14815 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
14817 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
14819 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14821 Fix handling of wide characters in gfxterm.
14823 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
14824 (clear_char): Likewise.
14825 (paint_char): Skip code == NULL chars.
14826 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
14828 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14830 * grub-core/normal/charset.c: Move comment to right place.
14832 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14834 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
14835 (GRUB_AFFS_FLAG_FFS): Put back where it was.
14836 (grub_affs_mount): Revert the correct version checking.
14838 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14840 * docs/grub.texi (Unicode): Mention several other unsupported features.
14842 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14844 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
14845 case statements as compile-time one.
14846 (direct_read): Prevent spurious warnings.
14847 (grub_squash_read_data): Likewise.
14849 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14851 Various squash4 fixes and LZO and XZ support.
14853 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
14854 Add xzembed source files.
14855 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
14856 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
14857 (grub_squash_inode): New subtype long_dir.
14858 (SQUASH_TYPE_LONG_DIR): New inode type.
14859 (COMPRESSION): New enum.
14860 (XZBUFSIZ): New const.
14861 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
14862 (read_chunk): Use data->decompress.
14863 (zlib_decompress): New function.
14864 (lzo_decompress): Likewise.
14865 (xz_decompress): Likewise.
14866 (squash_mount): Set new data fields.
14867 (grub_squash_iterate_dir): Handle long dir.
14868 (squash_unmount): Free xzdec and xzbuf.
14869 (grub_squash_open): Check ino type.
14870 (direct_read): Stylistic fixes. Use data->decompress.
14871 (grub_squash_read_data): Likewise.
14872 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
14873 (get_byte): Likewise.
14874 (grub_zlib_disk_read): Removed.
14875 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
14876 (GRUB_POSIX_BOOL_DEFINED): New define.
14877 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
14878 * grub-core/lib/xzembed/xz.h: Addmissing includes.
14879 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
14880 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
14882 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
14884 Don't override more informative errors.
14886 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
14887 * grub-core/font/font.c (open_section): Likewise.
14888 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
14889 filename. Don't override errors.
14890 (grub_cmd_openbsd_ramdisk): Don't override errors.
14891 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
14892 (grub_cmd_initrd): Likewise.
14893 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14894 (grub_cmd_initrd): Likewise.
14895 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
14896 (grub_cmd_linux): Likewise.
14897 (grub_cmd_initrd): Likewise.
14898 (grub_cmd_payload): Likewise.
14899 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
14900 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
14901 (grub_cmd_module): Likewise.
14902 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14903 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
14904 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
14905 (grub_cmd_xnu_mkext): Likewise.
14906 (grub_cmd_xnu_ramdisk): Likewise.
14907 (grub_xnu_check_os_bundle_required): Likewise.
14908 (grub_xnu_load_kext_from_dir): Likewise.
14909 (grub_cmd_xnu_kextdir): Likewise.
14910 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
14912 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14914 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
14915 as 1024 in block size field. Found on one of my test images.
14916 Small optimisation while on it.
14918 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14920 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
14921 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
14922 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
14923 performance fixes while on it.
14924 (grub_sfs_close): Fix memory leak while on it.
14925 (grub_sfs_label): Convert Latin1 to UTF-8.
14927 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14929 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
14930 space to avoid overflows.
14931 (grub_hfs_label): Convert from macroman to UTF-8.
14933 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14935 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
14937 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14939 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
14941 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14943 * unicode: Import Unicode 6.0 data.
14945 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14947 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
14950 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14952 Avoid cutting in the middle of UTF-8 character.
14954 * include/grub/charset.h (grub_getend): New function.
14955 * grub-core/script/function.c (grub_script_function_find): Use
14957 * grub-core/normal/completion.c (add_completion): Likewise.
14959 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14961 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
14962 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
14963 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
14964 (GRUB_UNICODE_TAG_END): Likewise.
14965 (GRUB_UNICODE_LAST_VALID): Likewise.
14967 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14969 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
14970 len and make it smaller. All users updated.
14971 * util/import_unicode.py: Put length and not end character.
14974 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14976 Make better Unicode-compliant and unify some UTF-8 code pathes.
14978 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
14980 (grub_is_valid_utf8): Use grub_utf8_process.
14981 Check resulting code range.
14982 (grub_utf8_to_ucs4): Use grub_utf8_process.
14983 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
14986 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14988 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
14990 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14992 * docs/grub.texi (Filesystems): Mention AFS.
14994 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14996 * docs/grub.texi (Filesystems): Clarify restrictions.
14997 (Regexp): Mention non-Unicode regexp behaviour.
14998 (Other): Mention non-Unicode matching behaviour.
15000 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15002 Make HFS implementation use MacRoman.
15004 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
15005 (macroman): New const array.
15006 (macroman_to_utf8): New function.
15007 (utf8_to_macroman): Likewise.
15008 (grub_hfs_find_dir): Use utf8_to_macroman.
15009 (grub_hfs_dir): Use macroman_to_utf8.
15010 Set case_insensitive.
15012 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15014 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
15016 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15018 Integrate hints into autogeneration scripts.
15020 * docs/grub.texi (Filesystems): Add a hostdisk example.
15021 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
15022 (grub-probe): Add ofpath.
15023 * gentpl.py: Remove group nosparc64.
15024 * grub-core/commands/search.c (cache_entry): New struct.
15026 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
15027 * grub-core/commands/search_wrap.c (options): Add platform-specific
15029 (grub_cmd_search): Handle platform-specific hints.
15030 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
15031 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
15032 (grub_util_biosdisk_data): Likewise.
15033 (grub_util_biosdisk_open): Set device_map.
15034 (read_device_map): Handle "" as indication of no map.
15036 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
15037 (grub_util_biosdisk_get_compatibility_hint): New function.
15038 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
15039 * include/grub/emu/hostdisk.h
15040 (grub_util_biosdisk_get_compatibility_hint): New proto.
15041 * util/grub-install.in: Don't call grub-mkdevicemap.
15042 Add platform-specific hint to load.cfg.
15043 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
15044 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15045 hints. Set root preliminary to compatibility hint, not to OS name.
15046 * util/grub-probe.c (PRINT_*): Add hints.
15047 (print): Make static.
15048 (escape_of_path): New function.
15049 (guess_bios_drive): Likewise.
15050 (guess_efi_drive): Likewise.
15051 (guess_baremetal_drive): Likewise.
15052 (print_full_name): Likewise.
15053 (probe): Handle hints.
15055 * util/ieee1275/devicemap.c: Removed.
15056 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
15058 (grub_util_devname_to_ofpath): Return NULL on failure.
15060 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
15062 * util/getroot.c (grub_util_pull_device): Fix memory leak.
15064 * po/POTFILES.in: Regenerated.
15066 Allow purely long options
15068 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
15069 (SHORT_ARG_USAGE): Likewise.
15070 (grub_arg_show_help): Compare opt with help_options.
15071 (parse_option): Receive opt as argument. If makes big simplificatons.
15074 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15076 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
15077 Restructure to avoid warning.
15079 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15081 * util/grub-install.in: Account for possible escaped comma in device
15084 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15086 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
15089 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15091 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
15092 allocation and zero-setting.
15093 (grub_ieee1275_get_devname): Check that alias is complete.
15095 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15097 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
15098 unaligned segments.
15100 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
15102 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
15104 (grub_ofdisk_open): Check and discard ieee1275 prefix.
15105 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15106 Add ieee1275 prefix.
15108 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15110 * docs/grub.texi (Filesystems): Update.
15112 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15114 Support odc, newc and bigendian cpio formats.
15116 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
15117 * grub-core/Makefile.core.def (newc): New module.
15119 (cpio_be): Likewise.
15120 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
15122 (MAGIC2): Likewise.
15123 (head) [MODE_ODC]: Adapt for the format.
15124 (head) [MODE_NEWC]: Likewise.
15125 (head) [!MODE_*]: Write fields of interest as arrays.
15126 (MAGIC_USTAR): Removed.
15127 (read_number) [MODE_NEWC]: Change to hex.
15128 (read_number) [!MODE_*]: Parse binary arrays.
15129 (grub_cpio_find_file): Factor out the code for better structure and
15130 always use read_number.
15131 (grub_cpio_mount): Use MAGIC and MAGIC2.
15132 (grub_cpio_dir): Exit on first hook non-0 return.
15133 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
15134 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
15135 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
15136 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
15137 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
15138 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
15139 * grub-core/fs/newc.c: New file.
15140 * grub-core/fs/odc.c: Likewise.
15141 * grub-core/fs/cpio_be.c: Likewise.
15143 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15145 Fix handling of tar numbers occupying the whole field.
15147 * grub-core/fs/cpio.c (read_number): New function.
15148 (grub_cpio_find_file): Use read_number instead of strtoull.
15150 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15152 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
15153 occupying the whole field size.
15155 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
15157 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
15159 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15161 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
15163 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
15165 * grub-core/Makefile.core.def (lzma_decompress): Add missing
15166 TARGET_IMG_LDFLAGS.
15168 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15170 * util/getroot.c (ESCAPED_PATH_MAX): New define.
15171 (mountinfo_entry): Increase the field size to take escaping into
15173 (find_root_device_from_libzfs): Add one byte to size of strings for
15176 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15178 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
15180 * util/grub-setup.c (setup): Likewise.
15182 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15184 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
15187 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15189 * docs/grub.texi (Internationalisation): New section.
15191 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15193 * docs/grub.texi (Loopback booting): New section.
15195 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
15197 * util/grub-mkstandalone.in: Fix minor typo errors.
15199 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15201 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
15203 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
15204 net/icmp.c and net/icmp6.c.
15205 (http): New module.
15206 (priority_queue): Likewise.
15207 * grub-core/io/bufio.c: Rewritten.
15208 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
15209 TYPE_WITH_CONFIGFILE_OPTION.
15210 (legacy_commands): Add bootp and dhcp.
15211 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
15212 (grub_legacy_parse): Likewise.
15213 * grub-core/lib/priority_queue.c: New file.
15214 * grub-core/net/arp.c: Add missing license header.
15215 (arp_find_entry): Removed.
15216 (arp_find_entry): Likewise.
15217 (grub_net_arp_resolve): Rename to ...
15218 (grub_net_arp_send_request): ...this.
15219 (grub_net_arp_receive): New card argument.
15220 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
15221 Set router and DNS server.
15222 (grub_net_configure_by_dhcp_ack): Handle routing information.
15223 (grub_cmd_bootp): Set checksum.
15224 (grub_bootp_init): Remove net_dhcp.
15225 * grub-core/net/dns.c: New file.
15226 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
15228 (get_card_packet): Handle allocation.
15229 (grub_efinet_findcards): Set mtu.
15230 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
15231 (get_card_packet): Handle allocation.
15232 (emucard): Set mtu.
15233 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
15234 (GRUB_MOD_INIT): Set mtu.
15235 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
15237 (get_card_packet): Handle allocation.
15238 (grub_ofnet_findcards): Set mtu.
15239 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
15241 (grub_net_recv_ethernet_packet): Handle IPv6.
15242 * grub-core/net/http.c: New file.
15243 * grub-core/net/icmp.c: Likewise.
15244 * grub-core/net/icmp6.c: Likewise.
15245 * grub-core/net/ip.c (ip6addr): New type.
15246 (ip6hdr): Likewise.
15247 (reassemble): Likewise.
15248 (cmp): New function.
15249 (reassembles): New variable.
15250 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
15251 (id): New variable.
15252 (send_fragmented): New function.
15253 (grub_net_send_ip_packet): Rename to ...
15254 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
15256 (grub_net_recv_ip_packets): Rename to ...
15257 (handle_dgram): ... this. Check checksum. Handle non-UDP.
15258 (free_rsm): New function.
15259 (free_old_fragments): Likewise.
15260 (grub_net_recv_ip4_packets): New function.
15261 (grub_net_send_ip6_packet): Likewise.
15262 (grub_net_send_ip_packet): Likewise.
15263 (grub_net_recv_ip6_packets): Likewise.
15264 (grub_net_recv_ip_packets): Likewise.
15265 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
15266 (LINK_LAYER_CACHE_SIZE): New const.
15267 (link_layer_find_entry): New function.
15268 (grub_net_link_layer_add_address): Likewise.
15269 (grub_net_link_layer_resolve_check): Likewise.
15270 (grub_net_link_layer_resolve): Likewise.
15271 (grub_net_ipv6_get_slaac): Likewise.
15272 (grub_net_ipv6_get_link_local): Likewise.
15273 (grub_cmd_ipv6_autoconf): Likewise.
15274 (parse_ip): Handle one number representation.
15275 (parse_ip6): New functoion.
15276 (match_net): Handle IPv6.
15277 (grub_net_resolve_address): Handle IPv6 and DNS.
15278 (grub_net_resolve_net_address): Handle IPv6.
15279 (route_cmp): New function.
15280 (grub_net_route_address): Find best route.
15281 (grub_net_addr_to_str): Handle IPv6.
15282 (grub_net_addr_cmp): New function.
15283 (grub_net_add_addr): Register local route.
15284 (print_net_address): Handle net address.
15285 (grub_net_poll_cards): Retransmit TCP.
15286 (grub_net_poll_cards_idle_real): Likewise.
15287 (have_ahead): New function.
15288 (grub_net_seek_real): Use underlying seek.
15289 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
15290 * grub-core/net/tcp.c: New file.
15291 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
15292 (cmp): New function.
15294 (tftp_receive): Handle unordered input.
15295 (destroy_pq): New function.
15296 (tftp_close): Close pq.
15297 * grub-core/net/udp.c: Put missing license header.
15298 (grub_net_udp_socket): New function.
15299 (udp_socket_register): Likewise.
15300 (grub_net_udp_close): Likewise.
15301 (grub_net_recv_udp_packet): Check checksum.
15302 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
15303 * include/grub/misc.h (grub_memchr): New function.
15304 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
15305 (grub_net_card_driver): Return buf in recv.
15306 (grub_net_slaac_mac_list): New struct.
15307 (grub_network_level_protocol_id): Add ipv6.
15308 (grub_net_network_level_addr): Likewise.
15309 (grub_net_network_level_net_addr): Likewise.
15310 (grub_net_app_protocol): Add seek.
15311 (grub_net_socket): Removed.
15312 (grub_net_sockets): Likewise.
15313 (grub_net_socket_register): Likewise.
15314 (grub_net_socket_unregister): Likewise.
15315 (FOR_NET_SOCKETS): Likewise.
15316 (grub_net_add_addr): Add const.
15317 (GRUB_NET_BOOTP_*): New enum.
15318 (grub_net_addr_cmp): New proto.
15319 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
15320 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
15321 (grub_net_hwaddr_to_str): NEw proto.
15322 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
15323 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
15324 (grub_dns_init): New proto.
15325 (grub_dns_fini): Likewise.
15326 (grub_net_tcp_retransmit): Likewise.
15327 (grub_net_link_layer_add_address): Likewise.
15328 (grub_net_link_layer_resolve_check): Likewise.
15329 (grub_net_link_layer_resolve): Likewise.
15330 (grub_net_dns_lookup): Likewise.
15331 (grub_net_add_dns_server): Likewise.
15332 (grub_net_remove_dns_server): Likewise.
15333 (GRUB_NET_TRIES): New const.
15334 (GRUB_NET_INTERVAL): Likewise.
15335 * include/grub/net/arp.h: Mostly rewritten.
15336 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
15337 * include/grub/net/ip.h: Mostly rewritten.
15338 * include/grub/net/netbuff.h: Indent.
15339 * include/grub/net/tcp.h: New file.
15340 * include/grub/net/udp.h: Mostly rewritten.
15341 * include/grub/priority_queue.h: New file.
15342 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
15343 (grub_swap_bytes64_compile_time): Likewise.
15344 (grub_cpu_to_be16_compile_time): Likewise.
15345 (grub_cpu_to_be32_compile_time): Likewise.
15346 (grub_cpu_to_be64_compile_time): Likewise.
15347 (grub_be_to_cpu64_compile_time): Likewise.
15349 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15351 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
15352 UINT_TO_PTR with cast.
15354 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15356 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
15359 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15361 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
15364 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15366 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
15369 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15371 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
15372 Add missing const attribute.
15373 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
15375 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
15378 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15380 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
15382 (serpent_setkey): Likewise.
15383 (serpent_encrypt_internal): Likewise.
15384 (serpent_decrypt_internal): Likewise.
15385 (serpent_encrypt): Don't put an alignment-increasing cast.
15386 (serpent_decrypt): Likewise.
15387 (serpent_test): Likewise.
15389 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15391 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
15393 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15395 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
15397 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
15399 (PTR_TO_UINT64): Likewise.
15400 (PTR_TO_UINT32): Likewise.
15402 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15404 * util/grub-mkimage.c (generate_image): Decrease the higher limit
15406 * util/grub-setup.c (setup): Don't add redundancy past the higher load
15409 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15411 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
15412 text_width > available width a bit more gracefully.
15414 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15416 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
15417 current address calculation.
15419 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15421 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
15423 (encode_block): Likewise.
15425 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15427 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
15430 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15432 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
15433 non-RS part to avoid RS messing with GDT.
15434 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
15435 Increase to suit in realmode routines.
15437 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
15439 * grub-core/kern/i386/realmode.S: Increase alignment.
15440 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
15442 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15444 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
15446 (syndroms): Compute 0 syndrom.
15447 (rs_recover): Use 0 syndrom.
15449 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15451 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
15453 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15455 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
15458 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15460 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
15462 (get_top_pad): Likewise.
15463 (get_right_pad): Likewise.
15464 (get_bottom_pad): Likewise.
15466 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15468 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
15470 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15472 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
15473 attribute as the structure isn't guaranteed to be properly aligned.
15474 (grub_efi_pci_device_path): Likewise.
15475 (grub_efi_pccard_device_path): Likewise.
15476 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
15477 specify the size of `memory_type'.
15478 (grub_efi_vendor_device_path): Likewise.
15479 (grub_efi_controller_device_path): Likewise.
15480 (grub_efi_acpi_device_path): Likewise.
15481 (grub_efi_expanded_acpi_device_path): Likewise.
15482 (grub_efi_atapi_device_path): Likewise.
15483 (grub_efi_scsi_device_path): Likewise.
15484 (grub_efi_fibre_channel_device_path): Likewise.
15485 (grub_efi_1394_device_path): Likewise.
15486 (grub_efi_usb_device_path): Likewise.
15487 (grub_efi_usb_class_device_path): Likewise.
15488 (grub_efi_i2o_device_path): Likewise.
15489 (grub_efi_mac_address_device_path): Likewise.
15490 (grub_efi_ipv4_device_path): Likewise.
15491 (grub_efi_ipv6_device_path): Likewise.
15492 (grub_efi_infiniband_device_path): Likewise.
15493 (grub_efi_uart_device_path): Likewise.
15494 (grub_efi_vendor_messaging_device_path): Likewise.
15495 (grub_efi_hard_drive_device_path): Likewise.
15496 (grub_efi_cdrom_device_path): Likewise.
15497 (grub_efi_vendor_media_device_path): Likewise.
15498 (grub_efi_file_path_device_path): Likewise.
15499 (grub_efi_protocol_device_path): Likewise.
15500 (grub_efi_piwg_device_path): Likewise.
15501 (grub_efi_bios_device_path): Likewise.
15503 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15505 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
15506 (grub_ucs4_to_utf8_alloc): Likewise.
15507 (grub_ucs4_to_utf8): Likewise.
15508 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
15509 (grub_ucs4_to_utf8_alloc): Likewise.
15511 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
15513 AFFS never uses unicode.
15515 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
15516 (grub_latin1_to_utf8): New inline function.
15517 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
15519 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15521 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
15524 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15526 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
15527 (grub_squash_dirent_header): Likewise.
15528 (read_chunk): Don't double swap.
15529 (grub_squash_iterate_dir): Fix swap sizes.
15531 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15533 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
15535 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15537 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
15538 (grub_hfs_iterate_dir): Likewise.
15540 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15542 Fix video on platforms where unaligned access is forbidden.
15543 Make several optimisations while on it.
15545 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
15546 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15547 (grub_video_fbblit_replace_32bit_1bit): Likewise.
15548 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15550 (grub_video_fbblit_replace_16bit_1bit):
15551 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15552 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15553 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
15554 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
15555 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15556 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
15557 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
15558 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
15559 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
15560 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
15561 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
15562 (grub_video_fbblit_replace_index_RGB888): Likewise.
15563 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
15564 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
15565 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
15566 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
15567 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
15568 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15569 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
15571 (grub_video_fbblit_blend_XXX565_1bit):
15572 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
15573 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
15574 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
15576 * grub-core/video/fb/video_fb.c (common_blitter)
15577 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
15578 (grub_video_fb_create_render_target_from_pointer)
15579 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
15580 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
15581 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
15583 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
15585 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15587 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
15588 HH22 and HM10 relocations.
15590 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15592 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
15594 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15596 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
15597 allocation succeeded.
15599 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15601 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
15602 argument a u8 pointer. All users updated.
15603 Handle unaligned buffers.
15605 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15607 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
15608 add_part to workaround compiler bug.
15610 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15612 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
15614 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15616 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
15617 Reserve alignment invariants.
15618 (grub_multiboot_load): Likewise.
15619 (retrieve_video_parameters): Likewise.
15620 (grub_multiboot_make_mbi): Likewise.
15622 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15624 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
15627 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15629 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
15630 (grub_pata_pio_write): Likewise.
15632 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15634 Add noreturn attributes and remove unreachable code.
15636 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
15638 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
15639 code. Mark as noreturn.
15640 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
15641 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
15642 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
15644 * grub-core/kern/main.c (grub_main): Mark as noreturn.
15645 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
15646 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
15647 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
15648 * include/grub/kernel.h (grub_main): Mark as noreturn.
15649 * include/grub/reader.h (grub_rescue_run): Likewise.
15651 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15653 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
15654 redundant declaration.
15656 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15658 * include/grub/net.h (grub_net_network_level_interfaces): Remove
15659 redundant declaration.
15660 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
15662 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15664 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
15665 to ensure alignment.
15666 (grub_hdparm_print_identify): Make argument uint16 * to ensure
15667 alignment. Ensure tmp alignment.
15668 (grub_cmd_hdparm): Ensure buf alignment.
15669 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
15670 to ensure alignment.
15671 (grub_ata_dumpinfo): Ensure text alignment.
15672 (grub_atapi_identify): Preserve alignment invariant.
15673 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
15675 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15677 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
15678 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
15679 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
15680 * include/grub/misc.h (grub_reboot)
15681 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
15682 (grub_halt) [__mips__]: Likewise.
15684 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15686 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
15687 Remove redundant declaration.
15688 (grub_mmap_get_post64): Likewise.
15689 (grub_mmap_get_upper): Likewise.
15690 (grub_mmap_get_lower): Likewise.
15692 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15694 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
15695 uint32_t * to ensure alignment.
15696 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
15698 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15700 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
15701 uint16_t * to ensure alignment.
15702 (sun_pc_partition_map_iterate): Make `block' a union to ensure
15705 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15707 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
15708 to ensure alignment.
15709 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
15711 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15713 * grub-core/fs/ntfs.c (u16at): Make into inline function.
15714 Handle unaligned pointers.
15717 (fixup): Use byte access instead of v16at.
15718 (find_attr): Fix imporper usage of v32at.
15719 (read_data): Likewise.
15720 (list_file): Handle byte-swapping and unaligned strings.
15721 (grub_ntfs_label): Likewise.
15723 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15725 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
15726 as it's not necessarily aligned.
15728 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15730 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
15731 redundant declaration.
15732 (grub_serial_init): Likewise.
15733 (grub_terminfo_init): Likewise.
15735 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15737 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
15739 (ZAP_HASH_IDX): Likewise.
15740 (ZAP_LEAF_HASH_SHIFT): Likewise.
15741 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
15742 (LEAF_HASH): Likewise.
15743 (ZAP_LEAF_NUMCHUNKS): Likewise.
15744 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
15745 alignment invariants. Return pointer. All users updated.
15746 (ZAP_LEAF_ENTRY): Make into inline function.
15749 (xor_out): Use grub_crypto_xor.
15750 (dnode_get_path): Use grub_get_unaligned.
15751 (nvlist_find_value): Likewise.
15752 (grub_zfs_nvlist_lookup_uint64): Likewise.
15753 (grub_zfs_nvlist_lookup_string): Likewise.
15754 (get_nvlist_size): Likewise.
15755 (grub_zfs_open): Likewise.
15756 (fill_fs_info): Likewise.
15757 (grub_zfs_dir): Likewise.
15758 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
15759 alignment invariants.
15760 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
15761 necessarily aligned.
15763 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15765 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
15767 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15769 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
15770 arithmetic to conserve alignment invariants.
15772 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15774 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
15775 redundant declaration.
15776 (grub_efiemu_mm_obtain_request): Likewise.
15777 (grub_efiemu_prepare): Likewise.
15779 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15781 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
15784 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15786 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
15787 case of aunaligned recptr.
15788 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
15790 (grub_hfsplus_btree_search): Handle unaligned index.
15792 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15794 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
15795 to get freetag and skip.
15797 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15799 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
15801 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
15802 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
15804 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15806 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
15807 name for checksum and fix allocation algorithm.
15809 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15811 * include/grub/types.h (grub_properly_aligned_t): New type.
15812 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
15813 (grub_get_unaligned16): Add explicit casts.
15814 (grub_get_unaligned32): Likewise.
15815 (grub_get_unaligned64): Likewise.
15816 (grub_set_unaligned16): New function.
15817 (grub_set_unaligned32): Likewise.
15819 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15821 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15823 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15825 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
15826 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
15827 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
15829 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15831 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
15834 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15836 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
15837 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
15839 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15841 Unify and improve RAID and crypto xor.
15843 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
15844 changed to grub_crypto_xor
15845 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
15846 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
15847 Use bigger types when possible.
15849 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15851 * grub-core/disk/raid.c (scan_devices): Fix condition.
15853 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15855 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
15856 Make name a const ptr.
15858 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15860 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
15861 first argument a const pointer.
15862 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15863 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
15865 (grub_children_iterate): Likewise.
15866 (grub_machine_mmap_iterate): Remove redundant declaration.
15868 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15870 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
15871 (grub_cmd_acpi) [!x86]: Disable EBDA.
15873 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15875 Enable UTF8 in gnulib regexp.
15877 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
15878 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
15879 (isupper): Use grub_isupper.
15880 (isascii): New inline function.
15881 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
15882 * grub-core/lib/posix_wrap/wctype.h: Likewise.
15883 * grub-core/normal/charset.c (grub_utf8_process): New function.
15884 (grub_utf8_to_utf16): Use grub_utf8_process.
15885 (grub_encode_utf8_character): New function.
15886 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
15887 * include/grub/charset.h (grub_utf8_process): New declaration.
15888 (grub_encode_utf8_character): Likewise.
15889 * include/grub/misc.h (grub_islower): New inline function.
15890 (grub_isupper): Likewise.
15891 (grub_strchrsub): Moved down to fix the definitions.
15893 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15895 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
15898 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15900 * include/grub/loader.h (grub_loader_register_preboot_hook):
15901 Use struct preboot * and not void * for handle. All users updated.
15902 (grub_loader_unregister_preboot_hook): Likewise.
15904 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15906 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
15907 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
15908 UTF-16-BE. All users updated.
15909 (grub_hfsplus_cmp_catkey): Fix unicode handling.
15910 (grub_hfsplus_iterate_dir): Likewise.
15911 (grub_hfsplus_label): Likewise.
15913 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
15915 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
15917 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
15919 Add missing const qualifiers.
15921 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
15922 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
15923 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
15924 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
15925 (grub_lvm_check_flag): Likewise.
15926 * grub-core/efiemu/i386/coredetect.c
15927 (grub_efiemu_get_default_core_name): Likewise
15928 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
15929 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
15930 * grub-core/fs/ntfs.c (fixup): Likewise.
15931 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
15932 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
15933 (fzap_lookup): Likewise.
15934 (zap_lookup): Likewise.
15935 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
15936 * grub-core/lib/legacy_parse.c (check_option): Likewise.
15937 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
15938 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
15939 (grub_freebsd_add_meta_module): Likewise.
15940 (grub_cmd_freebsd_module): Likewise.
15941 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
15942 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
15943 (grub_xnu_writetree_get_size): Likewise.
15944 (grub_xnu_writetree_toheap_real): Likewise.
15945 (grub_xnu_find_key): Likewise.
15946 (grub_xnu_create_key): Likewise.
15947 (grub_xnu_create_value): Likewise.
15948 (grub_xnu_register_memory): Likewise.
15949 (grub_xnu_check_os_bundle_required): Likewise.
15950 (grub_xnu_scan_dir_for_kexts): Likewise.
15951 (grub_xnu_load_kext_from_dir): Likewise.
15952 * grub-core/normal/color.c (color_list): Likewise.
15953 * grub-core/normal/completion.c (current_word): Likewise.
15954 * grub-core/normal/menu_entry.c (insert_string): Likewise.
15955 * grub-core/term/serial.c (grub_serial_find): Likewise.
15956 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
15957 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
15959 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
15960 (grub_freebsd_add_meta_module): Likewise.
15961 * include/grub/lib/arg.h (grub_arg_option): Likewise.
15962 * include/grub/net.h (grub_net_card_driver): Likewise.
15963 (grub_net_card): Likewise.
15964 (grub_net_app_protocol): Likewise.
15965 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
15966 * include/grub/serial.h (grub_serial_find): Likewise.
15967 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
15968 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
15969 (grub_xnu_create_value): Likewise.
15970 (grub_xnu_find_key): Likewise.
15971 (grub_xnu_scan_dir_for_kexts): Likewise.
15972 (grub_xnu_load_kext_from_dir): Likewise.
15974 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
15975 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
15976 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
15977 Moved from here ...
15978 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
15980 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
15982 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
15984 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
15986 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
15987 (read_device): Fix size calculation.
15989 2011-11-25 Robert Millan <rmh@gnu.org>
15991 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
15992 (find_root_device_from_libzfs): Add zpool output parser to be used
15993 as fallback when libzfs isn't available.
15995 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
15997 * po/Makefile.in.in: Add missing escape-continuation.
15999 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
16001 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
16003 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16005 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
16007 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16009 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
16011 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16013 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
16015 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
16017 * grub-core/lib/adler32.c: Add missing license specification.
16018 * grub-core/lib/crc64.c: Likewise.
16019 * grub-core/loader/i386/pc/plan9.c: Likewise.
16020 * grub-core/partmap/plan.c: Likewise.
16022 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
16024 Add facility to debug GRUB with gdb under qemu.
16026 * grub-core/gdb_grub.in: New file.
16027 * grub-core/gmodule.pl.in: Likewise.
16028 * grub-core/Makefile.core.def (gmodule.pl): New script.
16029 (gdb_grub): Likewise.
16031 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16033 * util/grub-mount.c (argp_parser): Accept relative pathes.
16034 * util/grub-fstest.c (argp_parser): Likewise.
16036 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16040 * Makefile.util.def (libgrubmods): Add
16041 grub-core/partmap/plan.c.
16042 * docs/grub.texi: Notice Plan9 support.
16043 * grub-core/Makefile.core.def (plan9): New module.
16044 (part_plan): Likewise.
16045 * grub-core/loader/i386/pc/plan9.c: New file.
16046 * grub-core/partmap/plan.c: Likewise.
16047 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
16049 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
16050 * include/grub/mm.h (grub_extend_alloc): New inline function.
16052 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
16054 Make Reed-Solomon faster by using power of generator representation of
16057 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
16058 (gf_double_t): Likewise.
16059 (gf_invert): Removed.
16060 (gf_powx): New array.
16061 (gf_powx_inv): Likewise.
16062 (scratch): Move higher.
16063 (gf_reduce): Removed.
16064 (gf_mul): Use powx.
16065 (gf_invert): Likewise.
16066 (init_inverts): Replaced with ...
16067 (init_powx): ...this. All users updated.
16068 (pol_evaluate): Replace multiplications with additions.
16069 (rs_encode): Likewise.
16070 (gauss_eliminate): Call gf_invert.
16071 (grub_reed_solomon_add_redundancy): Call init_powx.
16072 (grub_reed_solomon_recover): Call init_powx unconditionally.
16074 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16076 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
16078 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16080 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
16081 disk->partiton for safety.
16083 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16085 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
16087 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
16089 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16091 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
16093 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16095 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
16097 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16099 Fix spaces handling in proc/self/mountinfo.
16101 * util/getroot.c (unescape): New function.
16102 (grub_find_root_device_from_mountinfo): Use unescape.
16104 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16106 Support ZFS embedding.
16108 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
16109 (grub_zfs_fs): Register grub_zfs_embed.
16111 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16113 Fix MIPS compilation.
16115 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
16116 * include/grub/offsets.h: Rename decompressor fields from
16117 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
16118 * util/grub-mkimage.c (image_targets): Use new names.
16120 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16122 Defer multiboot device parsing until we're in compressed part.
16124 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
16125 bsd_part. setdevice has fallen into disuse.
16126 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
16127 (bsd_part): Likewise.
16128 (boot_dev): New variable.
16129 (multiboot_trampoline): Don't parse multiboot device.
16130 Pass multiboot device in %edx.
16131 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
16133 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
16135 * grub-core/kern/i386/pc/startup.S: Save edx.
16136 (grub_boot_drive): Removed.
16137 (grub_install_dos_part): Likewise.
16138 (grub_install_bsd_part): Likewise.
16139 (grub_boot_device): New variable.
16140 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
16141 (grub_install_bsd_part): Likewise.
16142 (grub_boot_drive): Likewise.
16143 (grub_boot_device): New variable.
16144 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
16146 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
16147 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
16148 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
16149 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
16150 * util/grub-install.in: Remove redundant condition.
16152 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16154 Fix bug introduced by previous commit.
16156 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
16158 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16160 Use decompressors framework on i386-pc. It increases core size
16161 by 46 bytes but improves compatibility and maintainability.
16163 * grub-core/Makefile.core.def (lzma_decompress): New image.
16164 (kernel): Add i386_pc_ldflags.
16165 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
16166 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
16167 to real_to_prot, prot_to_real and device info.
16168 * include/grub/offsets.h: Renamed decompressor offsets.
16169 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
16170 (image_target_desc): Remove raw_size and rename decompressor fields.
16171 (compress_kernel): Handle lzma.
16172 (generate_image): Handle decompressors on i386-pc.
16174 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16176 * configure.ac: Add -fno-asynchronous-unwind-tables.
16178 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16180 Move assembly code to C by using intwrap. It increases core size
16181 by 88 bytes but improves compatibility and maintainability.
16183 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
16184 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
16185 ... here. Translated to C.
16186 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
16187 * grub-core/term/i386/pc/console.c (grub_console_getkey):
16188 ... here. Translated to C.
16189 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
16190 * grub-core/term/i386/pc/console.c (grub_console_getxy):
16191 ... here. Translated to C.
16192 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
16193 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
16194 ... here. Translated to C.
16195 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
16196 * grub-core/term/i386/pc/console.c (grub_console_cls):
16197 ... here. Translated to C.
16198 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
16199 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
16200 ... here. Translated to C.
16201 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
16202 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
16204 * grub-core/term/i386/pc/console.c (int10_9): New function.
16205 (grub_console_putchar): Likewise.
16206 * include/grub/i386/pc/console.h: Removed the not anymore shared
16209 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16211 Move grub_chainloader_real_boot out of the kernel.
16213 * grub-core/Makefile.am: Remove machine/loader.h.
16214 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16216 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
16218 (grub_relocator16_keep_a20_enabled): Likewise.
16219 (grub_relocator16_boot): Fill new variables.
16220 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
16221 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
16223 (grub_chainloader_unload): Likewise.
16224 (grub_chainloader_cmd): Likewise.
16225 * include/grub/i386/pc/loader.h: Removed.
16226 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
16227 and esi. All initialisers updated.
16229 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
16230 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
16232 * Makefile.util.def (grub-mount): New util.
16233 * .bzrignore: Add grub-mount.
16234 * configure.ac: Check for fuse and enable grub-mount if available.
16235 * docs/man/grub-mount.h2m: New file.
16236 * util/grub-mount.c: Likewise.
16238 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16240 * grub-core/commands/efi/fixvideo.c: Gettextize.
16241 * grub-core/commands/hashsum.c: Likewise.
16242 * grub-core/commands/i386/cmostest.c: Likewise.
16243 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16244 * grub-core/commands/i386/pc/lsapm.c: Likewise.
16245 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16246 * grub-core/commands/lsmmap.c: Likewise.
16247 * grub-core/commands/menuentry.c: Likewise.
16248 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
16249 * grub-core/commands/setpci.c: Likewise.
16250 * grub-core/loader/i386/bsd.c: Likewise.
16251 * grub-core/loader/i386/linux.c: Likewise.
16252 * util/getroot.c: Likewise.
16253 * util/grub-editenv.c: Likewise.
16254 * util/grub-fstest.c: Likewise.
16255 * util/grub-mkfont.c: Likewise.
16256 * util/grub-mkimage.c: Likewise.
16257 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16258 * util/grub-pe2elf.c: Likewise.
16259 * util/grub-probe.c: Likewise.
16260 * util/grub-setup.c: Likewise.
16261 * util/ieee1275/ofpath.c: Likewise.
16262 * util/misc.c: Likewise.
16263 * util/raid.c: Likewise.
16265 2011-11-11 Robert Millan <rmh@gnu.org>
16267 * util/getroot.c (grub_util_get_geom_abstraction): Remove
16268 __attribute__((unused)) from `os_dev', which *is* being used.
16270 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16272 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
16274 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
16275 GRUB_IA64_DL_GOT_ALIGN.
16276 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
16277 GRUB_IA64_DL_TRAMP_ALIGN.
16279 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16281 Replace grub_fatal with normal errors in i386 linux loader.
16283 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
16284 (allocate_pages): Check find_efi_mmap_size return value.
16285 (grub_e820_add_region): Return error.
16286 (grub_linux_boot): Check mmap return value.
16288 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16290 * grub-core/commands/acpihalt.c: Gettextized.
16291 * grub-core/commands/cacheinfo.c: Likewise.
16292 * grub-core/commands/cmp.c: Likewise.
16293 * grub-core/commands/efi/loadbios.c: Likewise.
16294 * grub-core/commands/gptsync.c: Likewise.
16295 * grub-core/commands/ieee1275/suspend.c: Likewise.
16296 * grub-core/commands/legacycfg.c: Likewise.
16297 * grub-core/commands/memrw.c: Likewise.
16298 * grub-core/commands/minicmd.c: Likewise.
16299 * grub-core/commands/parttool.c: Likewise.
16300 * grub-core/commands/time.c: Likewise.
16301 * grub-core/commands/videoinfo.c: Likewise.
16302 * grub-core/disk/geli.c: Likewise.
16303 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
16304 * grub-core/disk/luks.c: Likewise.
16305 * grub-core/disk/lvm.c: Likewise.
16306 * grub-core/font/font_cmd.c: Likewise.
16307 * grub-core/fs/zfs/zfscrypt.c: Likewise.
16308 * grub-core/fs/zfs/zfsinfo.c: Likewise.
16309 * grub-core/gfxmenu/view.c: Likewise.
16310 * grub-core/kern/emu/hostdisk.c: Likewise.
16311 * grub-core/kern/emu/main.c: Likewise.
16312 * grub-core/kern/emu/misc.c: Likewise.
16313 * grub-core/kern/emu/mm.c: Likewise.
16314 * grub-core/kern/mips/arc/init.c: Likewise.
16315 * grub-core/kern/mips/loongson/init.c: Likewise.
16316 * grub-core/kern/partition.c: Likewise.
16317 * grub-core/lib/i386/halt.c: Likewise.
16318 * grub-core/lib/mips/arc/reboot.c: Likewise.
16319 * grub-core/lib/mips/loongson/reboot.c: Likewise.
16320 * grub-core/loader/i386/pc/chainloader.c: Likewise.
16321 * grub-core/loader/i386/xnu.c: Likewise.
16322 * grub-core/loader/multiboot.c: Likewise.
16323 * grub-core/net/bootp.c: Likewise.
16324 * grub-core/net/net.c: Likewise.
16325 * grub-core/normal/term.c: Likewise.
16326 * grub-core/partmap/bsdlabel.c: Likewise.
16327 * grub-core/parttool/msdospart.c: Likewise.
16328 * grub-core/term/gfxterm.c: Likewise.
16329 * grub-core/term/terminfo.c: Likewise.
16330 * grub-core/video/i386/pc/vbe.c: Likewise.
16331 * util/grub-menulst2cfg.c: Likewise.
16332 * util/grub-mkdevicemap.c: Likewise.
16333 * util/grub-mklayout.c: Likewise.
16334 * util/grub-mkrelpath.c: Likewise.
16335 * util/grub-script-check.c: Likewise.
16336 * util/ieee1275/grub-ofpathname.c: Likewise.
16337 * util/resolve.c: Likewise.
16339 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16341 Support %1$d syntax.
16343 * tests/printf_unit_test.c: New file.
16344 * Makefile.util.def (printf_test): New test.
16345 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
16347 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16349 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
16352 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16354 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
16356 * grub-core/font/font.c (grub_font_load): Likewise.
16358 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16360 * util/grub-macho2img.c: Add comment concerning gettext.
16361 * grub-core/lib/legacy_parse.c: Likewise.
16363 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16365 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
16366 (grub_xvasprintf): Likewise.
16368 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16370 Add const keyword to grub_env_get and gettextize week days.
16372 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
16373 (grub_read_hook_datetime): Return const char *.
16374 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
16376 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
16378 (grub_get_weekday_name): Return const char *. Call gettext.
16379 * grub-core/script/argv.c (grub_script_argv_append): Receive const
16380 char * and len as the argument. All users updated.
16381 (grub_script_argv_split_append): Receive const char *.
16382 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
16383 * include/grub/env.h (grub_env_get): Likewise.
16384 (grub_env_read_hook_t): Return const char *.
16385 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
16386 (grub_script_argv_split_append): Likewise.
16388 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16390 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
16392 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16394 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
16395 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
16397 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16399 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
16402 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16404 Fix mips compilation.
16406 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
16408 (hashes): Use in embed decoder as well (for sizes).
16409 (dec_stream_header): Fix embed decompressor logic.
16410 (dec_stream_footer): Likewise.
16412 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16414 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
16415 an error and not a fatal on unrecognised relocation types.
16417 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16419 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16420 Issue error rather than printf on unknown arguments.
16422 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16424 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
16427 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16429 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
16432 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16434 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
16435 leftover debug printf.
16437 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16439 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
16441 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16443 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
16446 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
16448 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
16450 2011-11-10 Shea Levy <slevy@tieronedesign.com>
16452 Allow all modules to perform serial IO
16454 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
16455 * include/grub/serial.h (grub_serial_port_configure): New inline
16457 (grub_serial_port_fetch): Likewise.
16458 (grub_serial_port_put): Likewise.
16459 (grub_serial_port_fini): Likewise.
16460 (grub_serial_find): New proto.
16462 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16464 Put symlink at the end of the node and fix a potential
16467 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
16468 Make symlink into an array.
16469 (set_rockridge): Set have_symlink and alloc_dirents.
16470 (grub_iso9660_read_symlink): Use new layout.
16471 (grub_iso9660_iterate_dir): Fix memory corruption.
16473 (grub_iso9660_dir): Set have_symlink.
16474 (grub_iso9660_open): Likewise.
16476 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16478 Remove local keyword.
16480 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
16481 (version_test_gt): Likewise.
16482 (version_find_latest): Likewise.
16483 (gettext_printf): Likewise.
16484 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
16486 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16488 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
16490 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16492 Fix ZFS memory and resource leaks.
16494 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
16497 (fill_vdev_info): New parameter inserted. All users updated.
16498 (check_pool_label): Likewise.
16499 (scan_disk): Likewise.
16500 (scan_devices): Close non-inserted disks.
16501 (fzap_iterate): Free l.
16502 (unmount_device): Free children descripto memory.
16504 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16506 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
16507 argument (access out of bounds).
16509 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16511 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
16514 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
16516 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
16519 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16521 Fix several memory leaks.
16523 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
16524 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
16525 (grub_cpio_dir): Likewise.
16526 * grub-core/fs/fat.c (grub_fat_label): Likewise.
16527 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
16528 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
16529 (grub_romfs_label): Likewise.
16530 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
16531 (squash_unmount): New function.
16532 (grub_squash_dir): Fix memory leak.
16533 (grub_squash_open): Likewise.
16534 (grub_squash_read): Likewise.
16535 (grub_squash_mtime): Likewise.
16536 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
16537 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
16538 * util/grub-fstest.c (fstest): Likewise.
16540 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16542 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
16543 avoid accessing beyond the array.
16545 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16547 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
16549 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16551 Several AFFS fixes.
16553 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
16554 (GRUB_AFFS_FLAG_FFS): Removed.
16555 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
16556 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
16557 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
16558 (grub_fshelp_node): Make block 32-bit.
16559 Add block_cache and last_block_cache.
16560 (grub_affs_read_block): Fill and use block cache.
16561 (grub_affs_read_file): Removed.
16562 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
16564 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
16566 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
16568 (grub_affs_close): Free block cache.
16569 (grub_affs_read): Use grub_fshelp_read_file directly.
16571 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16573 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
16576 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16578 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
16580 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
16583 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16585 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
16587 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
16588 byteswap when needed.
16590 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16592 Fix FreeBSD compilation.
16594 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
16595 to avoid circular dependency.
16596 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
16597 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
16598 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
16600 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16602 Fix ZFS crypto error types.
16604 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
16605 (grub_gcm_decrypt): Likewise.
16606 (grub_zfs_load_key_real): Fix error code type. Handle possible error
16609 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16613 * Makefile.util.def (10_illumos): New script.
16614 * configure.ac: Set COND_HOST_ILLUMOS.
16615 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
16616 Support Illumos calls.
16617 (find_partition_start) [__sun__]: Likewise.
16618 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
16619 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
16620 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
16621 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
16623 * util/grub-probe.c (probe) [__sun__]: Do character check.
16624 * util/grub.d/10_illumos.in: New file.
16626 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16628 Support escaped commas in hostdisk.
16630 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
16631 (find_grub_drive): Use unescape_cmp.
16632 (make_device_name): Escape commas.
16634 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16636 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
16638 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16640 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
16643 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
16645 Support trampoline jumps on powerpc.
16647 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
16649 (grub_dl_load_segments): Set mod->sz.
16650 (grub_dl_flush_cache): Flush whole space occupied by module, not just
16652 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
16654 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
16656 (trampoline): New struct.
16657 (trampoline_template): New const.
16658 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
16659 * include/grub/dl.h (grub_dl): Add sz element.
16660 [__powerpc__]: Follow __ia64__.
16661 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
16662 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
16663 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
16664 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
16666 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
16668 ZFS crypto support.
16670 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
16671 * grub-core/Makefile.core.def (zfscrypt): New module.
16672 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
16673 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
16674 it. All users updated.
16675 (grub_zfs_decrypt): New var.
16676 (grub_zfs_load_key): Likewise.
16677 (zio_checksum_functions): Add SHA256+MAC.
16678 (zio_checksum_verify): Handle incomplete comparison due to MAC.
16679 (zio_read): Handle encrypted blocks.
16680 (zap_verify): Remove incorrect check.
16681 (fzap_iterate): Handle non-standard fzap.
16682 (zap_iterate): Likewise.
16683 (zap_iterate_u64): New function.
16684 (dnode_get_fullpath): Load keys.
16685 * grub-core/fs/zfs/zfscrypt.c: New file.
16686 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
16687 (grub_crypto_ecb_encrypt): Make input const.
16688 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
16689 (grub_crypto_ecb_encrypt): Make input const.
16690 (GRUB_CIPHER_AES): New macro.
16691 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
16692 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
16693 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
16694 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
16695 prefix. All users updated.
16696 (grub_zfs_add_key): New proto.
16697 (grub_zfs_decrypt): Likewise.
16698 (grub_zfs_load_key): Likewise.
16699 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
16700 * util/grub-fstest.c (options): Add -K option.
16701 (argp_parser): Likewise.
16703 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16705 Support zle compression on ZFS.
16707 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
16708 (decomp_table): Add zle.
16709 * include/grub/zfs/zio.h (zio_compress): Add zle.
16711 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16713 Support BtrFS embedding.
16715 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
16716 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
16717 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
16718 * util/grub-setup.c (setup): Use fs embedding if available.
16719 Add additional sanity check.
16721 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
16723 * util/grub-install.in: Fix condition for config_opt.
16725 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16727 Support third redundancy strip on raidz3.
16729 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
16730 Return error on singularity. All users updated.
16731 (read_device): Don't stop on 3rd failure on raidz3.
16733 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16735 Support case-insensitive ZFS subvolumes.
16737 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
16739 (zap_hash): Likewise.
16740 (name_cmp): New function.
16741 (zap_leaf_array_equal): New parameter case_insensitive.
16743 (zap_leaf_lookup): Likewise.
16744 (fzap_lookup): Likewise.
16745 (zap_lookup): Likewise.
16746 (dnode_get_path): New parameter case_insensitive. Retrieve case
16747 sensitiviness of a volume. All users updated.
16748 (dnode_get_fullpath): New parameter case_insensitive.
16750 (grub_zfs_dir): Set info.case_insensitiveness.
16752 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16754 Support second redundancy strip on raidz(2,3).
16756 * grub-core/fs/zfs/zfs.c (powx): New array.
16757 (powx_inv): Likewise.
16759 (xor_out): New function.
16760 (gf_mul): Likewise.
16761 (recovery): Likewise.
16762 (read_device): Use second redundancy strip.
16764 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16766 Use a power of generator representation of GF(256) multiplication group
16767 to save space time and complexity.
16769 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
16770 (raid6_table2): Likewise.
16772 (powx_inv): Likewise.
16774 (grub_raid_block_mul): Replace with ...
16775 (grub_raid_block_mulx): ...this.
16776 (grub_raid6_init_table): Rewritten.
16777 (grub_raid6_recover): Use power of generator representation.
16779 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16781 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
16782 for the right device.
16784 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16786 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
16787 expected by grub-mkimage and it's more clear since there is no implicit
16790 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
16792 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
16794 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
16796 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
16798 * util/grub-mkrescue.in: Fix handling xorriso option.
16800 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16802 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
16805 2011-11-03 crocket <crockabiscuit@gmail.com>
16807 * util/grub.d/10_linux.in: Add Slackware initrd naming.
16809 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16811 XZ CRC64 and SHA256 support.
16813 * Makefile.util.def (libgrubmods): Add crc64.c.
16814 * grub-core/Makefile.core.def (crc64): New module.
16815 * grub-core/lib/crc64.c: New file.
16816 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
16817 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
16819 (MAX_HASH_SIZE): New define.
16820 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
16821 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
16822 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16823 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
16824 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
16825 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
16826 Handle non-crc32 hashes.
16827 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
16828 (dec_stream_header): Handle non-crc32 hashes.
16829 (dec_stream_footer): Likewise.
16830 (dec_block_header): Likewise.
16831 (dec_main): Likewise.
16832 (xz_dec_init): Likewise.
16833 (xz_dec_reset): Likewise.
16834 (xz_dec_end): Likewise.
16835 * util/import_gcry.py: Add CRC64 line.
16837 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16839 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
16842 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16844 Make reiserfs label retrieval similar to other *_label functions.
16846 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
16847 (REISERFS_MAX_LABEL_LENGTH): Removed.
16848 (REISERFS_LABEL_OFFSET): Likewise.
16849 (grub_reiserfs_label): Rewritten.
16851 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16853 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
16856 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
16858 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
16860 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16862 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
16863 drive failure on both raidz and raidz2.
16865 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
16867 Fix RAIDZ(2) for >= 5 devices.
16869 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
16870 asize argument. All users updated.
16872 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
16876 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
16877 (fill_vdev_info_real): Set ashift.
16878 (read_device): Rewrite RAIDZ part based on reverse engineering.
16880 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16882 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
16883 don't report potentially unavialiable fields in debug output.
16884 (find_path): Fix double-free and memory leak.
16886 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16888 Read label on UFS1.
16890 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
16891 (grub_ufs_fs): Always set .label.
16893 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16897 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
16898 (grub_ufs_data): New field log2_blksz.
16899 (grub_ufs_read_file): Use shifts.
16900 (grub_ufs_mount): Check block size and logarithm it.
16902 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
16904 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
16907 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16909 Handle symlinks and long names on tar and cpio.
16911 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
16912 (ATTR_FILE): Likewise.
16913 (ATTR_DIR): Likewise.
16914 (ATTR_LNK): Likewise.
16915 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
16916 (grub_cpio_find_file): Fill mode, handle linkname field as well as
16918 (grub_cpio_mount): Zero-fill data.
16919 (handle_symlink): New function.
16920 (grub_cpio_dir): Handle symlinks.
16921 (grub_cpio_open): Likewise.
16922 (grub_cpio_close) [MODE_USTAR]: Free linkname.
16924 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16926 Fix iso9660 filename limitations and fix memory leaks.
16928 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
16929 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
16931 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16933 Fix JFS file name length limitations.
16935 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
16936 (grub_jfs_diropen): Fix maximum filename length.
16937 (grub_jfs_getent): Fix filename length.
16938 (grub_jfs_lookup_symlink): Fix size checks.
16940 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16942 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
16945 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16947 Leverage BFS implementation to read AFS.
16949 * Makefile.util.def (libgrubmods): Add afs.c.
16950 * grub-core/Makefile.core.def (afs): New module
16951 * grub-core/fs/afs.c: New file.
16952 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
16954 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16956 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
16958 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16960 * grub-core/fs/bfs.c: Run indent.
16962 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16964 BFS implementation based on the specification.
16966 * grub-core/fs/bfs.c: New file.
16967 * Makefile.util.def (libgrubmods): Add bfs.c.
16968 * grub-core/Makefile.core.def (bfs): New module.
16970 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
16972 * util/grub-fstest.c (cmd_cp): Clarify error message.
16973 (cmd_cmp): Likewise.
16975 2011-10-30 Yves Blusseau <blusseau@zetam.org>
16977 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
16980 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
16982 Remove afs and befs because of copyright problem.
16984 * grub-core/fs/afs.c: Removed.
16985 * grub-core/fs/afs_be.c: Removed.
16986 * grub-core/fs/befs.c: Removed.
16987 * grub-core/fs/befs_be.c: Removed.
16988 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
16989 * grub-core/Makefile.core.def (afs): Removed.
16990 (afs_be): Likewise.
16992 (befs_be): Likewise.
16994 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
16996 Prefer rockridge over Joliet.
16998 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
17000 (set_rockridge): ... here.
17001 (grub_iso9660_mount): Check rockridge on the primary label when
17002 discovering. Ignore Joliet if Rockridge is present.
17004 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17006 Use shifts in nilfs2.
17008 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
17009 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
17010 (grub_nilfs2_palloc_entries_per_group): Replace with ...
17011 (grub_nilfs2_log_palloc_entries_per_group): ... this.
17012 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
17013 (grub_nilfs2_entries_per_block): Replaced with ...
17014 (grub_nilfs2_log_entries_per_block_log): ... this.
17015 (grub_nilfs2_blocks_per_group): Replaced with ...
17016 (grub_nilfs2_blocks_per_group_log): ... this.
17017 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
17018 (grub_nilfs2_blocks_per_desc_block_log): ... this.
17019 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
17020 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
17021 (grub_nilfs2_palloc_entry_offset): Replaced ...
17022 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
17023 (grub_nilfs2_dat_translate): Use shifts.
17024 (grub_nilfs2_read_inode): Likewise.
17025 (GRUB_MOD_INIT): Ensure that logs are correct.
17027 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17029 Use shifts in minix filesystem.
17031 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
17032 (GRUB_MINIX_ZONE2SECT): Likewise.
17033 (grub_minix_data): Replace block_size with log_block_size.
17034 (grub_minix_read_file): Use shifts.
17035 (grub_minix_mount): Check block size and take a logarithm.
17037 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17039 Use shifts in squash4.
17041 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
17042 (squash_mount): Check block size and take logarithm.
17043 (direct_read): Use shifts.
17045 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17047 Correct befs block counting logic.
17049 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
17050 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
17051 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
17052 (grub_afs_read_inode): Use block_shift.
17053 (RANGE_SHIFT): New definition.
17054 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
17055 unexpected conditions, use shifts and appropriate types.
17056 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
17058 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
17060 * grub-core/disk/raid.c (scan_devices): Check partition.
17061 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
17063 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17065 Support BFS (befs) UUID.
17067 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
17068 (grub_afs_small_data_element_header): New struct.
17069 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
17070 (grub_afs_read_attribute) [MODE_BFS]: New function.
17071 (grub_afs_iterate_dir): Allocate for complete inode.
17072 (grub_afs_mount): Likewise.
17073 (grub_afs_uuid) [MODE_BFS]: New function.
17074 (grub_afs_fs) [MODE_BFS]: Add .uuid.
17076 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
17078 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
17079 (zfs_unmount): Fix memory leak.
17081 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17083 Support NTFS reparse points.
17085 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
17086 (symlink_descriptor): New struct.
17087 (grub_ntfs_read_symlink): New function.
17088 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
17089 (grub_ntfs_open): Likewise.
17091 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17093 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
17095 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17097 fstest xnu_uuid subcommand.
17099 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
17100 grub-core/commands/xnu_uuid.c.
17101 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
17102 (fstest): Handle xnu_uuid.
17103 (options): Document xnu_uuid.
17104 (argp_parser): Parse xnu_uuid.
17106 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17108 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
17109 -l argument. Add newline at the end if printing.
17110 (GRUB_MOD_INIT): Document -l.
17112 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17114 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
17116 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17118 ZFS multi-device and version 33 support.
17120 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
17121 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
17122 (grub_zfs_data): Add multidev-ice-related fields.
17123 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
17124 (dva_get_offset): Make dva const.
17125 (zfs_fetch_nvlist): New function.
17126 (fill_vdev_info_real): Likewise.
17127 (fill_vdev_info): Likewise.
17128 (check_pool_label): Likewise.
17129 (scan_disk): Likewise.
17130 (scan_devices): Likewise.
17131 (read_device): Likewise.
17132 (read_dva): Likewise.
17133 (zio_read_gang): Use read_dva.
17134 (zio_read_data): Likewise.
17135 (zap_leaf_lookup): Add missing endian conversion.
17136 (zap_verify): Add missing endian conversion. All users updated.
17137 (fzap_lookup): Likewise.
17138 (fzap_iterate): Likewise.
17139 (dnode_get_path): Handle SA bonus.
17140 (nvlist_find_value): Make input const. All users updated.
17141 (unmount_device): New function.
17142 (zfs_unmount): Use unmount_device.
17143 (zfs_mount): Use scan_disk.
17144 (zfs_mtime): New function.
17145 (grub_zfs_open): Handle system attributes.
17146 (fill_fs_info): Likewise.
17147 (grub_zfs_dir): Likewise.
17148 (grub_zfs_fs): Add mtime.
17149 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
17150 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
17151 (SA_MTIME_OFFSET): Likewise.
17152 (SA_SYMLINK_OFFSET): Likewise.
17153 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
17154 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
17155 (fstest): Support zfsinfo.
17156 (argp_parser): Likewise.
17158 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17160 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
17163 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
17167 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
17168 sharing the same block. Iterate over correct number of indices.
17169 (dnode_get_path): Handle symlinks correctly.
17171 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17173 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
17175 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17177 Read label on HFS+.
17179 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
17180 (grub_hfsplus_btree_search): Fix types.
17181 (grub_hfsplus_label): Implement.
17183 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17185 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
17187 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17189 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
17191 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17193 Fix symlink handling on iso9660.
17195 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
17197 (grub_iso9660_susp_iterate): Accept zero-size iterate.
17198 (grub_iso9660_read_symlink): Moved most of code ...
17199 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
17201 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17203 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17204 Use union to avoid breaking strict-aliasing rules.
17206 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17208 Support multi-extent iso files.
17210 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
17212 (grub_fshelp_node): Revamp. All users updated.
17213 (FLAG_*): New enum.
17214 (read_node): New function.
17215 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
17217 (grub_iso9660_mount): Don't attempt to read sua when there is none.
17218 (get_node_size): New function.
17219 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
17221 Fix memory leak on . and ..
17222 (grub_iso9660_read): Use read_node.
17223 (grub_iso9660_close): Free node.
17225 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17227 Fix tar 4G limit and handle paths containing dot.
17229 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
17230 (canonicalize): New function.
17231 (grub_cpio_find_file): Use canonicalize. Store offs in
17233 (grub_cpio_dir): Use grub_disk_addr_t.
17234 (grub_cpio_open): Likewise.
17236 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17238 Fix handling of uncompressed blocks on squashfs and break 4G limit.
17240 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
17242 (grub_squash_inode): Add long_file and block_size.
17243 (grub_squash_cache_inode): New struct.
17244 (grub_squash_dirent): Make types into enum.
17245 (SQUASH_TYPE_LONG_REGULAR): New type.
17246 (grub_squash_frag_desc): Add field size.
17247 (SQUASH_BLOCK_FLAGS): New enum.
17248 (grub_squash_data): Use grub_squash_cache_inode.
17249 (grub_fshelp_node): Make ino_chunk 64-bit.
17250 (read_chunk): Minor argument change. All users updated.
17251 (squash_mount): Use correct le_to_cpu.
17252 (grub_squash_open): Handle LONG_REGULAR.
17253 (direct_read): New function.
17254 (grub_squash_read_data): Handle blocks correctly.
17256 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17258 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
17260 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17262 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
17264 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17266 Fix 2G limit on ZFS.
17268 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
17270 (uberblock_verify): Likewise.
17271 (dmu_read): Likewise.
17272 (grub_zfs_read): Likewise. Remove invalid cast.
17274 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17276 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
17277 (grub_jfs_blkno): Fix incorrect shift.
17278 (grub_jfs_read_file): Use more appropriate types.
17280 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17282 Support triple indirect on minix2 and minix3.
17284 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
17285 Declare triple_indir_zone.
17286 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
17289 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
17293 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
17294 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
17295 Rename ctime to mtime. All users updated.
17296 (grub_minix_get_file_block): Fix types and double indirect computations.
17298 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17300 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
17301 if no label is found.
17302 (grub_fat_iterate_dir): Fix file size type.
17303 (grub_fat_iterate_dir): Likewise.
17305 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17307 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
17309 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
17310 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17312 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17314 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
17316 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17318 * util/import_gcry.py: Accept space between # and include.
17320 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17322 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
17324 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17326 Fine grainely disable warnings on lexer. Remove Wno-error on it.
17328 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
17329 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
17331 * grub-core/script/yylex.l: Add fine-grained #pragma.
17333 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17335 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
17336 New inline function.
17337 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
17339 (memset) [GRUB_UTIL]: Likewise.
17340 (memcmp) [GRUB_UTIL]: Likewise.
17342 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17344 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
17345 inline function rather than a define.
17347 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17349 * util/grub-setup.c: Add missing include.
17351 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17353 * util/ieee1275/grub-ofpathname.c: Add missing include.
17355 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17357 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
17358 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
17361 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17363 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
17366 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17368 * util/grub-install.in: Add datarootdir as per automake manual
17370 * util/grub-mknetdir.in: Likewise.
17372 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
17374 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
17376 * util/grub.d/10_kfreebsd.in: Likewise.
17377 * util/grub.d/10_linux.in: Likewise.
17378 * util/grub.d/10_netbsd.in: Likewise.
17379 * util/grub.d/10_windows.in: Likewise.
17380 * util/grub.d/20_linux_xen.in: Likewise.
17382 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
17384 Remove redundant grub_kernel_image_size.
17386 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
17388 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
17389 the small code. It moves it only by few bytes but simplifies the code.
17390 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
17392 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
17393 (grub_kernel_image_size): Removed.
17394 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
17395 (grub_kernel_image_size): Removed.
17396 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
17397 compiled with Apple toolchain.
17398 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
17399 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
17400 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
17401 (grub_total_module_size): Likewise.
17402 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
17404 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
17405 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
17406 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
17407 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
17408 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
17409 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
17410 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
17411 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
17413 (grub_total_module_size): Removed.
17414 * util/grub-mkimage.c (image_target_desc): Remove image_size.
17415 (image_targets): Likewise.
17416 Set .compressed_size to no field on sparc.
17417 (generate_image): Remove kernel_image_size handling.
17419 2011-10-19 Szymon Janc <szymon@janc.net.pl>
17421 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
17422 NULL pointer dereference.
17424 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17426 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
17427 done with a dedicated section.
17429 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
17430 Ensure the correct position of boot_path.
17431 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
17432 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
17434 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
17435 * include/grub/boot.h: Removed. All references removed.
17436 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17438 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
17440 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17442 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
17445 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17447 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
17449 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17451 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
17452 Don't add the bogus brackets.
17454 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17458 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
17459 * grub-core/Makefile.core.def (exfat): New module.
17460 * grub-core/fs/exfat.c: New file.
17461 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
17462 (GRUB_FAT_ATTR_*): Make into an enum.
17463 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
17464 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
17465 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
17466 (GRUB_FAT_MAXFILE): Removed.
17467 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
17468 (grub_current_fat_bpb_t): New type.
17469 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17470 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
17471 (grub_fat_dir_node_t): New type.
17472 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
17473 (fat_log2) [MODE_EXFAT]: Removed.
17474 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
17475 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
17476 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
17477 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
17478 (grub_fat_label) [MODE_EXFAT]: New function.
17479 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
17480 reserved_first_sector to 0.
17482 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
17484 Move grub_reboot out of the kernel.
17486 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
17487 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
17488 * grub-core/lib/efi/reboot.c: ... here.
17489 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
17490 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
17491 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
17492 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
17493 * grub-core/lib/i386/reboot_trampoline.S: ... here.
17494 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
17495 * grub-core/lib/ieee1275/reboot.c: ... here.
17496 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
17497 * grub-core/lib/mips/arc/reboot.c: ... here.
17498 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
17499 * grub-core/lib/mips/loongson/reboot.c: ...here.
17500 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
17501 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
17502 * include/grub/emu/misc.h (grub_reboot): New function declaration.
17503 * include/grub/i386/reboot.h: New file.
17504 * include/grub/mips/loongson/ec.h: Fix includes.
17505 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
17506 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
17507 * grub-core/lib/i386/reboot.c: New file.
17509 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
17511 Make grub_prefix into module to fix the arbitrary limit and save
17514 * grub-core/kern/emu/main.c (grub_prefix): Removed.
17515 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
17516 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
17517 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
17518 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
17519 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
17520 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
17521 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
17522 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17523 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
17524 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
17525 * include/grub/ia64/efi/kernel.h: Removed.
17526 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
17527 (grub_prefix): Removed.
17528 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
17529 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
17530 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
17531 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
17532 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
17533 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
17534 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
17535 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
17536 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
17537 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
17538 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17539 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17540 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17541 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17542 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
17543 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
17544 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
17545 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17546 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
17547 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
17548 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
17549 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
17550 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
17551 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
17552 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
17553 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
17554 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
17555 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
17556 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
17558 * util/grub-mkimage.c (image_target_desc): Removed prefix and
17560 (image_targets): Likewise.
17561 (generate_image): Put prefix as a module.
17563 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17565 Replace grub_module_iterate with FOR_MODULES.
17567 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
17568 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
17569 (grub_efi_modules_addr): ...this.
17570 * grub-core/kern/efi/init.c (grub_modbase): New variable.
17571 (grub_efi_init): Set grub_modbase.
17572 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
17573 (grub_modbase): New variable.
17574 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
17575 (grub_modbase): New variable.
17576 (grub_machine_init): Set grub_modbase.
17577 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
17578 (grub_modbase): New variable.
17579 (grub_machine_init): Set grub_modbase.
17580 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
17581 (grub_modbase): New variable.
17582 (grub_machine_init): Set grub_modbase.
17583 * grub-core/kern/main.c (grub_module_iterate): Remove.
17584 (grub_modules_get_end): Use grub_modbase.
17585 (grub_load_modules): Use FOR_MODULES.
17586 (grub_load_config): Likewise.
17587 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
17588 (grub_modbase): New variable.
17589 (grub_machine_init): Set grub_modbase.
17590 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
17591 (grub_modbase): New variable.
17592 (grub_machine_init): Set grub_modbase.
17593 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
17595 (grub_modbase): New variable.
17596 (grub_machine_init): Set grub_modbase.
17597 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
17598 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
17599 (grub_module_iterate): Likewise.
17600 (grub_modbase): New variable declaration.
17601 (FOR_MODULES): New macro.
17603 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17605 * configure.ac: Check for __ctzdi2 and __ctzsi2.
17606 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
17608 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17610 Fix few obvious type discrepancies.
17612 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
17613 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
17614 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
17616 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
17617 and connected types.
17618 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
17620 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
17621 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
17622 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
17623 and connected types.
17625 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17627 Fix python 3.x incompatibilities.
17629 * gentpl.py: Put brackets around print strings.
17630 * util/import_gcry.py: Open explicitly as utf-8.
17631 Use in instead of has_key.
17633 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17635 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
17636 (GRUB_XFS_INO_AGBITS): Make into inline function.
17637 (GRUB_XFS_INO_INOINAG): Likewise.
17638 (GRUB_XFS_INO_AG): Likewise.
17639 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17640 (GRUB_XFS_EXTENT_OFFSET): Likewise.
17641 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17642 (GRUB_XFS_EXTENT_SIZE): Likewise.
17643 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
17644 (GRUB_XFS_NEXT_DIRENT): Likewise.
17645 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
17646 (grub_xfs_read_file): Fix offset type.
17648 2011-10-15 Robert Millan <rmh@gnu.org>
17650 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
17652 2011-10-15 Robert Millan <rmh@gnu.org>
17654 Fix build problem on FreeBSD and GNU/kFreeBSD.
17656 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
17658 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17660 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
17662 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
17664 (grub_hfsplus_btree_recoffset): Likewise.
17665 (grub_hfsplus_btree_recptr): Likewise.
17666 (grub_hfsplus_find_block): Likewise.
17667 (grub_hfsplus_btree_search): Likewise.
17668 (grub_hfsplus_read_block): Likewise.
17669 (grub_hfsplus_read_file): Likewise.
17670 (grub_hfsplus_mount): Likewise.
17671 (grub_hfsplus_btree_iterate_node): Likewise.
17672 (grub_hfsplus_btree_search): Likewise.
17673 (grub_hfsplus_iterate_dir): Likewise.
17674 (grub_hfsplus_read): A small code simplification.
17676 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17678 * grub-core/kern/emu/hostdisk.c
17679 (convert_system_partition_to_system_disk): Don't assume that children
17680 of mapper nodes are mapper nodes.
17682 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
17684 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
17685 * include/grub/misc.h (grub_isxdigit): New function.
17686 * grub-core/video/colors.c (my_isxdigit): Removed. All users
17687 switched to grub_isxdigit.
17688 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
17689 number starting with a letter.
17691 2011-10-09 Robert Millan <rmh@gnu.org>
17693 LVM support for FreeBSD and GNU/kFreeBSD.
17695 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
17697 (LVM_DEV_MAPPER_STRING): Move from here ...
17698 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
17699 * util/getroot.c: Include `<grub/util/lvm.h>'.
17700 (grub_util_get_dev_abstraction): Enable
17701 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
17702 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
17703 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
17704 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
17706 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
17708 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
17709 when LVM abstraction is required for ${GRUB_DEVICE}.
17711 2011-10-06 Szymon Janc <szymon@janc.net.pl>
17713 Add support for LZO compression in GRUB:
17714 - import of minilzo library,
17715 - LZO decompression for btrfs,
17716 - lzop files decompression.
17718 * grub-core/io/lzopio.c: New file.
17719 * grub-core/lib/adler32.c: Likewise.
17720 * grub-core/lib/minilzo/lzoconf.h: Likewise.
17721 * grub-core/lib/minilzo/lzodefs.h: Likewise.
17722 * grub-core/lib/minilzo/minilzo.c: Likewise.
17723 * grub-core/lib/minilzo/minilzo.h: Likewise.
17724 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
17725 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
17726 grub-core/lib/minilzo/minilzo.c to common.
17727 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
17728 cflags in cppflags.
17729 * grub-core/Makefile.core.def (btrfs): Likewise.
17730 * grub-core/Makefile.core.def (lzopio): New module.
17731 (adler32): Likewise.
17732 * grub-core/fs/btrfs.c: Include minilzo.h.
17733 (GRUB_BTRFS_COMPRESSION_LZO): New define.
17734 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
17735 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
17736 (grub_btrfs_lzo_decompress): New function.
17737 (grub_btrfs_extent_read): Add support for LZO compression type.
17738 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
17739 (GRUB_USHRT_MAX): Likewise.
17740 (GRUB_UINT_MAX): Likewise.
17741 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
17742 (UINT_MAX): Likewise.
17743 (CHAR_BIT): Likewise.
17744 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
17745 grub-core/lib/posix_wrap/limits.h
17746 (UCHAR_MAX): Likewise.
17747 * include/grub/file.h (grub_file_filter_id): New compression filter
17748 GRUB_FILE_FILTER_LZOPIO.
17749 * include/grub/file.h (grub_file_filter_id): Set
17750 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
17751 * include/grub/types.h (grub_get_unaligned16): New function.
17752 (grub_get_unaligned32): Likewise.
17753 (grub_get_unaligned64): Likewise.
17754 * util/import_gcry.py (cryptolist): Add adler32.
17756 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
17758 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
17759 in perspective decreases the complexity of build system and fixes
17760 compilation right now.
17762 2011-10-01 Ales Nesrsta <starous@volny.cz>
17764 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
17765 (fixed problem related to using UHCI with coreboot).
17767 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17769 * gentpl.py: Use Autogen macros so that the output template file
17770 (Makefile.tpl) size is reduced.
17772 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
17774 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
17777 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17779 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
17780 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
17782 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17784 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
17787 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
17789 Remove extra declaration of sleep for mingw32.
17791 * util/misc.c (sleep) [__MINGW32__]: Removed.
17792 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
17794 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
17796 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
17798 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
17800 (NETBSD_BTINFO_BOOTWEDGE): New definition.
17801 (grub_netbsd_btinfo_bootwedge): New struct.
17802 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17804 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
17806 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
17808 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
17811 2011-09-28 Andreas Born <futur.andy@googlemail.com>
17813 Fix incorrect identifiers in bash-completion.
17815 * util/bash-completion.d/grub-completion.bash.in
17816 (_grub_mkpasswd-pbkdf2): Rename to ...
17817 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
17818 (_grub_script-check): Rename to ...
17819 (_grub_script_check): ... this. All users updated.
17821 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
17823 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
17824 Return 0 if disk isn't biosdisk.
17826 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17828 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
17830 * Makefile.util.def (grub-fstest): Likewise.
17832 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
17834 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
17835 Get sector size from disk label.
17837 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
17839 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
17840 */README* as well as README*.
17841 Reported by: Axel Beckert.
17843 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17845 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
17846 case of less than 256 MiB of RAM.
17848 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17850 * grub-core/commands/wildcard.c (make_regex): Handle @.
17852 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17854 * util/grub-install.in: Move cryptodisk logic to appropriate place.
17856 2011-08-21 Szymon Janc <szymon@janc.net.pl>
17858 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
17859 AC_LANG_CONFTEST macros.
17861 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17863 Add grub-fstest option to uncompress data for commands.
17865 * util/grub-fstest.c (uncompress): New var.
17866 (options): New option -u.
17868 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17870 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
17871 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
17873 2011-08-20 Szymon Janc <szymon@janc.net.pl>
17875 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
17876 file type was not recognized correctly (not gzip or corrupted).
17878 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17880 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
17881 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
17883 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17885 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
17887 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17888 video_radeon_fuloong2e.
17889 * grub-core/video/radeon_fuloong2e.c: New file.
17890 * include/grub/video.h (grub_video_id_t): Add new ID
17891 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
17893 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17895 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
17897 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
17898 that PRID matches the detected subplatform and reset the subplatform
17901 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17903 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
17905 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17907 Fix PCI iterating on functions >= 4.
17909 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
17910 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
17912 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
17913 (grub_pci_read): Fix bitmask.
17914 (grub_pci_read_word): Likewise.
17915 (grub_pci_read_byte): Likewise.
17916 (grub_pci_write): Likewise.
17917 (grub_pci_write_word): Likewise.
17918 (grub_pci_write_byte): Likewise.
17920 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17922 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
17923 can still be specified in TARGET_CFLAGS)
17925 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17927 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
17929 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
17930 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
17931 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
17932 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
17933 (FULOONG): Rename to ...
17934 (FULOONG2F): ... this. All users updated.
17935 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
17936 (machtype_fuloong2f_str): ... this.
17937 (machtype_fuloong2e_str): New string.
17938 Check for machtype_fuloong2e_str.
17939 * grub-core/loader/mips/linux.c (loongson_machtypes)
17940 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
17941 * grub-core/term/serial.c (loongson_defserial)
17942 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
17943 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
17944 loongson_defserial.
17945 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
17947 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
17948 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
17949 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
17950 to IMAGE_FULOONG2F_FLASH. All users updated.
17951 (image_targets): Rename images.
17952 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
17954 2011-08-19 Szymon Janc <szymon@janc.net.pl>
17956 Make enable of disk cache statistics code configurable.
17958 * configure.ac: --enable-cache-stats added.
17959 * config.h.in (DISK_CACHE_STATS): New define.
17960 * grub-core/Makefile.core.def (cacheinfo): New command.
17961 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
17962 * grub-core/commands/cacheinfo.c: New file.
17963 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
17964 moved to cacheinfo.c.
17965 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
17967 * include/grub/disk.h: Likewise.
17969 2011-08-19 Szymon Janc <szymon@janc.net.pl>
17971 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
17972 * grub-core/Makefile.am: Likewise.
17974 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17976 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
17979 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17981 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
17983 (grub_jfs_lookup_symlink): Use correct starting inode.
17985 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17987 * util/grub-setup.c (main): Add missing gcry initialisation.
17989 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
17991 Don't accept text modes on EFI when booting Linux.
17993 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
17994 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
17996 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
17997 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
17999 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
18000 use of "/path/.." as in grub-install for EFI as well as handling
18001 symlinks correctly.
18002 Fixes Debian bug #637768.
18004 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
18006 * util/grub-probe.c: Remove duplicate #include.
18008 2011-08-10 Robert Millan <rmh@gnu.org>
18010 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
18012 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
18014 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
18015 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
18017 2011-08-03 Robert Millan <rmh@gnu.org>
18019 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
18020 la_array as packed.
18021 Reported by: Zachary Bedell
18023 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
18025 * configure.ac: The Loongson port requires grub-mkfont due to its
18026 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
18029 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
18031 * util/grub-install.in: Don't source grub-mkconfig_lib until after
18032 processing arguments (otherwise help2man fails when GRUB has not yet
18035 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18037 New script grub-mkstandalone.
18039 * Makefile.util.def (grub-mkstandalone): New script.
18040 * docs/man/grub-mkstandalone.h2m: New file.
18041 * util/grub-mkstandalone.in: Likewise.
18043 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18045 Support ATA disks with 4K sectors.
18047 * include/grub/ata.h (grub_ata): New member log_sector_size.
18048 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
18049 (grub_ata_identify): Read sector size.
18050 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
18052 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18054 * util/grub-install.in: Don't use uhci outside of x86.
18056 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18058 * util/grub-mkrescue.in: Add missing quotes.
18060 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18062 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
18065 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18067 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
18069 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18071 * include/grub/video.h: add missing EXPORT_FUND on
18072 grub_video_edid_checksum and grub_video_edid_preferred_mode.
18074 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18076 * include/grub/mips/kernel.h: Fix define conflict.
18078 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
18080 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
18083 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
18085 Preferred resolution detection for VBE.
18087 * grub-core/video/video.c (grub_video_edid_checksum): New function.
18088 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
18089 the Flat Panel extension, in line with the X.org VESA driver.
18090 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
18092 (grub_vbe_bios_get_ddc_capabilities): Likewise.
18093 (grub_vbe_bios_read_edid): Likewise.
18094 (grub_vbe_get_preferred_mode): Likewise.
18095 (grub_video_vbe_setup): When the mode is "auto", try to get the
18096 preferred mode from VBE, and use the largest mode that is no larger
18097 than the preferred mode (some BIOSes expose a preferred mode that is
18098 not in their mode list!). If this fails, fall back to 640x480 as a
18099 safe conservative choice.
18100 (grub_video_vbe_get_edid): New function.
18101 (grub_video_vbe_adapter): Add get_edid.
18102 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
18103 (struct grub_video_adapter): Add get_edid.
18104 (grub_video_edid_checksum): Add prototype.
18105 (grub_video_edid_preferred_mode): Likewise.
18106 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
18109 * grub-core/commands/videoinfo.c (print_edid): New function.
18110 (grub_cmd_videoinfo): Print EDID if available.
18112 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
18113 is more appropriate on a wider range of platforms than 640x480.
18114 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
18117 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18119 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
18121 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18123 * po/POTFILES.in: Regenerate.
18125 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18127 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
18128 incorrect memory usage.
18130 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18132 * util/grub-install.in: Source grub-mkconfig_lib.
18134 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18136 Remove getroot.c from core on emu platform.
18138 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
18140 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
18142 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
18143 * util/getroot.c (get_win32_path): ... here.
18144 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
18145 * util/getroot.c (fini_libzfs): ... here.
18146 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
18147 * util/getroot.c (grub_get_libzfs_handle): ... here.
18148 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
18150 * util/getroot.c (grub_find_zpool_from_dir): ... here.
18151 * grub-core/kern/emu/misc.c
18152 (grub_make_system_path_relative_to_its_root): Moved from here...
18153 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
18154 * grub-core/kern/emu/getroot.c: Moved from here ...
18155 * util/getroot.c: ... here. All users updated.
18156 * grub-core/kern/emu/raid.c: Moved from here ...
18157 * util/raid.c: ... here. All users updated.
18159 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
18161 * po/POTFILES.in: Regenerate.
18163 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18165 Fix compilation on GNU/Linux.
18167 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
18169 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
18170 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
18171 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
18173 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18174 2011-07-07 Michael Gorven <michael@gorven.za.net>
18175 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
18177 LUKS and GELI support.
18179 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
18180 grub-core/disk/luks.c, grub-core/disk/geli.c,
18181 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
18182 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
18183 grub-core/lib/arg.c.
18184 (libgrubmods.a): Remove gcrypts cflags and cppflags.
18185 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
18186 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
18187 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
18188 (grub-bin2h): Add libgcry.a.
18189 (grub-mkimage): Likewise.
18190 (grub-mkrelpath): Likewise.
18191 (grub-script-check): Likewise.
18192 (grub-editenv): Likewise.
18193 (grub-mkpasswd-pbkdf2): Likewise.
18194 (grub-pe2elf): Likewise.
18195 (grub-fstest): Likewise.
18196 (grub-mkfont): Likewise.
18197 (grub-mkdevicemap): Likewise.
18198 (grub-probe): Likewise.
18199 (grub-ofpath): Likewise.
18200 (grub-mklayout): Likewise.
18201 (example_unit_test): Likewise.
18202 (grub-menulst2cfg): Likewise.
18203 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
18204 * grub-core/Makefile.core.def (cryptodisk): New module.
18207 * grub-core/disk/AFSplitter.c: New file.
18208 * grub-core/disk/cryptodisk.c: Likewise.
18209 * grub-core/disk/geli.c: Likewise.
18210 * grub-core/disk/luks.c: Likewise.
18211 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
18213 (grub_util_get_dm_abstraction): New function.
18214 (grub_util_follow_gpart_up): Likewise.
18215 (grub_util_get_geom_abstraction): Likewise.
18216 (grub_util_get_dev_abstraction): Use new functions.
18217 (grub_util_pull_device): Pull GELI and LUKS.
18218 (grub_util_get_grub_dev): Handle LUKS and GELI.
18219 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
18220 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
18221 (follow_geom_up): Removed.
18222 (grub_util_fd_seek): New function.
18223 (open_device): Use grub_util_fd_seek.
18224 (nread): Rename to ..
18225 (grub_util_fd_read): ... this. All users updated.
18226 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
18227 (grub_crypto_cbc_decrypt): Likewise.
18228 (grub_crypto_hmac_write): Likewise.
18229 (grub_crypto_hmac_buffer): Likewise.
18230 (grub_password_get): Extend to util.
18231 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
18232 New member modname.
18233 (gcry_md_spec) [GRUB_UTIL]: Likewise.
18234 * include/grub/cryptodisk.h: New file.
18235 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
18236 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
18238 (grub_util_follow_gpart_up): New proto.
18239 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
18240 (grub_util_fd_read): Likewise.
18241 (grub_cryptodisk_cheat_mount): Likewise.
18242 (grub_util_cryptodisk_print_uuid): Likewise.
18243 (grub_util_get_fd_sectors): Likewise.
18244 * util/grub-fstest.c (mount_crypt): New var.
18245 (fstest): Mount crypto if requested.
18246 (options): New option -C.
18247 (argp_parser): Parse -C.
18248 (main): Init and fini gcry.
18249 * util/grub-install.in: Support cryptodisk install.
18250 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
18251 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
18253 (prepare_grub_to_access_device): Likewise.
18254 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
18255 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
18256 (probe_cryptodisk_uuid): New function.
18257 (probe_abstraction): Likewise.
18258 (probe): Use new functions.
18259 * util/import_gcry.py: Create Makefile.utilgcry.def.
18260 Add modname member.
18262 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18264 Lazy device scanning.
18266 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
18267 (grub-setup): Remove util/raid.c.
18268 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
18269 * grub-core/disk/lvm.c (scan_depth): New variable.
18270 (grub_lvm_iterate): Rescan if necessary.
18271 (find_lv): New function based on grub_lvm_open.
18272 (grub_lvm_open): Use find_lv. Rescan on error.
18273 (is_node_readable): New function.
18274 (is_lv_readable): Likewise.
18275 (grub_lvm_scan_device): Skip already found disks.
18276 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
18277 Stop if searched device is found and readable.
18278 * grub-core/disk/raid.c (inscnt): New variable.
18279 (scan_depth): Likewise.
18280 (scan_devices): New function based on grub_raid_register. Abort if
18281 looked for device is found.
18282 (grub_raid_iterate): Rescan if needed.
18283 (find_array): NEw function based on -grub_raid_open.
18284 (grub_raid_open): Use find_array and rescan.
18285 (insert_array): Set became_readable_at.
18286 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
18287 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
18289 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
18290 (grub_util_pull_device): New function.
18291 (grub_util_get_grub_dev): Call grub_util_pull_device.
18292 * util/raid.c: Moved to ..
18293 * grub-core/kern/emu/raid.c: ... here.
18294 (grub_util_raid_getmembers): New parameter "bootable".
18295 All users updated. Support 1.x.
18296 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
18298 * include/grub/disk.h (grub_disk_pull_t): New enum.
18299 (grub_disk_dev): Change iterate prototype.
18301 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
18303 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
18304 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
18305 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
18306 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
18308 * include/grub/util/raid.h: Removed.
18310 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18312 * po/POTFILES.in: Regenerate.
18314 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
18316 Unify sparc init with other ieee1275.
18318 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
18319 instead of kern/sparc64/ieee1275/init.c.
18320 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
18321 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
18322 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
18323 grub/machine/kernel.h.
18324 (grub_ieee1275_original_stack) [__sparc__]: New variable.
18325 (grub_claim_heap) [__sparc__]: Use sparc version.
18326 (grub_machine_init): Moved args parsing to
18327 (grub_parse_cmdline): ...this.
18328 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
18329 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
18331 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
18333 Move BOOTP to separate file.
18335 * grub-core/Makefile.core.def (net): Add net/bootp.c.
18336 * grub-core/net/net.c: Move all BOOTP functions to
18337 * grub-core/net/bootp.c: ... here.
18339 Use frame interface on PXE.
18341 * grub-core/Makefile.core.def (pxecmd): Removed.
18342 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
18343 * grub-core/commands/i386/pc/pxecmd.c: Removed.
18344 * grub-core/i386/pc/pxe.c: Moved from here ...
18345 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
18346 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
18347 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
18349 EFI network support.
18351 * grub-core/Makefile.core.def (efinet): New module.
18352 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
18354 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
18356 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
18357 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
18358 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
18359 * grub-core/net/drivers/efi/efinet.c: New file.
18360 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
18361 (grub_efi_net_config): New extern var.
18363 Various cleanups and bugfixes.
18365 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
18367 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
18368 disk declared as partition.
18369 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
18371 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
18372 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
18373 (grub_debug_zalloc): Likewise.
18374 (grub_debug_realloc): Likewise.
18375 (grub_debug_memalign): Likewise.
18376 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
18377 Check that target is IPv4.
18378 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
18379 local-mac-address as fallback.
18380 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
18382 * grub-core/net/ip.c (ipchksum): Rename to ...
18383 (grub_net_ip_chksum): ... this. All users updated.
18384 (grub_net_recv_ip_packets): Special handling for DHCP.
18385 * util/grub-mkimage.c (generate_image): Zero-out aout header.
18387 Unify prefix handling
18389 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
18390 (grub_machine_get_bootlocation): ... this.
18391 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
18392 (grub_machine_get_bootlocation): ... this.
18393 (grub_prefix): New variable.
18395 (root_dev): New variable.
18397 (main): Use new variables.
18398 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
18400 (grub_machine_get_bootlocation): ... this.
18401 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
18402 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
18403 (grub_machine_get_bootlocation): ... this.
18404 (grub_machine_set_prefix): Removed.
18405 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
18406 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
18408 (grub_machine_get_bootlocation): ... this.
18409 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
18410 (grub_set_prefix_and_root): ... this. All users updated.
18411 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
18413 (grub_machine_get_bootlocation): ... this.
18414 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
18415 (grub_machine_get_bootlocation): New proto.
18416 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
18418 Less intrusive and more reliable seek on network implementation.
18420 * grub-core/kern/file.c (grub_file_net_seek): Removed.
18421 (grub_file_seek): Don't call grub_file_net_seek.
18422 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
18423 (grub_net_fs_read_real): .. this.
18424 (grub_net_seek_real): Use net->offset.
18425 (grub_net_fs_read): Seek if necessary.
18427 Unify IEEE1275 netwotk config with the other platforms.
18429 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
18431 (grub_machine_get_bootlocation): Support network.
18432 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
18433 Support type and device parsing.
18434 (grub_ieee1275_get_device_type): New function.
18435 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
18437 (grub_ieee1275_net_config_real): ... this.
18438 (grub_ofnet_probecards): Removed.
18439 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
18440 * include/grub/ieee1275/ofnet.h: Removed.
18441 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
18443 (grub_ieee1275_get_device_type): New function.
18445 Unify network device closing across platforms and make more robust.
18447 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
18449 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
18451 * grub-core/net/net.c (grub_net_network_level_interface_register):
18453 (grub_net_card_unregister): Close all interfaces.
18454 (receive_packets): Don't poll if no iterfaces are registered.
18456 (grub_net_fini_hw): New function.
18457 (grub_net_restore_hw): Likewise.
18458 (fini_hnd): New variable.
18459 (GRUB_MOD_INIT): Register preboot hook.
18460 (GRUB_MOD_FINI): Run and unregister preboot hook.
18462 Poll network cards when idle.
18464 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
18465 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
18466 * grub-core/net/net.c (receive_packets): Save last poll time.
18467 (grub_net_poll_cards_idle_real): New function.
18468 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
18469 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
18470 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
18472 Rename ofnet interfaces.
18474 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
18475 (grub_ofnet_findcards): Use ofnet_%s names.
18477 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
18479 Cleanup socket opening.
18481 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
18482 (grub_net_fs_close): Likewise.
18483 (grub_net_fs_read_real): Use eof member.
18484 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
18485 (+grub_net_udp_close): New inline function.
18487 * include/grub/net/tftp.h: Moved to the top of ...
18488 * grub-core/net/tftp.c: ... here.
18489 * include/grub/net/ip.h: Moved mostly to the top of ...
18490 * grub-core/net/ip.c: ... here.
18491 * include/grub/net/ethernet.h: Moved mostly to the top of ...
18492 * grub-core/net/ethernet.c: ... here.
18494 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
18496 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
18499 * include/grub/net/ip.h (ipv4_ini): Removed.
18500 (ipv4_fini): Likewise.
18502 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
18503 (grub_net_send_ip_packets): Likewise.
18505 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18507 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
18508 grub_read_cmos prototype.
18510 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18512 VGA text support in qemu-mips
18514 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
18515 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
18516 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
18518 * grub-core/kern/i386/qemu/init.c: Renamed to ...
18519 * grub-core/kern/vga_init.c: ... this.
18520 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
18521 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
18522 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
18524 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
18525 GRUB_MACHINE_PCI_IO_BASE.
18527 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18529 MIPS qemu flash support.
18531 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
18533 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
18534 (grub_machine_init): Probe memory if its size isn't known.
18535 * util/grub-mkimage.c (image_targets): Add flash targets.
18536 (generate_image): Handle flash targets.
18538 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18540 MIPS qemu at_keyboard support.
18542 * gentpl.py (videoinkernel): Add qemu-mips.
18543 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
18544 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
18545 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
18547 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
18548 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
18549 * grub-core/term/serial.c (grub_serial_register)
18550 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
18552 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
18554 CMOS support on sparc.
18556 * gentpl.py (cmos): Add powerpc and sparc.
18557 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
18559 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
18560 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
18561 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
18562 grub_set_datetime_cmos.
18563 * grub-core/lib/ieee1275/cmos.c: New file.
18564 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
18565 (find_rtc): Set no_ieee1275_rtc on error.
18566 (grub_get_datetime): Call grub_get_datetime_cmos on error.
18567 (grub_set_datetime): Call grub_set_datetime_cmos on error.
18568 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
18569 fail. Move value to argument. All users updated
18570 (grub_cmos_write): Likewise.
18571 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
18572 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
18573 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
18574 grub_get_datetime_cmos and grub_set_datetime_cmos.
18576 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18578 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
18579 sourcing grub-mkconfig_lib.
18580 * util/update-grub_lib.in: Likewise.
18581 * util/grub.d/00_header.in: Likewise.
18582 * util/grub.d/10_hurd.in: Likewise.
18583 * util/grub.d/10_kfreebsd.in: Likewise.
18584 * util/grub.d/10_linux.in: Likewise.
18585 * util/grub.d/10_netbsd.in: Likewise.
18586 * util/grub.d/10_windows.in: Likewise.
18587 * util/grub.d/20_linux_xen.in: Likewise.
18588 * util/grub.d/30_os-prober.in: Likewise.
18590 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
18592 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
18593 default_bg_color rather than black.
18594 (grub_gfxterm_fullscreen): Likewise.
18595 (grub_gfxterm_background_color_cmd): Save new background color in
18598 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18600 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
18602 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18604 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
18607 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18609 Chainloading on coreboot support.
18611 * grub-core/Makefile.core.def (chain): Add coreboot.
18612 * grub-core/loader/i386/coreboot/chainloader.c: New file.
18614 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18616 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
18619 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18621 Implement time command.
18623 * grub-core/Makefile.core.def (time): New module.
18624 * grub-core/commands/time.c: New file.
18625 * grub-core/script/parser.y: Remove "time" keyword.
18626 * grub-core/script/yylex.l: Likewise.
18628 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18630 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
18632 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18634 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
18635 when handling leftovers.
18637 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18639 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
18640 so that help2man doesn't fail.
18642 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18644 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
18645 type in pointers on sparc64.
18646 (get_card_packet): Likewise.
18648 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
18650 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
18652 (grub_cmd_videoinfo): Fetch current video mode.
18654 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18656 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
18657 because of underlying system restrictions.
18659 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18661 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
18664 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18666 Coreboot video support.
18668 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
18670 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
18671 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
18673 * grub-core/kern/i386/int.S: ... here.
18674 * grub-core/video/i386/pc/vbe.c: Updated includes.
18675 * grub-core/video/i386/pc/vga.c: Likewise.
18676 * include/grub/i386/coreboot/memory.h
18677 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
18678 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
18679 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
18680 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
18681 Disable interrupts.
18682 * include/grub/i386/pc/vga.h: Removed. All users updated.
18684 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18686 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
18687 definitions for dprintf.
18688 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
18690 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
18692 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
18694 (get_card_packet): Likewise.
18696 2011-06-26 Yves Blusseau <blusseau@zetam.org>
18698 Display the path of the file when file is not found
18700 * grub-core/fs/fat.c: Display the filename when file is not found.
18701 * grub-core/fs/fshelp.c: Likewise.
18702 * grub-core/fs/hfs.c: Likewise.
18703 * grub-core/fs/jfs.c: Likewise.
18704 * grub-core/fs/minix.c: Likewise.
18705 * grub-core/fs/ufs.c: Likewise.
18706 * grub-core/fs/btrfs.c: Likewise.
18707 * grub-core/commands/i386/pc/play.c: Likewise.
18709 2011-06-26 Szymon Janc <szymon@janc.net.pl>
18711 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
18712 pointer checks before calling grub_free().
18713 * grub-core/commands/wildcard.c (match_devices): Likewise.
18714 * grub-core/commands/wildcard.c (match_files): Likewise.
18715 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
18716 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
18717 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
18718 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
18719 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
18720 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
18721 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
18722 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18723 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
18725 2011-06-25 Patrick <p55@mailinator.com>
18727 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
18729 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
18731 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
18732 (grub_pxe_send): Likewise.
18733 (GRUB_MOD_INIT): Fix types.
18735 2011-06-24 Szymon Janc <szymon@janc.net.pl>
18737 * grub-core/io/xzio.c: Fix code style issues
18739 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18740 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
18742 Network infrastructure.
18743 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
18745 * include/grub/net/arp.h: New file.
18746 * include/grub/net/device.h: Likewise.
18747 * include/grub/net/ethernet.h: Likewise.
18748 * include/grub/net/ip.h: Likewise.
18749 * include/grub/net/netbuff.h: Likewise.
18750 * include/grub/net/tftp.h: Likewise.
18751 * include/grub/net/udp.h: Likewise.
18752 * include/grub/ieee1275/ofnet.h: Likewise.
18753 * include/grub/emu/export.h: Likewise.
18754 * include/grub/net.h: Likewise.
18755 * grub-core/net/arp.c: Likewise.
18756 * grub-core/net/ethernet.c: Likewise.
18757 * grub-core/net/ip.c: Likewise.
18758 * grub-core/net/udp.c: Likewise.
18759 * grub-core/net/tftp.c: Likewise.
18760 * grub-core/net/netbuff.c: Likewise.
18761 * grub-core/net/net.c: Likewise.
18762 * grub-core/net/drivers/emu/emunet.c: Likewise.
18763 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
18764 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
18766 * grub-core/Makefile.core.def (net): New module.
18769 (emunet): Likewise.
18770 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
18772 * grub-core/kern/device.c (grub_net_open) : New variable.
18773 (grub_device_open): Handle network device.
18774 (grub_device_close): Likewise.
18775 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
18776 (grub_grubnet_fini): Likewise.
18777 (grub_file_seek): Seek in network device.
18778 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
18779 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
18781 (grub_machine_fini): Call grub_grubnet_fini.
18782 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
18784 (grub_ieee1275_get_aliasdevname): New function.
18785 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18786 Add unofficial Solaris network info.
18787 (grub_multiboot_make_mbi): Likewise.
18788 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
18789 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
18790 * include/grub/device.h (grub_fs): Removed.
18791 * include/grub/err.h (grub_err_t): Add network-related values.
18792 * include/grub/i386/pc/pxe.h: Removed bootp parts.
18793 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
18794 (grub_ieee1275_get_aliasdevname): New proto.
18795 * include/grub/net.h: Rewritten.
18797 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18799 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
18802 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18804 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
18805 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
18806 it truncates the output.
18807 Reported by: Ximin Luo.
18809 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18811 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
18813 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18815 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18816 partmap before abstraction.
18818 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
18820 * util/grub-mkconfig_lib.in: Add missing quotes.
18822 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18824 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
18825 old method if mountinfo would return /dev/root and /dev/root doesn't
18828 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18832 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
18833 (decomp_table): Add zlib entries.
18834 (zio_read): USe 8 bits for compression function rather than 3.
18835 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
18837 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
18839 * grub-core/disk/ahci.c: Add missing license statements.
18840 * grub-core/fs/romfs.c: Likewise.
18841 * grub-core/lib/ia64/setjmp.S: Likewise.
18842 * grub-core/loader/i386/pc/freedos.c: Likewise.
18843 * grub-core/loader/ia64/efi/linux.c: Likewise.
18844 * grub-core/video/colors.c: Likewise.
18845 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
18847 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18851 * grub-core/Makefile.core.def (ata_pthru): Removed.
18852 (ahci): New module.
18854 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
18856 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
18858 (grub_hdparm_do_check_powermode_cmd): Likewise.
18859 (grub_hdparm_do_smart_cmd): Likewise.
18860 (grub_hdparm_set_val_cmd): Likewise.
18861 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
18862 * grub-core/disk/ahci.c: New file.
18863 * grub-core/disk/ata.c: Factor out the low-level part into ...
18864 * grub-core/disk/pata.c: ... here.
18865 * grub-core/disk/ata_pthru.c: Contents moved to ...
18866 * grub-core/disk/pata.c: ... here.
18867 * grub-core/disk/scsi.c (grub_scsi_names): New array.
18868 (grub_scsi_iterate): Use grub_scsi_names.
18869 (grub_scsi_open): Likewise.
18870 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
18871 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
18872 (grub_ata_regs_t): New struct.
18873 (grub_disk_ata_pass_through_parms): Likewise.
18874 (grub_ata_device): Renamed to ...
18875 (grub_ata): ... this.
18876 (grub_ata_dev): New struct.
18877 Removed all low-level inline functions.
18878 * include/grub/scsi.h: Add PATA and AHCI subsystems.
18879 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
18880 iterate hooks and open. All users updated.
18881 * util/grub-install.in: Handle AHCI disk module.
18883 2011-06-23 Szymon Janc <szymon@janc.net.pl>
18885 Add support for DRI and RSTn markers in JPEG files.
18887 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
18888 (JPEG_MARKER_RST0): Likewise.
18889 (JPEG_MARKER_RST1): Likewise.
18890 (JPEG_MARKER_RST2): Likewise.
18891 (JPEG_MARKER_RST3): Likewise.
18892 (JPEG_MARKER_RST4): Likewise.
18893 (JPEG_MARKER_RST5): Likewise.
18894 (JPEG_MARKER_RST6): Likewise.
18895 (JPEG_MARKER_RST7): Likewise.
18896 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
18897 (grub_jpeg_decode_dri): New function.
18898 (grub_jpeg_decode_sos): Move image data related part into
18899 grub_jpeg_decode_data function.
18900 (grub_jpeg_decode_data): New function.
18901 (grub_jpeg_reset): New function.
18902 (grub_jpeg_decode_jpeg): Handle new markers.
18904 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18906 * util/ieee1275/ofpath.c (check_sas): Close fd.
18907 (main): Free of_path.
18908 Reported by: David Volgyes <dvolgyes>.
18910 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18912 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
18913 Reported by: David Volgyes <dvolgyes>.
18915 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18917 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
18919 Reported by: David Volgyes <dvolgyes>.
18921 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18923 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
18925 Reported by: David Volgyes <dvolgyes>.
18927 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18929 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
18930 Prevent memory leak.
18932 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18934 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
18935 (main): Close file.
18936 Reported by: David Volgyes <dvolgyes>.
18938 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18940 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
18941 to continue if allocation is failed.
18943 Reported by: David Volgyes <dvolgyes>.
18945 2011-06-23 David Volgyes <dvolgyes>
18947 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
18950 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18952 Fix spurious warning.
18954 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
18955 (acorn_partition_map_find): Use .bin member.
18957 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18959 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
18960 /dev/root as a valid device.
18962 2011-06-23 Jim Meyering <meyering@redhat.com>
18964 Avoid NULL deref in grub_device_open.
18966 * grub-core/kern/device.c (grub_device_open): Don't dereference
18967 a NULL pointer upon failed grub_env_get.
18969 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
18971 Support non-512B sectors and agglomerate reads.
18973 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
18974 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
18975 (disk_io_guid): Removed.
18976 (make_devices): Locate solely by BlockIO.
18977 (grub_efidisk_open): Fill log_sector_size and total_sectors.
18978 (grub_efidisk_read): Use read_blocks.
18979 (grub_efidisk_write): Use write_blocks.
18980 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
18982 (get_safe_sectors): Handle non-512B sectors.
18983 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
18985 (grub_biosdisk_write): Handle non-512B sectors.
18986 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
18987 (grub_scsi_read): Remove special non-512B block handling (now handled
18989 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
18990 and do sanity checks.
18991 (grub_disk_adjust_range): Handle non-512B sectors.
18992 (transform_sector): New function.
18993 (grub_disk_read_small): Likewise.
18994 (grub_disk_read): Rewritten.
18995 (grub_disk_write): Handle non-512B sectors.
18996 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
18998 (open_device): Use log_sector_size.
18999 (grub_util_biosdisk_read): Likewise.
19000 (grub_util_biosdisk_write): Likewise.
19001 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
19003 (pc_partition_map_embed): Likewise.
19004 * include/grub/disk.h (grub_disk): New field log_sector_size.
19005 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
19006 (GRUB_DISK_CACHE_BITS): Increased to 6.
19007 * util/grub-fstest.c (fstest): New command testload.
19008 (argp_parser): Likewise.
19010 2011-06-16 Robert Millan <rmh@gnu.org>
19012 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
19013 `ata' driver on kernel of FreeBSD 9.
19015 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
19016 (get_ataraid_disk_name): New functions.
19017 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
19018 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
19019 get_ataraid_disk_name() and get_ada_disk_name().
19021 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
19023 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
19026 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
19028 * docs/grub.texi (Obtaining and Building GRUB): Substitute
19029 `ftp.gnu.org' for `alpha.gnu.org'.
19031 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
19033 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
19034 partitions under /dev/disk/by-id/.
19036 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
19038 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
19039 after ten consecutive open failures. Scanning all the way up to
19040 10000 is excessive and can cause serious performance problems in
19041 some configurations.
19042 Fixes Ubuntu bug #787461.
19044 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19046 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
19049 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
19050 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19052 Don't stat devices unless we have to.
19054 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
19055 dir == /dev/mapper.
19056 (grub_guess_root_device): Use already known os_dev if possible.
19057 * grub-core/kern/emu/hostdisk.c
19058 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
19059 if device is known to be a dm one.
19061 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
19063 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
19064 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
19065 Reported by: Pawel Tecza.
19067 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
19069 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
19070 (lsefisystab): Likewise.
19072 (lsefimmap): Likewise.
19073 (hdparm): Enable on qemu-mips.
19074 (setjmp): Add ia64 nodist.
19075 (serial): Simplify tags.
19077 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19079 * Makefile.util.def (grub-ofpathname): Install manual page.
19081 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19083 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
19085 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19087 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
19089 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19091 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
19094 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19096 Use full 64-bit division.
19098 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
19099 (grub_divmod64): ... this.
19100 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
19103 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19105 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
19108 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19110 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
19111 to avoid accidents when debugging with 'sh -x'.
19112 * grub-core/gensyminfo.sh.in: Likewise.
19113 * tests/example_scripted_test.in: Likewise.
19114 * tests/grub_cmd_regexp.in: Likewise.
19115 * tests/grub_script_blanklines.in: Likewise.
19116 * tests/grub_script_dollar.in: Likewise.
19117 * tests/grub_script_expansion.in: Likewise.
19118 * tests/grub_script_final_semicolon.in: Likewise.
19119 * tests/partmap_test.in: Likewise.
19120 * tests/util/grub-shell-tester.in: Likewise.
19121 * tests/util/grub-shell.in: Likewise.
19123 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19125 Move gfxmenu color handling to video, so that gfxterm can use it
19128 * grub-core/gfxmenu/named_colors.c: Move to ...
19129 * grub-core/video/colors.c: ... here. Rename
19130 grub_gui_get_named_color to grub_video_get_named_color.
19131 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
19132 * grub-core/video/colors.c (my_isxdigit): ... here.
19133 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
19135 * grub-core/video/colors.c (parse_hex_color_component): ... here.
19136 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
19138 * grub-core/video/colors.c (grub_video_parse_color): ... here.
19140 * include/grub/gui.h (grub_gui_color_t): Move to ...
19141 * include/grub/video.h (grub_video_rgba_color_t): ... here.
19142 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
19143 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
19144 * include/grub/gui.h (grub_gui_map_color): Move to ...
19145 * include/grub/video.h (grub_video_map_rgba_color): ... here.
19146 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
19148 * include/grub/video.h (grub_video_get_named_color): ... here.
19149 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
19150 * include/grub/video.h (grub_video_parse_color): ... here.
19152 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
19154 (gfxmenu): Remove gfxmenu/named_colors.c.
19155 (video) [videomodules]: Add video/colors.c.
19157 Add a background_color command.
19159 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
19161 (GRUB_MOD_INIT): Register background_color command.
19162 (GRUB_MOD_FINI): Unregister background_color command.
19163 (redraw_screen_rect): Allow blend/replace of text layer to be
19164 controlled independently from whether there is a background bitmap.
19165 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
19168 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19170 Patch BPB in ntldr and chainloader --bpb.
19172 * grub-core/fs/fat.c: Include grub/fat.h.
19173 (grub_fat_bpb): Moved to ...
19174 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
19175 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
19177 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
19179 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
19181 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
19183 (grub_chainloader_cmd): Patch BPB if --bpb is given.
19184 (GRUB_MOD_INIT): Show --bpb.
19185 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
19186 * grub-core/normal/main.c (features): New variable.
19187 (GRUB_MOD_INIT): Set feature_* variables.
19188 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
19190 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
19192 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19194 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
19197 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19199 FreeDOS direct loading support.
19201 * docs/grub.texi (Supported OS): Add FreeDOS.
19202 * grub-core/Makefile.core.def (freedos): New module.
19203 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
19205 (grub_relocator16_boot): Handle %ebx.
19206 * grub-core/lib/i386/relocator16.S: Likewise.
19207 * grub-core/loader/i386/pc/freedos.c: New file.
19209 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19211 Long Linux command line support.
19213 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19214 (maximal_cmdline_size): New variable.
19215 (allocate_pages): Use maximal_cmdline_size.
19216 (grub_cmd_linux): Set and use maximal_cmdline_size.
19217 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
19218 (allocate_pages): Use maximal_cmdline_size.
19219 (grub_cmd_linux): Set and use maximal_cmdline_size.
19220 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
19221 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
19224 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19225 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
19227 Improve devmapper support
19229 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
19230 (grub_util_is_lvm): New function.
19231 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
19232 than lvm if not dmraid.
19233 Handle mapped md nodes.
19234 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
19235 (grub_util_device_is_mapped): ... this. Make always available. All users
19237 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
19238 (convert_system_partition_to_system_disk): Handle lvm, mpath and
19240 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
19242 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19244 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
19246 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
19247 * grub-core/modinfo.sh.in: New file.
19248 * grub-core/Makefile.core.def (modinfo.sh): New script.
19249 * util/grub-mknetdir.in: Use modinfo.sh.
19250 * util/grub-mkrescue.in: Likewise.
19252 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19254 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
19255 Fix potential usage of Elf32 instead of Elf64 when compiling on
19256 32-bit architecture. Add endianness macros while on it.
19258 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19260 Use mipsel- rather than mips- in directories involving mipsel ports to
19261 allow both endiannesses coexist.
19263 * configure.ac: proparate target_cpu=mipsel rather than resetting to
19264 mips. All conditions adjusted.
19265 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
19267 * util/grub-install.in: Adjust conditions to take renaming into account.
19268 * util/grub-mkimage.c (image_targets): Likewise. New target
19269 mips-qemu_mips-elf for bigendian mips.
19271 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19273 Avoid unnecessary copying on MIPS.
19275 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
19276 early if src == dest.
19277 * util/grub-mkimage.c (generate_image): Arange for src == dest if
19278 compression is none.
19280 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19282 Reduce memory footprint on SGI by putting modules before the kernel
19283 as opposed to after.
19285 * grub-core/Makefile.core.def (kernel): Increase linking address.
19286 (none_decompress): Likewise.
19287 (xz_decompress): Likewise.
19288 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
19290 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
19292 (grub_arch_modules_addr): New function.
19293 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
19294 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
19295 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
19297 * grub-core/kern/mips/startup.S (total_size): Rename to ...
19298 (grub_total_modules_size): ... this. Make global.
19299 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
19300 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
19302 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
19303 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
19304 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
19305 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
19306 * util/grub-mkimage.c (image_target_desc): New flag
19307 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
19308 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
19309 (generate_image): Handle images with modules before kernel.
19311 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19313 Prevent potential loss of memory map by overwrite on qemu-mips.
19315 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19316 Save ram size in $s4.
19317 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
19318 All users changed to grub_arch_memsize.
19319 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
19321 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
19322 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
19323 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
19326 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19328 * .bzrignore: Remove grub-dumpbios.
19330 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19332 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
19333 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
19334 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
19335 existing options which append).
19336 * docs/grub.texi (Simple configuration): Document new options.
19337 Reported by: Ian Jackson. Fixes Debian bug #617538.
19339 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19341 * util/grub-fstest.c (cmd_cat): New function.
19342 (fstest): Handle CMD_CAT.
19343 (options): Add cat.
19344 (argp_parser): Handle cat.
19346 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
19348 * Makefile.util.def (grub-bin2h): Don't install.
19349 * docs/man/grub-bin2h.h2m: Remove.
19351 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19353 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
19356 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19358 Reenable qemu-mips port.
19360 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
19361 Fix small arc bug while on it.
19362 * gentpl.py: Handle qemu_mips.
19363 * grub-core/Makefile.am: Likewise.
19364 * grub-core/Makefile.core.def: Likewise.
19365 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
19366 inappropriate includes.
19367 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
19368 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
19369 * grub-core/kern/main.c (grub_modules_get_end)
19370 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
19371 * grub-core/kern/mips/qemu-mips: Moved to ..
19372 * grub-core/kern/mips/qemu_mips: ... this.
19373 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
19374 (grub_machine_init): Call terminfo_init and serial_init.
19375 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
19376 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
19378 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
19380 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
19381 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
19382 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
19383 * include/grub/mips/qemu_mips/cmos.h: New file.
19384 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
19385 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
19387 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
19388 Use correct mips-style address.
19389 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
19390 (GRUB_TICKS_PER_SECOND): Removed.
19391 (grub_get_rtc): Likewise.
19392 (grub_cpu_idle): Likewise.
19393 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
19395 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
19396 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
19397 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
19398 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
19399 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
19400 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
19401 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
19402 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
19404 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19408 * Makefile.util.def (libgrubmods.a): Add dvh.c.
19409 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
19411 * configure.ac: New target mips-arc.
19412 * gentpl.py: Likewise.
19413 * grub-core/Makefile.am: Likewise.
19414 * grub-core/Makefile.core.def: Likewise.
19415 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
19416 (none_decompress): Likewise.
19417 (lsdev): New module.
19418 (datetime): Use lib/arc/datetime.c on ARC.
19419 (part_dvh): New module.
19420 * grub-core/commands/arc/lsdev.c: New file.
19421 * grub-core/disk/arc/arcdisk.c: Likewise.
19422 * grub-core/kern/mips/arc/init.c: Likewise.
19423 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
19425 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
19427 (grub_arch_dl_relocate_symbols): Likewise.
19428 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
19429 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
19430 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
19432 * grub-core/lib/arc/datetime.c: New file.
19433 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
19434 pci.h on non-loongson.
19435 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
19436 (grub_linux_boot): Set unused registers to 0.
19437 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
19438 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
19439 * grub-core/mmap/mips/uppermem.c: ...here.
19440 * grub-core/partmap/dvh.c: New file.
19441 * grub-core/term/arc/console.c: Likewise.
19442 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
19443 (grub_terminfo_set_current): Add terminal "arc".
19444 (grub_terminfo_readkey): Support ARC sequences.
19445 * include/grub/arc/arc.h: New file.
19446 * include/grub/arc/console.h: Likewise.
19447 * include/grub/disk.h (grub_disk_dev_id): Add
19448 GRUB_DISK_DEVICE_ARCDISK_ID.
19449 * include/grub/mips/arc/kernel.h: New file.
19450 * include/grub/mips/arc/memory.h: Likewise.
19451 * include/grub/mips/arc/time.h: Likewise.
19452 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
19453 * include/grub/mips/kernel.h (grub_halt): ... here.
19454 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
19456 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
19457 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
19458 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
19459 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
19461 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
19463 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
19464 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
19465 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
19466 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
19467 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
19468 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
19469 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
19470 (grub_phys_addr_t): Moved from here ...
19471 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
19472 (grub_vtop): Moved from here ...
19473 * include/grub/mips/memory.h (grub_vtop): ... here.
19474 (grub_map_memory): Moved from here ...
19475 * include/grub/mips/memory.h (grub_map_memory): ... here.
19476 (grub_unmap_memory): Moved from here ...
19477 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
19478 (grub_machine_mmap_iterate): Moved from here ...
19479 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
19480 (grub_mmap_get_lower): Moved from here ...
19481 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
19482 (grub_mmap_get_upper): Moved from here ...
19483 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
19484 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19486 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19487 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
19489 * include/grub/mips/time.h (grub_get_rtc): ... here.
19490 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
19492 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
19493 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
19495 * include/grub/mips/time.h (grub_cpu_idle): ... here.
19496 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
19498 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
19499 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
19500 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
19501 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
19502 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
19503 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
19504 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
19505 (GRUB_MACHINE_LINK_ADDR): Likewise.
19506 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
19508 * util/grub-install.in: Run dvhtool on ARC.
19509 * util/grub-mkimage.c (image_targets): Add mips-arc.
19510 (generate_image): Handle ECOFF output for mips-arc.
19512 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19514 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
19517 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19519 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
19520 after enabling port.
19522 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19524 Skip incorrect USB devices.
19526 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
19528 * include/grub/usb.h (grub_usb_err_t): New enum value
19529 GRUB_USB_ERR_BADDEVICE.
19531 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
19533 Fuloong video init support.
19535 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
19537 (grub_vga_read_arx): New function.
19538 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
19540 (framebuffer): New members io, mmioptr and mmiobase.
19541 (read_sis_cmd): New function.
19542 (write_sis_cmd): Likewise.
19543 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
19544 rather than 640x400.
19545 * grub-core/video/sis315_init.c: New file.
19547 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19549 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
19551 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
19552 to grub_dl_register_symbol.
19554 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19556 Fix compilation errors.
19558 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
19559 potentially unused.
19560 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
19561 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
19562 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
19563 to loongson machines.
19565 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19567 Several FS mtime support.
19569 * grub-core/fs/affs.c (grub_affs_time): New struct.
19570 (grub_affs_file): New field mtime.
19571 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
19572 type. Removed 'size'. New field 'di'. All users updated.
19573 (grub_affs_mount): Simplify checsum checking.
19574 (grub_affs_iterate_dir): New helper grub_affs_create_node.
19575 (grub_affs_dir): Handle mtime.
19576 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
19577 (grub_cpio_dir): Likewise.
19578 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
19579 (grub_hfs_filerec): New field mtime.
19580 (grub_hfs_dir): Handle mtime.
19581 (grub_hfs_mtime): New function.
19582 (grub_hfs_fs): Register grub_hfs_mtime.
19583 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
19584 (grub_iso9660_dir): New field mtime.
19585 (grub_fshelp_node): New field dirent.
19586 (iso9660_to_unixtime): New function.
19587 (iso9660_to_unixtime2): Likewise.
19588 (grub_iso9660_read_symlink): Use node->dirent.
19589 (grub_iso9660_iterate_dir): Likewise.
19590 (grub_iso9660_dir): Set mtime.
19591 (grub_iso9660_mtime): New function.
19592 (grub_iso9660_fs): Register grub_iso9660_mtime.
19593 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
19594 (grub_jfs_inode): New fields atime, ctime and mtime.
19595 (grub_jfs_dir): Set mtime.
19596 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
19597 * grub-core/fs/ntfs.c (list_file): Set mtime.
19598 (grub_ntfs_dir): Likewise.
19599 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
19600 (grub_reiserfs_iterate_dir): Set mtime.
19601 (grub_reiserfs_dir): Likewise.
19602 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
19603 (grub_fshelp_node): Likewise.
19604 (grub_sfs_iterate_dir): Set mtime.
19605 (grub_sfs_dir): Likewise.
19606 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
19607 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
19608 (grub_xfs_inode): New fields atime, mtime, ctime.
19609 (grub_xfs_dir): Set mtime.
19610 * include/grub/datetime.h (grub_datetime2unixtime): New function.
19611 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
19612 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
19614 Support UDF symlinks.
19616 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
19617 (grub_ufs_read_symlink): New function. All users updated.
19619 Check amiga partmap checksum.
19621 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
19622 (grub_amiga_partition): Likewise.
19623 (amiga_partition_map_checksum): New function.
19624 (amiga_partition_map_iterate): Check checksum.
19626 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19630 * Makefile.util.def (libgrubmods.a): Add romfs.
19631 * grub-core/Makefile.core.def (romfs): New module.
19632 * grub-core/fs/romfs.c: New file.
19634 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19636 Squashfs v4 support.
19638 * Makefile.util.def (libgrubmods.a): Add squash4.
19639 * grub-core/Makefile.core.def (squash4): New module.
19640 * grub-core/fs/squash4.c: New file.
19641 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
19642 disk_input_start, disk_input.
19643 (get_byte): Handle disk_input.
19644 (grub_zlib_disk_read): New function.
19645 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
19647 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19648 2011-05-15 Feiran Zheng <famcool@gmail.com>
19650 * Makefile.util.def (libgrubmods.a): Add minix3.
19651 * grub-core/Makefile.core.def (minix3): New module.
19652 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
19653 (GRUB_MINIX_BSIZE): Removed.
19654 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
19655 (grub_minix_ino_t): New type.
19656 (grub_minix_le_to_cpu_ino): New macro.
19657 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
19658 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
19659 (grub_minix_data): New field block_size.
19660 (grub_minix_read_file): Handle 64-bit correctly.
19661 * grub-core/fs/minix3.c: New file.
19663 2011-05-15 Tristan Gingold <gingold@free.fr>
19664 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
19665 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19669 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
19670 * configure.ac: Add ia64-efi target.
19671 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
19672 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
19673 * gentpl.py: Add ia64_efi platform.
19674 Rename x86_efi to efi and Add ia64-efi. All users updated.
19675 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
19676 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
19677 Remove kern/generic/rtc_get_time_ms.c on EFI.
19678 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
19679 kern/ia64/dl_helper.c on ia64-efi.
19680 Add kern/emu/cache.c on emu.
19681 (linux): Use on loader/ia64/efi/linux.c on ia64.
19682 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
19683 whether symbol is a function.
19684 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
19685 (grub_symbol): New field 'isfunc'.
19686 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
19687 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
19688 (grub_dl_load_segments): Place all sections into the same region.
19689 [__ia64__]: Create trampolines and got.
19690 [GRUB_MACHINE_EMU]: Call mprotect.
19691 (grub_dl_resolve_symbols): Resolve symbol type as well.
19692 [__ia64__]: Create function descriptors.
19693 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
19694 (grub_rtc_get_time_ms): ... this. Expressions simplified.
19695 (grub_get_rtc): New function.
19696 * grub-core/kern/emu/cache.c [__ia64__]: New file.
19697 * grub-core/kern/emu/cache.S: Renamed to ...
19698 * grub-core/kern/emu/cache_s.S: ... this.
19699 [__ia64__]: Add a nop.
19700 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
19701 [__ia64__]: New function.
19702 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
19703 * grub-core/kern/ia64/dl.c: New file.
19704 * grub-core/kern/ia64/dl_helper.c: Likewise.
19705 * grub-core/kern/ia64/efi/init.c: New file.
19706 * grub-core/kern/ia64/efi/startup.S: Likewise.
19707 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
19708 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
19709 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
19710 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
19711 * grub-core/loader/ia64/efi/linux.c: New file.
19712 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
19713 (GRUB_MOD_DEP): Likewise.
19714 (grub_dl) [__ia64__]: New fields got and tramp.
19715 (grub_dl): New field 'base'.
19716 (grub_dl_register_symbol): New argument isfunc. All users updated.
19717 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
19718 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
19719 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
19720 (grub_ia64_dl_get_tramp_got_size): New proto.
19721 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
19722 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
19723 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
19724 * include/grub/efi/api.h: Skip call wrappers on ia64.
19725 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
19726 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
19727 * include/grub/elf.h (ELF_ST_INFO): New definition.
19728 * include/grub/ia64/efi/kernel.h: New file.
19729 * include/grub/ia64/efi/memory.h: Likewise.
19730 * include/grub/ia64/efi/time.h: Likewise.
19731 * include/grub/ia64/kernel.h: Likewise.
19732 * include/grub/ia64/setjmp.h: Likewise (from glibc).
19733 * include/grub/ia64/time.h: New file.
19734 * include/grub/ia64/types.h: Likewise.
19735 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
19736 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
19738 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
19739 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
19740 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
19741 * util/grub-mkimage.c (image_target_desc): New field pe_target.
19743 (EFI64_HEADER_SIZE): New definition. All users updated.
19744 (image_targets): Add ia64-efi.
19745 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
19746 jumpers_addr. All users updated.
19747 Create function descriptors.
19748 (count_funcs): New function.
19749 (unaligned_uint32): New struct.
19750 (MASK20): New definition.
19751 (MASK19): Likewise.
19752 (MASKF21): Likewise.
19753 (add_value_to_slot_20b): New function.
19754 (add_value_to_slot_21_real): Likewise.
19755 (add_value_to_slot_21): Likewise.
19756 (ia64_kernel_trampoline): New struct.
19757 (nopm): New variable.
19759 (make_trampoline): New function.
19760 (relocate_addresses): Handle ia64.
19761 (make_reloc_section): Likewise.
19762 (load_image): Likewise.
19764 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19766 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
19767 warning. Move variables before code while on it.
19769 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
19773 * configure.ac: Rename yeeloong platform to loongson. All users updated.
19774 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
19775 * grub-core/boot/mips/loongson/fuloong.S: New file.
19776 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
19777 Explicitly init CS5536.
19778 [FULOONG]: Don't use serial until CS5536 is available.
19779 Set GPIO based on dumps.
19780 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
19781 [FULOONG]: Handle GPIO and memory controller differences.
19782 Parse machine type in $a2.
19783 * grub-core/boot/mips/startup_raw.S: Determine and save the
19785 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
19786 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
19787 init on architecture type.
19788 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
19789 SIS315E. Don't init at_keyboard on fuloong.
19790 (grub_halt): Support Fuloong.
19791 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
19792 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
19793 (loongson_machtypes): New array.
19794 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
19796 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
19797 config. All users updated. Handle CS5536 serial.
19798 * grub-core/term/serial.c (grub_serial_register): Conditionalise
19799 default port on machine type. Register serial as inactive.
19800 * grub-core/video/sis315pro.c: New file.
19801 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
19803 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
19804 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
19805 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
19806 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
19807 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
19808 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
19810 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
19811 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
19813 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
19814 (grub_arch_machine): New extern var.
19815 * include/grub/mips/loongson/serial.h
19816 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
19817 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
19818 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
19819 (GRUB_MACHINE_SERIAL_PORT0): ... this.
19820 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
19821 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
19822 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
19823 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
19824 * include/grub/term.h (grub_term_register_input_inactive): New inline
19826 (grub_term_register_output_inactive): Likewise.
19827 * include/grub/video.h (grub_video_driver_id): New value
19828 GRUB_VIDEO_DRIVER_SIS315PRO.
19829 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
19830 New field "names". All users updated.
19831 New field value IMAGE_FULOONG_FLASH.
19832 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
19834 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
19836 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
19837 and add some clarification.
19839 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19841 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
19842 platforms if kernel is compressed.
19844 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19846 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
19847 unused modules since currently referrence counter isn't reliable and
19848 there isn't much memory to recover there anyway.
19850 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19852 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
19853 rather than resetting it to allow modules to reference themselves
19856 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19858 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
19859 counter on dependencies since grub_dl_unref already handles this.
19861 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19863 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
19864 on error if not already done.
19866 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19868 Fix few potential memory misusage.
19870 * grub-core/font/font.c (load_font_index): Don't free char_index to
19872 (grub_font_load): Zero-fill font at alloc for safety.
19873 Close file on error.
19874 (free_font): Free bmp_idx.
19876 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19878 * docs/grub.texi (Installation): Fix several outdated claims.
19880 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19882 Handle module_license on windows.
19884 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
19886 (insert_string): Make argument const char * instead of char *.
19887 (write_section_data): Handle long section names.
19888 Handle module_license.
19890 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19892 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
19893 handle class-free menuentries.
19894 (grub_normal_add_menu_entry): Add a check to be sure.
19896 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
19898 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
19901 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19903 * configure.ac: Bump version to 1.99.
19905 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19907 Give ATA device a bit more time on first try in order to allow disks
19910 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
19911 if dev->present is 1. Reset dev->present on failure.
19912 (grub_ata_device_initialize): Set dev->present to 1.
19913 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
19914 (grub_ata_device): New member 'present'.
19916 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19918 * util/grub-mkimage.c (generate_image): Update hash.
19920 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19922 Flush caches on DMA memory.
19924 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
19925 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
19926 (grub_dma_free): Likewise.
19927 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
19929 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19931 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
19932 to avoid asm treating ld and sd as macros.
19934 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19936 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
19939 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19941 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
19942 grub_decompress_core since later would fail if grub_decompress_core
19945 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19947 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
19948 R_MIPS_JALR since it's used by newer compiler.
19950 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
19952 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
19954 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19956 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
19957 file_path to 0 for surety.
19958 (grub_chainloader_boot): Set exit_data to NULL.
19959 Unset the loader once done.
19960 (grub_cmd_chainloader): Fix confusing error message if file is empty.
19962 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19964 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
19965 unknown key into a dprintf.
19967 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19969 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
19970 on first non-existant partition.
19972 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19974 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
19976 Reported by: Mark Korenberg.
19978 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19980 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
19983 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19985 * util/grub-mkimage.c (main): Explicitely flush and sync the output
19986 before closing to ensure that it will be readable by grub-setup.
19988 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19990 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
19991 (devpath_1): Use MAKE_PIWG_PATH.
19992 (devpath_2): Likewise.
19993 (devpath_3): Likewise.
19994 (devpath_4): Likewise.
19995 (devpath_5): Likewise.
19996 (devpath_6): Likewise.
19998 The appleldr.mod was checked that to be binary identical to previous
20001 2011-05-05 Zach <mikezackles>
20003 Support 2010 Macbooks.
20005 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
20006 (devs): Add devpath_6.
20008 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20010 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
20011 /dev/random. /dev/urandom is good enough for our purposes (salting).
20013 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20015 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
20017 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20019 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
20022 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20024 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
20025 and not 0 on failure.
20027 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
20029 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
20030 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
20031 disk; otherwise grub_fs_probe will not fall back to the next
20033 (grub_pxefs_open): Likewise, for consistency.
20034 Reported and tested by: Ezekiel Grave.
20036 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
20038 * tests/partmap_test.in: Don't hardcode path to parted.
20039 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
20041 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
20043 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
20044 of `ls' to find out which devices are available.
20046 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20048 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
20049 than source address for efi mmap buffer.
20051 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20053 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
20054 wrong action on non-detecting the magic.
20056 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20058 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
20059 already supplied by another part of the module (fixes compilation on
20062 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20064 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
20065 match the one used by mdadm.
20067 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20069 * po/README: Add instructions for creating po/LINGUAS.
20071 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20073 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
20076 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
20077 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
20078 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
20079 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
20080 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
20081 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
20082 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
20083 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
20084 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
20085 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
20086 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
20087 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
20088 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
20089 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
20090 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
20091 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
20092 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
20093 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
20094 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
20095 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
20096 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
20097 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
20099 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20101 * grub-core/kern/emu/getroot.c
20102 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
20103 test that was incorrectly reintroduced in r3214.
20104 Reported by: Ian Dall. Fixes Savannah bug #33133.
20106 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
20108 Fix stack pointer handling in 16-bit relocator.
20110 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
20111 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
20112 Fixes Ubuntu bug #683904.
20114 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20116 * configure.ac: Bump version to 1.99~rc2.
20118 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20120 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
20121 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
20122 * grub-core/lib/x86_64/setjmp.S: Likewise.
20123 * grub-core/lib/mips/setjmp.S: Likewise.
20124 * grub-core/lib/powerpc/setjmp.S: Likewise.
20125 * grub-core/lib/sparc64/setjmp.S: Likewise.
20127 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
20129 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
20130 * grub-core/lib/efi/datetime.c: Likewise.
20132 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20134 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
20136 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
20137 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
20138 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
20140 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20142 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
20144 (grub_gfxterm_term_init): Likewise.
20146 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20148 Take into account the decorations the computing menu entry width.
20150 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
20151 (grub_gfxmenu_create_box): Register get_border_width.
20152 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
20154 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
20157 2011-04-18 Endres Puschner <code@e7p.de>
20159 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
20160 Don't skip first class.
20162 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20164 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
20166 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
20168 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20170 Complete 64-bit division support.
20172 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
20173 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
20174 * include/grub/misc.h (grub_divmod64): Rename to ...
20175 (grub_divmod64_full): ... this.
20176 (grub_divmod64): New inline function.
20178 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20180 * util/grub-mkimage.c (generate_image): Add forgotten comma.
20182 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20184 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
20185 performing the necessary test.
20187 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20189 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
20190 (kfreebsd.elf): Likewise.
20191 (pc-chainloader.elf): Likewise.
20192 (ntldr.elf): Likewise.
20194 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20196 Identify RAID by its UUID rather than (guessed) name.
20198 * grub-core/disk/raid.c (ascii2hex): New function.
20199 (grub_raid_open): Accept mduuid/%s specification.
20200 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
20201 (get_mdadm_uuid): ... this.
20202 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
20204 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
20206 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
20209 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
20211 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
20213 * util/grub.d/20_linux_xen.in: Likewise.
20215 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
20217 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
20218 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
20220 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
20221 Build a list of relevant visible mounts using the mnt_id and
20222 parent_mnt_id fields, and then scan that list at the end.
20224 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20226 * docs/grub.texi (normal): New section.
20227 (normal_exit): New section.
20228 (Embedded configuration): Add reference to normal.
20229 (GRUB only offers a rescue shell): Likewise.
20230 * docs/grub-dev.texi (Error Handling): Fix typo.
20232 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20234 * NEWS: Drop obsolete entry about probe-only btrfs support.
20236 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
20238 * util/import_gcry.py: Fix typo.
20240 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20242 * NEWS: Add btrfs support.
20244 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20245 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
20247 BtrFS support. Written by me (Vladimir) with important bugfixes and
20248 even more important testing by Colin.
20250 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
20251 * grub-core/Makefile.core.def (btrfs): Add crc.c.
20252 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
20253 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
20254 mem_input_off and mem_input. All users updated to accept in-RAM input.
20255 (gzio_seek): New function.
20256 (test_zlib_header): Likewise.
20257 (grub_gzio_read): Likewise.
20258 (grub_zlib_decompress): Likewise.
20259 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
20260 Accept partial and non-virtual mounts.
20261 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
20262 avoid receiving /dev/dm-X as device.
20263 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
20264 Handle bind and partial mounts.
20265 * grub-core/lib/crc.c: New file.
20266 * include/grub/deflate.h: Likewise.
20267 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
20269 * include/grub/lib/crc.h: New file.
20271 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20273 Implement automatic module license checking according to new GNU
20276 * grub-core/kern/dl.c (grub_dl_check_license): New function.
20277 (grub_dl_load_core): Use grub_dl_check_license.
20278 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
20279 (GRUB_MOD_LICENSE): Likewise.
20280 (GRUB_MOD_DUAL_LICENSE): Likewise.
20281 All modules updated.
20283 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
20285 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
20286 reserved_first_sector to 1. btrfs reserves plenty of space for boot
20288 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
20290 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20292 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
20294 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20296 * util/grub-fstest.c (read_file): Report GRUB error if file opening
20299 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20301 * grub-core/kern/file.c (grub_file_open): Don't take into account the
20302 parenthesis in the middle of the filename.
20304 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20306 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
20307 rather than trying to put initrd way too high.
20308 Reported by: Ryan Lortie <desrt@desrt.ca>
20310 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20312 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
20313 improperly removed string.
20315 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20317 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
20319 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
20320 (open_device) Likewise.
20321 (grub_util_biosdisk_close): Likewise.
20322 Reported by: Mark Korenberg.
20324 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
20326 * util/grub-mkconfig_lib.in: Add missing quotes.
20328 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
20330 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
20333 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20335 Dynamically count the number of lines for the lower banner.
20337 * grub-core/normal/menu_entry.c (per_term_screen): New member
20339 (print_down): Use num_entries.
20340 (update_screen): Likewise.
20341 (grub_menu_entry_run): Set num_entries.
20342 * grub-core/normal/menu_text.c (menu_viewer_data): New member
20344 (grub_print_message_indented): Move real part to ...
20345 (grub_print_message_indented_real): ... here. Additional argument
20347 (draw_border): Additional argument num_entries.
20348 (print_message): Additional argument dry_run.
20349 (print_entries): Receive menu viewer data.
20350 (grub_menu_init_page): New argment num_entries.
20351 (menu_text_set_chosen_entry): Use num_entries.
20352 (grub_menu_try_text): Likewise.
20353 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
20355 (grub_ucs4_count_lines): New function.
20356 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
20357 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
20358 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
20359 (grub_term_border_height): Likewise.
20360 (grub_term_num_entries): Likewise.
20362 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20364 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
20365 Remove now unused string.
20367 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
20369 * docs/grub-dev.texi (Finding your way around): Update for 1.99
20371 (Getting started): GRUB is developed in Bazaar now, not Subversion.
20373 (Comment): Fix typo.
20374 (Getting started): General copy-editing.
20375 (Typical Development Experience): Likewise.
20376 (Error Handling): Likewise.
20377 (Video API): Likewise.
20379 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
20381 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
20384 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20386 * util/grub-mkimage.c (main): Handle special naming of yeeloong
20389 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
20391 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
20392 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
20395 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20397 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
20398 grub_strcpy since the lines aren't necessarily 0-terminated.
20400 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20402 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
20405 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20407 * grub-core/commands/probe.c (options): Argument to set isn't optional.
20408 (GRUB_MOD_INIT): DEVICE isn't optional.
20410 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20412 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
20413 word on new line if it's too long anyway. Fixes a hang.
20415 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20417 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
20419 * util/grub-setup.c (main): Reuse md device name if available.
20420 * util/raid.c (grub_util_raid_getmembers): Receive device name and
20421 not GRUB name as argument.
20422 Based on patch by: Florian Wagner <fwagner>.
20424 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20426 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
20427 Place mbi on low memory for better compatibility.
20429 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20431 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
20433 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20434 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
20436 * autogen.sh: Ensure that collate and ctype locale is C.
20437 * conf/Makefile.common: Likewise.
20439 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20441 * grub-core/normal/menu.c: Add missing include.
20443 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20445 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
20447 2011-04-08 Martin Zuther <mzuther@mzuther.de>
20449 * util/grub-mkconfig.in: Ignore emacsen backup.
20451 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20453 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
20455 (grub_util_biosdisk_close): Likewise.
20457 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
20459 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
20460 const attribute and use grub_isdigit.
20462 2011-04-06 Andrey <dev_null@ukr.net>
20464 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
20467 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20469 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
20470 useful grub_dprintf's.
20472 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20474 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
20476 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20478 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
20480 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20482 Output errors if theme loading failed.
20484 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
20485 grub_gfxterm_fullscreen on error paths to ...
20486 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
20487 theme loading error.
20489 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20491 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
20492 space for older compilers.
20493 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
20495 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20497 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
20498 and report them as not RAID members since they are useless for GRUB.
20499 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20501 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20503 Increase LVM implementation robustness in order not to crash on
20504 configurations like pvmove. Previously code assumed that in some places
20505 only lvs or only pvs are used whereas it seems that they are used
20508 * grub-core/disk/lvm.c (read_node): New function.
20509 (read_lv): Use read_node.
20510 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
20511 Match volumes only at the end when all lvs are found. Take both
20512 pvs (first) and lvs (second) into account.
20513 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
20514 mirror_* into node_*. All users updated.
20515 (grub_lvm_stripe): Merge this ...
20516 (grub_lvm_mirror): ... and this ...
20517 (grub_lvm_node): ... into this. All users updated.
20519 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20521 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
20522 of function to allow further scanning for LVMs.
20524 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20526 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
20527 on failed seek as it breaks open fd reusage.
20529 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20531 * util/grub-install.in: Add a recommendation to use --recheck before
20534 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20536 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
20539 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20541 GRUB developper manual based on existing Internals section and
20542 contributions by the various authors with active copyright assignment.
20544 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
20545 * docs/font_char_metrics.png: New file.
20546 * docs/font_char_metrics.txt: Likewise.
20547 * docs/grub-dev.texi: Likewise.
20548 * docs/grub.texi (Internals): Move from here ...
20549 * docs/grub-dev.texi: ... here.
20551 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20553 Store the loopback device as data on loopback grub_disk structures,
20554 rather than the file it points to. This fixes use of freed memory
20555 if an existing loopback device is replaced.
20557 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
20558 disk->data, not dev->file.
20559 (grub_loopback_read): Adjust file assignment to match.
20560 Fixes Ubuntu bug #742967.
20562 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20564 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
20565 when replacing an existing device.
20567 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
20569 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
20570 memory corruptions.
20572 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
20574 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
20575 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
20576 (grub_jfs_read_inode): Likewise.
20577 (grub_jfs_opendir): Likewise. Remove now useless casts.
20578 (grub_jfs_getent): Likewise.
20579 Make ino a grub_uint32_t rather than int.
20580 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
20581 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
20582 division and module with bit operations.
20583 (grub_jfs_find_file): Make ino a grub_uint32_t.
20584 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
20586 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
20588 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
20589 warning. (This was in fact always initialised before use, but GCC
20590 wasn't smart enough to prove that.)
20591 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
20593 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20595 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
20597 (efi_wrap_1): Likewise.
20598 (efi_wrap_2): Likewise.
20599 (efi_wrap_3): Likewise.
20600 (efi_wrap_4): Likewise.
20601 (efi_wrap_5): Likewise.
20602 (efi_wrap_6): Likewise.
20603 (efi_wrap_10): Likewise.
20604 Based on information by: Red Hat/Peter Jones.
20606 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20608 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
20609 set-but-not-used variable.
20611 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
20613 * docs/grub.texi (Simple configuration): Be more explicit about
20614 GRUB_DEFAULT, and add an example.
20615 Reported by: Leslie Rhorer.
20617 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20619 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
20622 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20624 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
20625 * util/grub.d/20_linux_xen.in: Likewise.
20627 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20629 * util/grub.d/10_linux.in: Try alternative config filenames where
20630 we parse config file.
20631 * util/grub.d/20_linux_xen.in: Likewise.
20633 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
20635 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
20636 * util/grub.d/20_linux_xen.in: Likewise.
20638 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20640 * grub-core/disk/raid.c (insert_array): Add few potentially
20641 useful grub_util_info.
20642 (grub_raid_register): Likewise.
20644 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20646 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
20647 Preserve partition number in mdadm code path.
20649 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20651 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
20652 few potentially useful grub_util_info.
20654 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20656 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
20658 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20660 * docs/grub.texi (default): Use @example rather than nested
20661 itemized lists to avoid breaking gendocs.
20663 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20665 * docs/grub.texi (Future): Update.
20667 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20669 * docs/grub.texi (Environment): New chapter.
20670 (Changes from GRUB Legacy): Link to "Environment block" section for
20671 details of limitations.
20672 (Simple configuration): Likewise. Link to documentation of gfxmode
20673 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
20675 (Shell-like scripting): Note that normal variables are stored in the
20677 (gettext): Link to documentation of lang and locale_dir.
20678 (list_env): New section.
20679 (load_env): New section.
20680 (save_env): New section.
20682 (Reporting bugs): Fix typo.
20684 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20686 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
20689 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20691 * grub-core/term/at_keyboard.c (set_scancodes)
20692 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
20694 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20696 * docs/grub.texi (Menu-specific commands): Remove some semantics
20697 that were true in GRUB Legacy but not in GRUB 2.
20698 (submenu): New section.
20699 (false): New section.
20700 (read): New section.
20701 (true): New section.
20703 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20705 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
20707 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
20709 * docs/grub.texi (Simple configuration): Explain some of the
20710 current limitations of grub-mkconfig.
20711 Reported by: Leslie Rhorer.
20713 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20715 Old macs search for boot.efi rather than for bootia32.efi.
20717 * util/grub-install.in: Copy bootia32.efi to boot.efi.
20718 * util/grub-mkrescue.in: Likewise.
20719 Suggested by: Peter Jones.
20721 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20723 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
20725 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20727 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
20728 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
20729 (grub_lvm_mirror): New struct.
20730 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
20731 (grub_lvm_iterate): Iterate only visible volumes.
20732 (grub_lvm_read): Factor out to ..
20733 (read_lv): ... this. Support mirrors.
20734 (grub_lvm_read): New wrapper function.
20735 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
20736 stripped or mirrored.
20738 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20740 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
20742 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20744 * docs/grub.texi (loopback): New section.
20746 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20748 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
20751 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20753 * docs/grub.texi (BIOS installation): New section, partly based on
20754 previous text in other sections.
20755 (Installing GRUB using grub-install): Replace BIOS discussion with a
20757 (Images): Likewise.
20759 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20761 * grub-core/kern/emu/hostdisk.c (find_partition_start)
20762 [HAVE_DIOCGDINFO]: Add safety checks.
20764 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20766 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
20767 per default compiled in kernel and prior to 8.0 isn't shipped at all.
20769 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
20771 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
20772 real_sb->size is zero (e.g. RAID-0), get the disk size from
20773 real_sb->data_size instead.
20774 Fixes Ubuntu bug #743136.
20776 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20778 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
20779 printf clauses for printing size and start.
20781 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20783 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
20784 Reported and tested by: Timothy Nikkel.
20786 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20788 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
20789 (dirty_region_add_real): ... this.
20790 (dirty_region_add): Don't discard margin refresh when performing
20793 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
20795 * grub-core/lib/relocator.c (allocate_regstart)
20796 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
20797 terminals are capabple of malloc-free operation.
20798 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20799 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
20801 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
20803 * util/grub-setup.c: Copy the partition table zone if floppy support
20804 is disabled, even if no partition table is found.
20806 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
20807 during POST if an invalid partition table is contained in the PBR
20808 of the active partition when GRUB is installed to a partition.
20810 2011-03-28 Colin Watson <cjwatson@debian.org>
20812 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
20815 2011-03-28 Colin Watson <cjwatson@debian.org>
20817 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
20818 to be specific about what kind of RAID device we're scanning for.
20820 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
20822 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
20823 return freed string.
20825 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20827 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
20829 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20831 Use libgeom on FreeBSD to detect partitions.
20833 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
20834 (grub-mkrelpath): Likewise.
20835 (grub-script-check): Likewise.
20836 (grub-editenv): Likewise.
20837 (grub-mkpasswd-pbkdf2): Likewise.
20838 (grub-fstest): Likewise.
20839 (grub-mkfont): Likewise.
20840 (grub-mkdevicemap): Likewise.
20841 (grub-probe): Likewise.
20842 (grub-setup): Likewise.
20843 (grub-ofpathname): Likewise.
20844 (grub-mklayout): Likewise.
20845 (example_unit_test): Likewise.
20846 (grub-menulst2cfg): Likewise.
20847 * grub-core/Makefile.core.def (grub-emu): Likewise.
20848 (grub-emu-lite): Likewise.
20849 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
20850 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
20851 define HAVE_DIOCGDINFO.
20852 (follow_geom_up) [FreeBSD]: New function.
20853 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
20854 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
20855 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
20856 unconditionally of HAVE_DIOCGDINFO.
20858 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20860 Fix FreeBSD compilation problem.
20862 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
20863 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
20865 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
20867 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
20868 Switch back to page zero before loading a kernel, since some kernel
20869 drivers expect that.
20870 Thanks to: Felix Kuehling.
20872 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20874 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
20875 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
20876 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
20878 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20880 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
20881 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
20883 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20885 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
20886 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
20887 malloc is disabled.
20889 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
20891 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
20892 for modules headers when counting the needed allocation size.
20894 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20896 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
20897 if no ASCII character is found to prevent crash.
20899 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
20901 * grub-core/video/bitmap.c (match_extension): Ignore case.
20903 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20905 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
20907 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20909 * grub-core/script/parser.y: Declare "time" as valid argument.
20911 2011-03-23 Peter Jones <pjones@redhat.com>
20913 Fix incorrect assert failure reporting.
20915 * grub-core/tests/example_functional_test.c (example_test): Add
20917 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
20918 (failure_start): ...this. Check that malloc succeeded.
20919 Don't call xvasprintf. Return failure struct.
20920 (failure_append_vtext): New function.
20921 (failure_append_text): Likewise.
20922 (add_failure): Likewise.
20923 (grub_test_assert_helper): Likewise.
20924 * include/grub/test.h (grub_test_assert_helper): New declaration.
20925 (grub_test_assert): Macro rewritten.
20927 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20929 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
20931 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20933 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
20935 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20937 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
20938 into GRUB-style one.
20940 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20942 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
20943 error and not grub_errno.
20944 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
20946 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20948 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
20949 GRUB_USB_SPEED_NONE in case of failure and not the error code.
20951 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20953 * grub-core/efiemu/i386/pc/cfgtables.c
20954 (grub_machine_efiemu_init_tables): Make declaration a prototype.
20955 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
20956 (grub_xnu_unlock): Likewise.
20957 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
20959 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20961 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
20962 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
20963 * grub-core/commands/hashsum.c (aliases): Likewise.
20964 * grub-core/commands/setpci.c (pci_registers): Likewise.
20965 * grub-core/disk/usbms.c (attach_hook): Likewise.
20966 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
20967 (zio_checksum_table): Likewise.
20968 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
20969 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
20970 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
20971 * grub-core/lib/relocator.c (leftovers): Likewise.
20972 (extra_blocks): Likewise.
20973 * grub-core/loader/i386/bsd.c (relocator): Likewise.
20974 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
20975 (modules_last): Likewise.
20976 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
20977 (devices): Likewise.
20978 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
20979 (modules_last): Likewise.
20980 * grub-core/normal/auth.c (users): Likewise.
20981 * grub-core/normal/context.c (initial_menu): Likewise.
20982 (current_menu): Likewise.
20983 * grub-core/normal/crypto.c (crypto_specs): Likewise.
20984 * grub-core/term/serial.c (grub_serial_ports): Likewise.
20985 (grub_serial_terminfo_input_template): Likewise.
20986 (grub_serial_terminfo_output_template): Likewise.
20987 (grub_serial_terminfo_input): Likewise.
20988 (grub_serial_terminfo_output): Likewise.
20989 (registered): Likewise.
20990 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
20992 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
20994 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
20995 grub_video_mode_type_t.
20996 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
20997 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
20998 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
21000 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
21002 * util/grub-install.in: Correct the x86-64 name as x86_64.
21004 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
21006 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
21007 initial chunk read from the kernel always includes GRUB's multiboot
21008 header, which is now outside the first sector.
21010 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
21012 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
21013 cached mmap_size, so that this works correctly when called multiple
21015 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
21017 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
21019 * docs/grub.texi (Simple configuration): Tidy up formatting.
21021 2011-03-07 Szymon Janc <szymon@janc.net.pl>
21023 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
21024 Set-but-not-used variable removed.
21026 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21028 Workaround yet another IEEE1275 bug.
21030 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
21031 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
21032 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
21033 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
21035 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
21036 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
21038 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
21040 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
21043 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
21045 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
21046 empty, since in that case we can only generate either nothing or a
21047 syntactically invalid configuration file.
21048 Reported by: Michal Suchanek. Fixes Debian bug #612898.
21050 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
21052 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
21053 (Making a GRUB bootable CD-ROM): Likewise.
21054 (Invoking grub-mkrescue): New section.
21055 Reported by: Yann Dirson. Fixes Debian bug #612585.
21057 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
21059 * util/grub-install.in: Remove unnecessary brackets from tr
21061 * util/grub.d/10_hurd.in: Likewise.
21062 * util/grub.d/10_kfreebsd.in: Likewise.
21063 * util/grub.d/10_linux.in: Likewise.
21064 * util/grub.d/20_linux_xen.in: Likewise.
21065 Reported by: Jamie Heilman. Fixes Debian bug #612564.
21067 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
21069 * include/grub/file.h (not_easly_seekable): Rename to ...
21070 (not_easily_seekable): ... this. Update all users.
21072 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
21074 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
21077 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
21079 * util/grub-mkimage.c (generate_image): Refuse to create the images
21080 bigger than the actual flash (512K) in Loongson machines. 512K is also
21081 the biggest chip supported by them.
21083 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21085 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
21087 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
21089 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
21090 super_offset field.
21092 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21094 * util/grub-install.in: Ignore install device on platforms
21095 where it doesn't make sense. Always use UUIDs except on pc, efi and
21097 Reported by: Daniel Kahn Gillmor.
21099 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21101 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
21103 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21105 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
21106 (iterate_real): Don't rely on partition being non-NULL.
21108 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21110 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
21111 supported platforms. Put a compile time assert for this rather than
21112 generate a warning with 32-bit shift.
21114 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21116 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
21117 logical expression more readable.
21119 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21121 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
21122 even if some elements have a name.
21123 Reported by: Alexander GQ Gerasiov.
21125 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
21127 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
21128 path unreadable if `grub-probe -t abstraction' fails, for example if
21129 memberlist fails on an LVM volume group.
21130 Reported by: Darius Jahandarie.
21132 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
21134 * docs/grub.texi (Simple configuration): Document
21135 GRUB_PRELOAD_MODULES.
21137 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
21139 * .bzrignore: Remove nonexistent grub-pbkdf2.
21141 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
21143 * configure.ac: Bump version to 1.99~rc1.
21145 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
21147 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
21150 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21152 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
21155 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
21157 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
21159 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21161 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
21164 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
21166 Fix compilation on cygwin.
21168 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
21169 -R .drectve on cygwin.
21170 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
21171 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
21172 (COND_CYGWIN): New condition.
21173 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
21174 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
21175 not @TARGET_OBJ2ELF@.
21176 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
21177 type to determine whether aux is to be used.
21179 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21181 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
21182 realpath'ed device string.
21183 Handle floppy (somewhat).
21184 Issue error in unknown case rather than garbage.
21185 Reported by: Axel Beckert.
21187 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21189 * util/grub.d/00_header.in (load_video): Handle the case when no video
21191 Thanks to: Axel Beckert.
21193 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21195 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
21196 variable. Fixes problem on big endian platforms.
21198 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21200 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
21201 It doesn't work well there.
21203 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21205 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
21207 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
21208 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
21211 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
21213 Use alias->path rather than buggy "canon".
21215 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
21216 (ofdisk_hash_add): New argument curcan. All users updated.
21218 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
21220 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
21222 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21224 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
21225 loadmask before doing any calculations. Use correct type for offset.
21226 (grub_linux_load64): Likewise.
21228 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
21230 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
21232 (console_grub_equivalences_unshift): Likewise.
21233 Reported by: Daniel Dehennin.
21235 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21237 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
21238 (set_env_limn_ro): Likewise.
21239 (GRUB_MOD_INIT): Likewise.
21240 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
21241 ARRAY_SIZE while on it.
21242 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
21243 * grub-core/normal/context.c (grub_env_export): Move from here ...
21244 * grub-core/kern/env.c (grub_env_export): ... here.
21245 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
21247 * grub-core/kern/main.c (grub_main): Export root and prefix.
21248 * include/grub/env.h (grub_env_export): Export.
21249 Reported by: Seth Goldberg.
21251 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21253 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21254 Take into account space used by ELF sections and multiboot palette.
21255 Reported by: Grégoire Sutre.
21257 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
21261 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21263 Pass more appropriate video id to Linux.
21265 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
21266 grub_video_get_driver_id and variable gfxpayloadforcelfb to
21268 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
21269 shift params->lfb_size.
21270 * include/grub/i386/linux.h: Make an enume out of have_vga values.
21272 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21274 * util/grub-menulst2cfg.c: Add missing include of misc.h.
21276 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21278 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
21279 separator and pass bootpath/devid even if only one of them is available.
21280 Reported by: Seth Goldberg.
21282 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21284 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
21285 implementations bug on them.
21287 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
21289 (filter_memory_map): Likewise.
21291 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21293 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
21294 Reported by: nebuchadnezzar.
21296 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21298 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
21299 Reported by: nebuchadnezzar.
21301 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21303 Submenu default support.
21305 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
21306 auto_boot. All users updated.
21308 Handle chosen and default with submenus.
21309 (grub_menu_execute_with_fallback): Declared static.
21310 Don't notify failure if autobooted. Upper level does it.
21311 (menuentry_eq): New function.
21312 (get_entry_number): Use menuentry_eq.
21313 (show_menu): New parameter "autobooted". All users updated.
21314 (grub_show_menu): Likewise.
21315 * include/grub/normal.h (grub_show_menu): Likewise.
21316 * include/grub/menu.h (grub_menu_execute_entry): Removed.
21317 (grub_menu_execute_with_fallback): Likewise.
21319 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21321 * util/grub-mklayout.c (usage): Update help text.
21323 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21325 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
21327 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21329 * util/grub-menulst2cfg.c (main): Trim the line.
21331 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21333 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
21334 (grub_machine_init): Don't check amount of low memory as reportedly
21335 INT 12h can be broken and if low memory is too low we wouldn't have
21336 gotten into grub_machine_init anyway.
21338 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21340 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
21341 (grub_machine_mmap_iterate): Take low memory into account
21343 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21345 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
21347 Reported by: TiCPU.
21349 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
21351 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
21354 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21356 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
21357 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
21359 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
21361 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
21362 openbsd and netbsd types being in part_bsd module.
21364 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21366 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
21367 (_FILE_OFFSET_BITS): Likewise.
21368 Reported by: Seth Goldberg.
21370 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21372 * configure.ac: Check for libdevmapper header.
21374 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21376 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
21378 (fzap_lookup): Likewise.
21379 (dnode_get): Likewise.
21380 (make_mdn): Likewise.
21381 (zfs_mount): Likewise.
21382 (fzap_iterate): Use temporary pointer to avoid aliasing.
21383 (grub_zfs_read): Likewise.
21384 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
21385 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
21386 pointers to avoid aliasing.
21387 (grub_cmd_xnu_kernel64): Likewise.
21388 (grub_xnu_load_driver): Likewise.
21390 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21392 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
21394 (grub_cmd_terminal_output): Likewise.
21395 Reported and tested by: Grégoire Sutre.
21397 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21399 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
21401 Reported and tested by: Grégoire Sutre.
21403 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21405 * configure.ac: Do CPU substitution even if it's specified explicitly.
21406 Reported and tested by: Alain Greppin.
21408 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21410 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
21411 Reported and tested by: Alain Greppin.
21413 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21415 Satisfy some bison versions need for inttypes.h.
21417 * grub-core/lib/posix_wrap/inttypes.h: New file.
21418 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
21419 (int16_t): Likewise.
21420 (int32_t): Likewise.
21421 (int64_t): Likewise.
21422 Reported and tested by: Alain Greppin.
21424 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
21426 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
21427 Silence spurious warning.
21428 Reported and tested by: Alain Greppin.
21430 2011-01-07 Szymon Janc <szymon@janc.net.pl>
21432 * docs/grub.texi (Support automatic decompression): Update with xz
21433 decompression support.
21435 2011-01-07 Szymon Janc <szymon@janc.net.pl>
21437 Improve loaders' kernel command line handling.
21439 * grub-core/lib/cmdline.c: New file.
21440 * include/grub/lib/cmdline.h: Likewise.
21441 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
21442 grub_create_loader_cmdline to create kernel command line.
21443 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21444 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
21445 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
21446 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
21447 (linux): Add lib/cmdline.c on common.
21449 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21451 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
21452 inopos might be unaligned.
21454 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21456 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
21457 endian transformations.
21458 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21459 Based on report by: Doug Nazar.
21461 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
21463 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
21464 array->members[i].start_sector.
21465 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
21467 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
21469 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
21470 Reported and tested by: Grégoire Sutre.
21472 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
21474 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
21475 avoid causing test failures by clearing the screen.
21477 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
21479 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
21480 Fix prefix check to handle the case where dir ends with a slash
21481 (most significantly, "/" itself).
21482 Reported by: Michael Vogt.
21484 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21486 Run terminfo_cls on initing terminfo output to clear the screen and
21487 move the cursor to (0,0).
21489 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
21490 Call grub_terminfo_output_init.
21491 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
21492 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
21493 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
21495 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21497 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
21500 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21502 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
21505 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
21507 The E820 type 5 is BADRAM, not EXEC_CODE.
21509 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21510 (GRUB_E820_BADRAM): New define.
21511 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
21512 into reserved. Propagate BADRAM.
21513 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
21514 (GRUB_E820_BADRAM): New define.
21516 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21518 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
21519 Ignore the memory post-4G.
21520 (grub_relocator_firmware_alloc_region): Additional debug statement.
21522 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21524 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
21526 Reported by: David Pravec.
21528 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21530 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
21533 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21535 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
21537 (grub_reed_solomon_recover): Likewise.
21539 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21541 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
21543 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21545 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
21548 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
21550 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
21551 descriptions of extract_legacy_entries_source and
21552 extract_legacy_entries_configfile.
21553 Reported by: Seung Soo, Ha.
21555 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
21557 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
21558 on devices that do not implement function 0.
21560 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
21562 * grub-core/fs/hfsplus.c: Make parent unsigned.
21563 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
21565 (grub_hfsplus_cmp_extkey): Likewise
21567 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21569 * util/grub-install.in: Correctly use bootloader_id and not
21570 GRUB_DISTRIBUTOR on efibootmgr line.
21572 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
21574 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
21576 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
21578 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
21579 Xen and reorder menu item wording to make it clearer that this entry
21580 will launch Xen. Print separate messages when loading Xen and
21583 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21585 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
21586 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
21587 loop in case of incorrect amiga partmap.
21589 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21591 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
21592 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
21595 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
21597 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
21599 Reported by: crocket
21601 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21603 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
21605 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
21607 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21609 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
21611 (grub_cmd_xnu_kextdir): Likewise.
21612 (grub_cmd_xnu_splash): Likewise.
21614 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21616 Avoid using Reed-Solomon with 0 redundancy.
21618 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
21619 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
21621 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
21622 (grub_reed_solomon_recover): Likewise.
21624 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21626 Don't use disk subsystem in freebsd_boot.
21628 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
21629 (freebsd_biosdev): Likewise.
21630 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
21631 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
21633 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
21635 Handling of files of unknown size is currently limited. They can't be
21636 used e.g. for initrd or modules. Moreover gzip handling of not
21637 easily seekable files is buggy. Disable unknown file size for now. May
21638 be inefficient but works.
21640 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
21641 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
21643 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
21645 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
21648 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
21650 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
21652 2010-12-25 Shea Levy <shlevy>
21654 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
21656 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21658 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
21659 Windows Server 2008.
21660 Reported by: Devin Giddings.
21662 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21664 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
21665 writing an error message because of async power management.
21666 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
21667 (grub_reboot): Likewise.
21669 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
21671 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
21672 keep unit tests from failing when they shouldn't.
21674 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21676 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
21677 previous patch increased the size of the RS code by 20 bytes (at
21678 least with gcc-4.4), so increase this by 20 bytes to match.
21679 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
21681 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21683 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
21684 scratch area. Make sure to initialise chosen in standalone mode as
21685 well as non-standalone.
21686 Reported by: Robert Hooker and Andy Whitcroft.
21687 Tested by: Andy Whitcroft.
21689 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21691 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
21692 constructing a new unescaped string and passing it to grub_xputs in
21693 one go, rather than passing characters to grub_printf one at a time.
21695 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21697 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
21698 initialising utf16.
21700 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
21702 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
21703 comment. Add an extra layer of quotation, requiring the output of
21704 this function to be used in a printf format string.
21705 (gettext_printf): New function.
21706 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
21707 Extract translatable strings from here-documents and use a temporary
21708 variable instead, so that xgettext can find them.
21709 * util/grub.d/10_kfreebsd.in: Likewise.
21710 * util/grub.d/10_linux.in: Likewise.
21711 * util/grub.d/20_linux_xen.in: Likewise.
21713 * po/grub.d.sed: New file.
21714 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
21715 arguments. Set c-format flags on all strings extracted from
21716 util/grub.d/ (xgettext refuses to include these itself for strings
21717 it extracted from a shell file, but these really are c-format).
21719 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
21721 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
21722 Avoid next pointing to nowhere.
21724 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21726 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
21727 rather than assuming than rootblock is exactly in the middle.
21728 (grub_affs_label): Likewise.
21730 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21732 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
21733 reserved_first_sector to 0.
21734 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
21735 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
21736 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
21738 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21740 Fix handling of UTF-16 UDF labels.
21742 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
21743 (read_string): .. here.
21744 (grub_udf_label): Use read_string.
21746 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
21748 * grub-core/normal/menu_entry.c (run): Execute commands from menu
21749 editor under argument scope.
21750 Reported by: Jordan Uggla
21752 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21754 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
21756 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
21758 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
21759 line, and other keys scroll an entire page (previous handling was
21760 for \r and \n to scroll a page and other keys to scroll two lines).
21762 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
21764 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
21765 Set ptrdest to correct get_physical_target_address rather than
21766 incorrect get_virtual_current_address.
21768 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
21770 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
21771 correct cat to grub_uint8_t * rather than grub_uint32_t *.
21773 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
21775 * .bzrignore: Ignore grub-core/rs_decoder.S.
21777 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
21779 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
21780 .mo/.mo.gz opening sequence to ...
21781 (grub_mofile_open_lang): ... here.
21782 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
21783 * util/grub.d/00_header.in (grub_lang): Include country part of
21785 Reported by: Mario Limonciello.
21787 2010-12-09 Robert Millan <rmh@gnu.org>
21789 * NEWS: Document addition of ZFS support.
21791 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
21793 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
21794 rather than `/ 2', as the latter requires -Wa,--divide which would
21795 require bumping our minimum binutils version.
21797 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
21799 * util/grub-script-check.c (main): Print script line number on
21802 2010-12-01 Robert Millan <rmh@gnu.org>
21804 * grub-core/fs/zfs/zfs.c: New file.
21805 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
21806 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
21807 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
21808 * grub-core/fs/zfs/zfsinfo.c: Likewise.
21810 * include/grub/zfs/dmu.h: Likewise.
21811 * include/grub/zfs/dmu_objset.h: Likewise.
21812 * include/grub/zfs/dnode.h: Likewise.
21813 * include/grub/zfs/dsl_dataset.h: Likewise.
21814 * include/grub/zfs/dsl_dir.h: Likewise.
21815 * include/grub/zfs/sa_impl.h: Likewise.
21816 * include/grub/zfs/spa.h: Likewise.
21817 * include/grub/zfs/uberblock_impl.h: Likewise.
21818 * include/grub/zfs/vdev_impl.h: Likewise.
21819 * include/grub/zfs/zap_impl.h: Likewise.
21820 * include/grub/zfs/zap_leaf.h: Likewise.
21821 * include/grub/zfs/zfs.h: Likewise.
21822 * include/grub/zfs/zfs_acl.h: Likewise.
21823 * include/grub/zfs/zfs_znode.h: Likewise.
21824 * include/grub/zfs/zil.h: Likewise.
21825 * include/grub/zfs/zio.h: Likewise.
21826 * include/grub/zfs/zio_checksum.h: Likewise.
21828 * Makefile.util.def: Build ZFS into libgrubmods.
21829 * grub-core/Makefile.core.def: Build zfs.mod.
21831 2010-11-30 Szymon Janc <szymon@janc.net.pl>
21833 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
21835 * grub-core/commands/wildcard.c (match_files): Likewise.
21837 2010-11-30 Robert Millan <rmh@gnu.org>
21839 * grub-core/loader/i386/bsd.c
21840 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
21841 whether kernel is loaded using grub_loader_is_loaded(), rather
21842 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
21843 certain error conditions.
21845 2010-11-30 Robert Millan <rmh@gnu.org>
21847 * grub-core/commands/echo.c: Include `<grub/term.h>'.
21848 (grub_cmd_echo): Call grub_refresh() after printing a message.
21850 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21852 Avoid using tricks for initialising endian variables.
21854 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
21856 (GRUB_MOD_INIT): Don't byte-swap.
21857 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21858 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
21859 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
21860 (grub_swap_bytes32_compile_time): Likewise.
21861 (grub_cpu_to_le32_compile_time): Likewise.
21862 (grub_cpu_to_le16_compile_time): Likewise.
21864 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
21866 * util/grub-setup.c (setup): Stop recommending --force. People who
21867 understand the dangers of blocklists are able to find this option
21868 anyway and the ones who don't shouldn't use it anyway.
21870 2010-11-26 Robert Millan <rmh@gnu.org>
21872 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
21875 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
21877 Fix LVM-on-RAID probing.
21879 * util/grub-probe.c (probe): Remember which disk was detected as
21880 RAID (perhaps an LVM physical volume). Use that disk's raidname
21881 rather than that of the top-level disk.
21883 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
21885 Fix cmdline argument quotes for setparams command of menuentry
21888 * grub-core/commands/menuentry.c (setparams_prefix): Use single
21889 quotes for arguments.
21890 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
21891 grub_strchrsub function instead.
21893 * include/grub/misc.h (grub_strchrsub): New function.
21895 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21897 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
21898 effort by skipping "." and ".." entries up-front.
21899 Suggested by: Michael Lazarev.
21901 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21903 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
21904 ldflags to ldadd, to fix link line ordering.
21905 (none_decompress): Likewise.
21907 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
21909 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
21911 (grub-emu-lite): Remove kern/emu/cache.S.
21913 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21915 * util/deviceiter.c (compare_devices): If the by-id link for a
21916 device couldn't be resolved, fall back to sorting by the by-id link
21917 rather than segfaulting.
21918 Reported and tested by: Daniel Mierswa.
21920 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21922 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
21923 ldflags, to fix link line ordering.
21925 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21927 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
21928 linkers are picky about this.
21930 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21932 * grub-core/Makefile.am (command.lst): Adjust sed expression
21933 ordering so that extended and priority commands aren't treated as
21936 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
21938 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
21939 Remove byte-swapping function calls, which are not valid in
21940 structure initialisers.
21941 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
21943 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
21944 grub_gpt_partition_type_bios_boot.
21946 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
21948 Fix test program build on GNU/kFreeBSD.
21950 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
21951 $(LIBNVPAIR)' library dependencies.
21953 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
21955 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
21957 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
21959 * util/grub-install.in: Remove excessive quoting that broke
21960 installations to RAID devices.
21962 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21964 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
21965 bootloader version instead of 0.
21967 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21969 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
21972 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
21974 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
21975 retrieve the metadat sector if size isn't known.
21976 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
21978 2010-11-18 Robert Millan <rmh@gnu.org>
21980 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
21981 with grub_memcmp().
21983 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
21985 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
21987 Reported by: Jordan Uggla.
21989 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21991 Make better UTF compliant.
21993 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
21994 sequences as incorrect.
21995 (grub_is_valid_utf8): Likewise.
21996 (grub_utf8_to_ucs4): Likewise.
21997 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
21998 (grub_ucs4_to_utf8_alloc): Likewise.
21999 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
22001 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
22003 Make legacy_source behave like source.
22005 * grub-core/commands/legacycfg.c (legacy_file): Don't call
22007 (grub_cmd_legacy_source): Call grub_show_menu if needed.
22009 2010-11-16 Colin Watson <cjwatson@debian.org>
22011 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
22012 (-Wunused implies -Wunused-parameter, but not vice versa).
22014 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
22016 * configure.ac: Make error messages less confusing by testing for
22017 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
22018 accepted, but produces a diagnostic if something else is wrong).
22020 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22022 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
22023 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
22025 (grub_keyboard_controller_init)
22026 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
22027 read the initial state since controller isn't inited yet.
22029 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
22031 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
22032 allocate_regbeg may need to create new chunk header.
22034 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22036 Fix quoting in legacy parser.
22038 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
22040 (grub_legacy_parse): Likewise.
22041 Reported by: Jordan Uggla.
22042 Tested by: Jordan Uggla.
22044 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22046 Don't add -lgcc on i386 and x86_64.
22048 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
22049 * conf/Makefile.common (LDADD_KERNEL): Likewise.
22050 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
22052 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22054 * configure.ac: Add -Wno-trampolines when supported.
22056 2010-11-14 Modestas Vainius <modax@debian.org>
22058 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
22061 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22063 Add generic logical block size support for UDF.
22065 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
22066 (GRUB_UDF_BLKSZ): Removed.
22067 (struct grub_udf_data): New field "lbshift" to hold the logical block
22068 size of the file system in log2 format. All users updated.
22069 (sblocklist): Change type to unsigned.
22070 (grub_udf_mount): Change type of "sblklist" to unsigned.
22071 Move AVDP search before VRS recognition, because the latter requires
22072 knowledge of the logical block size, which is detected during the
22074 Detect and validate logical block size during AVDP search, adding
22075 support for block sizes 512, 1024 and 4096.
22076 Make VRS recognition independent of block size.
22078 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22080 Properly handle deleted files on UDF.
22082 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
22083 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
22086 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
22088 Support reading files larger than 2 GiB.
22090 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
22091 "offset" to grub_off_t.
22092 (grub_udf_read_file): Likewise for parameter "pos".
22094 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22096 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
22098 (Simple configuration): Refer to Changes from GRUB Legacy about
22099 save_env availability.
22101 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22103 * util/grub-install.in: Ignore empty partition table detection
22104 instead of trying to include part_ module.
22106 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22108 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
22109 LVM on RAID support.
22111 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
22113 Properly define WORDS_BIGENDIAN in wrapped environments.
22115 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
22117 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
22119 Reported by: Manoel Rebelo Abranches.
22120 Tested by: Manoel Rebelo Abranches.
22122 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22124 * util/grub-mkconfig.in: Fix quoting.
22126 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22128 Support big ext2 files.
22130 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
22131 (grub_ext2_read_block): Support triple indirect blocks.
22132 (grub_ext2_read_file): Use 64-bit types and read size_high.
22133 (grub_ext2_open): Read size_high.
22134 Reported by: Ximin Luo.
22135 Tested by: Manoel Rebelo Abranches.
22137 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22139 * util/grub-install.in: Handle filenames containing spaces.
22140 Reported by: Jordan Uggla.
22141 Tested by: Jordan Uggla.
22143 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22145 * util/grub-mkconfig.in (grub_script_check): New variable.
22146 Use grub_script_check instead of grub-script-check.
22147 Reported by: Barry Jackson.
22149 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
22151 * docs/grub.texi (menu): Correct the order.
22152 Reported by: D. Hugh Redelmeier.
22154 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
22156 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
22159 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22161 * include/grub/elfload.h (grub_elf32_size): New parameter.
22163 Return maximum segments alignment.
22164 (grub_elf64_size): Likewise.
22165 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
22166 Return maximum segments alignment.
22167 (grub_elf64_size): Likewise.
22168 * grub-core/loader/powerpc/ieee1275/linux.c:
22169 (grub_linux_claimmap_iterate): New function. Uses the
22170 "available" property in the "memory" node for memory allocation
22171 for kernel in the PowerPC loader.
22172 (grub_linux_load32): Correctly find linux entry point offset.
22173 (grub_linux_load64): Likewise.
22175 2010-11-07 Robert Millan <rmh@gnu.org>
22177 On mips-yeeloong, build with -march=loongson2f when this flag is
22178 available (GCC >= 4.4).
22179 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
22181 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
22182 or otherwise add -march=mips3.
22184 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
22186 Suppress shell expansion on echo '*' and echo "*" like cases.
22187 Reported by: Jordan Uggla.
22189 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
22190 string arguments before shell expansion.
22191 * tests/grub_cmd_echo.in: New testcases.
22193 2010-11-07 Robert Millan <rmh@gnu.org>
22195 * conf/mips-qemu-mips.rmk: Remove stale file from previous
22198 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
22200 * grub-core/kern/emu/hostdisk.c
22201 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
22203 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22205 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
22206 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
22207 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
22209 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22211 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
22213 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22215 * util/grub-install.in: Replace useless recomendation to pass
22216 --modules with a recomendation to report a bug.
22218 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
22220 Properly register serial terminfo.
22221 Reported by: Jordan Uggla
22223 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
22225 (grub_serial_terminfo_output_template): Likewise.
22226 (grub_cmd_serial): Register "serial" with terminfo.
22227 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
22228 grub_serial_terminfo_output.
22230 2010-11-05 Robert Millan <rmh@gnu.org>
22232 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
22235 2010-11-05 Robert Millan <rmh@gnu.org>
22237 On Yeeloong, pass machine type information to Linux.
22239 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
22240 (LOONGSON_MACHTYPE): New macro, set to
22241 "machtype=lemote-yeeloong-2f-8.9inches".
22242 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
22243 additional argument to Linux.
22245 2010-11-04 Robert Millan <rmh@gnu.org>
22247 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
22248 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
22249 (its SATA disks are detected as slaveless IDE master drives on
22251 Reported by Carsten Aulbert.
22253 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
22255 * util/bin2h.c (main): Fix spelling error in generated output.
22257 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
22259 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
22261 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22263 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
22264 vga= option is supplied.
22266 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22268 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
22269 * util/grub.d/10_kfreebsd.in: Likewise.
22270 * util/grub.d/10_linux.in: Likewise.
22271 * util/grub.d/20_linux_xen.in: Likewise.
22273 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22275 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
22276 argument as an argument to no-argument option.
22278 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22280 * util/grub.d/10_linux.in: Add missing load_video with explicit
22281 GRUB_GFXPAYLOAD_LINUX.
22283 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22285 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
22287 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22289 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
22290 elements with invlid index.
22291 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
22292 * grub-core/disk/raid.c (insert_array): Automatically reallocate
22294 * include/grub/raid.h (grub_raid_member): New struct.
22295 (grub_raid_array): Transform devices and start_sector into usage of
22296 grub_raid_member. All users updated
22297 (allocated_devs): New member.
22299 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
22301 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
22304 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
22306 NetBSD build fix for getline function conflict from gnulib.
22308 * Makefile.util.def (libgrubkern.a): New library for grub kernel
22309 components that depend on gnulib headers.
22310 (libgrubmods.a): Renamed from earlier libgrub.a.
22311 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
22313 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22315 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
22316 install rather than creating a broken install.
22318 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22320 * util/grub-setup.c (argp): Remove misleading example of installing to
22323 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22325 * util/grub-setup.c (setup): Clarify the error message.
22327 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
22329 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
22331 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22333 * grub-core/kern/emu/misc.c
22334 (grub_make_system_path_relative_to_its_root)
22335 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
22337 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
22339 * grub-core/kern/emu/misc.c
22340 (grub_make_system_path_relative_to_its_root): Revert r2882.
22342 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
22344 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
22345 useless field head. All users updated.
22346 (free_subchunk): Correct handling of IN_REGION subchunk.
22348 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
22350 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
22351 (Supported kernels): Likewise.
22353 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22355 Make mktemp invocations portable.
22357 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
22358 exit if mktemp fails.
22359 * tests/grub_script_blockarg.in: Likewise.
22360 * tests/partmap_test.in: Likewise.
22361 * tests/util/grub-shell-tester.in: Likewise.
22362 * tests/util/grub-shell.in: Likewise.
22363 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22364 * Makefile.am: Likewise, and chain shell commands with `&&'
22366 * util/grub-mkrescue.in: Use the same explicit template as above, and
22367 exit if mktemp fails.
22369 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
22371 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
22372 Linux kernel, reported by Dennis Schridde.
22374 2010-10-17 Szymon Janc <szymon@janc.net.pl>
22376 * grub-core/normal/auth.c (grub_auth_check_authentication):
22377 Set-but-not-used variable removed.
22379 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22381 * docs/grub.texi (GNU/Linux): Document APM unavailability with
22382 32-bit linux protocol.
22384 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22386 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
22387 cursor shape for sanity.
22389 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22391 * docs/grub.texi (Installation): Document buggy BIOS install.
22393 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22395 * docs/grub.texi (Installation): Indent.
22397 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22399 * util/grub-setup.c (setup): New parameter allow_floppy.
22400 (arguments): New member allow_floppy.
22401 (argp_parser): Handle --allow-floppy.
22402 (main): Pass allow_floppy.
22403 * util/grub-install.in: New option --allow-floppy passed though to
22406 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22408 * util/grub-install.in: Handle partitionless disks.
22410 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
22412 * util/grub-setup.c (setup): Don't clean blocklists before readability
22415 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22417 * docs/grub.texi (Installation): Document embedding zone. Remove
22418 obsolete grub-install example.
22420 2010-10-16 Szymon Janc <szymon@janc.net.pl>
22422 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
22423 Set-but-not-used variable ifdef'ed.
22424 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
22425 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
22427 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
22428 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
22429 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
22430 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
22431 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
22432 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22433 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
22434 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
22435 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
22436 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
22437 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
22440 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22442 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
22443 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
22446 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22448 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
22449 synonym to _S5_. Needed for some DSDTs.
22451 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22453 Userspace ACPI parser debugging.
22455 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
22456 headers and add relevant defines. Don't include standard headers.
22457 (main) [GRUB_DSDT_TEST]: New function.
22458 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
22459 Don't declare functions.
22461 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22463 Remove dead grub_efi_mm_fini.
22465 * grub-core/kern/efi/mm.c (allocated_page): Removed.
22466 (ALLOCATED_PAGES_SIZE): Likewise.
22467 (MAX_ALLOCATED_PAGES): Likewise.
22468 (allocated_pages): Likewise.
22469 (grub_efi_allocate_pages): Don't record allocated pages.
22470 (grub_efi_free_pages): Likewise.
22471 (grub_efi_mm_init): Likewise.
22472 (grub_efi_mm_fini): Removed.
22474 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22476 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
22477 (grub_efi_mm_init): Take into account the memory map size increase.
22479 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22481 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
22482 (serial_hw_put): Wait based on real time rather than port reads. Don't
22484 * include/grub/serial.h (grub_serial_port): New field broken.
22486 2010-10-16 Robert Millan <rmh@gnu.org>
22488 * grub-core/kern/emu/misc.c
22489 (grub_make_system_path_relative_to_its_root): Fix premature return
22490 when processing non-root ZFS filesystems.
22491 Reported by Sergio Talens-Oliag.
22493 2010-10-15 Robert Millan <rmh@gnu.org>
22495 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
22496 guarantee compressed ones are processed first.
22498 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22500 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
22501 grub_efiemu_autocore.
22503 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
22505 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
22507 (grub_console_getkey): Use correct jae opcode rather than ja.
22509 2010-10-12 Robert Millan <rmh@gnu.org>
22511 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
22512 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
22513 variable. All references updated.
22515 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
22517 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
22519 Correctly distinguish mdraid flavours.
22521 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
22522 (insert_array): New argument raid.
22523 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
22524 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
22525 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
22527 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
22529 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
22530 handling of special keys.
22532 2010-10-02 Aleš Nesrsta <starous@volny.cz>
22534 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
22535 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
22537 2010-10-02 Aleš Nesrsta <starous@volny.cz>
22539 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
22540 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
22542 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
22543 Use right endpoint when querying descriptor.
22545 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22547 Clear out 0x80 color bit on EFI.
22549 Reported by: decoder and meta tech.
22551 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
22552 (grub_console_setcolorstate): Clear out 0x80 bit.
22553 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
22554 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
22555 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
22557 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
22559 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
22562 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22564 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
22565 mo_file after freeing.
22567 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22569 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
22571 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22573 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
22576 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22578 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
22581 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
22583 Put terminfo into core on ieee1275 and yeeloong (needed for console).
22585 * gentpl.py: New groups terminfoinkernel and terminfomodule.
22586 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
22587 and terminfo.h when needed.
22588 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
22589 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
22590 (terminfo): Enable only on terminfokernel.
22591 (extcmd): Likewise.
22592 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
22593 * include/grub/lib/arg.h: Likewise.
22594 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
22595 incorrect usage of ->.
22597 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22599 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
22600 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
22602 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22604 Fix coreboot compilation.
22606 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
22607 Take VBE info into account even if only text is supported.
22608 (fill_vbe_info): Take into account the case when only VGA text
22610 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
22611 on coreboot, multiboot and qemu.
22613 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22615 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
22617 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
22619 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22621 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
22624 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22626 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
22627 if they were BSD-style.
22629 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22631 * grub-core/boot/i386/pc/lnxboot.S: Replace
22632 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
22633 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
22635 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
22637 Write embedding zone using Reed-Solomon.
22639 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
22640 * grub-core/Makefile.am (rs_decoder.S): New target.
22641 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
22642 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
22643 (multiboot): Move to RS part.
22644 (post_reed_solomon): New label.
22645 (grub_boot_drive): Move to non-RS part since it's modified in memory
22647 Include rs_decoder.S.
22648 * grub-core/lib/reed_solomon.c: New file.
22649 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
22651 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
22652 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
22653 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
22654 * include/grub/partition.h (grub_partition_map): Change prototype of
22655 embed to allow returning additional sectors.
22656 * include/grub/reed_solomon.h: New file.
22657 * util/grub-setup.c (setup): Handle Reed-Solomon.
22659 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
22661 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22662 i386 and x86-64 definedness tests.
22664 2010-09-27 Yves Blusseau <blusseau@zetam.org>
22666 Fix generation of kernel_syms.lst
22668 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
22671 2010-09-26 Robert Millan <rmh@gnu.org>
22673 Support degraded ZFS arrays in "grub-probe -t device" resolution.
22675 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
22676 the pool is an array of devices, iterate through it and return the
22677 first device that passes a stat() test (instead of blindly returning
22680 2010-09-26 Robert Millan <rmh@gnu.org>
22682 Build fixes for GNU/kFreeBSD.
22684 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
22685 to programs that require ZFS conversion.
22686 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
22687 kernels that don't have FLOPPY_MAJOR.
22689 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22691 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
22693 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
22695 Fix grub-emu build.
22697 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
22698 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
22699 mdraid09 and mdraid1x.
22701 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
22703 Re-enable grub-extras.
22705 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
22706 avoid confusing Automake. Run autogen only twice, once for the top
22707 level and once for grub-core. Add Makefile.util.def and
22708 Makefile.core.def from extra modules to the appropriate autogen
22709 invocations. If Makefile.common exists in an extra module, include
22710 it in both Makefile.util.am and grub-core/Makefile.core.am;
22711 similarly, include any Makefile.util.common file in Makefile.util.am
22712 and any Makefile.core.common file in grub-core/Makefile.core.am.
22713 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
22714 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
22715 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
22716 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
22718 * gentpl.py (gvar_add): Turn GVARS into a set.
22719 (global_variable_initializers): Sort global variables on output.
22720 (vars_init): New function.
22721 (first_time): Likewise.
22722 (library): Ensure that non-global variable initialisations are
22723 emitted before the first time we emit code for a library block.
22724 Append to variables rather than setting them. Only emit
22725 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
22726 each conditional path.
22727 (program): installdir() emits an Autogen macro, so must be passed to
22728 var_add rather than gvar_add.
22730 (script): Likewise.
22731 (rules): New function, centralising handling for different target
22732 types. Set up Guile association lists for first_time and vars_init,
22733 and send most output to a diversion so that variable initialisations
22734 can be emitted first.
22735 (module_rules): Use new rules function.
22736 (kernel_rules): Likewise.
22737 (image_rules): Likewise.
22738 (library_rules): Likewise.
22739 (program_rules): Likewise.
22740 (script_rules): Likewise.
22741 (data_rules): Likewise.
22743 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
22745 * .bzrignore: Add contrib and grub-core/contrib. Remove
22746 grub-core/Makefile.gcry.am.
22748 2010-09-24 Yves Blusseau <blusseau@zetam.org>
22750 * grub-core/lib/LzFind.c: Add missing include.
22751 * grub-core/lib/LzmaEnc.c: Likewise.
22752 * grub-core/script/lexer.c: Likewise.
22753 * grub-core/script/yylex.l: Likewise.
22754 * util/grub-macho2img.c: Likewise.
22755 * util/grub-menulst2cfg.c: Likewise.
22756 * util/grub-mklayout.c: Likewise.
22757 * util/grub-mkpasswd-pbkdf2.c
22758 * util/grub-mkrelpath.c: Likewise.
22759 * util/resolve.c: Likewise.
22761 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
22763 * Makefile.util.def (example_unit_test): Add
22764 grub-core/gnulib/libgnu.a.
22766 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
22768 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
22770 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
22772 Support xz compression on yeeloong.
22774 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
22775 * configure.ac: Check for LZMA.
22776 * grub-core/Makefile.core.def (xz_decompress): New target.
22777 (none_decompress): Likewise.
22778 * grub-core/boot/decompressor/minilib.c: New file.
22779 * grub-core/boot/decompressor/none.c: Likewise.
22780 * grub-core/boot/decompressor/xz.c: Likewise.
22781 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
22782 * grub-core/kern/mips/cache_flush.S: Likewise.
22783 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
22784 * grub-core/kern/mips/startup.S: Move first stage to ...
22785 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
22787 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
22788 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
22789 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
22790 Allocate statically.
22791 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
22792 Allocate statically or use scratch. Don't check CRC32.
22793 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
22794 Allocate statically. Don't check CRC32.
22795 * include/grub/decompressor.h: New file.
22796 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
22798 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
22799 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
22800 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
22801 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
22802 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
22803 * util/grub-mkimage.c (grub_compression_t): New type.
22804 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
22805 (image_target_desc): New field default_compression.
22806 (image_targets): Adjust yeeloong targets.
22807 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
22808 (compress_kernel): New parameter comp.
22809 (generate_image): Likewise. Handle new compression case.
22810 (options): New option --compression
22812 (main): Handle new option.
22814 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
22816 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
22818 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
22820 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
22821 typo in __i386__ conditional.
22823 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22825 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
22828 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
22830 Implement EFI and ACPI multiboot2 extensions.
22832 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
22833 new tags as supported.
22834 (acpiv2_size): New function.
22835 (grub_multiboot_get_mbi_size): Take new tags into account.
22836 (grub_multiboot_make_mbi): Add new tags.
22837 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
22839 2010-09-21 Aleš Nesrsta <starous@volny.cz>
22841 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
22842 Added missing configuration of USB device.
22844 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22846 * grub-core/normal/menu_entry.c (run): Make sure we always return
22849 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22851 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
22852 NumberOfPages is UINT64 according to the UEFI specification, not
22853 UINTN. Fix printf format.
22855 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22857 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
22858 `err' to grub_usb_err_t.
22859 Reported and tested by: KESHAV P.R.
22861 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22863 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
22864 tpart non-const, so that we can assign to it. (Since this is a
22865 typedef, the constness refers to the pointer rather than what it
22868 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22870 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
22871 $(top_srcdir)/grub-core/gnulib as well as
22872 $(top_builddir)/grub-core/gnulib.
22873 Reported by: KESHAV P.R.
22875 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22877 * util/grub-install.in: Fix the bootloader ID option to be
22878 consistently --bootloader-id, not --bootloader_id.
22879 Reported by: KESHAV P.R.
22881 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22883 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
22884 check hash checksum." consistently translatable.
22886 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22888 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
22891 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22893 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
22894 (GRUB_MOD_INIT): Register sha1sum command.
22895 (GRUB_MOD_FINI): Unregister sha1sum command.
22897 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22899 Keep boot and grub directory names in sync with utils scripts
22901 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
22902 * config.h.in: Add previous macros.
22903 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
22904 * util/grub-install.in: Use $bootdir and $grubdir variables.
22906 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22908 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
22909 convert partition names to disk names if the new `convert' parameter
22911 (grub_util_biosdisk_get_grub_dev): If opening the disk device
22912 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
22913 disk in its own right. This can happen with Xen disk images.
22915 2010-09-21 Yves Blusseau <blusseau@zetam.org>
22917 * util/grub-editenv.c: Update strings to avoid warnings when generating
22919 * util/grub-setup.c: Likewise.
22921 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22923 * configure.ac: Change version to 1.99~beta0.
22925 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
22927 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
22929 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
22931 * include/multiboot.h: Resynced with specification.
22932 * include/multiboot2.h: Likewise.
22934 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
22936 Fix po directory handling.
22938 * configure.ac: Create po/Makefile.in rather than po/Makefile.
22939 * grub-core/gnulib/Makefile.am: Import gettext module.
22940 * m4/gnulib-cache.m4: Likewise.
22941 * m4/gnulib-comp.m4: Likewise.
22942 * m4/gettext.m4: New file, from gnulib.
22943 * m4/glibc2.m4: Likewise.
22944 * m4/iconv.m4: Likewise.
22945 * m4/intdiv0.m4: Likewise.
22946 * m4/intl.m4: Likewise.
22947 * m4/intldir.m4: Likewise.
22948 * m4/intlmacosx.m4: Likewise.
22949 * m4/intmax.m4: Likewise.
22950 * m4/inttypes-pri.m4: Likewise.
22951 * m4/lcmessage.m4: Likewise.
22952 * m4/lib-ld.m4: Likewise.
22953 * m4/lib-link.m4: Likewise.
22954 * m4/lib-prefix.m4: Likewise.
22955 * m4/lock.m4: Likewise.
22956 * m4/nls.m4: Likewise.
22957 * m4/po.m4: Likewise.
22958 * m4/printf-posix.m4: Likewise.
22959 * m4/progtest.m4: Likewise.
22960 * m4/threadlib.m4: Likewise.
22961 * m4/uintmax_t.m4: Likewise.
22962 * m4/visibility.m4: Likewise.
22963 * po/Makefile.am: Remove.
22964 * po/Makefile.in.in: New file, from gettext.
22965 ($(DOMAIN).pot-update): Support POTFILES-shell.
22966 * po/Makevars: New file.
22967 * po/POTFILES-shell: Rename to ...
22968 * po/POTFILES-shell.in: ... this. Update.
22969 * po/POTFILES: Rename to ...
22970 * po/POTFILES.in: ... this. Update.
22971 * po/Rules-quot: New file, from gettext.
22972 * po/boldquot.sed: Likewise.
22973 * po/en@boldquot.header: Likewise.
22974 * po/en@quot.header: Likewise.
22975 * po/insert-header.sin: Likewise.
22976 * po/quot.sed: Likewise.
22977 * po/remove-potcdate.sin: Likewise.
22979 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22981 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
22983 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22985 * util/grub.d/20_linux_xen.in: Use submenus.
22987 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
22991 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
22992 parameter submenu. All users updated.
22993 * grub-core/normal/main.c (free_menu): Rename to ...
22994 (grub_normal_free_menu): ... this. Made global.
22995 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
22997 * grub-core/normal/menu_entry.c (screen): New field submenu.
22998 (make_screen): Set submenu.
22999 (run): Open new context if requested.
23000 * include/grub/menu.h (grub_menu_entry): New field submenu.
23001 * include/grub/normal.h (grub_normal_free_menu): New proto.
23003 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23005 Menu entries extractor.
23007 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
23009 (GRUB_MOD_INIT): Register new variants.
23010 (GRUB_MOD_FINI): Unregister new variants.
23011 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
23012 into grub_cmd_legacy_source.
23013 (grub_cmd_legacy_source): Implement extractor variants.
23014 (GRUB_MOD_INIT): Register new variants.
23015 (GRUB_MOD_FINI): Unregister new variants.
23016 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
23018 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
23019 search as an extractor.
23020 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
23021 test as an extractor.
23022 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
23024 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
23025 (grub_env_new_context): New function.
23026 (grub_env_context_open): Likewise.
23027 (grub_env_extractor_open): Likewise.
23028 (grub_env_extractor_close): Likewise.
23029 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
23030 grub_extractor_level.
23031 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
23032 * include/grub/env.h (grub_env_extractor_open): New proto.
23033 (grub_env_extractor_close): Likewise.
23034 * include/grub/normal.h (grub_extractor_level): New external variable.
23036 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23038 Make cutmem accept a region specification.
23039 Suggested by: Samuel Thibault
23041 * grub-core/mmap/mmap.c (parsemem): New function.
23042 (grub_cmd_cutmem): Handle new arguments.
23044 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23046 New command cutmem.
23048 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
23049 (GRUB_MOD_INIT): Register new command.
23050 (GRUB_MOD_FINI): Unregister new command.
23052 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23054 Support some annoying BSD and Minix subpartitions.
23056 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
23057 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
23058 Properly handle concatenation.
23059 * grub-core/kern/device.c (grub_device_iterate): Likewise.
23060 * grub-core/normal/completion.c (iterate_partition): Likewise.
23061 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
23062 contain partition. All users updated.
23063 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
23065 (grub_openbsdlabel_partition_map): Likewise.
23066 (bsdlabel_partition_map_iterate): Rename to ..
23067 (iterate_real): ... this. New arguments sector, freebsd and pmap.
23068 (bsdlabel_partition_map_iterate): New function.
23069 (netopenbsdlabel_partition_map_iterate): Likewise.
23070 (netbsdlabel_partition_map_iterate): Likewise.
23071 (openbsdlabel_partition_map_iterate): Likewise.
23072 (GRUB_MOD_INIT): Register new partmaps.
23073 (GRUB_MOD_FINI): Unregister new partmaps.
23074 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
23075 (grub_partition_msdos_iterate): ... this. All users updated.
23076 Don't support embedding other than in a minix partition.
23077 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
23079 * include/grub/partition.h (grub_partition): New field msdostype.
23080 * util/grub-install.in: Handle openbsd and netbsd types being in
23083 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23085 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
23087 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
23088 * grub-core/Makefile.core.def (mdraid): Renamed to ...
23089 (mdraid09): ... this.
23090 (mdraid1x): New module.
23091 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
23092 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
23094 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23096 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
23099 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23101 * grub-core/commands/efi/lsefimmap.c: Correct header.
23104 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23106 * util/grub-editenv.c (argp_parser): Don't pass translated strings
23107 as printf format strings; the translations might contain '%' which
23108 could cause a crash.
23110 * util/grub-fstest.c (argp_parser): Likewise.
23111 * util/grub-setup.c (argp_parser): Likewise.
23114 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23116 Use argp in grub-fstest.
23118 * util/grub-fstest.c: Don't include getopt.h.
23120 (root): New variable.
23121 (args_count): Likewise.
23123 (num_disks): Likewise.
23124 (images): Likewise.
23126 (debug_str): Likewise.
23128 (options): Transformed to argp.
23130 (main): Split argument parsing into ...
23131 (argp_parser): ... this. Changed to argp format.
23132 (argp): New variable.
23133 (main): Use argp_parse.
23135 2010-09-20 Tristan Gingold <gingold@free.fr>
23136 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
23137 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23139 * grub-core/commands/efi/lsefimmap.c: New file.
23140 * grub-core/Makefile.core.def (lsefimmap): New module.
23141 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
23143 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23145 Pause the execution (10s max) if any errors are displayed so the user
23146 has a chance to see them.
23148 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
23149 (grub_print_error): Increment grub_err_printed_errors.
23150 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
23151 execution if any errors were displayed.
23152 (show_menu): Remove old code for pause.
23153 * grub-core/normal/menu_entry.c (run): Likewise.
23154 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
23156 (grub_normal_get_char_counter): Likewise.
23157 * include/grub/err.h (grub_err_printed_errors): New external variable.
23158 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
23160 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23162 Support multiboot VBE info.
23164 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
23165 Take VBE info into account.
23166 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
23167 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23168 Call fill_vbe_info when appropriate.
23169 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
23170 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
23172 (grub_multiboot_get_mbi_size): Take new tags into account.
23173 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
23174 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
23175 Call fill_vbe_tag when appropriate.
23176 (grub_multiboot_make_mbi): Properly align tags.
23177 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
23179 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
23181 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
23183 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23185 Suport manual terminal geometry specification.
23187 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
23188 Save state in grub_ofconsole_terminfo_output.
23189 (grub_ofconsole_term): Use grub_terminfo_getwh.
23190 (grub_ofconsole_getwh): Removed.
23191 * grub-core/term/serial.c (grub_serial_getwh): Removed.
23192 (grub_serial_term): Use grub_terminfo_getwh.
23193 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
23194 (options): New struct.
23195 (OPTION_*): New enum.
23196 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
23197 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
23199 (grub_terminfo_getwh): New proto.
23200 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
23202 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23204 Handle legacy "terminal" command.
23206 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
23208 (legacy_commands): Add terminal and title.
23209 (grub_legacy_parse): Handle terminal. Simplify title handling.
23211 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23213 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
23214 parameters overflow.
23216 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23218 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
23221 * docs/grub.texi (Shell-like scripting): Document `!'.
23222 (Network): Simplify using new i386-pc-pxe format. Mention
23227 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23229 * Makefile.am (SUBDIRS): Restore "."; it's important to force
23230 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
23233 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23235 * grub-core/commands/efi/lsefisystab.c: Correct header.
23236 * grub-core/commands/efi/lssal.c: Likewise.
23237 * grub-core/commands/testload.c: Likewise.
23239 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23241 * util/grub-mkrescue.in: Add explicit root argument to --set to
23242 prevent the UUID being interpreted as an argument to --set (matches
23243 previous change to prepare_grub_to_access_device).
23245 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
23247 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
23248 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
23249 the verbosity of later #ifs.
23250 (find_partition_start): Define this function on FreeBSD too.
23251 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
23253 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
23256 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23258 * util/grub-editenv.c: Use argp instead of getopt.
23260 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23262 * util/grub-setup.c: Use argp instead of getopt.
23264 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23266 Use gnulib-tool to create gnulib source files.
23268 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
23269 grub-core/gnulib directories
23270 * .bzignore: Add **/.deps and autogenerated gnulib files
23271 * configure.ac: Assign auxiliary directory to build-aux, add invocation
23272 of gnulib macros, add grub-core/gnulib/Makefile
23273 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
23274 include m4 directory to aclocal.
23275 * Makefile.util.def: Remove direct compilation of gnulib source files
23276 and use the new grub-core/gnulib/libgnu.a.
23277 * build-aux/config.rpath: move config.rpath from top directory to
23279 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
23281 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
23282 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
23283 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
23285 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
23288 2010-09-20 Yves Blusseau <blusseau@zetam.org>
23290 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
23291 grub-core/genmod.sh and grub-core/gensyminfo.sh
23293 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
23295 Add a test for echo command options.
23297 * tests/grub_cmd_echo.in: New test.
23298 * Makefile.util.def: Rules for new test.
23300 2010-09-20 Szymon Janc <szymon@janc.net.pl>
23302 Remove crc.mod and move crc command to hashsum.mod.
23303 Remove lib/crc.c - users updated to use gcrypt implementation.
23305 * grub-core/commands/crc.c: Removed.
23306 * grub-core/Makefile.core.def (crc): Module removed.
23307 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
23308 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
23309 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
23310 * grub-core/lib/crc.c: Removed.
23311 * include/grub/lib/crc.h: Removed.
23312 * Makefile.util.def (crc): Remove lib/crc.c
23313 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
23314 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
23315 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
23316 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
23317 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
23318 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
23320 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
23322 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
23324 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23326 Split config.h for util and core.
23328 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
23329 (ADDR32): Likewise.
23330 (DATA32): Likewise.
23331 (BSS_START_SYMBOL): Likewise.
23332 (END_SYMBOL): Likewise.
23333 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
23334 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
23335 * config.h.in: New file.
23336 * configure.ac: Use config-util.h as config define file.
23337 Rename MACHINE into GRUB_MACHINE. All users updated.
23338 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
23340 (NESTED_FUNC_ATTR): Likewise.
23341 Substitue new variables.
23342 (COND_HAVE_ASM_USCORE): New conditional.
23343 * grub-core/Makefile.am (ASM_PREFIX): New variable.
23344 (kernel_syms.lst): Use ASM_PREFIX.
23345 * grub-core/kern/emu/console.c: Include config-util.h.
23346 * grub-core/kern/emu/misc.c: Likewise.
23347 * grub-core/kern/emu/mm.c: Likewise.
23348 * include/grub/emu/misc.h: Likewise.
23349 * include/grub/libgcc.h: Likewise.
23351 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23353 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
23355 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
23356 Fix GRUB_TERM_KEY_* constants usage.
23357 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
23359 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23361 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
23363 * grub-core/bus/usb/uhci.c: Remove empty define.
23364 (grub_uhci_check_transfer): Add missing cast.
23365 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
23367 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
23369 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
23371 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23373 * grub-core/Makefile.core.def (legacycfg): Add
23374 lib/i386/pc/vesa_modes_table.c on emu.
23376 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23378 Reduce number of temporary files generated by build system.
23380 * grub-core/gencmdlist.sh: Removed.
23381 * grub-core/genfslist.sh: Removed.
23382 * grub-core/genhandlerlist.sh: Removed.
23383 * grub-core/genmodsrc.sh: Removed.
23384 * grub-core/genpartmaplist.sh: Removed.
23385 * grub-core/genparttoollist.sh: Removed.
23386 * grub-core/gentermiinallist.sh: Removed.
23387 * grub-core/genvideolist.sh: Removed.
23389 * grub-core/genmod.sh.in: New file.
23390 * grub-core/gensyminfo.sh.in: New file.
23392 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
23393 * conf/Makefile.extra-dist: Update with new files.
23394 * gentpl.py: Remove rules related to unnecessary temporary files.
23395 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
23397 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
23399 * grub-core/bus/usb/uhci.c: Remove empty #define.
23400 * grub-core/genmoddep.awk: Updated with new syminfo format.
23401 * util/bash-completion.d/Makefile.am: Add config.log to
23404 2010-09-19 Yves Blusseau <blusseau@zetam.org>
23406 * Makefile.util.def: Add forgotten $(LIBINTL) library.
23408 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
23410 * util/grub-mkconfig.in: Check the config script for syntax errors
23413 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
23414 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23416 * Makefile.util.def (grub-install): Use util/grub-install.in on all
23418 * util/grub-install.in: Add EFI and IEEE1275 support.
23419 * util/i386/efi/grub-install.in: Removed.
23420 * util/ieee1275/grub-install.in: Likewise.
23422 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
23424 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
23425 (grub_cmd_cmosclean): Likewise.
23426 (GRUB_MOD_INIT): Register command cmosclean.
23427 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
23428 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
23430 2010-09-18 Carles Pina i Estany <carles@pina.cat>
23431 2010-09-18 Aleš Nesrsta <starous@volny.cz>
23432 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23434 Add keyboard layouts support.
23436 * Makefile.util.def (grub-mklayout): New file.
23437 (grub-kbdcomp): New script.
23438 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
23439 Add keyboard_layouts.h.
23440 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
23441 commands/boot.c on yeeloong.
23442 (keylayouts): New module.
23443 * grub-core/bus/usb/ohci.c
23444 * grub-core/bus/usb/uhci.c
23445 * grub-core/bus/usb/usbhub.c (rescan): New variable.
23446 (grub_usb_add_hub): Poll interrupt pipe for device handling.
23447 (attach_root_port): Likewise.
23448 (poll_nonroot_hub): Likewise.
23449 (grub_usb_poll_devices): Likewise.
23450 (detach_device): Close transfer.
23451 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
23453 (grub_usb_bulk_setup_readwrite): Likewise.
23454 (grub_usb_bulk_finish_readwrite): Likewise.
23455 * grub-core/commands/keylayouts.c: New file.
23456 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
23457 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
23459 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
23460 support scancode 2.
23461 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
23462 * include/grub/keyboard_layouts.h: New file.
23463 * util/grub-mklayout.c: New file.
23464 * util/grub-kbdcomp.in: Likewise.
23466 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23468 Unify memory types.
23470 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
23471 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
23473 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
23474 (grub_upper_mem): Likewise.
23475 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
23476 * include/grub/memory.h (grub_memory_type_t): New enum.
23479 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23481 * grub-core/Makefile.core.def (lsapm): New module.
23482 * grub-core/commands/i386/pc/lsapm.c: New file.
23483 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
23484 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
23486 * include/grub/i386/pc/apm.h: New file.
23487 * include/multiboot.h (multiboot_apm_info): New struct.
23489 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
23491 GRUB-legacy configuration file support.
23493 * Makefile.util.def (grub-menulst2cfg): New util.
23494 * docs/man/grub-menulst2cfg.h2m: New file.
23495 * grub-core/Makefile.core.def (legacycfg): New module.
23496 * grub-core/commands/legacycfg.c: New file.
23497 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
23498 (grub_normal_add_menu_entry): ... this.
23499 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
23500 (grub_normal_set_password): ...this.
23501 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
23502 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
23503 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
23504 * grub-core/lib/legacy_parse.c: New file.
23505 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
23506 * include/grub/i386/pc/vesa_modes_table.h: New file.
23507 * include/grub/legacy_parse.h: Likewise.
23508 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
23509 * util/grub-menulst2cfg.c: New file.
23511 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23513 * grub-core/kern/emu/hostdisk.c
23514 (convert_system_partition_to_system_disk): Initialise node.
23516 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23518 * grub-core/kern/emu/hostdisk.c
23519 (convert_system_partition_to_system_disk): Fix devmapper memory pool
23521 Reported and based on patch by: Modestas Vainius.
23523 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
23525 Fix DM-RAID probing with recent versions of device-mapper udev
23528 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
23529 canonicalise device paths under /dev/mapper/.
23530 (convert_system_partition_to_system_disk): Compare the
23531 uncanonicalised path to /dev/mapper/ rather than the canonicalised
23532 path, since device nodes under /dev/mapper/ are often symlinks.
23534 2010-09-17 Yves Blusseau <blusseau@zetam.org>
23536 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
23538 2010-09-16 Yves Blusseau <blusseau@zetam.org>
23540 * configure.ac: Avoid some annoying error messages if freetype-config
23541 program is not found.
23543 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23545 Support RAID on virtio devices, and others.
23547 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
23549 [__MINGW32__] (grub_find_device): ... this.
23550 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
23551 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
23552 reasonable default if dir is NULL.
23553 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
23555 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
23556 (grub_guess_root_device): Update callers.
23557 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
23559 * util/raid.c (grub_util_getdiskname): Remove.
23560 (grub_util_raid_getmembers): Use grub_find_device rather than
23561 grub_util_getdiskname.
23563 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23565 * docs/grub.texi (serial): Remove obsolete comment about GRUB
23566 needing to be compiled with serial support.
23567 (ls): Indicate that multiple files are accepted.
23568 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
23569 indicate that multiple files are accepted.
23571 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
23573 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
23574 libgrub_a_init.c, and util/bash-completion.d/grub.
23576 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23578 * util/grub-setup.c (setup): Fix incorrect container semantics.
23580 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23582 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
23584 Reported by: J. Nick Terry
23586 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23588 Move embedding routines to partmap sources files.
23590 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
23591 [GRUB_UTIL]: New variable.
23592 (gpt_partition_map_iterate): Set part.parent.
23593 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
23594 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
23595 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
23597 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
23598 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
23599 (grub_partition_map) [GRUB_UTIL]: New field embed.
23600 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
23601 (setup): Use ->embed.
23603 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23605 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
23607 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
23608 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
23610 2010-09-15 Yves Blusseau <blusseau@zetam.org>
23612 Add function to get completions from usage.
23614 * util/bash-completion.d/grub-completion.bash.in: Add function to get
23615 completions from usage. Use LC_ALL=C to get options properly.
23617 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23619 * grub-core/gnulib/basename-lgpl.c: Imported.
23620 * grub-core/gnulib/basename.c: Likewise.
23621 * grub-core/gnulib/dirname-lgpl.c: Likewise.
23622 * grub-core/gnulib/dirname.c: Likewise.
23623 * grub-core/gnulib/dirname.h: Likewise.
23624 * grub-core/gnulib/stripslash.c: Likewise.
23626 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
23628 * grub-core/gnulib/error.c: Resynced.
23629 * grub-core/gnulib/getopt.c: Likewise.
23630 * grub-core/gnulib/getopt_int.h: Likewise.
23631 * grub-core/gnulib/regex.h: Likewise.
23632 * grub-core/gnulib/regex_internal.c: Likewise.
23633 * grub-core/gnulib/regex_internal.h: Likewise.
23635 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23637 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
23638 CRC calculations and validity checks.
23639 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
23642 2010-09-15 Szymon Janc <szymon@janc.net.pl>
23644 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
23646 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23648 Fix incorrect echo options handling.
23649 Reported by: Yves Blusseau.
23651 * include/grub/command.h (grub_command_flags_t): New flags
23652 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
23653 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
23654 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
23656 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23658 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
23660 (GRUB_COMMAND_FLAG_MENU): Likewise.
23661 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23662 (GRUB_COMMAND_FLAG_TITLE): Removed.
23663 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23664 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
23665 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
23666 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
23667 (grub_command_flags_t): New enum. All users updated.
23669 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
23671 Fix solaris compilation.
23673 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
23674 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
23675 (grub-emu-list): Likewise.
23677 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23679 Remove deprecated root command.
23681 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
23684 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23686 * util/i386/pc/grub-setup.c: Merge this ...
23687 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
23688 * util/grub-setup.c: ... into this.
23689 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
23692 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23694 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
23697 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23699 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
23702 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23704 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
23705 explicit root argument to set to prevent UUID to be interpreted as
23708 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23710 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
23712 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23714 Don't export grub_gate_a20.
23716 * grub-core/kern/i386/pc/init.c: Remove leftovers.
23717 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
23719 (grub_gate_a20): ... this. All users updated.
23720 * include/grub/i386/pc/init.h: Removed. All users updated.
23722 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23724 Create euro.pf2 which supports most European languages.
23726 * Makefile.am (grubdata_DATA): Add euro.pf2.
23727 (euro.pf2): New target.
23728 (CLEANFILES): Add euro.pf2.
23730 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
23732 * configure.ac: Disable emu-usb by default to prevent inadvertent
23735 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23737 Disable usbserial on grub-emu since our libusb code isn't good enough
23740 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
23741 (usbserial_pl2303): Likewise.
23742 (usbserial_ftdi): Likewise.
23744 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23746 * include/grub/disk.h (grub_disk): Remove has_partitions.
23748 * disk/loopback.c (grub_loopback): Remove has_partitions.
23750 (options): Remove partitions. All users updated.
23751 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
23752 * util/i386/pc/grub-setup.c (setup): copy partition table only when
23753 actual partition table is found.
23755 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23757 Remove readability checks (too many false negatives).
23759 * util/grub-install.in: Remove readability checks.
23760 * util/grub-mkconfig.in: Likewise.
23761 * util/grub.d/10_hurd.in: Likewise.
23762 * util/grub.d/10_kfreebsd.in: Likewise.
23763 * util/grub.d/10_linux.in: Likewise.
23764 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
23767 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23769 Enable acpi shutdown on all ACPI platforms.
23771 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
23772 on coreboo, multiboot and EFI.
23773 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
23774 (grub_acpi_halt): Likewise.
23775 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
23776 (grub_cmd_halt): Don't call grub_acpi_halt directly.
23777 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
23778 * grub-core/lib/i386/halt.c (grub_halt)
23779 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
23781 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23783 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
23786 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23788 * grub-core/video/efi_gop.c: Fix over-80-chars line.
23789 * grub-core/video/efi_uga.c: Likewise.
23791 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23793 Filter devaliases and never open same device twice.
23795 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
23796 (last_ihandle): Likewise.
23797 (ofdisk_hash_ent): New member shortest.
23798 (ofdisk_hash_add): Add canonical path too.
23799 (scan): New function.
23800 (grub_ofdisk_iterate): Iterate over hashed entries.
23801 (compute_dev_path): Don't add :0.
23802 (grub_ofdisk_open): Don't really open the disk.
23803 (grub_ofdisk_close): Avoid closing unrelated disk.
23804 (grub_ofdisk_read): Implement reopen logic.
23805 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
23807 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
23810 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23814 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
23815 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
23816 right address. Add sparc64_ieee1275_ldflags.
23817 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
23818 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
23819 to grub_host_to_target_addr
23820 (load_image): Likewise.
23822 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23824 * grub-core/normal/completion.c (complete_file): Handle device
23826 Fix based on patch by Doug Nazar.
23828 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23830 grub-mknetdir script.
23832 * Makefile.util.def (grub-mknetdir): New module.
23833 * tests/util/grub-shell.in: Support boot=net
23834 * util/grub-mknetdir.in: New file.
23836 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23838 videoinfo on non-vbe.
23840 * grub-core/Makefile.core.def (vbeinfo): Removed.
23841 (vbetest): Removed.
23842 (videoinfo): New module.
23843 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
23844 * grub-core/commands/i386/pc/vbetest.c: Removed.
23845 * grub-core/commands/videoinfo.c: New file.
23846 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
23848 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
23850 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
23851 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
23852 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
23853 mode_number. New parameter mode. All users updated.
23854 (grub_video_gop_iterate): New function.
23855 (grub_video_efi_gop): New member iterate.
23856 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
23857 (grub_vbe_set_video_mode): Remove setting useless fields.
23858 (vbe2videoinfo): New function.
23859 (grub_video_vbe_iterate): Likewise.
23860 (grub_video_vbe_setup): Use vbe2videoinfo.
23861 (grub_video_vbe_print_adapter_specific_info): New function.
23862 (grub_video_vbe_adapter): New fields iterate and
23863 print_adapter_specific_info.
23864 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
23866 (grub_video_mode_info): New field mode_number.
23867 (grub_video_adapter): New fields iterate and
23868 print_adapter_specific_info.
23870 2010-09-13 Tristan Gingold <gingold@free.fr>
23871 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
23872 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23874 * grub-core/commands/efi/lsefisystab.c: New file.
23875 * grub-core/commands/efi/lssal.c: Likewise.
23876 * grub-core/Makefile.core.def (lsacpi): New module.
23877 (lsefisystab): Likewise.
23878 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
23879 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
23880 (grub_efi_sal_system_table): New struct.
23881 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
23882 (grub_efi_sal_system_table_memory_descriptor): Likewise.
23883 (grub_efi_sal_system_table_platform_features): Likewise.
23884 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
23885 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
23886 (grub_efi_sal_system_table_ap_wakeup): Likewise.
23887 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
23889 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23891 Support explicit user claim that a device is BIOS-visible.
23893 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
23894 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
23895 * grub-core/kern/emu/hostdisk.c
23896 (convert_system_partition_to_system_disk): Support mdX.
23897 (find_system_device): New parameter add. All users updated.
23898 (grub_util_biosdisk_is_present): New function.
23899 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
23902 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
23904 Search hints support.
23906 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
23909 2010-09-13 Yves Blusseau <blusseau@zetam.org>
23911 Bash completion script for util commands
23913 * Makefile.am: Add util/bash-completion.d directory
23914 * configure.ac: Likewise.
23915 * util/bash-completion.d/Makefile.am: New file.
23916 * util/bash-completion.d/grub-completion.bash.in: Likewise.
23918 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23920 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
23921 (print_backlog): set backlog_ucs4 and backlog_glyphs.
23922 Reported by: Yves Blusseau.
23924 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23926 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
23927 partition size and offset.
23929 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23931 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
23933 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23935 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
23937 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23939 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
23940 (grub_xvasprintf): Likewise.
23942 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23944 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
23946 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23948 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
23949 args ending with NULL.
23951 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
23953 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
23956 2010-09-11 Szymon Janc <szymon@janc.net.pl>
23958 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
23960 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23962 Shutdown using ACPI.
23964 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
23965 * grub-core/commands/acpihalt.c: New file.
23966 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
23967 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
23968 (grub_acpi_halt): New proto.
23969 (GRUB_ACPI_SLP_EN): New const.
23970 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
23971 (GRUB_ACPI_OPCODE_*): New enum.
23972 (GRUB_ACPI_EXTOPCODE_*): Likewise.
23974 2010-09-11 Tristan Gingold <gingold@free.fr>
23975 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
23976 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23978 * commands/lsacpi.c: New file.
23979 * grub-core/Makefile.core.def (lsacpi): New module.
23980 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
23981 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
23982 (grub_acpi_madt_entry_header): New struct.
23983 (grub_acpi_madt): Likewise.
23984 (grub_acpi_madt_entry_interrupt_override): Likewise.
23985 (grub_acpi_madt_entry_sapic): Likewise.
23986 (grub_acpi_madt_entry_lsapic): Likewise.
23987 (grub_acpi_madt_entry_platform_int_source): Likewise.
23988 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
23989 (PRIuGRUB_UINT32_T): Likewise.
23990 (PRIxGRUB_UINT64_T): Likewise.
23992 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
23994 Implement loading palette on ieee1275_fb.
23996 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
23997 (have_setcolors): Likewise.
23998 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
23999 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
24000 (grub_video_ieee1275_set_palette): Implement.
24002 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24003 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
24005 * util/grub-install.in (grub_partition): New variable.
24006 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
24007 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
24008 Fixes a bug reported by Yves Blusseau.
24010 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
24014 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
24015 =grub_cpu_flush_cache on all mips and not only yeeloong.
24016 * configure.ac (COND_mips): New conditional.
24017 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
24019 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
24020 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
24021 [GRUB_LINKER_HAVE_INIT]: New function.
24022 (grub_emu_post_init): Likewise.
24023 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
24024 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
24025 * include/grub/cache.h (_mips): Include mips/cache.h.
24026 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
24027 LVM and RAID prototypes.
24028 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
24029 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
24032 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24034 * util/grub-install.in: Don't try to verify core.img until after
24035 running grub-mkimage to create it.
24037 2010-09-10 Robert Millan <rmh@gnu.org>
24039 * util/grub.d/10_hurd.in: Add misc readability checks.
24040 * util/grub.d/10_kfreebsd.in: Likewise.
24041 * util/grub.d/10_linux.in: Likewise.
24043 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24045 * util/grub-install.in: ${imgext} won't be defined here until the
24046 install branch is merged. For the meantime, only verify core.img on
24047 i386-pc and sparc64-ieee1275 platforms.
24049 2010-09-10 Robert Millan <rmh@gnu.org>
24051 Solaris support in grub_find_zpool_from_dir(). Thanks
24052 Seth Goldberg for referring to getextmntent() facility.
24054 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
24056 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
24058 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
24059 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
24060 method for finding zpool name.
24062 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
24064 grub-fstest needs the host and hostfs modules while other utilities
24065 actively require those modules to be absent, so grub-fstest needs
24066 its own initialisation and finalisation code.
24068 * Makefile.am (grub_fstest.pp): New target.
24069 (grub_fstest_init.lst): Likewise.
24070 (grub_fstest_init.c): Likewise.
24071 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
24073 2010-09-10 Robert Millan <rmh@gnu.org>
24075 * configure.ac: Check for `struct statfs.f_fstypename' and
24076 `struct statfs.f_mntfromname'.
24078 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
24079 kFreeBSD-specific code.
24081 2010-09-10 Robert Millan <rmh@gnu.org>
24083 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
24084 on ZFS. Now non-main filesystems are supported as / too.
24086 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
24088 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
24089 and grub-core/disk/host.c to ...
24090 (grub-fstest): ... here. Having the host disk implementation
24091 present confuses grub-probe and other utility programs.
24093 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
24094 when writing to a file, not when writing to stdout.
24096 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
24098 * tests/partmap_test.in: New test for partitions.
24099 * Makefile.util.def: Rules for new test.
24101 2010-09-09 Robert Millan <rmh@gnu.org>
24103 * util/grub-probe.c (probe): Fix a pair of unhandled error
24106 2010-09-09 Robert Millan <rmh@gnu.org>
24108 Basic Btrfs support (detection and UUID).
24110 * grub-core/fs/btrfs.c: New file.
24111 * Makefile.util.def (library): Register btrfs.c.
24112 * grub-core/Makefile.core.def: Likewise.
24114 2010-09-08 Robert Millan <rmh@gnu.org>
24116 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
24117 with (optional) parameters to specify device and relative path.
24118 * util/grub-install.in: Use is_path_readable_by_grub() to
24119 verify readability of a few critical files.
24120 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
24121 verify readability of grub.cfg.new.
24123 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24125 Split minix.mod into minix.mod and minix2.mod.
24127 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
24128 * grub-core/Makefile.core.def (minix2): New module.
24129 * grub-core/fs/minix.c: Use definitions instead of runtime version
24131 * grub-core/fs/minix2.c: New file.
24133 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24135 Add new --boot-directory option to replace --root-directory
24137 * util/grub-install.in: Add new --boot-directory option
24138 * util/grub-reboot.in: Likewise.
24139 * util/grub-set-default.in: Likewise.
24141 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24143 * util/grub-mkconfig.in: Use new variable.
24145 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24147 * configure.ac: Define some useful variables.
24149 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
24151 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24152 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
24153 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
24154 Use terminfo and don't use cursor-on/cursor-off unless it's known
24156 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
24157 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
24159 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
24161 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
24162 starts with "(,", fill the drive containing the loaded image in
24163 between those two characters, but expect that a full partition
24164 specification including partition map names will follow.
24166 2010-09-08 Robert Millan <rmh@gnu.org>
24168 * configure.ac: Remove `--enable-grub-fstest' option.
24169 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
24171 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
24172 `grub-fstest' instead of `grub-probe' for readability verification.
24173 * util/grub-probe.c (probe): Remove readability verification kludge.
24175 2010-09-08 Robert Millan <rmh@gnu.org>
24177 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
24178 initializing `GRUB_FS'.
24180 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
24182 Not command (!) support to GRUB script.
24184 * tests/grub_script_not.in: New test.
24185 * Makefile.util.def: Rules for new test.
24187 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
24188 ! command as a special case.
24189 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
24191 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24193 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
24196 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24198 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
24200 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
24202 * docs/grub.texi (Shell-like scripting): Documentation for break,
24203 continue, shift and return commands.
24205 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
24207 Rename CD-ROM to cd on BIOS.
24209 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
24211 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
24213 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24215 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
24216 * util/grub-probe.c (main): Likewise.
24217 * util/i386/pc/grub-setup.c (main): Likewise.
24218 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24219 Reported and debugged by: alexxy
24221 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24223 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
24226 2010-09-05 Jo Shields <directhex@apebox.org>
24228 * util/grub.d/30_os-prober.in: Add missing classes.
24230 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24232 * docs/grub.texi (Theme file format): Document new position format.
24234 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24236 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
24237 a table. Use @code instead of @verbatim.
24239 2010-09-05 Colin D Bennett <colin@gibibit.com>
24241 Gfxmenu documentation.
24243 * docs/grub.texi (Theme file format): New chapter.
24245 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24247 * grub-core/Makefile.core.def (xzio): New module.
24248 * grub-core/io/xzio.c: New file.
24249 * grub-core/lib/xzembed/xz.h: New file (from xembed).
24250 * grub-core/lib/xzembed/xz_config.h: Likewise.
24251 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
24252 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
24253 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
24254 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
24255 * grub-core/lib/xzembed/xz_private.h: Likewise.
24256 * grub-core/lib/xzembed/xz_stream.h: Likewise.
24257 * include/grub/file.h (grub_file_filter_id): New compression filter
24258 GRUB_FILE_FILTER_XZIO.
24260 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24262 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
24263 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
24266 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24268 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
24269 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
24271 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24273 Uncompressed checksum support.
24275 * grub-core/commands/hashsum.c (options): Add option --uncompress.
24276 (check_list): New parameter uncompress.
24277 (grub_cmd_hashsum): Handle --uncompress.
24279 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24281 Reintroduce testload.
24283 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
24285 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
24286 (GRUB_MOD_INIT): New function.
24287 (GRUB_MOD_FINI): Likewise.
24288 * grub-core/Makefile.core.def (testload): New module.
24290 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24292 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
24293 (uint8_t): New type.
24294 (uint16_t): Likewise.
24295 (uint32_t): Likewise.
24296 (uint64_t): Likewise.
24298 2010-09-05 Szymon Janc <szymon@janc.net.pl>
24300 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
24302 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
24304 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
24306 (grub_gzfile_open): Removed. All users updated.
24307 (GRUB_MOD_INIT): New function.
24308 (GRUB_MOD_FINI): Likewise.
24309 * grub-core/kern/file.c (grub_file_filters_all): New variable.
24310 (grub_file_filters_enabled): Likewise.
24311 (grub_file_open): Handle filters.
24312 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
24313 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
24314 * include/grub/file.h (grub_file_filter_id_t): New type.
24315 (grub_file_filter_t): Likewise.
24316 (grub_file_filters_all): New extern variable.
24317 (grub_file_filters_enabled): Likewise.
24318 (grub_file_filter_register): New inline function.
24319 (grub_file_filter_unregister): Likewise.
24320 (grub_file_filter_disable): Likewise.
24321 (grub_file_filter_disable_compression): Likewise.
24322 * include/grub/gzio.h: Removed.
24324 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24326 Filename expansion support for wildcards in GRUB script.
24328 * tests/grub_script_expansion.in: New test.
24329 * Makefile.util.def: Rule for new test.
24331 * grub-core/commands/wildcard.c: New file, implements filename
24332 expansion support for GRUB script.
24333 * grub-core/Makefile.core.def: Rule update for regexp.mod.
24334 * grub-core/script/argv.c: Cosmetic changes.
24335 * grub-core/script/execute.c (grub_script_arglist_to_argv):
24336 Refactored to perform wildcard expansion on arguments.
24337 * include/grub/script_sh.h (grub_script_wildcard_translator): New
24340 * tests/util/grub-shell.in: Fix quoting for read input.
24342 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24344 Support for updating environment variables with matched substrings
24347 * tests/grub_cmd_regexp.in: New test.
24348 * Makefile.util.def: Rule for new test.
24350 * grub-core/commands/regexp.c: New option -s to update environment
24351 variables with regexp matches.
24353 2010-09-04 Szymon Janc <szymon@janc.net.pl>
24355 * include/grub/file.h (grub_file): New member not_easly_seekable.
24356 (grub_file_seekable): New inline function.
24357 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
24359 (grub_gzio_open): Set not_easly_seekable.
24360 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
24361 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
24363 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24365 Support for options to appear multiple times on cmdline.
24367 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
24368 * grub-core/commands/extcmd.c: Support for repeatable option.
24369 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
24370 repeatable option support.
24372 Refactor menuentry into a regular command.
24374 * grub-core/commands/menuentry.c: New file, menuentry command
24376 * grub-core/Makefile.core.def: Rule update for normal.mod.
24377 * grub-core/normal/main.c: Moved menuentry creation to
24378 grub-core/commands/menuentry.c.
24379 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
24380 (grub_menu_execute_entry_real): Removed.
24381 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
24383 (grub_script_execute_menuentry): Removed.
24384 * grub-core/script/parser.y (menuentry): Removed.
24385 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
24386 * grub-core/script/yylex.l (menuentry): Removed.
24387 * include/grub/menu.h (grub_menu_init): New prototype.
24388 (grub_menu_fini): New prototype.
24389 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
24390 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
24391 (grub_script_execute_sourcecode): New prototype.
24393 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24395 "return" command for GRUB script functions.
24397 * tests/grub_script_return.in: New test.
24398 * Makefile.util.def: Rules for new test.
24400 * grub-core/script/execute.c (grub_script_return): New function.
24401 * grub-core/script/main.c: Register/unregister return commaond.
24402 * include/grub/script_sh.h (grub_script_return): New prototype.
24404 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24406 "setparams" command to update positional parameters.
24408 * tests/grub_script_setparams.in: New test.
24409 * Makefile.util.def: Rules for new test.
24411 * grub-core/script/argv.c (grub_script_argv_make): New function.
24412 * grub-core/script/execute.c (replace_scope): New function.
24413 (grub_script_setparams): New function.
24414 * grub-core/script/lexer.c: Remove unused variables.
24415 * grub-core/script/main.c: Register/unregister setparams command.
24416 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
24417 (grub_script_setparams): New prototype.
24419 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24421 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
24424 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24426 Support for passing block of commands as an argument to extcmds.
24428 * Makefile.util.def: Rules for new test.
24429 * tests/grub_script_blockarg.in: New test.
24430 * grub-core/tests/test_blockarg.c: New file, block argument
24431 command used in the test.
24433 * include/grub/extcmd.h (grub_extcmd_context): New struct.
24434 (grub_register_extcmd_prio): New function prototype.
24435 (grub_extcmd_dispatcher): New function prototype.
24436 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
24438 * include/grub/script_sh.h (struct grub_script): New members
24439 `children', `next_siblings' and `refcnt' for block arguments and
24440 reference counting.
24441 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
24442 (grub_script_arg): New member `script' for block argument.
24443 (grub_script_argv): New member `script' for block argument.
24444 (grub_parser_param): New member `scripts' for block argument.
24445 (grub_script_mem_free): New extern function prototype.
24446 (grub_script_ref): New function prototype.
24447 (grub_script_unref): New function prototype.
24449 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
24450 extcmd form to support block arguments.
24451 * grub-core/script/argv.c: Block arguments support.
24452 * grub-core/script/execute.c: Likewise.
24453 * grub-core/script/lexer.c: Likewise.
24454 * grub-core/script/main.c: Likewise.
24455 * grub-core/script/script.c: Likewise.
24456 * grub-core/script/parser.y: Likewise. New `block' and `block0'
24459 * grub-core/commands/acpi.c: Update extcmd implementations with
24460 grub_extcmd_context_t.
24461 * grub-core/commands/cat.c: Likewise.
24462 * grub-core/commands/echo.c: Likewise.
24463 * grub-core/commands/extcmd.c: Likewise.
24464 * grub-core/commands/hashsum.c: Likewise.
24465 * grub-core/commands/hdparm.c: Likewise.
24466 * grub-core/commands/help.c: Likewise.
24467 * grub-core/commands/hexdump.c: Likewise.
24468 * grub-core/commands/i386/cpuid.c: Likewise.
24469 * grub-core/commands/i386/pc/drivemap.c: Likewise.
24470 * grub-core/commands/i386/pc/halt.c: Likewise.
24471 * grub-core/commands/i386/pc/sendkey.c: Likewise.
24472 * grub-core/commands/iorw.c: Likewise.
24473 * grub-core/commands/keystatus.c: Likewise.
24474 * grub-core/commands/loadenv.c: Likewise.
24475 * grub-core/commands/ls.c: Likewise.
24476 * grub-core/commands/lspci.c: Likewise.
24477 * grub-core/commands/memrw.c: Likewise.
24478 * grub-core/commands/probe.c: Likewise.
24479 * grub-core/commands/search_wrap.c: Likewise.
24480 * grub-core/commands/setpci.c: Likewise.
24481 * grub-core/commands/sleep.c: Likewise.
24482 * grub-core/disk/loopback.c: Likewise.
24483 * grub-core/hello/hello.c: Likewise.
24484 * grub-core/loader/i386/bsd.c: Likewise.
24485 * grub-core/loader/xnu.c: Likewise.
24486 * grub-core/term/gfxterm.c: Likewise.
24487 * grub-core/term/serial.c: Likewise.
24488 * grub-core/tests/lib/functional_test.c: Likewise.
24490 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
24492 Multi-line quoted strings support.
24494 * grub-core/script/lexer.c (append_newline): Removed.
24495 (grub_script_lexer_yywrap): Refactored.
24496 (grub_script_lexer_init): Refactored.
24497 * grub-core/script/yylex.l (yywrap): New function.
24498 (grub_lexer_resplit): New function.
24499 (grub_lexer_unput): New function.
24500 * include/grub/script_sh.h (grub_lexer_param): New members, unput
24502 * tests/grub_script_echo1.in: Added few more testcases.
24504 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24506 * grub-core/kern/misc.c: Don't add abort alias in utils.
24507 Reported by: echoline.
24509 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
24511 Add missing files into "make dist" tarball for other platforms.
24513 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
24514 * conf/Makefile.common (dist_noinst_DATA): New variable.
24515 * conf/Makefile.extra-dist: Added missing make dist files.
24516 * grub-core/Makefile.core.def: Likewise.
24518 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24520 Compress grub_prefix.
24522 * grub-core/boot/i386/pc/lnxboot.S: Use
24523 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
24524 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
24525 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
24526 GRUB_MACHINE_PREFIX_END. All users updated.
24527 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
24528 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
24530 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
24531 * util/grub-mkimage.c (image_target_desc): Change data_end to
24532 prefix_end. All users updated.
24534 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
24536 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
24538 (grub_openbsd_boot): Likewise.
24539 (grub_netbsd_boot): Likewise.
24540 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
24541 (grub_xnu_boot): Likewise.
24543 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24545 * configure.ac: Clean LIBS variable after tests.
24547 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24549 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
24551 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24553 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
24554 echo if libdevmapper will be used.
24556 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
24558 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
24559 constant for the same file.
24561 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24563 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
24565 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24567 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
24570 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
24572 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
24573 required by the boot protocol.
24575 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
24576 ebp and edi members.
24577 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
24578 state.ebp and state.edi.
24579 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
24580 %ebp and %edi according to grub_relocator32_ebp and
24581 grub_relocator32_edi respectively.
24582 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
24585 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24587 Add i386-pc-pxe image target.
24589 * util/grub-mkimage.c (image_target_desc): New enum value
24591 (image_targets): New target i386-pc-pxe.
24592 (generate_image): Handle i386-pc-pxe image.
24594 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24598 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
24599 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
24601 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
24602 (grub_pxe_pxenv): Correct type.
24604 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24606 * NEWS: Document most of the important changes since 1.98.
24608 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24610 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
24611 generated manual page) a little.
24613 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
24615 * docs/grub.texi: Add myself as an author.
24617 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24619 * Makefile.util.def (libgrub.a): Add missing sunpc.
24620 Reported by: Seth Goldberg.
24622 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24624 Interrupt wrapping and code simplifications.
24626 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
24627 x86_noieee1275 which are functionaly equivalent in this case.
24628 (grub-install): Make source on each platform explicit. Enable on
24630 * gentpl.py (x86_efi_pc): Removed group.
24631 (x86_noefi): Likewise.
24632 (i386_noefi): Likewise.
24633 (x86_noieee1275): Likewise.
24634 (i386_noieee1275): Likewise.
24635 (i386_noefi_noieee1275): Likewise.
24636 (i386_pc_qemu_coreboot): Likewise.
24637 (i386_coreboot_multiboot): Likewise.
24638 (i386_pc_coreboot_multiboot_qemu): Likewise.
24639 (x86_noefi_mips): Likewise.
24640 (noieee1275): Likewise.
24641 (ieee1275_mips): Likewise.
24642 (noemu_noieee1275): Likewise.
24645 (videoinkernel): Likewise.
24646 (videomodules): Likewise.
24647 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
24648 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
24649 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
24650 include/grub/loader.h, include/grub/msdos_partition.h,
24651 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
24652 include/grub/machine/console.h, include/grub/machine/vga.h,
24653 include/grub/machine/vbe.h, include/grub/machine/init.h,
24654 include/grub/machine/kernel.h, include/grub/cpu/time.h,
24655 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
24656 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
24657 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
24658 * grub-core/Makefile.core.def (kernel): Explicit the source for
24659 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
24660 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
24661 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
24662 Use videoinkernel tag.
24663 (usb): Enable on all usb.
24664 (usbserial_common): Likewise.
24665 (usbserial_pl2303): Likewise.
24666 (usbserial_ftdi): Likewise.
24667 (uhci): Enable on all x86.
24668 (ohci): Enable on all pci.
24669 (cmostest): Enable on all CMOS.
24670 (acpi): Include commands/acpi.c on all platforms.
24671 (halt): Add relevant lib/*/halt.c.
24672 (hdparm): Enable on all pci.
24674 (usbtest): Enable on all usb.
24675 (ata): Enable on all pci.
24676 (ata_pthru): Likewise.
24677 (usbms): Enable on all usb.
24678 (usb_keyboard): Likewise.
24679 (font): Use tag videomodules.
24681 (datetime): Use tag cmos. Enable on all noemu.
24682 (mmap): Use tags common and x86.
24683 (gfxterm): Use tag videomodules.
24684 (bitmap): Likewise.
24685 (bitmap_scale): Likewise.
24686 (video_fb): Likewise.
24688 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
24689 adjust padding accordingly. All users updated.
24690 (grub_ohci_transaction): Fix bad format specification.
24691 (GRUB_MOD_INIT): Add asserts for struct size.
24692 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
24693 (grub_alloc_td): Likewise.
24694 (grub_free_queue): Likewise.
24695 (grub_uhci_transfer): Likewise.
24696 (grub_uhci_transaction): Fix bad format specification.
24697 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
24698 (grub_usb_bulk_readwrite): Likewise.
24699 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
24700 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
24702 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
24704 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
24705 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
24706 Transformed into C.
24707 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
24708 Moved from here ...
24709 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
24710 ... here. Transformed into C. Made static.
24711 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
24712 Moved from here ...
24713 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
24714 ... here. Transformed into C. Made static.
24715 * grub-core/kern/i386/pc/startup.S
24716 (grub_biosdisk_check_int13_extensions): Moved from here ...
24717 * grub-core/disk/i386/pc/biosdisk.c
24718 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
24720 * grub-core/kern/i386/pc/startup.S
24721 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
24722 * grub-core/disk/i386/pc/biosdisk.c
24723 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
24724 Transformed into C. Made static.
24725 * grub-core/kern/i386/pc/startup.S
24726 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
24727 * grub-core/disk/i386/pc/biosdisk.c
24728 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
24729 Transformed into C. Made static.
24730 * grub-core/kern/i386/pc/startup.S
24731 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
24732 * grub-core/disk/i386/pc/biosdisk.c
24733 (grub_biosdisk_get_diskinfo_standard): ... here.
24734 Transformed into C. Made static.
24735 * grub-core/kern/i386/pc/startup.S
24736 (grub_biosdisk_get_num_floppies): Moved from here ...
24737 * grub-core/disk/i386/pc/biosdisk.c
24738 (grub_biosdisk_get_num_floppies): ... here.
24739 Transformed into C. Made static.
24740 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
24742 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
24743 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
24744 Transformed into C. Made static.
24745 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
24746 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
24747 Transformed into C. Made static.
24748 * grub-core/kern/i386/ieee1275/init.c: Removed.
24749 * grub-core/kern/i386/misc.S: Likewise.
24750 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
24751 Splitted from here ...
24752 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
24753 Transformed into C. Made static. All users updated.
24754 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
24755 Transformed into C. Made static. All users updated.
24756 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
24758 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
24759 Transformed into C. Made static. All users updated.
24760 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
24762 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
24763 Transformed into C. Made static. All users updated.
24764 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
24765 Removed (replaced by C version).
24766 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
24768 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
24769 Transformed into C. Made static.
24770 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
24772 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
24773 ... here. Transformed into C.
24774 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
24776 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
24777 ... here. Transformed into C.
24778 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
24780 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
24781 ... here. Transformed into C. Made static.
24782 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
24784 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
24785 ... here. Transformed into C.
24786 * grub-core/kern/i386/pc/startup.S
24787 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
24788 * grub-core/video/i386/pc/vbe.c
24789 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
24790 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
24792 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
24793 ... here. Transformed into C.
24794 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
24796 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
24797 ... here. Transformed into C.
24798 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
24800 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
24801 ... here. Transformed into C.
24802 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
24804 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
24805 ... here. Transformed into C.
24806 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
24808 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
24809 ... here. Transformed into C. Made static.
24810 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
24812 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
24813 ... here. Transformed into C. Made static.
24814 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
24816 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
24817 ... here. Transformed into C. Made static.
24818 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
24819 pxe_rm_entry as third argument.
24820 (grub_bios_interrupt): New function.
24821 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
24822 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
24823 of calling grub_stop.
24824 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
24825 * grub-core/lib/efi/halt.c (grub_halt): ...here.
24826 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
24827 * grub-core/lib/emu/halt.c (grub_halt): ... here.
24828 * grub-core/lib/i386/halt.c: Moved from here ...
24829 * grub-core/lib/i386/halt.c: ... here.
24830 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
24831 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
24832 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
24834 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
24835 * include/grub/i386/coreboot/init.h: Removed.
24836 * include/grub/i386/multiboot/init.h: Likewise.
24837 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
24838 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
24839 * include/grub/i386/pc/int.h: New file.
24840 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
24841 (grub_pxe_scan): Removed.
24842 (grub_pxe_call): Update prototype.
24843 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
24845 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
24846 * include/grub/i386/qemu/init.h: Removed.
24847 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
24849 (grub_halt): Likewise.
24850 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
24851 (grub_reboot): Likewise.
24852 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
24853 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
24854 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
24856 2010-08-30 Robert Millan <rmh@gnu.org>
24858 * NEWS: Document addition of ZFS support in `grub-install' and
24861 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
24863 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
24866 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24868 Remove leftover embedding of font objects.
24870 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24871 * util/grub-install.in (font): Removed.
24872 * util/grub-mkimage.c (generate_image): Remove font support. All users
24875 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24877 Remove leftover embedding of font objects.
24879 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
24880 * util/grub-install.in (font): Removed.
24881 * util/grub-mkimage.c (generate_image): Remove font support. All users
24884 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24886 * docs/grub.texi (Network): Fix reference to pxe_blksize.
24887 Reported by: Ian Turner
24889 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24891 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
24892 timeout to avoid indefinite boot stalling.
24894 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24896 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
24897 (grub_env_write_color_highlight): Likewise.
24899 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24901 * grub-core/normal/term.c (print_more): Return to normal and not
24902 to standard state after printing "---MORE---".
24904 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24906 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
24907 Mask out the bit 0x80 since it has other meaning that specifiing color.
24909 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
24911 New relocator. Allows for more kernel support and more straightforward
24914 * Makefile.am (BOOTTARGET): New variable.
24915 (QEMU32): Likewise.
24916 (linux.init.x86_64): New target.
24917 (linux.init.i386): Likewise.
24918 (multiboot.elf): Likewise.
24919 (kfreebsd.elf): Likewise.
24920 (kfreebsd.aout): Likewise.
24921 (pc-chainloader.elf): Likewise.
24922 (pc-chainloader.bin): Likewise.
24923 (ntldr.elf): Likewise.
24924 (ntldr.bin): Likewise.
24925 (multiboot2.elf): Likewise.
24926 (kfreebsd.init.x86_64): Likewise.
24927 (kfreebsd.init.i386): Likewise.
24928 (knetbsd.init.i386): Likewise.
24929 (kopenbsd.init.i386): Likewise.
24930 (knetbsd.init.x86_64): Likewise.
24931 (kopenbsd.init.x86_64): Likewise.
24932 (linux-initramfs.i386): Likewise.
24933 (linux-initramfs.x86_64): Likewise.
24934 (kfreebsd-mfsroot.i386.img): Likewise.
24935 (knetbsd.image.i386): Likewise.
24936 (kopenbsd.image.i386): Likewise.
24937 (kopenbsd.image.x86_64): Likewise.
24938 (knetbsd.miniroot-image.i386.img): Likewise.
24939 (kfreebsd-mfsroot.x86_64.img): Likewise.
24940 (knetbsd.image.x86_64): Likewise.
24941 (knetbsd.miniroot-image.x86_64.img): Likewise.
24942 (kfreebsd-mfsroot.i386.gz): Likewise.
24943 (bootcheck-kfreebsd-i386): Likewise.
24944 (kfreebsd-mfsroot.x86_64.gz): Likewise.
24945 (bootcheck-kfreebsd-x86_64): Likewise.
24946 (knetbsd.miniroot-image.i386.gz): Likewise.
24947 (bootcheck-knetbsd-i386): Likewise.
24948 (bootcheck-kopenbsd-i386): Likewise.
24949 (bootcheck-kopenbsd-x86_64): Likewise.
24950 (knetbsd.miniroot-image.x86_64.gz): Likewise.
24951 (bootcheck-knetbsd-x86_64): Likewise.
24952 (bootcheck-linux-i386): Likewise.
24953 (bootcheck-linux-x86_64): Likewise.
24954 (bootcheck-linux16-i386): Likewise.
24955 (bootcheck-linux16-x86_64): Likewise.
24956 (bootcheck-multiboot): Likewise.
24957 (bootcheck-multiboot2): Likewise.
24958 (bootcheck-kfreebsd-aout): Likewise.
24959 (bootcheck-pc-chainloader): Likewise.
24960 (bootcheck-ntldr): Likewise.
24961 (CLEANFILES): Add new targets.
24962 (BOOTCHECKS): New variable.
24963 (.PHONY): Add bootchecks.
24964 (SUCCESSFUL_BOOT_STRING): New variable.
24965 (BOOTCHECK_TIMEOUT): Likewise.
24966 (bootcheck): New target
24967 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
24968 * configure.ac: Correct efiemu excuse.
24969 * docs/grub.texi (Supported kernels): New chapter.
24970 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
24971 include/grub/mm_private.h. Simplify inclusion of
24972 include/grub/boot.h, include/grub/loader.h
24973 and include/grub/msdos_partition.h
24974 (KERNEL_HEADER_FILES) [i386_coreboot]:
24975 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
24976 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
24977 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
24978 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
24979 include/grub/machine/loader.h.
24980 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
24981 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
24983 (pci.mod): Enable on i386-multiboot.
24984 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
24985 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
24987 (relocator.mod): Rewritten.
24988 (aout.mod): Enable on all x86.
24989 (bsd.mod): Likewise.
24990 (ntldr.mod): New module.
24991 (linux.mod): Use loader/i386/linux.c on all x86.
24992 (xnu.mod): Enable on all x86.
24993 (vga_text.mod): disable on EFI and QEMU.
24994 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
24995 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
24996 * grub-core/efiemu/loadcore.c: Likewise.
24997 * grub-core/efiemu/main.c: Likewise.
24998 (grub_efiemu_exit_boot_services): Removed.
24999 (grub_efiemu_finish_boot_services): Likewise.
25000 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
25002 * grub-core/efiemu/i386/nocfgtables.c: New file.
25003 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
25004 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
25005 (grub_efi_finish_boot_services): Moved from here ...
25006 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
25007 Fille finish memory map and related data.
25008 (finish_mmap_buf): New variable.
25009 (grub_efi_uintn_t finish_mmap_size): Likewise.
25010 (grub_efi_uintn_t finish_key): Likewise.
25011 (grub_efi_uintn_t finish_desc_size): Likewise.
25012 (grub_efi_uint32_t finish_desc_version): Likewise.
25013 (grub_efi_is_finished): Likewise.
25014 (grub_efi_get_memory_map): Use saved memory map if EFI is already
25016 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
25017 (grub_elf64_phdr_iterate): Likewise.
25018 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
25019 (grub_os_area_size): Likewise.
25020 (grub_machine_init): Don't reserve os area.
25021 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
25022 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
25023 * grub-core/kern/i386/loader.S: Removed.
25024 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
25025 (grub_os_area_size): Likewise.
25026 (grub_machine_init): Don't reserve os area.
25027 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
25028 Don't call grub_dl_unload_all.
25029 Don't include loader.S.
25030 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
25031 Declare the memory after _end as available.
25032 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
25033 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
25034 (GRUB_MM_ALLOC_MAGIC): Moved from here...
25035 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
25036 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
25037 * include/grub/mm_private.h (grub_mm_header): ... here.
25038 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
25039 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
25040 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
25041 (grub_mm_region): ..here. Removed addr. Added pre_size.
25043 * grub-core/kern/mm.c (base): Renamed to ...
25044 (grub_mm_base): ... this. Made global.
25045 (grub_real_malloc): Alloc from end of region.
25046 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
25047 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
25048 * grub-core/kern/powerpc/cache_flush.S: ... here.
25049 * grub-core/lib/efi/relocator.c: New file.
25050 * grub-core/lib/i386/relocator.c: Rewritten.
25051 * grub-core/lib/i386/relocator16.S: New file.
25052 * grub-core/lib/i386/relocator32.S: Likewise.
25053 * grub-core/lib/i386/relocator64.S: Likewise.
25054 * grub-core/lib/i386/relocator_asm.S: Rewritten.
25055 * grub-core/lib/i386/relocator_common.S: New file.
25056 * grub-core/lib/ieee1275/relocator.c: Likewise.
25057 * grub-core/lib/mips/relocator.c: Rewritten.
25058 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
25059 stylistic adjustments.
25060 * grub-core/lib/powerpc/relocator.c: New file.
25061 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
25062 * grub-core/lib/relocator.c: Rewritten.
25063 * grub-core/lib/x86_64/relocator_asm.S: New file.
25064 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
25065 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
25066 (bsd_tag): New struct.
25067 (tags): New variable.
25068 (tags_last): Likewise.
25069 (netbsd_module): New struct.
25070 (netbsd_mods): New variable.
25071 (netbsd_mods_last): Likewise.
25072 (openbsd_opts): New parameter "serial".
25073 (OPENBSD_SERIAL_ARG): New definition.
25074 (netbsd_opts): New parameter "serial".
25075 (NETBSD_SERIAL_ARG): New definition.
25076 (grub_freebsd_add_meta): Reorganised into ...
25077 (grub_bsd_add_meta): ...this. All users updated.
25078 (grub_freebsd_add_mmap): Reorganised into ...
25079 (generate_e820_mmap): ...this...
25080 (grub_bsd_add_mmap): ...and this. All users updated.
25081 (grub_freebsd_list_modules): Use tags.
25082 (grub_netbsd_add_meta_module): New function.
25083 (grub_netbsd_list_modules): Likewise.
25084 (grub_freebsd_boot): Use relocator and finish EFI.
25085 (grub_openbsd_boot): Likewise.
25086 (grub_netbsd_setup_video): New function.
25087 (grub_netbsd_add_modules): Likewise.
25088 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
25090 (grub_bsd_unload): Unload tags.
25091 (grub_bsd_load_aout): Use relocator.
25092 (grub_bsd_elf32_size_hook): New function.
25093 (grub_bsd_elf32_hook): Use relocator.
25094 (grub_bsd_elf64_size_hook): New function.
25095 (grub_bsd_elf64_hook): Use relocator.
25096 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
25097 (grub_bsd_load): Zero-out openbsd_ramdisk.
25098 (grub_bsd_load): Use relocator.
25099 (grub_cmd_openbsd): Support serial.
25100 (grub_cmd_netbsd): Support modules.
25101 (grub_cmd_freebsd_module): Use relocator.
25102 (grub_netbsd_module_load): New function.
25103 (grub_cmd_netbsd_module): Likewise.
25104 (grub_cmd_openbsd_ramdisk): Likewise.
25105 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
25107 (GRUB_MOD_FINI): Unregister new commands.
25108 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
25109 (grub_freebsd_load_elfmodule_obj): Use relocator.
25110 (grub_freebsd_load_elfmodule): Likewise.
25111 (grub_freebsd_load_elf_meta): Likewise.
25112 (grub_netbsd_load_elf_meta): New function.
25113 (grub_openbsd_find_ramdisk): Likewise.
25114 * grub-core/loader/i386/bsd_helper.S: Removed.
25115 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
25116 * grub-core/loader/i386/bsd_trampoline.S: Removed.
25117 * grub-core/loader/i386/efi/linux.c: Likewise.
25118 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
25119 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
25120 (DEFAULT_VIDEO_MODE): Likewise.
25121 (real_mode_target): New variable.
25122 (prot_mode_target): Likewise.
25123 (initrd_mem_target): Likewise.
25124 (relocator): Likewise.
25125 (efi_mmap_buf): Likewise.
25126 (efi_mmap_size): Likewise.
25127 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
25128 (free_pages): Use relocator.
25129 (allocate_pages): Account for efi_mmap and use relocator. Return error.
25130 (grub_linux_setup_video): Return error.
25131 (grub_linux_trampoline_start): Removed.
25132 (grub_linux_trampoline_end): Likewise.
25133 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
25134 andd video parameters depending on firmware.
25135 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
25136 [GRUB_MACHINE_EFI]: Pass EFI parameters.
25137 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
25138 (grub_cmd_initrd): Use relocator.
25139 * grub-core/loader/i386/linux_trampoline.S: Removed.
25140 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
25141 (elf_sec_entsize): Likewise.
25142 (elf_sec_shstrndx): Likewise.
25143 (elf_sections): Likewise.
25144 (grub_multiboot_load): Use relocator.
25145 (grub_multiboot_get_mbi_size): Account for sections.
25146 (grub_multiboot_make_mbi): Use relocator and support sections.
25147 (grub_multiboot_add_elfsyms): New function.
25148 (grub_multiboot_free_mbi): Free sections.
25149 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
25150 (grub_linux_real_target): Likewise.
25151 (grub_linux_real_chunk): Likewise.
25152 (grub_linux16_prot_size): Likewise.
25153 (grub_linux16_boot): Use relocator.
25154 (grub_linux_unload): Unload relocator.
25155 (grub_cmd_linux): Use relocator.
25156 (grub_cmd_initrd): Likewise.
25157 * grub-core/loader/i386/pc/ntldr.c: New file.
25158 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
25159 Don't try to guess CPU frequency.
25160 (grub_xnu_set_video): Stretch bitmap.
25161 (grub_xnu_boot): Use relocator.
25162 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
25163 (grub_linux_unload): Free relocator.
25164 (grub_linux_load32): Use relocator.
25165 (grub_linux_load64): Likewise.
25166 (grub_cmd_initrd): Likewise.
25167 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
25168 (grub_multiboot_unload): Unload relocator.
25169 (grub_cmd_multiboot): Use relocator.
25170 (grub_cmd_module): Likewise.
25171 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
25172 Use relocator and support sections.
25173 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
25174 (elf_sec_entsize): Likewise.
25175 (elf_sec_shstrndx): Likewise.
25176 (elf_sections): Likewise.
25177 (grub_multiboot_load): Use relocator.
25178 (grub_multiboot_get_mbi_size): Account for sections.
25179 (grub_multiboot_make_mbi): Use relocator and support sections.
25180 (grub_multiboot_add_elfsyms): New function.
25181 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
25182 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
25183 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
25184 Prototype changed. All users updated.
25185 (grub_xnu_align_heap): Simplified.
25186 (grub_xnu_writetree_toheap): Likewise.
25187 (grub_xnu_unload): Unload relocator.
25188 (grub_cmd_xnu_kernel): Use relocator.
25189 (grub_cmd_xnu_kernel64): Likewise.
25190 (grub_xnu_register_memory): Simplified.
25191 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
25192 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
25194 (grub_console_checkkey): Likewise.
25195 (grub_console_getkey): Likewise.
25196 (grub_console_getwh): Likewise.
25197 (grub_console_getxy): Likewise.
25198 (grub_console_gotoxy): Likewise.
25199 (grub_console_cls): Likewise.
25200 (grub_console_setcolorstate): Likewise.
25201 (grub_console_setcursor): Likewise.
25202 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
25203 * grub-core/tests/boot/kbsd.init-i386.S: New file.
25204 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
25205 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
25206 * grub-core/tests/boot/kernel-8086.S: Likewise.
25207 * grub-core/tests/boot/kernel-i386.S: Likewise.
25208 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
25209 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
25210 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
25211 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
25212 * grub-core/tests/boot/knetbsd.cfg: Likewise.
25213 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
25214 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
25215 * grub-core/tests/boot/linux.cfg: Likewise.
25216 * grub-core/tests/boot/linux.init-i386.S: Likewise.
25217 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
25218 * grub-core/tests/boot/linux16.cfg: Likewise.
25219 * grub-core/tests/boot/multiboot.cfg: Likewise.
25220 * grub-core/tests/boot/multiboot2.cfg: Likewise.
25221 * grub-core/tests/boot/ntldr.cfg: Likewise.
25222 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
25223 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
25224 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
25226 * include/grub/dl.h (grub_dl_unload_all): Removed.
25227 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
25228 (grub_efi_finish_boot_services): Change prototype.
25229 (grub_efi_is_finished): New variable.
25230 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
25232 (grub_efiemu_finish_boot_services): Removed.
25233 (grub_machine_efiemu_init_tables): New prototype.
25234 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
25235 (grub_elf64_phdr_iterate): Likewise.
25236 * include/grub/i386/bsd.h: Include relocator.h.
25237 (freebsd_tag_header): New struct.
25238 (grub_openbsd_bios_mmap): Removed.
25239 (grub_unix_real_boot): Removed.
25240 (grub_freebsd_load_elfmodule32): Changed prototype.
25241 (grub_freebsd_load_elfmodule_obj64): Likewise.
25242 (grub_freebsd_load_elf_meta32): Likewise.
25243 (grub_freebsd_load_elf_meta64): Likewise.
25244 (grub_freebsd_add_meta): Removed.
25245 (grub_netbsd_load_elf_meta32): New prototype.
25246 (grub_netbsd_load_elf_meta64): Likewise.
25247 (grub_bsd_add_meta): Likewise.
25248 (grub_openbsd_ramdisk_descriptor): New struct.
25249 (grub_openbsd_find_ramdisk32): New prototype.
25250 (grub_openbsd_find_ramdisk64): Likewise.
25251 * include/grub/i386/coreboot/loader.h: Removed.
25252 * include/grub/i386/efi/loader.h: Likewise.
25253 * include/grub/i386/ieee1275/loader.h: Likewise.
25254 * include/grub/i386/linux.h (linux_kernel_header): Change void *
25256 * include/grub/i386/loader.h: Removed.
25257 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
25259 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
25260 (grub_phys_addr_t): New type.
25261 (grub_vtop): New inline function.
25262 (grub_map_memory): Likewise.
25263 (grub_unmap_memory): Likewise.
25264 * include/grub/i386/multiboot/loader.h: Removed.
25265 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
25266 (NETBSD_BTINFO_CONSOLE): New definition.
25267 (NETBSD_BTINFO_SYMTAB): Likewise.
25268 (NETBSD_BTINFO_MODULES): Likewise.
25269 (NETBSD_BTINFO_FRAMEBUF): Likewise.
25270 (grub_netbsd_bootinfo): New struct.
25271 (grub_netbsd_btinfo_common): Use explicit bitsize.
25272 (grub_netbsd_btinfo_mmap_entry): Removed.
25273 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
25274 (grub_netbsd_btinfo_bootdisk): New struct.
25275 (grub_netbsd_btinfo_symtab): Likewise.
25276 (grub_netbsd_btinfo_serial): Likewise.
25277 (grub_netbsd_btinfo_modules): Likewise.
25278 (grub_netbsd_btinfo_framebuf): Likewise.
25279 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
25280 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
25282 (grub_openbsd_bootargs): Use explicit bitsize.
25283 (grub_openbsd_bootarg_console): New struct.
25284 (GRUB_OPENBSD_COM_MAJOR): New definition.
25285 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
25286 * include/grub/i386/pc/efiemu.h: Removed.
25287 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
25288 * include/grub/i386/qemu/loader.h: Removed.
25289 * include/grub/i386/relocator.h: Rewritten.
25290 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
25291 * include/grub/mips/memory.h: New file.
25292 * include/grub/mips/multiboot.h: Rewritten.
25293 * include/grub/mips/relocator.h: Rewritten.
25294 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
25295 (grub_vtop): New function.
25296 (grub_map_memory): Likewise.
25297 (grub_unmap_memory): Likewise.
25298 * include/grub/misc.h (ALIGN_DOWN): New definition.
25299 * include/grub/mm.h (grub_mm_check_real): New proto.
25300 (GRUB_MM_CHECK): New definition.
25301 * include/grub/mm_private.h: New file.
25302 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
25303 (grub_multiboot_get_mbi_size): Removed.
25304 (grub_multiboot_make_mbi): Change prottype.
25305 (grub_multiboot_set_accepts_video): New proto.
25306 (grub_multiboot_add_elfsyms): Likewise.
25307 (grub_multiboot_payload_eip): New variable.
25308 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
25310 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
25312 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
25313 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
25314 * include/grub/powerpc/ieee1275/loader.h: Removed.
25315 * include/grub/powerpc/memory.h: New file.
25316 * include/grub/powerpc/relocator.h: Likewise.
25317 * include/grub/relocator.h: Likewise.
25318 * include/grub/relocator_private.h: Likewise.
25319 * include/grub/sparc64/ieee1275/loader.h: Removed.
25320 * include/grub/x86_64/memory.h: New file.
25321 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
25322 (grub_xnu_heap_malloc): Likewise.
25323 (grub_xnu_heap_real_start): Removed.
25324 (grub_xnu_heap_start): Likewise.
25325 (grub_xnu_relocator): New variable.
25326 (grub_xnu_heap_target_start): Likewise.
25327 * tests/util/grub-shell.in: Support non-pc.
25328 * util/grub-mkimage.c (image_targets): Fix multiboot target.
25330 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25332 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
25334 (grub_bidi_logical_to_visual): Check that malloc succeded.
25335 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
25337 (grub_xputs_normal): Likewise.
25339 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25341 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
25344 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25346 * grub-core/efiemu/runtime/efiemu.sh: Removed.
25348 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25350 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
25352 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
25354 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
25357 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
25359 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
25361 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25363 * grub-core/normal/term.c (print_more): Fix a memory leak.
25364 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
25365 (grub_xputs_normal): Likewise.
25367 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25369 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
25370 the begining of the string
25372 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25374 * grub-core/script/script.c (grub_script_parse): Free parsed on
25377 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25379 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
25382 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25384 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
25387 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25389 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
25390 (scroll_up): Fix a memory leak.
25392 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
25394 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
25397 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
25399 Handle USB pendrives exposed as floppies.
25401 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
25403 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25404 Check for partitions on all devices.
25406 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
25408 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
25409 (readkey): Likewise.
25411 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
25413 Multiple variable names support to "export" command.
25415 * normal/context.c (grub_cmd_export): "export" command supports
25416 multiple variable names.
25418 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
25420 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
25421 --target=drive output to Mach device name.
25423 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25425 New Automake based build system for GRUB.
25427 * ABOUT-NLS: New file.
25428 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
25429 in Makefile.util.def file.
25430 * Makefile.util.def: New file. Autogen build definitions file for
25432 * conf/Makefile.common: New file. Common variables for GRUB host
25433 utils and target modules.
25434 * conf/Makefile.extra-dist: New file. Extra files for make dist.
25435 * docs/Makefile.am: New file. Automake file for docs.
25436 * gentpl.py: New file. Python script to generate Autogen
25438 * grub-core/Makefile.am: New file. GRUB target modules' rules
25439 that doesn't fit in Makefile.core.def file.
25440 * grub-core/Makefile.core.def: New file. Autogen build
25441 definitions file for GRUB target modules.
25442 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
25443 specific setjmp.S file.
25444 * po/Makefile.am: New file.
25446 * .bzrignore: New ignores.
25447 * INSTALL: New requirements, without Ruby.
25448 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
25449 * autogen.sh: Updated to invoke autogen as necessary.
25450 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
25451 and defines for Automake conditionals.
25452 * geninit.sh: Refactoring.
25454 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
25456 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
25459 * include/grub/test.h: Fix functional test modules' naming.
25460 * grub-core/tests/example_functional_test.c: Fix test module name.
25462 * util/misc.c: Hosted versions' of grub functions for libgrub.a
25463 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
25464 * util/grub-editenv.c: Likewise.
25465 * util/grub-fstest.c: Likewise.
25466 * util/grub-mkdevicemap.c: Likewise.
25467 * util/grub-mkfont.c: Likewise.
25468 * util/grub-mkimage.c: Likewise.
25469 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25470 * util/grub-probe.c: Likewise.
25471 * util/grub-script-check.c: Likewise.
25472 * util/i386/pc/grub-setup.c: Likewise.
25473 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25475 * tests/util/grub-shell.in: Fix override directory path.
25476 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
25477 * util/import_gcry.py: Create Makefile.gcry.def file instead.
25479 * util/lvm.c: Update #includes.
25480 * util/raid.c: Likewise.
25481 * util/resolve.c: Likewise.
25482 * grub-core/bus/emu/pci.c: Likewise.
25483 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
25484 * grub-core/lib/posix_wrap/string.h: Likewise.
25485 * grub-core/kern/emu/main.c: Likewise.
25487 * grub-core/gensymlist.sh: New file. Script for generating kernel
25489 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
25491 * grub-core/gentrigtables.c: Fix unused variable warnings.
25493 * Makefile.in: Removed.
25494 * conf/any-emu.rmk: Removed.
25495 * conf/common.rmk: Removed.
25496 * conf/i386-coreboot.rmk: Removed.
25497 * conf/i386-efi.rmk: Removed.
25498 * conf/i386-ieee1275.rmk: Removed.
25499 * conf/i386-multiboot.rmk: Removed.
25500 * conf/i386-pc.rmk: Removed.
25501 * conf/i386-qemu.rmk: Removed.
25502 * conf/i386.rmk: Removed.
25503 * conf/mips-yeeloong.rmk: Removed.
25504 * conf/mips.rmk: Removed.
25505 * conf/powerpc-ieee1275.rmk: Removed.
25506 * conf/sparc64-ieee1275.rmk: Removed.
25507 * conf/tests.rmk: Removed.
25508 * conf/x86-efi.rmk: Removed.
25509 * conf/x86_64-efi.rmk: Removed.
25510 * gendistlist.sh: Removed.
25511 * geninitheader.sh: Removed.
25512 * genkernsyms.sh.in: Removed.
25513 * genmk.rb: Removed.
25514 * gensymlist.sh.in: Removed.
25515 * mkinstalldirs: Removed.
25517 * grub-core/boot: ... to here.
25519 * grub-core/bus: ... to here.
25520 * commands: Moved ...
25521 * grub-core/commands: ... to here.
25523 * grub-core/disk: ... to here.
25524 * efiemu: Moved ...
25525 * grub-core/efiemu: ... to here.
25527 * grub-core/font: ... to here.
25529 * grub-core/fs: ... to here.
25530 * gencmdlist.sh: Moved ...
25531 * grub-core/gencmdlist.sh: ... to here.
25532 * genemuinit.sh: Moved ...
25533 * grub-core/genemuinit.sh: ... to here.
25534 * genemuinitheader.sh: Moved ...
25535 * grub-core/genemuinitheader.sh: ... to here.
25536 * genfslist.sh: Moved ...
25537 * grub-core/genfslist.sh: ... to here.
25538 * genhandlerlist.sh: Moved ...
25539 * grub-core/genhandlerlist.sh: ... to here.
25540 * genmoddep.awk: Moved ...
25541 * grub-core/genmoddep.awk: ... to here.
25542 * genmodsrc.sh: Moved ...
25543 * grub-core/genmodsrc.sh: ... to here.
25544 * genpartmaplist.sh: Moved ...
25545 * grub-core/genpartmaplist.sh: ... to here.
25546 * genparttoollist.sh: Moved ...
25547 * grub-core/genparttoollist.sh: ... to here.
25548 * genterminallist.sh: Moved ...
25549 * grub-core/genterminallist.sh: ... to here.
25550 * gentrigtables.c: Moved ...
25551 * grub-core/gentrigtables.c: ... to here.
25552 * genvideolist.sh: Moved ...
25553 * grub-core/genvideolist.sh: ... to here.
25554 * gettext: Moved ...
25555 * grub-core/gettext: ... to here.
25556 * gfxmenu: Moved ...
25557 * grub-core/gfxmenu: ... to here.
25558 * gnulib: Moved ...
25559 * grub-core/gnulib: ... to here.
25561 * grub-core/hello: ... to here.
25563 * grub-core/hook: ... to here.
25565 * grub-core/io: ... to here.
25567 * grub-core/kern: ... to here.
25569 * grub-core/lib: ... to here.
25570 * loader: Moved ...
25571 * grub-core/loader: ... to here.
25573 * grub-core/mmap: ... to here.
25574 * normal: Moved ...
25575 * grub-core/normal: ... to here.
25576 * partmap: Moved ...
25577 * grub-core/partmap: ... to here.
25578 * parttool: Moved ...
25579 * grub-core/parttool: ... to here.
25580 * script: Moved ...
25581 * grub-core/script: ... to here.
25583 * grub-core/term: ... to here
25584 * tests/example_functional_test.c: Moved ...
25585 * grub-core/tests/example_functional_test.c: ... to here.
25586 * tests/lib/functional_test.c: Moved ...
25587 * grub-core/tests/lib/functional_test.c: ... to here.
25588 * tests/lib/test.c: Moved ...
25589 * grub-core/tests/lib/test.c: ... to here.
25591 * grub-core/video: ... to here.
25593 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
25595 Replace --enable-grub-emu-modules with grub-emu-lite.
25597 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
25600 * include/grub/emu/misc.h (grub_emu_init): New prototype.
25601 * kern/emu/full.c: New file. For grub-emu specific initialization.
25602 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
25603 * kern/emu/main.c: Call initialization function grub_emu_init.
25605 * Makefile.in: Include grub-emu-lite in install.
25606 * commands/parttool.c: Use grub_no_autoload to differentiate
25607 between grub-emu and grub-emu-lite.
25608 * include/grub/misc.h: New variable grub_no_autoload.
25610 * conf/any-emu.rmk: New rules for grub-emu-lite.
25611 * configure.ac: Remove --enable-grub-emu-modules.
25612 * genmk.rb: Cleanup unnecessary rules.
25613 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
25615 * normal/main.c: Don't load list files on grub-emu-lite.
25616 * util/misc.c (grub_arch_sync_caches): Removed.
25618 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
25620 * kern/mips/startup.S (grub_prefix): Update comment to refer to
25621 grub-mkimage rather than grub-mkelfimage.
25622 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
25624 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
25626 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
25627 a key after CapsLock or NumLock. It's just a qemu bug.
25629 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25631 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
25632 needed by libusb wrapper.
25634 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25636 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
25638 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
25640 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
25641 --nounzip is passed.
25643 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
25645 USB hotunplugging and USB serial support.
25647 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
25648 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
25649 (grub_uhci_transfer): Respect timeout and set *actual.
25650 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
25651 non-standard length.
25652 (grub_usb_device_attach): Autoload modules.
25653 (GRUB_MOD_INIT): Set grub_term_poll_usb.
25654 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
25655 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
25657 (grub_usb_add_hub): Fill nports and children.
25658 (attach_root_port): Receive hub instead of controller.
25659 All users updated. Fill hub->devices.
25660 (grub_usb_root_hub): Allocate hub->devices.
25661 (detach_device): New function.
25662 (poll_nonroot_hub): Fill children and detach devices.
25663 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
25664 actual arguments. All users updated.
25665 (grub_usb_bulk_read_extended): New function.
25666 * bus/usb/serial/common.c: New file.
25667 * bus/usb/serial/ftdi.c: Likewise.
25668 * bus/usb/serial/pl2303.c: Likewise.
25669 * commands/terminal.c (handle_command): Support wildcard.
25670 * commands/usbtest.c: Output "Unknown" instead of empty string.
25671 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
25672 (usbserial_common_mod_SOURCES): New variable.
25673 (usbserial_common_mod_CFLAGS): Likewise.
25674 (usbserial_common_mod_LDFLAGS): Likewise.
25675 (pkglib_MODULES): Add usbserial_pl2303.mod.
25676 (usbserial_pl2303_mod_SOURCES): New variable.
25677 (usbserial_pl2303_mod_CFLAGS): Likewise.
25678 (usbserial_pl2303_mod_LDFLAGS): Likewise.
25679 (pkglib_MODULES): Add usbserial_ftdi.mod.
25680 (usbserial_ftdi_mod_SOURCES): New variable.
25681 (usbserial_ftdi_mod_CFLAGS): Likewise.
25682 (usbserial_ftdi_mod_LDFLAGS): Likewise.
25683 (pkglib_MODULES): Add serial.mod.
25684 (serial_mod_SOURCES): New variable.
25685 (serial_mod_CFLAGS): Likewise.
25686 (serial_mod_LDFLAGS): Likewise.
25687 * conf/i386-pc.rmk: Likewise.
25688 * conf/mips-yeeloong.rmk: Likewise.
25689 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
25690 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25691 * disk/usbms.c (first_available_slot): New variable.
25692 (grub_usbms_attach): Don't reuse free slots due to potential cache
25694 * include/grub/serial.h: Moved to ..
25695 * include/grub/ns8250.h: ...this.
25696 * include/grub/serial.h: New file.
25697 * include/grub/term.h (grub_term_poll_usb): New variable.
25698 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
25699 readkey. All users updated.
25700 (grub_terminfo_output_state): Pass term to put.
25701 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
25702 (grub_usb_controller_dev): Add timeout and actual arguments to
25703 transfer. All users updated.
25704 (grub_usb_interface): New field detach_data.
25705 (grub_usb_device): New fields children and nports.
25706 (grub_usb_ep_type_t): New type.
25707 (grub_usb_get_ep_type): New function.
25708 (grub_usb_bulk_read_extended): Likewise.
25709 * include/grub/usbdesc.h (grub_usb_desc): New type.
25710 * include/grub/usbserial.h: New file.
25711 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
25712 * kern/term.c (grub_term_poll_usb): New variable.
25713 (grub_getkey): Call grub_term_poll_usb if set.
25714 (grub_checkkey): Likewise.
25715 (grub_getkeystatus): Likewise.
25716 * term/serial.c: Moved controller-specific parts to ...
25717 * term/ns8250.c: ... here.
25718 * term/serial.c: Mostly rewritten.
25719 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
25722 2010-08-20 Robert Millan <rmh@gnu.org>
25724 Make kFreeBSD code more generic to support ext2fs as root, ufs as
25725 a separate module and maybe other interesting combinations.
25727 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
25728 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
25729 (kfreebsd_entry): Add generic filesystem module load routine.
25730 Map GRUB `ext2' to kFreeBSD `ext2fs'.
25732 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
25734 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
25735 "numcenter" (I misunderstood the purpose of this entry).
25736 * docs/grub.texi (sendkey): Likewise.
25738 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
25740 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
25741 status flag options; simply omitting the option is equivalent and
25742 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
25743 (keysym_table): Rename "num5numlock" to "numlock".
25744 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
25745 can uniformly say that only the last of multiple `sendkey'
25746 invocations has any effect.
25747 * docs/grub.texi (sendkey): New section.
25749 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
25751 * commands/i386/pc/sendkey.c (options): Fix three typos.
25753 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
25755 Implement sendkey support.
25757 * commands/i386/pc/sendkey.c: New file.
25758 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
25759 (sendkey_mod_SOURCES): New variable.
25760 (sendkey_mod_CFLAGS): Likewise.
25761 (sendkey_mod_LDFLAGS): Likewise.
25763 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
25765 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
25766 fix warnings from Autoconf.
25768 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
25770 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
25771 to avoid false positives with some assemblers that output things
25772 like "someprefix_func" as part of their output.
25774 2010-08-15 Robert Millan <rmh@gnu.org>
25776 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
25778 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
25779 grub_get_libzfs_handle() errors.
25781 2010-08-14 Robert Millan <rmh@gnu.org>
25783 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
25784 filesystem is not ZFS.
25786 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25788 Fix for misspelled color names defaulting to black/black (bug
25789 reported by Doug Nazar)
25791 * include/grub/normal.h (grub_parse_color_name_pair): Add return
25792 status to prototype.
25793 * normal/color.c (grub_parse_color_name_pair): Return failure
25795 (grub_env_write_color_normal): Ignore bad color names.
25796 (grub_env_write_color_highlight): Likewise.
25797 * normal/main.c (GRUB_MOD_INIT): Set default color names.
25799 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25801 "shift" command support to GRUB script.
25803 * include/grub/script_sh.h (grub_script_shift): New prototype.
25804 * script/execute.c (grub_script_shift): New function.
25805 * script/main.c (grub_script_init): Register shift command.
25806 (grub_script_fini): Unregister shift command.
25807 * util/grub-script-check.c (grub_script_cmd_shift): New function.
25809 * tests/grub_script_shift.in: New testcase.
25810 * conf/tests.rmk: Rules for new testcase.
25812 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25814 "continue" command support to GRUB script.
25816 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
25817 (grub_script_break): Continue support.
25818 * script/main.c (grub_script_init): Register continue command.
25819 (grub_script_fini): Unregister continue command.
25821 * tests/grub_script_continue.in: New testcase.
25822 * conf/tests.rmk: Rules for new testcase.
25824 2010-08-12 BVK Chaitanya <bvk@dbook>
25826 "break" command support to GRUB script.
25828 * conf/common.rmk: Rule updates to grub-script-check.
25829 * include/grub/misc.h (grub_min): New function.
25830 * include/grub/script_sh.h (grub_script_init): New prototype.
25831 (grub_script_fini): New prototype.
25832 (grub_script_break): New prototype.
25833 * script/main.c (grub_script_init): New function.
25834 (grub_script_fini): New function.
25835 * script/execute.c (grub_script_break): New function.
25836 * normal/main.c: Calls to grub_script_{init,fini}.
25837 * util/grub-script-check.c (grub_script_break): New function.
25839 * tests/grub_script_break.in: New testcase.
25840 * conf/tests.rmk: Rules for new test case.
25842 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25844 Function parameters support to GRUB script.
25846 * script/yylex.l (VARIABLE): Regular expression update.
25847 * script/function.c (grub_script_function_call): Moved ...
25848 * script/execute.c (grub_script_function_call): ... to here.
25849 (grub_script_execute_arglist_to_argv): Removed.
25850 (grub_script_arglist_to_argv): New function.
25851 * script/argv.c: New file.
25852 (grub_script_argv_free): New function.
25853 (grub_script_argv_next): Likewise.
25854 (grub_script_argv_append): Likewise.
25855 (grub_script_argv_split_append): Likewise.
25856 * include/grub/script_sh.h (grub_script_argv): New struct.
25857 (grub_script_argv_free): New function.
25858 (grub_script_argv_next): Likewise.
25859 (grub_script_argv_append): Likewise.
25860 (grub_script_argv_split_append): Likewise.
25862 * conf/common.rmk (normal.mod): New source script/argv.c.
25864 * tests/grub_script_echo1.in: More tests.
25865 * tests/grub_script_vars1.in: Likewise.
25866 * tests/grub_script_functions.in: New test case.
25867 * conf/tests.rmk: Rules for new testcase.
25869 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
25871 Remove grub_script_cmdblock struct.
25873 * include/grub/script_sh.h: Remove grub_script_cmdblock.
25874 * script/parser.y: Likewise.
25875 * script/execute.c: Rename cmdblock suffix to cmdlist.
25876 * script/script.c: Likewise.
25877 * util/grub-script-check.c: Likewise.
25879 2010-08-11 Yves Blusseau <blusseau@zetam.org>
25881 * .bzrignore: add grub-macho2img
25883 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25885 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
25887 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
25889 Remove the dump of sm712 initialisation sequence.
25891 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
25892 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
25893 (GRUB_VGA_IO_MISC_WRITE): Likewise.
25894 (GRUB_VGA_CR_*): Added many registers.
25895 (GRUB_VGA_SR_*): Likewise.
25896 (GRUB_VGA_GR_*): Likewise.
25897 (grub_vga_write_arx): New function.
25898 (grub_video_hw_config): New struct.
25899 (grub_vga_set_geometry): New function.
25900 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
25901 GRUB_PCI_CLASS_SUBCLASS_VGA.
25902 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
25903 * video/sm712.c (grub_sm712_write_reg): New function
25904 (grub_sm712_read_reg): Likewise.
25905 (grub_sm712_sr_write): Likewise.
25906 (grub_sm712_gr_write): Likewise.
25907 (grub_sm712_cr_write): Likewise.
25908 (grub_sm712_write_arx): Likewise.
25909 (grub_sm712_cr_shadow_write): Likewise.
25910 (grub_sm712_write_dda_lookup): Likewise.
25911 (grub_video_sm712_setup): Initialise the video rather then
25912 blindly replay the dump.
25913 (main) [TEST]: Add a routine to be able to compile as standalone for
25915 * video/sm712_init.c (sm712_init): Removed.
25916 (sm712_sr_seq1): New array.
25917 (sm712_sr_seq2): Likewise.
25919 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25921 * include/grub/vga.h: Add missing grub/pci.h include.
25923 2010-08-10 Yves Blusseau <blusseau@zetam.org>
25925 * util/grub-macho2img.c (main): fix typo
25927 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
25929 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
25930 (grub_vga_gr_read): Likewise.
25931 (grub_vga_cr_write): Likewise.
25932 (grub_vga_cr_read): Likewise.
25933 (grub_vga_sr_write): Likewise.
25934 (grub_vga_sr_read): Likewise.
25935 (grub_vga_palette_read): Likewise.
25936 (grub_vga_palette_write): Likewise.
25937 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
25938 (grub_sm712_sr_read): New function.
25939 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
25940 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
25942 2010-08-09 Robert Millan <rmh@gnu.org>
25944 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
25945 out unused variables on non-ZFS build.
25947 2010-08-08 Robert Millan <rmh@gnu.org>
25949 Fix path generation for sub-filesystems in ZFS.
25951 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
25954 2010-08-08 Robert Millan <rmh@gnu.org>
25956 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
25958 2010-08-08 Robert Millan <rmh@gnu.org>
25960 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
25961 exist, issue a proper error message (rely on `ls' for translated
25964 2010-08-08 Robert Millan <rmh@gnu.org>
25966 Fix grub-probe invocation.
25968 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
25970 2010-08-04 Robert Millan <rmh@gnu.org>
25972 * configure.ac: Remove checks for getfsstat() and getmntany().
25973 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
25974 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
25975 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
25976 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
25977 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
25979 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
25980 via find_mount_point_from_dir() and getfsstat() / getmntany().
25982 2010-08-04 Robert Millan <rmh@gnu.org>
25984 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
25985 (grub_find_zpool_from_mount_point): Merge into ...
25986 (grub_find_zpool_from_dir): ... this.
25987 * kern/emu/misc.c: Likewise.
25990 (grub_make_system_path_relative_to_its_root): Replace
25991 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
25992 with grub_find_zpool_from_dir().
25993 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
25995 2010-08-04 Robert Millan <rmh@gnu.org>
25997 Support OpenSolaris in ZFS device resolution.
25999 * configure.ac: Check for getmntany().
26000 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
26001 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
26004 2010-08-03 Robert Millan <rmh@gnu.org>
26006 Fix grub-emu build.
26008 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
26009 * include/grub/emu/misc.h: ... here.
26011 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
26012 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
26014 * util/misc.c: Remove `<grub/util/libzfs.h>'.
26015 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
26016 (grub_get_libzfs_handle): Move to ...
26017 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
26018 (grub_get_libzfs_handle): ... here.
26020 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
26022 * script/execute.c (grub_script_execute_cmdline): Check for NULL
26023 as command name case.
26025 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
26027 * disk/raid.c (insert_array): Select unique numbers for named arrays
26028 as well, for use as keys in the disk cache.
26030 2010-08-01 Robert Millan <rmh@gnu.org>
26032 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
26033 kFreeBSD device name, except on ZFS where the filesystem label is
26035 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
26036 `/boot/zfs/zpool.cache'.
26037 Set mountfrom kernel variable using ${kfreebsd_device}.
26039 2010-08-01 Robert Millan <rmh@gnu.org>
26041 Make it even harder to use uninitialized `libzfs_handle' (and
26042 make the interface a bit simpler).
26044 * include/grub/util/misc.h (grub_util_init_libzfs)
26045 (libzfs_handle): Remove.
26046 (grub_get_libzfs_handle): New prototype.
26048 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
26050 (grub_util_init_libzfs): Remove.
26051 (grub_get_libzfs_handle): New function.
26053 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
26054 grub_get_libzfs_handle() to obtain a libzfs handle instead of
26055 accessing `libzfs_handle' directly.
26057 2010-08-01 Robert Millan <rmh@gnu.org>
26059 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26060 (grub_find_zpool_from_mount_point): New function prototypes.
26062 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26063 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26065 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26066 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26067 `static' attribute.
26069 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26070 finding zpool from mount point into ...
26071 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26073 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26074 requested path is part of a ZFS pool, use
26075 grub_find_zpool_from_mount_point() to detect its filesystem name,
26076 and generate a path with `/fsname@path' syntax.
26078 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26080 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
26081 (void) rather than () so that this is a proper prototype.
26083 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26085 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
26087 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26089 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
26090 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
26092 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26094 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
26096 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26098 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
26100 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26102 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
26103 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
26104 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
26105 disable gfxpayload.
26106 (Shell-like scripting): Add real content.
26107 (Serial terminal): Suggest `terminal_input serial; terminal_output
26108 serial' rather than putting the two commands on separate lines,
26109 since console input will be inoperative after the first command.
26110 (menuentry): Document --class, --users, and --hotkey options.
26111 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
26112 Vladimir Serbinenko).
26114 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
26115 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26117 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
26119 2010-08-01 Robert Millan <rmh@gnu.org>
26121 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
26122 (grub_find_zpool_from_mount_point): New function prototypes.
26124 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
26125 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
26127 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
26128 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
26129 `static' attribute.
26131 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
26132 finding zpool from mount point into ...
26133 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
26135 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
26136 requested path is part of a ZFS pool, use
26137 grub_find_zpool_from_mount_point() to detect its filesystem name,
26138 and generate a path with `/fsname@path' syntax.
26140 2010-08-01 Robert Millan <rmh@gnu.org>
26142 Prevent accidental use of uninitialized libzfs_handle.
26144 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
26145 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
26146 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
26148 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
26150 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
26151 util/grub.d/10_linux.in). Fixes Debian bug #591093.
26153 2010-08-01 Robert Millan <rmh@gnu.org>
26155 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
26157 2010-07-31 Robert Millan <rmh@gnu.org>
26159 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
26161 2010-07-31 Robert Millan <rmh@gnu.org>
26163 * kern/emu/misc.c: Add missing license header.
26165 2010-07-31 Robert Millan <rmh@gnu.org>
26167 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
26169 * include/grub/util/libnvpair.h: Include `<config.h>'.
26170 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
26171 declaring libnvpair prototypes ourselves.
26172 * include/grub/util/libzfs.h: Include `<config.h>'.
26173 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
26174 declaring libzfs prototypes ourselves.
26176 (libzfs_handle): Moved to ...
26177 * include/grub/util/misc.h (libzfs_handle): ... here.
26178 Include `<grub/util/libzfs.h>'.
26180 2010-07-30 Robert Millan <rmh@gnu.org>
26182 * include/grub/emu/misc.h: Add missing license header.
26184 2010-07-30 Robert Millan <rmh@gnu.org>
26186 Enable `grub-probe -t device' resolution on ZFS.
26188 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
26189 * include/grub/util/libnvpair.h: New file.
26190 * include/grub/util/libzfs.h: New file.
26192 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
26193 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
26194 `<grub/util/libnvpair.h>'.
26195 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
26197 (find_mount_point_from_dir): New static function.
26198 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
26200 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
26201 find_root_device_from_libzfs() before ressorting to find_root_device().
26203 * include/grub/util/misc.h (grub_util_init_libzfs): New function
26205 * util/misc.c: Include `<grub/util/libzfs.h>'.
26206 (grub_util_init_libzfs): New function.
26207 [HAVE_LIBZFS] (libzfs_handle): New global variable.
26208 [HAVE_LIBZFS] (fini_libzfs): New static function.
26209 (grub_util_init_libzfs): New function.
26210 * util/grub-probe.c (main): Call grub_util_init_libzfs().
26212 2010-07-30 Robert Millan <rmh@gnu.org>
26214 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
26215 (xmalloc, xrealloc, xstrdup, xasprintf): Add
26216 `warn_unused_result' attribute.
26217 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
26218 (grub_xasprintf, grub_xvasprintf): Likewise.
26219 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
26221 2010-07-29 Robert Millan <rmh@gnu.org>
26223 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
26224 (probe): Handle `PRINT_FS_LABEL'.
26225 (main): Handle `-t fs_label'.
26227 2010-07-29 Robert Millan <rmh@gnu.org>
26229 * configure.ac: Remove grub-mkisofs checks.
26231 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
26233 * util/ieee1275/grub-install.in: Don't use empty grub_device.
26234 Reported by: Lennart Sorensen.
26236 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26238 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
26239 prior to terminal_input/terminal_output separation. It's been over 1.5
26240 years and those versions weren't widely deployed.
26242 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
26244 * disk/raid.c (insert_array): Don't count named arrays when looking
26245 for unused array numbers.
26246 Reported and tested by: Michael Guntsche.
26248 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26250 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
26251 implementation of this so that grub-emu links again, with a note
26252 that this should support hotplugging in the future.
26254 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26256 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
26258 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26260 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
26262 (grub_loopback_close): Remove empty function.
26263 (grub_loopback_dev): Remove close method.
26265 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26267 Disable EFI cursor when the EFI console becomes inactive.
26269 * term/efi/console.c (grub_efi_console_init): New function.
26270 (grub_efi_console_fini): New function.
26271 (grub_console_term_output): Register init and fini methods.
26273 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26275 * tests/util/grub-shell-tester.in: Remove bashism and declare as
26278 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26280 * disk/loopback.c (grub_loopback): Replace filename with file.
26281 (delete_loopback): Handle new semantics.
26282 (grub_cmd_loopback): Likewise.
26283 (grub_loopback_iterate): Likewise.
26284 (grub_loopback_close): Likewise.
26286 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26288 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
26290 Reported by: Tito Keitel.
26292 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26294 * docs/grub.texi (Naming convention): Document new naming convention.
26296 2010-07-20 Vadim Solomin <vadic052@gmail.com>
26297 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26299 Generate device.map in something closer to the old ordering.
26301 * util/deviceiter.c (struct device): New declaration.
26302 (compare_file_names): Rename to ...
26303 (compare_devices): ... this. Sort by kernel name in preference to
26304 the stable by-id name, but keep the latter as a fallback comparison.
26305 Update header comment.
26306 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
26307 of `struct device' rather than of plain file names.
26309 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
26311 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
26314 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
26316 * commands/acpi.c (setup_common_tables): Use sizeof instead of
26318 (setv1table): Likewise.
26320 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26322 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
26323 removing the homehost if present.
26324 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
26325 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
26326 removing the homehost if present.
26327 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
26329 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
26331 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
26332 parameter. Set its pointer target to 0.
26333 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
26334 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
26335 `data_offset' value from the superblock for 1.x metadata.
26336 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
26337 data on the device.
26338 (insert_array): Record the start sector of data on the device.
26339 (grub_raid_register): Pass start_sector parameters to
26340 grub_raid_list->detect and insert_array.
26341 * include/grub/raid.h (struct grub_raid_array): Add start_sector
26343 (struct grub_raid): Add start_sector parameter to `detect'.
26345 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
26346 __attribute__ ((packed)), leaving a comment.
26347 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
26348 (grub_mdraid_detect_09): ... here and ...
26349 (grub_mdraid_detect_1x): ... here.
26351 2010-07-20 Peter Henn <peter.henn@web.de>
26353 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
26354 chunk size and disk size, which are already given as sector counts
26355 as distinct from the 0.90 units. Fetch the correct device number
26356 from the role table instead of using the table index.
26358 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
26360 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
26361 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
26362 (WriteMostly1): New macro.
26363 Set array->name to NULL for metadata format 0.90. Add support for
26364 metadata 1.x. Fix some comments.
26365 * disk/raid.c (): Add support for name based RAID arrays. Fix a
26367 * util/getroot.c (grub_util_get_grub_dev): Add support for
26368 /dev/md/name style devices.
26370 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
26372 * .bzrignore: Ignore 20_linux_xen.
26374 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
26376 * util/import_unicode.py: Remove unnecessary imports.
26378 2010-07-17 Aleš Nesrsta <starous@volny.cz>
26380 Hotplugging and USB hub support.
26382 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
26383 (grub_ohci): Likewise.
26384 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
26385 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
26386 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
26387 (GRUB_OHCI_CTRL_EDS): Likewise.
26388 (GRUB_OHCI_BULK_EDS): Likewise.
26389 (GRUB_OHCI_TDS): Likewise.
26390 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
26391 (grub_ohci_ed_phys2virt): New function.
26392 (grub_ohci_virt_to_phys): Likewise.
26393 (grub_ohci_td_phys2virt): Likewise.
26394 (grub_ohci_td_virt2phys): Likewise.
26395 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
26397 (grub_ohci_find_ed): New function.
26398 (grub_ohci_alloc_td): Likewise.
26399 (grub_ohci_free_td): Likewise.
26400 (grub_ohci_free_tds): Likewise.
26401 (grub_ohci_transfer): Use previously allocated memory.
26402 (grub_ohci_portstatus): Reset status changed bit.
26403 (grub_ohci_detect_dev): Supply status changed.
26404 (grub_ohci_fini_hw): Free memory.
26405 (grub_ohci_restore_hw): Reallocate memory.
26406 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
26407 Reset status change.
26408 (grub_uhci_detect_dev): Supply status_change.
26409 * bus/usb/usb.c (attach_hooks): New var.
26410 (grub_usb_device_attach): New function.
26411 (grub_usb_register_attach_hook_class): Likewise.
26412 (grub_usb_unregister_attach_hook_class): Likewise.
26413 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
26414 (grub_usb_add_hub): Reset connection changed bit.
26415 (attach_root_port): New function.
26416 (grub_usb_root_hub): Likewise.
26417 (poll_nonroot_hub): Likewise.
26418 (grub_usb_poll_devices): Likewise.
26419 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
26420 * disk/usbms.c (grub_usbms_open): Use device hooks.
26421 (grub_usbms_iterate) :Poll devices.
26422 (grub_usbms_finddevs): Split into ...
26423 (grub_usbms_attach): ... this ...
26424 (grub_usbms_attach): ... and this.
26425 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
26427 (grub_usb_interface): New fields attached and detach_hook.
26428 (grub_usb_attach_hook_class): New type.
26429 (grub_usb_attach_desc): New struct.
26430 (grub_usb_register_attach_hook_class): New function.
26431 (grub_usb_unregister_attach_hook_class): Likewise.
26432 (grub_usb_poll_devices): Likewise.
26433 (grub_usb_device_attach): Likewise.
26434 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
26435 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
26437 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26439 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
26440 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
26441 delta determination style. Works with most NetBSD partitions too.
26443 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26445 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
26446 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
26448 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
26450 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
26452 2010-07-14 Anton Blanchard <anton@samba.org>
26454 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
26457 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26459 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
26461 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
26463 * kern/partition.c (grub_partition_check_containment): New function to
26464 check that a partition is physically contained in a parent. Since
26465 offsets are relative (and non-negative), this reduces to checking that
26466 the partition ends before its parent.
26467 (grub_partition_map_probe): Discard out-of-range sub-partitions.
26468 (grub_partition_iterate): Likewise.
26469 * include/grub/partition.h (grub_partition_map): Slightly more detailed
26471 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
26472 partitions that start before their parent, and add debug printfs.
26474 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
26476 * Makefile.in (.SUFFIX): Spell correctly, as ...
26477 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
26478 bare module name without `.mod', e.g. `test') tried to invoke a
26481 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
26483 * README: Point to the Info manual.
26485 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
26487 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
26488 2nd superblock position from partition size.
26490 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
26492 * Makefile.in (MAINTAINER_CLEANFILES): Remove
26493 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
26494 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
26497 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26499 Restructure SCSI .id handling.
26500 Reported and tested by: Aleš Nesrsta.
26502 * disk/ata.c (grub_atapi_close): Removed. All users updated.
26503 (grub_atapi_dev): Changed .name to "ata". New field .id.
26504 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
26505 (grub_usbms_dev): New field .id.
26506 * disk/scsi.c (grub_scsi_iterate): Generate name.
26507 (grub_scsi_open): Parse name.
26508 * include/grub/scsi.h (grub_make_scsi_id): New function.
26509 (grub_scsi_dev): Change iterate and open to number instead of naming
26510 busses. All users updated.
26511 (grub_scsi): Remove name. Add .bus.
26513 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26515 * commands/help.c (grub_cmd_help): Fix a typo.
26517 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26519 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
26520 Reported and tested by: Colin Watson.
26522 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
26524 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
26527 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
26529 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
26531 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
26533 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
26536 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26538 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
26539 and disk/raid6_recover.c.
26540 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26541 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
26543 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26545 * term/gfxterm.c (repaint_schedulded): Rename to ...
26546 (repaint_scheduled): ... this. Update all callers.
26547 (repaint_was_schedulded): Rename to ...
26548 (repaint_was_scheduled): ... this. Update all callers.
26550 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26552 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
26553 which we expect to be handled by upper layers.
26555 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
26557 * bus/usb/usbhub.c: #include time.h header.
26559 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26561 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
26562 entry_name also for entries without stat blocks (e.g. ".."); fixes
26563 corruption of the first entry in a directory.
26565 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
26567 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
26568 after setting gfxterm as the active terminal. GRUB_BACKGROUND
26569 doesn't work otherwise.
26571 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26573 * docs/grub.texi (Features): Update list of supported file systems.
26574 (GNU/Linux): Update for GRUB 2.
26575 (Serial terminal): Remove mention of --disable-serial, which was a
26576 GRUB Legacy configure option. Update instructions to use
26577 `terminal_input' and `terminal_output' rather than `terminal'.
26578 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
26579 configuration' and `Installing GRUB using grub-install'.
26580 (Menu entry editor): Update for GRUB 2.
26581 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
26582 Document new -a, -u, and -v options.
26583 (initrd): New section.
26584 (initrd16): New section.
26585 (linux): New section.
26586 (linux16): New section.
26587 (search): The `var' argument to `--set' is optional.
26588 (GRUB only offers a rescue shell): Go into a little more detail on
26591 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26593 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
26595 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26597 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
26598 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
26600 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
26602 * util/i386/pc/grub-setup.c (setup): Rename prefix to
26603 install_prefix, in line with install_dos_part and install_bsd_part.
26604 Add new prefix variable, which is copied to install_prefix after
26605 comparing core.img in memory with the one read from disk in the
26606 no-embedding case, and use that rather than overwriting
26607 install_prefix immediately when installing to a partition.
26608 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
26611 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26613 * configure.ac: Avoid == in test command, it's not portable.
26614 * util/grub.d/30_os-prober.in: Likewise.
26616 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
26618 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
26620 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
26622 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
26623 multiple (top-level) partmaps.
26625 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26627 * util/i386/efi/grub-install.in: Don't use empty grub_device.
26628 Reported by: Tino Keitel.
26630 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26632 Bidi and diacritics support.
26634 * Makefile.in (widthspec.bin): New target.
26635 (widthspec.h): Likewise.
26636 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
26637 * autogen.sh: Generate unidata.c.
26638 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
26639 * commands/ls.c (grub_ls_list_devices): Likewise.
26640 (grub_ls_list_files): Likewise.
26641 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
26642 (grub_mini_cmd_lsmod): Likewise.
26643 * commands/read.c: Likewise.
26644 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
26645 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
26646 * lib/arg.c (grub_arg_show_help): Likewise.
26647 * lib/crypto.c (grub_password_get): Likewise.
26648 * normal/auth.c (grub_username_get): Likewise.
26649 * normal/misc.c (grub_normal_print_device_info): Likewise.
26650 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
26651 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
26652 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
26653 (normal/charset.c_DEPENDENCIES): New variable.
26654 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
26655 (pkglib_MODULES): Remove charset.mod.
26656 (charset_mod_SOURCES): Removed.
26657 (charset_mod_CFLAGS): Likewise.
26658 (charset_mod_LDFLAGS): Likewise.
26659 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
26660 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
26662 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26663 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
26664 (kernel_img_HEADERS): Add terminfo.h.
26665 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
26666 Fill ->font. Reverse ascii bitmaps.
26667 (grub_font_get_xheight): New function.
26668 * font/font.c (grub_font_get_string_width): Moved from here ...
26669 * gfxmenu/font.c (grub_font_get_string_width): ... here.
26670 * font/font.c (grub_font_draw_string): Moved from here ...
26671 * gfxmenu/font.c (grub_font_draw_string): ... here.
26672 * font/font.c (grub_font_dup_glyph): New function.
26673 (grub_font_blit_glyph): Likewise.
26674 (grub_font_blit_glyph_mirror): Likewise.
26675 (blit_comb): Likewise.
26676 (grub_font_construct_dry_run): Likewise.
26677 (grub_font_get_constructed_device_width): Likewise.
26678 (grub_font_construct_glyph): Likewise.
26679 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
26680 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
26681 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
26682 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
26683 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
26684 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
26685 (grub_font_get_xheight): New proto.
26686 (grub_font_get_constructed_device_width): Likewise.
26687 (grub_font_construct_glyph): Likewise.
26688 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
26689 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
26690 * include/grub/font.h (grub_font_draw_string): Moved from here ...
26691 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
26692 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
26693 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
26694 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
26695 (grub_console_getcharwidth): Likewise.
26696 * include/grub/misc.h (grub_xputs): New proto.
26697 (grub_puts): Inlined.
26698 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
26699 (grub_normal_get_line_counter): Removed.
26700 (grub_install_newline_hook): Likewise.
26701 (grub_normal_get_char_counter): New proto.
26702 (grub_normal_reset_more): Likewise.
26703 (grub_xputs_normal): Likewise.
26704 * include/grub/powerpc/ieee1275/console.h: Removed.
26705 * include/grub/sparc64/ieee1275/console.h: Likewise.
26706 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
26707 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
26708 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
26709 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
26710 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
26711 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
26712 (grub_term_input): Pass reference to self. All users updated.
26713 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
26714 Pass reference to self. New fields normal_color, highlight_color and
26715 data. All users updated.
26716 (grub_putchar): Removed.
26717 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
26718 (grub_unicode_estimate_width): New function.
26719 (grub_term_getcharwidth): Add defaults.
26720 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
26721 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
26722 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
26723 (grub_cls): Remove EXPORT_FUNC.
26724 (grub_setcolorstate): Inline.
26725 (grub_newline_hook): Removed.
26726 * include/grub/terminfo.h: Rewritten. All users updated.
26727 * include/grub/unicode.h: New file.
26728 * include/grub/video.h (grub_video_signed_rect): New type.
26729 * kern/emu/console.c (grub_console_highlight_color): Removed.
26730 (grub_console_normal_color): Likewise.
26731 (grub_console_standard_color): Made static.
26732 (grub_ncurses_putchar): Remove mapping.
26733 (grub_ncurses_getcharwidth): Removed.
26734 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26735 (grub_ncurses_setcolor): Removed.
26736 (grub_ncurses_getcolor): Likewise.
26737 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
26738 (grub_console_putchar): ... this.
26739 (grub_console_putchar): Handle argument difference.
26740 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
26741 console_init_early and console_init_lately.
26742 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
26743 * kern/misc.c (grub_puts): Removed.
26744 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
26745 (grub_vsnprintf_real): Remove str = NULL support.
26746 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
26747 * normal/charset.c (grub_utf8_to_ucs4): ... here.
26748 * kern/term.c (grub_putcode): Renamed to ...
26749 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
26750 (grub_putchar): Removed.
26751 (grub_xputs_dumb): New function.
26752 (grub_xputs): New variable.
26753 * lib/charset.c: Move from here ...
26754 * normal/charset.c: ... to here.
26755 (grub_ucs4_to_utf8): New function.
26756 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
26757 (join_types): New variable.
26758 (unpack_join): New function.
26759 (bidi_types): New variable.
26760 (unpack_bidi): New function.
26761 (get_bidi_type): Likewise.
26762 (get_join_type): Likewise.
26763 (is_mirrored): Likewise.
26764 (grub_unicode_get_comb_type): Likewise.
26765 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
26766 (is_type_after): Likewise.
26767 (grub_unicode_aglomerate_comb): Likewise.
26768 (bidi_line_wrap): Likewise.
26769 (grub_bidi_line_logical_to_visual): Likewise.
26770 (grub_bidi_logical_to_visual): Likewise.
26771 (grub_unicode_mirror_code): Likewise.
26772 (grub_unicode_shape_code): Likewise.
26773 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
26774 Don't use grub_putchar.
26775 * normal/main.c (grub_normal_init_page): Use grub_putcode.
26776 (grub_normal_reader_init): Likewise.
26777 (grub_xputs_saved): New variable.
26778 (GRUB_MOD_INIT): Set grub_xputs.
26779 (GRUB_MOD_FINI): Restore grub_xputs.
26780 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
26781 (menu_init): Avoid printing gfxmenu error.
26782 (show_menu): Use grub_normal_get_char_counter.
26783 * normal/menu_entry.c (update_screen): Fix out-of-array.
26784 (complete): Avoid NULL dereferencing.
26785 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
26786 * normal/menu_text.c (print_spaces): Removed.
26787 (grub_print_ucs4): Likewise.
26788 (grub_print_message_indented): Use grub_print_ucs4.
26789 (print_message): Use grub_putcode.
26790 (print_entry): Hanlde diacritics.
26791 * normal/term.c (term_state): New type.
26792 (grub_more_lines): Removed.
26793 (term_states): New variable.
26794 (grub_normal_line_counter): Renamed to ..
26795 (grub_normal_char_counter): ...this. All users updated.
26796 (grub_normal_get_line_counter): Renamed to ...
26797 (grub_normal_get_char_counter): ... this.
26798 (grub_normal_reset_more): New function.
26799 (process_newline): Removed.
26800 (print_more): New function.
26801 (grub_install_newline_hook): Removed.
26802 (map_code): New function.
26803 (grub_puts_terminal): Use grub_print_ucs4.
26804 (putglyph): New function.
26805 (putcode_real): Likewise.
26806 (grub_putcode): Use putcode_real.
26807 (get_maxwidth): New function.
26808 (get_startwidth): Likewise.
26809 (print_ucs4_terminal): Likewise.
26810 (find_term_state): Likewise.
26811 (put_glyphs_terminal): Likewise.
26812 (print_backlog): Likewise.
26813 (print_ucs4_real): Likewise.
26814 (grub_print_ucs4): Likewise.
26815 (grub_xputs_normal): Likewise.
26816 * term/efi/console.c (grub_console_putchar): Output diacritics.
26817 (grub_console_getcharwidth): Removed.
26818 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26819 * term/gfxterm.c (clear_char): Free chars.
26820 (scroll_up): Avoid leaking memory.
26821 (grub_gfxterm_putchar): Support diacritics.
26822 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
26823 * term/i386/pc/console.c (grub_console_term_output): Declare as
26824 GRUB_TERM_CODE_TYPE_VGA.
26825 * term/i386/pc/vga.c (grub_vga_term): Declare as
26826 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
26827 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
26828 GRUB_TERM_CODE_TYPE_VGA.
26829 * term/i386/vga_common.c (map_char): Removed.
26830 (grub_console_putchar): Likewise.
26831 (grub_console_getcharwidth): Likewise.
26832 * term/ieee1275/ofconsole.c: Simplify using terminfo.
26833 (colors): Reordered to match terminfo.
26834 (grub_ofconsole_normal_color): Removed.
26835 (grub_ofconsole_writeesc): Likewise.
26836 (grub_ofconsole_highlight_color): Likewise.
26837 (grub_ofconsole_getcharwidth): Likewise.
26838 (grub_ofconsole_setcolorstate): Likewise.
26839 (grub_ofconsole_setcolor): Likewise.
26840 (grub_ofconsole_getcolor): Likewise.
26841 (grub_ofconsole_readkey): Renamed to ...
26842 (readkey): ... this. Remove escape sequence handling. Return -1 on no
26844 (grub_ofconsole_checkkey): Removed.
26845 (grub_ofconsole_getkey): Likewise.
26846 (grub_ofconsole_getxy): Likewise.
26847 (grub_ofconsole_gotoxy): Likewise.
26848 (grub_ofconsole_cls): Likewise.
26849 (grub_ofconsole_refresh): Likewise.
26850 (grub_ofconsole_terminfo_input): New struct.
26851 (grub_ofconsole_terminfo_output): Likewise.
26852 (grub_ofconsole_term_input): Use terminfo.
26853 (grub_ofconsole_term_output): Likewise.
26854 (grub_console_init): Split into ...
26855 (grub_console_init_early): ...this and ...
26856 (grub_console_init_lately): ...this. Use terminfo.
26857 (grub_ofconsole_putchar): Renamed to ...
26858 (put): ... this. Remove mapping.
26859 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
26860 * term/serial.c: Simplify using terminfo.
26863 (keep_track): Likewise.
26864 (registered): Likewise.
26865 (input_buf): Likewise.
26866 (npending): Likewise.
26867 (serial_translate_key_sequence): Likewise.
26868 (fill_input_buf): Likewise.
26869 (grub_serial_checkkey): Likewise.
26870 (grub_serial_getkey): Likewise.
26871 (grub_serial_getxy): Likewise.
26872 (grub_serial_gotoxy): Likewise.
26873 (grub_serial_putchar): Likewise.
26874 (grub_serial_cls): Likewise.
26875 (grub_serial_setcolorstate): Likewise.
26876 (grub_serial_setcursor): Likewise.
26877 (serial_hw_init): Use serial_hw_fetch.
26878 (grub_serial_terminfo_input): New variable.
26879 (grub_serial_terminfo_output): Likewise.
26880 (grub_serial_term_input): Use terminfo.
26881 (grub_serial_term_output): Likewise.
26882 * term/terminfo.c (putstr): Use put.
26883 (grub_terminfo_all_free): New function
26884 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
26885 (grub_terminfo_output_register): New function.
26886 (grub_terminfo_output_unregister): Likewise.
26887 (grub_terminfo_getxy): Likewise.
26888 (grub_terminfo_readkey): Likewise.
26889 (grub_terminfo_checkkey): Likewise.
26890 (grub_terminfo_getkey): Likewise.
26891 (grub_terminfo_input_init): Likewise.
26892 (print_terminfo): Likewise.
26893 (grub_cmd_terminfo): Handle encoding.
26894 (grub_terminfo_gotoxy): Track position.
26895 (grub_terminfo_cls): Likewise.
26896 (grub_terminfo_putchar): Likewise.
26897 (grub_terminfo_setcolorstate): Handle colors
26898 (grub_terminfo_cursor_on): This ...
26899 (grub_terminfo_cursor_off): ... and this merged into ...
26900 (grub_terminfo_setcursor): ... this.
26901 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
26902 * unicode/ArabicShaping.txt: New file (imported from Unicode).
26903 * unicode/BidiMirroring.txt: Likewise.
26904 * unicode/UnicodeData.txt: Likewise.
26905 * unicode/COPYING: Likewise.
26906 * util/grub-editenv.c (grub_putchar): Removed.
26907 (grub_xputs_real): New function.
26908 (grub_xputs): New variable.
26909 * util/grub-fstest.c (grub_putchar): Removed.
26910 (grub_xputs_real): New function.
26911 (grub_xputs): New variable.
26912 * util/grub-mkdevicemap.c (grub_putchar): Removed.
26913 (grub_xputs_real): New function.
26914 (grub_xputs): New variable.
26915 * util/grub-probe.c (grub_putchar): Removed.
26916 (grub_xputs_real): New function.
26917 (grub_xputs): New variable.
26918 * util/grub-script-check.c (grub_putchar): Removed.
26919 (grub_xputs_real): New function.
26920 (grub_xputs): New variable.
26921 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
26922 (grub_xputs_real): New function.
26923 (grub_xputs): New variable.
26924 * util/import_unicode.py: New file.
26925 * util/grub-mkfont.c (ft_errmsgs): New array.
26926 (grub_glyph_info): Make bitmap a pointer.
26927 (file_formats): New type WIDTH_SPEC.
26928 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
26929 (options): Add width-spec.
26931 (add_char): Renamed to ...
26932 (add_glyph): ... this.
26933 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
26934 (glyph_replace): New type.
26935 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
26936 (add_char): New function.
26937 (add_subst): Likewise.
26938 (process_cursive): Likewise.
26939 (add_font): Handle GSUB.
26940 (write_font_width_spec): New function.
26941 (main): Sort glyphs.
26942 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
26943 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
26944 * kern/term.c (grub_cls): Moved from here...
26945 * normal/term.c (grub_cls): ... here.
26947 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26949 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
26950 suitable for using within the format argument of printf when
26951 converting grub_size_t.
26952 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
26953 "x" to convert grub_size_t arguments.
26955 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26957 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
26959 (list_get_minimal_size): Take selection box into account.
26961 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
26963 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
26966 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26968 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
26969 devices when iterating over /dev/disk/by-id; they will be handled
26970 later if appropriate, which they aren't always (e.g. LVM).
26972 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26974 * include/grub/misc.h (grub_reboot): Declare as noreturn.
26975 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
26977 (grub_halt): Likewise.
26978 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
26980 (grub_halt): Don't return, even if all of shut-down, power-off, and
26983 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26985 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
26986 arguments, not three.
26988 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26990 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
26991 * util/grub.d/10_linux.in: Use it to check for LVM, so that
26992 LVM-on-RAID is handled correctly.
26994 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
26996 * docs/grub.texi (Changes from GRUB Legacy): New section.
26997 (Future): Fix typo.
26999 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
27001 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
27002 grub.d/README accidentally ends up executable for one reason or
27003 another. Ignore it.
27005 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27007 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
27008 (gpt_partition_map_iterate): Support non-512B sectors.
27010 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27012 * kern/efi/init.c (grub_efi_init): Disable watchdog.
27013 Tested by: Seth Goldberg.
27015 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
27017 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
27018 Properly align mbi.
27019 Reported by: Seth Goldberg.
27021 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27023 * util/grub-mkrescue.in: Avoid module duplication.
27025 2010-07-01 Sean Finney <seanius@seanius.net>
27027 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
27029 2010-07-01 Sean Finney <seanius@seanius.net>
27031 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
27033 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27035 * disk/lvm.c (grub_lvm_checkvalue): New function.
27036 (grub_lvm_check_flag): Likewise.
27038 2010-07-01 Robert Millan <rmh@gnu.org>
27040 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
27041 Support 'p' as partition separator on kernel of FreeBSD (used
27043 (grub_util_biosdisk_get_grub_dev): Likewise.
27045 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
27047 Yeeloong firmware port.
27049 * boot/mips/yeeloong/fwstart.S: New file.
27050 * bus/cs5536.c (gpiodump): New const.
27051 (set_io_space): New function.
27052 (set_iod): Likewise.
27053 (set_p2d): Likewise.
27054 (grub_cs5536_init_geode): Likewise.
27055 * commands/mips/yeeloong/lsspd.c: New file.
27056 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
27057 (serial_mod_SOURCES): New variable.
27058 (serial_mod_CFLAGS): Likewise.
27059 (serial_mod_LDFLAGS): Likewise.
27060 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
27061 term/terminfo.c and term/tparm.c.
27062 (pkglib_IMAGES): Add fwstart.img.
27063 (fwstart_img_SOURCES): New variable.
27064 (fwstart_img_CFLAGS): Likewise.
27065 (fwstart_img_ASFLAGS): Likewise.
27066 (fwstart_img_LDFLAGS): Likewise.
27067 (fwstart_img_FORMAT): Likewise.
27068 (pkglib_MODULES): Add lsspd.mod.
27069 (lsspd_mod_SOURCES): New variable.
27070 (lsspd_mod_CFLAGS): Likewise.
27071 (lsspd_mod_LDFLAGS): Likewise.
27072 (pkglib_MODULES): Add halt.mod.
27073 (halt_mod_SOURCES): New variable.
27074 (halt_mod_CFLAGS): Likewise.
27075 (halt_mod_LDFLAGS): Likewise.
27076 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
27077 (serial_mod_SOURCES): Removed.
27078 (serial_mod_CFLAGS): Likewise.
27079 (serial_mod_LDFLAGS): Likewise.
27080 * disk/ata.c (check_device): New function.
27081 (grub_ata_device_initialize): Use check_device.
27082 (grub_ata_iterate): Recheck devices.
27083 (grub_ata_open): Likewise.
27084 (grub_atapi_iterate): Likewise.
27085 (grub_atapi_open): Likewise.
27086 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
27087 (GRUB_ATA_CH1_PORT1): Likewise.
27088 (GRUB_ATA_CH0_PORT2): Likewise.
27089 (GRUB_ATA_CH1_PORT2): Likewise.
27090 * include/grub/mips/loongson.h: New file.
27091 * include/grub/mips/yeeloong/ec.h: Likewise.
27092 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
27093 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
27094 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
27095 * include/grub/misc.h (grub_halt): Declare as noreturn.
27096 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
27097 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
27098 (UART_ENABLE_FIFO_TRIGGER1): New definition.
27099 (UART_ENABLE_DTRRTS): Likewise.
27100 (UART_ENABLE_MODEM): Removed.
27101 (UART_ENABLE_OUT2): New const.
27102 * include/grub/term.h (grub_term_register_input_active): New function.
27103 (grub_term_register_output_active): Likewise.
27104 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
27106 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
27107 (init_pci): New function.
27108 (grub_machine_init): Execute platform init when firmware. Init serial.
27109 (grub_halt): Implement.
27110 (grub_exit): Likewise.
27111 (grub_reboot): Likewise.
27112 * term/serial.c (serial_hw_init): Update macros.
27113 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
27114 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
27115 (image_targets): New target mipsel-yeeloong-flash.
27116 (generate_image): Support IMAGE_YEELOONG_FLASH.
27117 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
27118 (grub_video_sm712_setup): Init card.
27119 (grub_video_sm712_set_palette): Removed.
27120 * video/sm712_init.c: New file.
27122 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
27124 * Makefile.in (install-local): Temporarily prepend $(builddir) to
27125 PATH when running help2man and then run it on the unadorned
27126 executable names, rather than passing $(builddir)/* paths to
27127 help2man. This avoids the build directory ending up in generated
27130 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
27132 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
27133 to avoid accidents when debugging with 'sh -x'.
27134 * util/grub-mkrescue.in: Likewise.
27135 * util/grub.d/00_header.in: Likewise.
27136 * util/grub.d/10_hurd.in: Likewise.
27137 * util/grub.d/10_kfreebsd.in: Likewise.
27138 * util/grub.d/10_linux.in: Likewise.
27139 * util/grub.d/10_netbsd.in: Likewise.
27140 * util/grub.d/10_windows.in: Likewise.
27141 * util/grub.d/20_linux_xen.in: Likewise.
27142 * util/grub.d/30_os-prober.in: Likewise.
27143 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27145 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
27147 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
27148 last character in the buffer.
27149 Reported by: Vladimir Serbinenko.
27151 2010-06-29 Robert Millan <rmh@gnu.org>
27153 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
27154 (Command-line and menu entry commands): Document `badram' command.
27156 2010-06-28 Robert Millan <rmh@gnu.org>
27158 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
27159 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
27160 command using ${GRUB_BADRAM} as parameter.
27162 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27164 * docs/grub.texi (Device map): New section.
27165 (Themes): New section (stub).
27166 * Makefile.in (docs/grub.info): The info documentation now builds
27167 without errors. Make sure it stays that way.
27169 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27171 Use normal parser for menu entries.
27172 Reported by: Thomas Frauendorfer
27174 * include/grub/parser.h (grub_parser_execute): Don't export.
27175 * normal/menu.c (grub_menu_execute_entry_real): New function.
27176 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
27178 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27180 * docs/grub.texi (Embedded configuration): New section (replacing
27181 old "Preset Menu" stub).
27182 (Images): New section.
27183 (configfile): Note that any menu entries defined in `file' are shown
27186 2010-06-28 Josh Triplett <josh@joshtriplett.org>
27188 * mmap/i386/pc/mmap_helper.S: Set CF on return.
27190 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27192 * util/grub-install.in: Add --debug-image= option.
27194 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27196 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
27199 * util/deviceiter.c (check_device): Rename to ...
27200 (check_device_readable_unique): ... this. Update all callers.
27201 Maintain and check a list of which devices (by canonicalized name)
27202 have already been seen.
27203 (clear_seen_devices): New function.
27204 (compare_file_names) [__linux__]: New function.
27205 (grub_util_iterate_devices): Clear the list of seen devices on exit
27206 and (just in case) on entry.
27207 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
27208 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
27209 seen-devices list, superseded by general code in check_device.
27211 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
27213 * commands/cat.c (options): New variable.
27214 (grub_cmd_cat): Parse options. If the --dos option is given, print
27215 DOS-style "\r\n" line endings as simple newlines (Debian bug
27217 (GRUB_MOD_INIT): Use extcmd.
27218 (GRUB_MOD_FINI): Likewise.
27219 * docs/grub.texi (cat): Document --dos.
27221 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27223 XEN with Linux grub-mkconfig support.
27225 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
27226 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
27227 GRUB_CMDLINE_XEN_DEFAULT.
27228 * util/grub.d/20_linux_xen.in: New file.
27230 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
27232 Initialise VGA video on qemu ourselves.
27234 * boot/i386/qemu/boot.S: Don't call 0xc000.
27235 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
27236 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
27237 (kernel_img_HEADERS): Add pci.h.
27238 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
27239 * configure.ac: Force unifont on qemu and yeeloong.
27240 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
27241 (grub_vga_palette_write): Use correct register.
27242 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
27243 Call grub_qemu_init_cirrus.
27244 * kern/i386/qemu/init.c: New file.
27245 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
27247 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
27249 2010-06-26 Pavel Roskin <proski@gnu.org>
27251 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
27254 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
27256 * docs/grub.texi (Simple configuration): Explain that
27257 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
27258 set to `true' to disable their respective recovery entries, not
27261 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
27263 Make the `source' command slightly faster.
27265 * normal/main.c (grub_normal_execute): Don't re-read list files when
27268 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
27270 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
27271 field position and mask size to red fields from mode_info, not
27273 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
27274 Remove redundant tag->common.framebuffer_type assignment.
27275 Reported by: Seth Goldberg.
27277 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
27279 Sync up other versions of the Linux loader with Robert Millan's
27280 change of 2010-01-09, "Make loader output a bit more user-friendly".
27282 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
27284 (grub_cmd_linux): Likewise.
27285 (grub_cmd_initrd): Likewise.
27286 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
27287 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27289 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
27291 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
27292 larger than MEMORY_MAP_SIZE.
27294 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
27296 Fix parallel build.
27298 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
27300 * script/parser.y: #include grub_script.tab.h header.
27302 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27304 Support >3GiB and <16MiB RAM in i386-qemu.
27306 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
27307 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
27308 (grub_lower_mem): Removed.
27309 (grub_upper_mem): Likewise.
27310 (mem_size): Made static.
27311 (above_4g): New variable.
27312 (grub_machine_mmap_init): Detect small mem_size and above_4g.
27313 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
27316 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27318 Cirrus 5446 and Bochs video cards support.
27320 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
27322 (video_cirrus_mod_SOURCES): New variable.
27323 (video_cirrus_mod_CFLAGS): Likewise.
27324 (video_cirrus_mod_LDFLAGS): Likewise.
27325 (video_bochs_mod_SOURCES): Likewise.
27326 (video_bochs_mod_CFLAGS): Likewise.
27327 (video_bochs_mod_LDFLAGS): Likewise.
27328 * include/grub/vga.h: New file.
27329 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
27330 (grub_video_fb_set_page_t): New type.
27331 (grub_video_fb_setup): New prototype.
27332 (grub_video_fb_swap_buffers): Likewise.
27333 (grub_video_fb_get_info_and_fini): Likewise.
27334 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
27335 (CRTC_DATA_PORT): Likewise.
27336 (CRTC_CURSOR): Likewise.
27337 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27338 (CRTC_CURSOR_ADDR_LOW): Likewise.
27339 (CRTC_CURSOR_DISABLE): Likewise.
27340 (update_cursor): Use grub_vga_cr_write.
27341 (grub_vga_text_setcursor): Likewise.
27342 * video/bochs.c: New file.
27343 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
27344 (palette): Likewise.
27345 (palette_size): Likewise.
27346 (framebuffer): New variable.
27347 (grub_video_fb_init): Use 'framebuffer'.
27348 (grub_video_fb_fini): Likewise.
27349 (grub_video_fb_get_info): Likewise.
27350 (grub_video_fb_get_palette): Likewise.
27351 (grub_video_fb_set_palette): Likewise.
27352 (grub_video_fb_set_viewport): Likewise.
27353 (grub_video_fb_get_viewport): Likewise.
27354 (grub_video_fb_map_color): Likewise.
27355 (grub_video_fb_map_rgb): Likewise.
27356 (grub_video_fb_map_rgba): Likewise.
27357 (grub_video_fb_unmap_color): Likewise.
27358 (grub_video_fb_unmap_color_int): Likewise.
27359 (grub_video_fb_fill_rect): Likewise.
27360 (grub_video_fb_blit_bitmap): Likewise.
27361 (grub_video_fb_blit_render_target): Likewise.
27362 (grub_video_fb_scroll): Likewise.
27363 (grub_video_fb_create_render_target): Likewise.
27364 (grub_video_fb_doublebuf_blit_init): Likewise.
27365 (grub_video_fb_set_active_render_target): Handle doublebuffering.
27366 (doublebuf_pageflipping_update_screen): New function.
27367 (doublebuf_pageflipping_init): Likewise.
27368 (grub_video_fb_setup): Likewise.
27369 (grub_video_fb_swap_buffers): Likewise.
27370 (grub_video_fb_get_info_and_fini): Likewise.
27371 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
27373 (doublebuf_pageflipping_commit): Restructured into ...
27374 (doublebuf_pageflipping_set_page): ... this.
27375 (doublebuf_pageflipping_update_screen): Removed.
27376 (doublebuf_pageflipping_init): Likewise.
27377 (double_buffering_init): Likewise.
27378 (grub_video_vbe_setup): Use grub_video_fb_setup.
27379 (grub_video_vbe_swap_buffers): Removed.
27380 (grub_video_vbe_set_active_render_target): Likewise.
27381 (grub_video_vbe_get_active_render_target): Likewise.
27382 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
27383 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
27384 grub_video_fb_set_active_render_target and
27385 grub_video_fb_get_active_render_target.
27386 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
27387 (SEQUENCER_DATA_PORT): Likewise.
27388 (MAP_MASK_REGISTER): Likewise.
27389 (CRTC_ADDR_PORT): Likewise.
27390 (CRTC_DATA_PORT): Likewise.
27391 (START_ADDR_HIGH_REGISTER): Likewise.
27392 (START_ADDR_LOW_REGISTER): Likewise.
27393 (GRAPHICS_ADDR_PORT): Likewise.
27394 (GRAPHICS_DATA_PORT): Likewise.
27395 (READ_MAP_REGISTER): Likewise.
27396 (INPUT_STATUS1_REGISTER): Likewise.
27397 (INPUT_STATUS1_VERTR_BIT): Likewise.
27398 (get_map_mask): Use grub_vga_sr_read.
27399 (set_map_mask): Use grub_vga_sr_write.
27400 (set_read_map): Use grub_vga_gr_write.
27401 (set_start_address): Use grub_vga_cr_write.
27402 * video/sm712.c (framebuffer): Remove leftover fields.
27404 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
27406 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
27407 setting GRUB_VIDEO_BACKEND. Make it available as a user override
27408 instead. Replace the gfxterm backend check with a check that
27409 ${GRUB_PREFIX}/video.lst is non-empty.
27410 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
27412 (load_video): New generated function. Call it before loading
27413 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
27414 * util/grub.d/10_linux.in (linux_entry): Call load_video.
27415 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
27416 * docs/grub.texi (Simple configuration): Document
27417 GRUB_VIDEO_BACKEND.
27419 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
27421 Use video functions in linux and xnu loaders.
27423 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
27424 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
27425 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
27426 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
27427 loader/i386/pc/linux.c.
27428 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
27429 (find_line_len): Removed.
27430 (find_framebuf): Likewise.
27431 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
27432 * loader/i386/efi/xnu.c: Removed.
27433 * loader/i386/pc/xnu.c: Moved from here...
27434 * loader/i386/xnu.c: ...here.
27436 Enable priorities in video drivers.
27438 * include/grub/video.h (grub_video_adapter_prio_t): New type.
27439 (grub_video_adapter): New field prio.
27440 (grub_video_register): Respect prio when inserting.
27441 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
27442 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
27443 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
27444 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
27445 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
27446 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
27447 * video/sm712.c (grub_video_sm712_adapter): Likewise.
27451 * include/grub/video.h (grub_video_driver_id_t): New value
27452 GRUB_VIDEO_DRIVER_SDL.
27453 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
27455 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27457 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
27458 argument to printf.
27459 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27461 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27463 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
27464 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27466 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27468 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
27469 directly, and recommend grub-install instead.
27470 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
27472 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
27474 Fix i386-pc prefix handling with nested partitions (Debian bug
27475 #585068). Note that the case where the core image is booted using
27476 multiboot and relocated from its original location still requires
27479 * kern/i386/pc/init.c (make_install_device): If the prefix starts
27480 with "(,", fill the boot drive in between those two characters, but
27481 expect that a full partition specification including partition map
27483 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
27484 specified, write a prefix without the drive name but including a
27485 full partition specification.
27487 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
27489 * util/grub-mkconfig.in: Ignore non-option arguments, for
27490 compatibility with older versions (before 2010-06-12) which did the
27491 same. In particular, this makes it easier to ship an update-grub
27492 wrapper which is compatible with that used with GRUB Legacy (Debian
27495 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27497 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
27498 for manual page generation.
27500 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
27502 * po/POTFILES: Remove leftover commands/handler.c.
27504 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
27506 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
27507 left this script non-functional.
27509 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
27511 * docs/man/grub-emu.h2m: New file.
27513 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
27515 * docs/grub.texi (Commands): Document reduced command set in rescue
27517 (cpuid): New section.
27519 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
27521 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
27522 new partition naming style.
27523 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
27525 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
27527 Add "-o grub.iso" like cmdline options support.
27529 * util/grub-install.in: Improve cmdline option parsing.
27530 * util/grub-mkconfig.in: Likewise.
27531 * util/grub-mkrescue.in: Likewise.
27532 * util/grub-reboot.in: Likewise.
27533 * util/grub-set-default.in: Likewise.
27534 * util/i386/efi/grub-install.in: Likewise.
27535 * util/ieee1275/grub-install.in: Likewise.
27536 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27538 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27540 * .bzrignore: Ignore 41_custom.
27542 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27544 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
27546 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27548 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
27549 prototype declarations.
27551 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
27552 generating fs, partmap, and video lists.
27553 * include/grub/fs.h (grub_fs_register): Omit prototype if
27554 GRUB_LST_GENERATOR is defined.
27555 * include/grub/partition.h (grub_partition_map_register): Likewise.
27556 * include/grub/video.h (grub_video_register): Likewise.
27558 2010-06-12 Javier Martín <lordhabbit@gmail.com>
27560 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
27562 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
27564 * util/grub-mkrescue.in: Support --xorriso argument.
27566 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27568 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
27569 Suggested by: Thomas Schmitt.
27571 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27573 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
27574 Suggested by: Thomas Schmitt.
27576 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
27578 custom.cfg support.
27580 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
27581 * util/grub.d/41_custom.in: New file.
27583 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
27585 * util/grub-mkrescue.in (make_image): Remove sh module, which has
27586 been merged back into normal.
27588 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27590 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
27591 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
27593 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
27595 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
27596 when generating manual pages.
27597 * docs/man/grub-bin2h.h2m: New file.
27598 * docs/man/grub-editenv.h2m: New file.
27599 * docs/man/grub-fstest.h2m: New file.
27600 * docs/man/grub-install.h2m: New file.
27601 * docs/man/grub-macho2img.h2m: New file.
27602 * docs/man/grub-mkconfig.h2m: New file.
27603 * docs/man/grub-mkdevicemap.h2m: New file.
27604 * docs/man/grub-mkfont.h2m: New file.
27605 * docs/man/grub-mkimage.h2m: New file.
27606 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
27607 * docs/man/grub-mkrelpath.h2m: New file.
27608 * docs/man/grub-mkrescue.h2m: New file.
27609 * docs/man/grub-ofpathname.h2m: New file.
27610 * docs/man/grub-pe2elf.h2m: New file.
27611 * docs/man/grub-probe.h2m: New file.
27612 * docs/man/grub-reboot.h2m: New file.
27613 * docs/man/grub-script-check.h2m: New file.
27614 * docs/man/grub-set-default.h2m: New file.
27615 * docs/man/grub-setup.h2m: New file.
27617 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
27619 Use FOR_* macros instead of *_iterate whenever possible.
27621 * commands/handler.c: Removed.
27622 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
27623 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
27624 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27625 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
27626 (grub_probe_SOURCES): Remove kern/parser.c.
27627 (util/grub-script-check.c_DEPENDENCIES): Removed.
27628 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
27629 and grub_script_check_init.c.
27630 (grub_script_check_init.lst): Removed.
27631 (grub_script_check_init.h): Likewise.
27632 (grub_script_check_init.c): Likewise.
27633 (pkglib_MODULES): Remove handler.mod and sh.mod.
27634 (handler_mod_SOURCES): Removed.
27635 (handler_mod_CFLAGS): Likewise.
27636 (handler_mod_LDFLAGS): Likewise.
27637 (normal_mod_SOURCES): Remove normal/handler.c.
27638 Add script/main.c, script/script.c, script/execute.c,
27639 script/function.c, script/lexer.c, grub_script.tab.c
27640 and grub_script.yy.c.
27641 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27642 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27643 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
27644 (grub_setup_SOURCES): Remove kern/parser.c.
27645 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27646 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
27647 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
27648 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27649 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
27650 (grub_setup_SOURCES): Remove kern/parser.c.
27651 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
27652 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
27653 * include/grub/command.h (grub_command_iterate): Removed.
27654 (FOR_COMMANDS): New macro.
27655 * include/grub/dl.h (grub_dl): New member next.
27656 (grub_dl_iterate): Removed.
27657 (grub_dl_head): New variable declaration.
27658 (FOR_DL_MODULES): New macro.
27659 * include/grub/fs.h: Include list.h.
27660 (grub_fs): Make next first element.
27661 (grub_fs_list): New variable declaration.
27662 (grub_fs_register): Make inline.
27663 (grub_fs_unregister): Likewise.
27664 (grub_fs_iterate): Removed.
27665 (FOR_FILESYSTEMS): New macro.
27666 * include/grub/handler.h: Removed.
27667 * include/grub/list.h (grub_list_hook_t): Removed.
27668 (grub_list_test_t): Likewise.
27669 (grub_list_pop): Likewise.
27670 (grub_list_iterate): Likewise.
27671 (grub_list_insert): Likewise.
27672 (FOR_LIST_ELEMENTS): New macro.
27673 * include/grub/parser.h (grub_parser_class): Removed.
27674 (grub_parser_register): Likewise.
27675 (grub_parser_unregister): Likewise.
27676 (grub_parser_get_current): Likewise.
27677 (grub_parser_set_current): Likewise.
27678 (grub_register_rescue_parser): Likewise.
27679 (grub_rescue_parse_line): New function.
27680 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
27681 * include/grub/script_sh.h (grub_script_function_list): New variable
27683 (FOR_SCRIPT_FUNCTIONS): New macro.
27684 (grub_script_function_iterate): Removed.
27685 (grub_normal_parse_line): New prototype.
27686 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
27687 (FOR_DISABLED_TERM_INPUTS): Likewise.
27688 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27689 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27690 * include/grub/video.h (grub_video_adapter): Move 'next' to first
27692 (grub_video_register): Inline.
27693 (grub_video_unregister): Likewise.
27694 (grub_video_adapter_list): New variable declaration.
27695 (grub_video_iterate): Removed.
27696 (FOR_VIDEO_ADAPTERS): New macro.
27697 * kern/dl.c (grub_dl_list): Removed. All users updated.
27698 (grub_dl_iterate): Removed.
27699 * kern/fs.c (grub_fs_list): Make global.
27700 (grub_fs_register): Removed.
27701 (grub_fs_unregister): Likewise.
27702 (grub_fs_iterate): Likewise.
27703 * kern/handler.c: Removed.
27704 * kern/list.c (grub_list_pop): Removed.
27705 (grub_list_iterate): Likewise.
27706 (grub_list_insert): Likewise.
27707 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
27708 (grub_prio_list_insert): Don't use grub_list_insert.
27709 * kern/main.c (grub_register_rescue_parser): Don't call
27710 grub_register_rescue_parser.
27711 * kern/parser.c (grub_parser_class): Removed.
27712 (grub_parser_execute): Use grub_rescue_parse_line.
27713 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
27714 (grub_rescue_parser): Removed.
27715 (grub_register_rescue_parser): Likewise.
27716 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
27717 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
27718 (grub_auth_check_authentication): Likewise.
27719 * normal/completion.c (iterate_command): Removed.
27720 (grub_normal_do_completion): Use FOR_COMMANDS.
27721 * normal/handler.c: Removed.
27722 * normal/main.c (read_config_file): Remove parser changing.
27723 (grub_normal_execute): Don't call read_handler_list.
27724 (grub_normal_read_line_real): Statically allocate prompt.
27725 (grub_cmdline_run): Use grub_normal_parse_line.
27726 (GRUB_MOD_FINI): Don't call free_handler_list.
27727 * normal/menu_entry.c (run): Likewise.
27728 * script/function.c (grub_script_function_list): Make global.
27729 (grub_script_function_iterate): Removed.
27730 * script/main.c (grub_normal_parse_line): Make global.
27731 (grub_sh_parser): Removed.
27732 (GRUB_MOD_INIT): Likewise.
27733 (GRUB_MOD_FINI): Likewise.
27734 * tests/lib/functional_test.c (grub_functional_test): Use
27736 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
27737 (grub_test_run): Use FOR_LIST_ELEMENTS.
27738 * tests/lib/unit_test.c (main): Likewise.
27739 * util/deviceiter.c (grub_util_iterate_devices): Don't use
27741 * util/grub-fstest.c (grub_term_input_class): Removed.
27742 (grub_term_output_class): Likewise.
27743 * util/grub-probe.c: Likewise.
27744 * util/i386/pc/grub-setup.c: Likewise.
27745 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27746 * util/grub-script-check.c (main): Don't call grub_init_all and
27748 * video/video.c (grub_video_adapter_list): Make global.
27749 (grub_video_register): Removed.
27750 (grub_video_unregister): Likewise.
27751 (grub_video_iterate): Likewise.
27753 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
27755 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
27756 reported by Henrique Ferreiro.
27758 2010-06-09 Robert Millan <rmh@gnu.org>
27760 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
27761 ones, when both are available.
27763 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27765 Make --version uniform and avoid hard-coded program name.
27767 * util/grub-mkimage.c (main): Use `program_name' instead of
27769 * util/i386/pc/grub-setup.c (main): Likewise.
27770 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
27771 * util/grub-install.in: Save the basename of $0 in $self, and use the
27772 latter in informational messages. Use the same format for --version
27773 as the binary programs.
27774 * util/grub-mkconfig.in: Likewise.
27775 * util/grub-mkrescue.in: Likewise.
27776 * util/grub-reboot.in: Likewise.
27777 * util/grub-set-default.in: Likewise.
27778 * util/i386/efi/grub-install.in: Likewise.
27779 * util/ieee1275/grub-install.in: Likewise.
27780 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
27782 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27784 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
27785 embedding area. Use <= instead of == when checking for non-emptiness.
27787 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
27789 * configure.ac: Add `.' to the directories searched for unifont.
27791 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27793 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
27796 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27798 * docs/grub.texi (History): Expand to cover GRUB 2.
27799 (Serial terminal): Refer to `terminal_input' and `terminal_output'
27800 commands, not `terminal'.
27801 (serial): Likewise.
27802 (terminal_input): New section.
27803 (terminal_output): New section.
27804 (uppermem): New section (stub).
27805 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
27807 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
27809 * docs/grub.texi (Security): Menu entries are unrestricted by
27810 default, not restricted to superusers as I had previously thought.
27811 Reword to account for this.
27813 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27815 * kern/emu/misc.c (device_mapper_null_log): New function.
27816 (grub_device_mapper_supported): New function.
27817 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
27819 * kern/emu/hostdisk.c (find_partition_start): Check whether
27820 device-mapper is supported before trying to use it.
27821 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
27823 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27825 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
27826 (File name syntax): Likewise.
27827 (help): --all is no longer supported in GRUB 2. Be more precise
27828 about pattern matching.
27830 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27832 * normal/completion.c (grub_normal_do_completion): When completing
27833 arguments to "set" and the current word contains an equals sign,
27834 skip to after the equals sign before starting completion.
27836 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27838 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
27840 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27842 * docs/grub.texi (Network): New section.
27843 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
27844 `(nd)' as in GRUB Legacy.
27845 (pxe_unload): New section.
27847 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27849 * docs/grub.texi (Troubleshooting): `echo' is not usually available
27850 in the rescue shell, so recommend using `set' instead. Thanks,
27853 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27855 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
27856 (password): New section.
27857 (password_pbkdf2): New section.
27858 (search): New section.
27859 (Security): New section.
27860 (Troubleshooting): New section, currently very incomplete.
27861 (Invoking grub-mkpasswd-pbkdf2): New section.
27862 (Internals): New section, currently very incomplete.
27864 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27866 * util/grub.d/00_header.in: Add some more quoting (of
27867 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
27869 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
27871 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
27873 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
27874 to `count', fixing variable shadowing that broke the -c option.
27876 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
27878 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
27879 in case they contain spaces.
27881 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
27883 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
27884 "part_" to partmap module names, in line with grub-install.
27885 Reported by: Jindřich Makovička (Debian bug #584426).
27887 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
27889 * util/grub-mkimage.c: Make target-related error messages slightly
27890 more helpful; -O talks about "format". Explicitly point to the use
27891 of -O if no target is specified.
27892 Reported by: Didier Raboud (Debian bug #584415).
27894 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
27896 * INSTALL: Document several build requirements for optional features
27897 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
27899 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
27901 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
27902 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
27903 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
27905 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
27907 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
27908 Thanks to Jordan Uggla for spotting this.
27910 2010-06-02 Aleš Nesrsta <starous@volny.cz>
27912 Finally make USB usable.
27914 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
27915 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
27916 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
27917 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
27918 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
27919 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
27920 (GRUB_OHCI_FSMPS): Likewise.
27921 (GRUB_OHCI_PERIODIC_START): Likewise.
27922 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
27923 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
27924 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
27925 (GRUB_OHCI_SET_PORT_RESET): Likewise.
27926 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
27927 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
27928 (grub_ohci_transaction): Likewise.
27929 (grub_ohci_transfer): Improve condition detection algorithms.
27930 Handle toggle property. Program the transactions correctly.
27931 Improve error handling. Various important fixups.
27932 (grub_ohci_portstatus): Put register writes in right order.
27933 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
27934 (grub_uhci_transfer): Don't show "failed" message on success.
27935 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
27937 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
27938 determine its size.
27939 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
27940 before initialization is completed. Use IN direction for empty
27941 transfers. Use last_trans and compute toggle.
27942 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
27943 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
27944 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
27945 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
27946 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
27947 (grub_usb_device): Increase toggle to 256.
27948 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
27949 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
27950 GRUB_USBMS_SUBCLASS_SFF8070.
27951 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
27952 (grub_scsi_inquiry): New member page and alloc_length.
27953 (grub_scsi_request_sense): New structure.
27954 (grub_scsi_request_sense_data): Likewise.
27955 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
27957 * disk/scsi.c (grub_scsi_request_sense): New function.
27958 (grub_scsi_test_unit_ready): Likewise.
27959 (grub_scsi_inquiry): Fill new fields.
27960 (grub_scsi_read_capacity): Likewise.
27961 (grub_scsi_read10): Add request sense at the end.
27962 (grub_scsi_read12): Likewise.
27963 (grub_scsi_write10): Likewise.
27964 (grub_scsi_write12): Likewise.
27965 (grub_scsi_open): Add Test Unit Ready.
27966 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
27967 Support additional subclasses. Con't clear halt yet. Activate the
27968 proper config. Calculate LUNs correctly.
27969 (grub_usbms_transfer): Various important fixups.
27971 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27973 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
27974 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
27975 (grub_ohci_fini_hw): New function.
27976 (grub_ohci_restore_hw): Likewise.
27977 (GRUB_MOD_INIT(ohci)): Register preboot hook.
27978 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
27979 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
27981 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
27983 Dedicated DMA allocations.
27985 * bus/pci.c (grub_memalign_dma32): New function
27986 (grub_dma_free): Likewise.
27987 (grub_dma_get_virt): Likewise.
27988 (grub_dma_get_phys): Likewise.
27989 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
27990 (grub_ohci_pci_iter): Use dma32_alloc.
27991 (grub_ohci_transfer): Likewise.
27992 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
27993 (grub_usb_bulk_readwrite): Likewise.
27994 * include/grub/pci.h: Add declarations.
27996 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
28000 * bus/cs5536.c: New file.
28001 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
28002 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
28003 (cs5536_mod_SOURCES): New variable.
28004 (cs5536_mod_CFLAGS): Likewise.
28005 (cs5536_mod_LDFLAGS): Likewise.
28006 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
28008 (kernel_img_SOURCES): Add bus/cs5536.c.
28009 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
28011 (usb_mod_SOURCES): New variable.
28012 (usb_mod_CFLAGS): New variable.
28013 (usb_mod_LDFLAGS): New variable.
28014 (usbtest_mod_SOURCES): New variable.
28015 (usbtest_mod_CFLAGS): New variable.
28016 (usbtest_mod_LDFLAGS): New variable.
28017 (ohci_mod_SOURCES): New variable.
28018 (ohci_mod_CFLAGS): New variable.
28019 (ohci_mod_LDFLAGS): New variable.
28020 (usbms_mod_SOURCES): New variable.
28021 (usbms_mod_CFLAGS): New variable.
28022 (usbms_mod_LDFLAGS): New variable.
28023 (usb_keyboard_mod_SOURCES): New variable.
28024 (usb_keyboard_mod_CFLAGS): New variable.
28025 (usb_keyboard_mod_LDFLAGS): New variable.
28026 * include/grub/smbus.h: New file.
28027 * include/grub/cs5536.h: New file.
28029 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28031 * util/grub.d/00_header.in: Add safety check to make sure that
28032 ${locale_dir} exists before trying to probe it.
28034 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28036 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
28037 per the GNU Coding Standards; this is now too obscure to be worth
28040 (chainloader): Remove cross-reference to `SCO UnixWare'.
28042 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28044 * docs/grub.texi (Chain-loading): New section.
28045 (DOS/Windows): New section, borrowed from GRUB Legacy with details
28046 adjusted for GRUB 2.
28047 (SCO UnixWare): Likewise.
28049 (chainloader): Add reference to `Block list syntax'.
28050 (drivemap): New section.
28051 (parttool): New section.
28053 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28055 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
28057 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
28058 (Installing GRUB using grub-install): Remove reference to the grub
28059 shell; mention `grub-mkimage' and `grub-setup' instead.
28060 (Invoking grub-install): Likewise.
28061 (Interface): Add reference to `Menu entry editor'.
28062 (serial): Remove `--device' option.
28064 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28066 * docs/grub.texi (Configuration): New section, documenting
28067 configuration file generation using grub-mkconfig. I've left a slot
28068 for documenting the full shell scripting format but have not yet
28069 started on writing that up.
28070 (Invoking grub-mkconfig): New section.
28072 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28074 * docs/grub.texi (direntry): Remove grub-terminfo reference.
28075 (GNU GRUB manual): Likewise.
28076 (General commands): Update description of `terminfo' for GRUB 2.
28078 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28080 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
28081 (GRUB_MOD_INIT): Fix capitalisation.
28082 * docs/grub.texi (Command-line and menu entry commands): Document
28083 gettext and gptsync commands.
28085 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
28087 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
28088 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
28090 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
28092 Add btrfs probing support, currently only in the single-device case.
28094 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
28096 (grub_guess_root_device): Call find_root_device_from_mountinfo
28097 before looking in /dev.
28099 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28101 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
28102 GRUB_DISK_SIZE_UNKNOWN.
28103 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
28105 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
28107 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
28108 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
28109 corrupted or not synced properly.
28111 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28113 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
28114 Reported by: Seth Goldberg.
28116 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28118 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
28120 Reported by: Seth Goldberg.
28122 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28124 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
28125 Reported by: Seth Goldberg.
28127 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
28129 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
28130 64-bit address as signed on MIPS.
28132 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
28134 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
28135 to the empty string.
28137 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
28139 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
28141 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
28142 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
28143 * kern/misc.c (__enable_execute_stack): Disable on
28146 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
28148 Make grub-probe work with symbolic links under /dev/mapper as well
28149 as with real block devices. The Linux world seems to be (at best)
28150 in transition here, and GRUB shouldn't get caught in the middle.
28152 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
28155 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28157 * util/grub-script-check.c (main): Ensure defined behaviour on empty
28158 input files (in which case exit zero).
28160 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28162 * kern/emu/misc.c (canonicalize_file_name): realpath can still
28163 return NULL for various reasons even if it has a maximum-length
28164 buffer: for example, there might be a symlink loop, or the path
28165 might exceed PATH_MAX. If this happens, return NULL.
28167 2010-05-27 Robert Millan <rmh@gnu.org>
28169 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
28170 partmap module to handle cross-partmap setups.
28171 Reported by Orestes Mas. Gràcies!
28173 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
28175 * util/grub-mkrescue.in: Initialise override_dir rather than
28176 assuming that it's unset or empty in the environment.
28178 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
28180 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
28181 variable index into p_index to suppress a warning with -Wshadow.
28183 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
28185 * INSTALL: Added flex >= 2.5.35 requirement.
28187 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28189 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
28191 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28195 * commands/i386/cmostest.c: New file.
28196 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
28197 (cmostest_mod_SOURCES): New variable.
28198 (cmostest_mod_CFLAGS): Likewise.
28199 (cmostest_mod_LDFLAGS): Likewise.
28200 * conf/i386-pc.rmk: Likewise.
28201 * docs/grub.texi (Vendor power-on keys): New section.
28202 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
28203 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
28204 and GRUB_BUTTON_CMOS_ADDRESS.
28205 * util/grub.d/00_header.in: Handle powering-on by separate button.
28207 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28209 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
28210 Removed drawing_scrollbar argument. All users updated
28212 Reported by Jo Shields
28214 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28216 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
28217 buffer since gfxterm handles double repaint.
28219 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
28221 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
28222 * term/gfxterm.c (real_scroll): Likewise.
28224 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28226 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
28227 before calling BIOS.
28229 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28231 * include/grub/i18n.h: Always enable grub_gettext.
28233 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
28235 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
28236 partition naming style.
28238 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
28240 * util/grub-mkconfig.in: Fix handling of -o so that it works when
28241 not the first option.
28243 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
28245 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
28247 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
28249 * util/misc.c: Move inclusion of <limits.h> to ...
28250 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
28252 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
28254 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
28255 Fix merge error in NetBSD code.
28256 (find_partition_start) [__NetBSD__]: Likewise.
28258 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
28260 Fix grub-mkrescue usage unit testing.
28262 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
28264 2010-05-18 Christian Franke <franke@computer.org>
28266 * util/grub.d/10_windows.in: Use path names instead of
28267 drive letters to prevent warning from Cygwin 1.7.
28268 Add drivemap command to menuentry if needed.
28270 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
28272 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
28273 gnumach and gnumach.gz.
28275 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28277 * include/grub/i18n.h (gettext): Inline instead of using #define.
28278 (grub_gettext): Likewise.
28281 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28283 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
28284 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
28285 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
28286 (main): Add a slash after pkglibdirroot.
28288 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28290 * util/grub-install.in: Add missing "in" keyword.
28292 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28294 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
28295 Reported by: Seth Goldberg.
28297 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28299 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
28301 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28303 * configure.ac: Check for Linux device-mapper support.
28305 * util/hostdisk.c (device_is_mapped): New function.
28306 (find_partition_start): New function, partly broken out from
28307 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
28308 device-mapper support added.
28309 (linux_find_partition): Use find_partition_start.
28310 (convert_system_partition_to_system_disk): Add `st' argument.
28311 Support Linux /dev/mapper/* devices if device-mapper support is
28312 available; only DM-RAID devices are understood at present.
28313 (find_system_device): Add `st' argument. Pass it to
28314 convert_system_partition_to_system_disk.
28315 (grub_util_biosdisk_get_grub_dev): Pass stat result to
28316 find_system_device and convert_system_partition_to_system_disk. Use
28317 find_partition_start.
28319 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
28320 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
28321 * util/deviceiter.c [__linux__]: Define MINOR.
28322 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
28323 * util/mkdevicemap.c (grub_putchar): New function.
28324 (grub_getkey): New function.
28325 (grub_refresh): New function.
28326 (main): Set debug=all if -v -v is used.
28328 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28330 Fix build with non-GNU libcs.
28332 * util/misc.c (canonicalize_file_name): Move to ...
28333 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
28334 grub_make_system_path_relative_to_its_root.
28336 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
28338 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
28339 we handle finding grub-mkimage. Default to finding grub-mkimage in
28340 ${bindir} with program_transform_name applied, and provide a
28341 --grub-mkimage option to override this.
28343 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28345 Remove grub-mkisofs.
28347 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
28348 (grub_mkisofs_SOURCES): Removed.
28349 (grub_mkisofs_CFLAGS): Removed.
28350 * util/mkisofs/defaults.h: Removed.
28351 * util/mkisofs/eltorito.c: Likewise.
28352 * util/mkisofs/exclude.h: Likewise.
28353 * util/mkisofs/hash.c: Likewise.
28354 * util/mkisofs/include/: Likewise.
28355 * util/mkisofs/include/fctldefs.h: Likewise.
28356 * util/mkisofs/include/mconfig.h: Likewise.
28357 * util/mkisofs/include/prototyp.h: Likewise.
28358 * util/mkisofs/include/statdefs.h: Likewise.
28359 * util/mkisofs/iso9660.h: Likewise.
28360 * util/mkisofs/joliet.c: Likewise.
28361 * util/mkisofs/match.c: Likewise.
28362 * util/mkisofs/match.h: Likewise.
28363 * util/mkisofs/mkisofs.c: Likewise.
28364 * util/mkisofs/mkisofs.h: Likewise.
28365 * util/mkisofs/msdos_partition.h: Likewise.
28366 * util/mkisofs/multi.c: Likewise.
28367 * util/mkisofs/name.c: Likewise.
28368 * util/mkisofs/rock.c: Likewise.
28369 * util/mkisofs/tree.c: Likewise.
28370 * util/mkisofs/write.c: Likewise.
28372 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
28374 Unify grub-mkimage accross platforms.
28376 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
28377 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
28378 (grub_mkelfimage_SOURCES): Removed.
28379 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
28380 (util/grub-mkimage.c_DEPENDENCIES): .. this.
28381 (bin_UTILITIES): Add grub-mkimage.
28382 (grub_mkimage_SOURCES): New variable.
28383 (kernel_img_HEADERS): Remove machine/kernel.h.
28384 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
28385 (pkglib_PROGRAMS): Add kernel.img.
28386 (kernel_img_HEADERS): Add machine/kernel.h.
28387 (kernel_img_FORMAT): Removed.
28388 (bin_UTILITIES): Remove grub-mkimage.
28389 (grub_mkimage_SOURCES): Removed.
28390 (grub_mkimage_CFLAGS): Likewise.
28391 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28392 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
28393 (pkglib_PROGRAMS): Add kernel.img.
28394 (bin_UTILITIES): Remove grub-mkimage.
28395 (grub_mkimage_SOURCES): Removed.
28396 (grub_mkimage_CFLAGS): Likewise.
28397 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28398 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
28399 (pkglib_PROGRAMS): Add kernel.img.
28400 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
28401 (pkglib_PROGRAMS): Add kernel.img.
28402 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
28403 (grub_mkimage_SOURCES): Removed.
28404 (grub_mkimage_CFLAGS): Likewise.
28405 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28406 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
28407 (pkglib_PROGRAMS): Add kernel.img.
28408 (bin_UTILITIES): Remove grub-mkimage.
28409 (grub_mkimage_SOURCES): Removed.
28410 (grub_mkimage_CFLAGS): Likewise.
28411 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28412 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
28413 (grub_mkimage_SOURCES): Removed.
28414 (grub_mkimage_CFLAGS): Likewise.
28415 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
28416 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
28417 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
28418 (grub_pe32_optional_header): ... this.
28419 (grub_pe64_optional_header): ... and this. All users updated.
28420 (GRUB_PE32_PE32_MAGIC): Split into ..
28421 (GRUB_PE32_PE32_MAGIC): .. this.
28422 (GRUB_PE32_PE64_MAGIC): .. and this.
28423 (GRUB_PE32_SIGNATURE_SIZE): New definition.
28424 * include/grub/elf.h (PT_GNU_STACK): New definition.
28425 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
28426 * include/grub/i386/efi/kernel.h: Likewise.
28427 * include/grub/i386/kernel.h: Likewise.
28428 * include/grub/i386/pc/kernel.h: Likewise.
28429 * include/grub/i386/qemu/boot.h: Likewise.
28430 * include/grub/mips/kernel.h: Likewise.
28431 * include/grub/mips/qemu-mips/kernel.h: Likewise.
28432 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
28433 * include/grub/powerpc/kernel.h: Likewise.
28434 * include/grub/sparc64/ieee1275/boot.h: Likewise.
28435 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
28436 * include/grub/sparc64/kernel.h: Likewise.
28437 * include/grub/x86_64/efi/kernel.h: Likewise.
28438 * include/grub/x86_64/kernel.h: Likewise.
28439 * include/grub/offsets.h: New file.
28440 * include/grub/kernel.h (grub_module_info): Split into ...
28441 (grub_module_info32): ... this.
28442 (grub_module_info64): ... and this.
28443 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
28444 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
28445 (grub_boot_blocklist): Moved from here ...
28446 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
28447 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
28448 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
28449 * include/grub/types.h (grub_target_to_host16): Removed.
28450 (grub_target_to_host32): Likewise.
28451 (grub_target_to_host64): Likewise.
28452 (grub_host_to_target16): Likewise.
28453 (grub_host_to_target32): Likewise.
28454 (grub_host_to_target64): Likewise.
28455 (grub_host_to_target_addr): Likewise.
28457 Support grub-mkrescue for efi, coreboot and qemu.
28459 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
28460 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
28461 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
28462 * util/grub-mkrawimage.c: Moved from here ...
28463 * util/grub-mkimage.c: ... here. All users updated.
28464 (ALIGN_ADDR): Use image_target.
28465 (TARGET_NO_FIELD): New const.
28466 (image_target_desc): New type.
28467 (image_targets): New array.
28468 (grub_target_to_host64): Use image_target.
28469 (grub_target_to_host32): Likewise.
28470 (grub_target_to_host16): Likewise.
28471 (grub_host_to_target64): Likewise.
28472 (grub_host_to_target32): Likewise.
28473 (grub_host_to_target16): Likewise.
28474 (grub_host_to_target_addr): Likewise.
28475 (generate_image): Handle multiimage.
28476 (main): Require -O parameter. All users updated.
28477 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
28478 util/efi/grub-mkimage.c
28479 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
28480 New option --rom-directory.
28482 * util/i386/efi/grub-mkimage.c: Removed.
28483 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
28484 (grub_target_to_host32): Likewise.
28485 (grub_target_to_host64): Likewise.
28486 (grub_host_to_target16): Likewise.
28487 (grub_host_to_target32): Likewise.
28488 (grub_host_to_target64): Likewise.
28489 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
28490 (grub_target_to_host32): Likewise.
28491 (grub_target_to_host64): Likewise.
28492 (grub_host_to_target16): Likewise.
28493 (grub_host_to_target32): Likewise.
28494 (grub_host_to_target64): Likewise.
28496 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
28498 Source tree is reorganized for emu build.
28500 * include/grub/util/console.h: Move from here...
28501 * include/grub/emu/console.h: ...to here.
28502 * include/grub/util/getroot.h: Move from here...
28503 * include/grub/emu/getroot.h: ...to here.
28504 * include/grub/util/hostdisk.h: Move from here...
28505 * include/grub/emu/hostdisk.h: ...to here.
28506 * util/console.c: Move from here...
28507 * kern/emu/console.c: ...to here.
28508 * util/getroot.c: Move from here...
28509 * kern/emu/getroot.c: ...to here.
28510 * util/grub-emu.c: Move from here...
28511 * kern/emu/main.c: ...to here.
28512 * util/hostdisk.c: Move from here...
28513 * kern/emu/hostdisk.c: ...to here.
28514 * util/hostfs.c: Move from here...
28515 * kern/emu/hostfs.c: ...to here.
28516 * util/mm.c: Move from here...
28517 * kern/emu/mm.c: ...to here.
28518 * util/pci.c: Move from here...
28519 * bus/emu/pci.c: ...to here.
28520 * util/sdl.c: Move from here...
28521 * video/emu/sdl.c: ...to here.
28522 * util/time.c: Move from here...
28523 * kern/emu/time.c: ...to here.
28524 * util/usb.c: Move from here...
28525 * bus/usb/emu/usb.c: ...to here.
28527 * include/grub/emu/misc.h: New header for grub-emu functions.
28528 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
28530 * conf/any-emu.rmk: Rule updates for above renames.
28531 * conf/common.rmk: Likewise.
28532 * conf/i386-pc.rmk: Likewise.
28533 * conf/i386-qemu.rmk: Likewise.
28534 * conf/mips.rmk: Likewise.
28535 * conf/sparc64-ieee1275.rmk: Likewise.
28536 * conf/x86-efi.rmk: Likewise.
28538 * disk/lvm.h: #include updates for above renames.
28539 * util/grub-mkrelpath.c: Likewise.
28540 * util/grub-probe.c: Likewise.
28541 * util/i386/pc/grub-setup.c: Likewise.
28542 * util/sparc64/ieee1275/grub-setup.c: Likewise.
28543 * kern/emu/console.c: Likewise.
28544 * kern/emu/getroot.c: Likewise.
28545 * kern/emu/hostdisk.c: Likewise.
28546 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
28548 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
28549 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
28550 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
28551 * util/misc.c: Remove grub-emu functions.
28553 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
28556 Reported by: Thorsten Grützmacher.
28558 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
28560 (circprog_set_property): Register and unregister timeout hook.
28561 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
28562 (label_destroy): Free template. and unregister hook.
28563 (label_set_state): New function.
28564 (label_set_property): Handle templates and hooks.
28565 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
28567 (progress_bar_set_property): Register and unregister timeout hook.
28568 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
28569 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
28570 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
28571 (update_timeout_visit): Removed.
28572 (update_timeouts): New function.
28573 (redraw_timeouts): Likewise.
28574 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
28575 (grub_gfxmenu_clear_timeout): Likewise.
28576 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
28577 (grub_gfxmenu_timeout_notify): Likewise.
28578 (grub_gfxmenu_timeout_notifications): New external variable.
28579 (grub_gfxmenu_timeout_register): New function.
28580 (grub_gfxmenu_timeout_unregister): Likewise.
28582 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
28584 Transform (broken) vga terminal into (working) vga video driver.
28586 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
28587 video/i386/pc/vga.c.
28588 * include/grub/video.h (grub_video_driver_id):
28589 Add GRUB_VIDEO_DRIVER_VGA.
28590 * term/i386/pc/vga.c: Renamed to ...
28591 * video/i386/pc/vga.c: ...this
28592 (DEBUG_VGA): Removed.
28593 (CHAR_WIDTH): Likewise.
28594 (CHAR_HEIGHT): Likewise.
28595 (TEXT_WIDTH): Likewise.
28596 (TEXT_HEIGHT): Likewise.
28597 (DEFAULT_FG_COLOR): Likewise.
28598 (DEFAULT_BG_COLOR): Likewise.
28599 (colored_char): Likewise.
28602 (cursor_state): Likewise.
28603 (fg_color): Likewise.
28604 (bg_color): Likewise.
28605 (text_buf): Likewise.
28608 (framebuffer): New variable.
28609 (set_read_map): Disabled.
28610 (setup): New variable.
28611 (is_target): Likewise.
28612 (grub_vga_mod_init): Likewise.
28613 (grub_vga_mod_fini): Likewise.
28614 (check_vga_mem): Likewise.
28615 (write_char): Likewise.
28616 (write_cursor): Likewise.
28617 (scroll_up): Likewise.
28618 (grub_vga_putchar): Likewise.
28619 (grub_vga_getcharwidth): Likewise.
28620 (grub_vga_getwh): Likewise.
28621 (grub_vga_getxy): Likewise.
28622 (grub_vga_gotoxy): Likewise.
28623 (grub_vga_cls): Likewise.
28624 (grub_vga_setcolorstate): Likewise.
28625 (grub_vga_setcursor): Likewise.
28626 (grub_video_vga_init): New function.
28627 (grub_video_vga_setup): Likewise.
28628 (grub_video_vga_fini): Likewise.
28629 (update_target): Likewise.
28630 (grub_video_vga_blit_bitmap): Likewise.
28631 (grub_video_vga_blit_render_target): Likewise.
28632 (grub_video_vga_set_active_render_target): Likewise.
28633 (grub_video_vga_get_active_render_target): Likewise.
28634 (grub_video_vga_swap_buffers): Likewise.
28635 (grub_video_vga_set_palette): Likewise.
28636 (grub_video_vga_get_info_and_fini): Likewise.
28637 (grub_vga_term): Removed.
28638 (grub_video_vga_adapter): New variable.
28639 (GRUB_MOD_INIT): Register a video driver instead of terminal.
28640 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
28642 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28644 * video/readers/jpeg.c: Indented.
28646 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28648 Various jpeg cleanups.
28650 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
28651 (grub_jpeg_decode_quan_table): Use sizeof.
28652 (grub_jpeg_decode_du): Use ARRAY_SIZE.
28654 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
28656 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
28657 tables. Ignore non-last ac bit.
28658 (grub_jpeg_decode_quan_table): Likewise.
28660 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28662 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
28663 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
28664 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28665 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
28666 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
28667 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
28669 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28671 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
28674 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
28676 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
28678 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28680 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
28683 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28685 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
28688 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28690 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
28693 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
28695 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
28697 2010-05-01 Christian Franke <franke@computer.org>
28699 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
28700 Remove broken Cygwin path conversion.
28701 * util/misc.c: [__CYGWIN__] Add include and define.
28702 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
28704 (make_system_path_relative_to_its_root): Simplify loop, replace early
28706 [__CYGWIN__] Add conversion to win32 path.
28707 Include "/" case in trailing slash removal.
28709 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28711 * kern/main.c (grub_load_config): Fix copy-pasted comment.
28712 Reported by: Seth Goldberg
28714 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28716 * commands/help.c (grub_cmd_help): Fix a typo.
28717 Reported by: Seth Goldberg
28719 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28721 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
28723 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
28724 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
28725 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
28726 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
28727 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
28728 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
28729 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28730 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28731 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28732 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28733 * normal/context.c (GRUB_MOD_INIT): Likewise.
28734 * normal/main.c (GRUB_MOD_INIT): Likewise.
28735 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28736 * term/serial.c (GRUB_MOD_INIT): Likewise.
28737 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28739 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28741 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
28744 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28746 * commands/iorw.c: New file.
28747 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
28748 (iorw_mod_SOURCES): New variable.
28749 (iorw_mod_CFLAGS): Likewise.
28750 (iorw_mod_LDFLAGS): Likewise.
28752 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28756 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
28757 * normal/main.c (hotkey_aliases): New variable.
28758 (grub_normal_add_menu_entry): Parse "--hotkey".
28759 * normal/menu_text.c (run_menu): Handle hotkeys.
28761 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28763 * kern/i386/coreboot/init.c (grub_machine_init): Call
28764 grub_machine_mmap_init on qemu.
28766 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28768 * boot/i386/qemu/boot.S: Add a missing .code16.
28770 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28772 Use LBIO on coreboot.
28774 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
28775 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
28776 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
28778 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
28779 grub_machine_mmap_init on coreboot.
28780 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
28781 GRUB_LINUXBIOS_MEMBER_LINK.
28782 (grub_machine_mmap_iterate): Fix declaration.
28783 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
28785 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28787 Split coreboot and multiboot ports.
28789 * conf/i386-multiboot.rmk: New file.
28790 * configure.ac: Add multiboot port.
28791 * include/grub/i386/multiboot/boot.h: New file.
28792 * include/grub/i386/multiboot/console.h: Likewise.
28793 * include/grub/i386/multiboot/init.h: Likewise.
28794 * include/grub/i386/multiboot/kernel.h: Likewise.
28795 * include/grub/i386/multiboot/loader.h: Likewise.
28796 * include/grub/i386/multiboot/memory.h: Likewise.
28797 * include/grub/i386/multiboot/serial.h: Likewise.
28798 * include/grub/i386/multiboot/time.h: Likewise.
28799 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
28800 * loader/multiboot.c: Likewise.
28801 * loader/multiboot_mbi2.c: Likewise.
28802 * util/grub-mkrescue.in: Generate multiboot rescue.
28804 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28806 * kern/parser.c (grub_parser_execute): Cope with read-only config.
28808 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
28810 Merge handling of input and output terminals. Fix a hang.
28812 * commands/terminal.c (abstract_terminal): New struct.
28813 (handle_command): New function. Based on grub_cmd_terminal_input.
28814 (grub_cmd_terminal_input): Use handle_command.
28815 (grub_cmd_terminal_output): Use handle_command.
28817 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
28819 Fix comment handling.
28821 * tests/grub_script_comments.in: New testcase.
28822 * conf/tests.rmk: Rules for new testcase.
28823 * script/yylex.l: Updated flex rules.
28825 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
28827 * docs/grub.texi (play): Document that zero pitches produce rests.
28828 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
28831 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28833 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
28836 2010-04-26 Christian Franke <franke@computer.org>
28838 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
28839 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
28840 (grub_get_prefix): Remove function.
28841 * util/grub-emu.c (main): Replace grub_get_prefix () call by
28842 make_system_path_relative_to_its_root ().
28843 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
28845 2010-04-24 Christian Franke <franke@computer.org>
28847 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
28848 (kernel_img_LDFLAGS): Remove -static-libgcc.
28850 2010-04-24 Christian Franke <franke@computer.org>
28852 * configure.ac: Do not CHECK_BSS_START_SYMBOL
28853 and CHECK_END_SYMBOL if grub-emu is built.
28854 Unset TARGET_OBJ2ELF if grub-emu is built
28855 without module support.
28857 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
28861 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
28862 (grub_fstest_SOURCES): Likewise.
28863 (pkglib_MODULES): Add nilfs2.mod.
28864 (nilfs2_mod_SOURCES): New variable.
28865 (nilfs2_mod_CFLAGS): Likewise.
28866 (nilfs2_mod_LDFLAGS): Likewise.
28867 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28868 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
28869 * fs/nilfs2.c: New file.
28871 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
28873 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
28876 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
28878 Add grub-mkconfig support for NetBSD.
28880 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
28881 * util/grub-mkconfig.in: export new NetBSD specific variables.
28882 * po/POTFILES-shell: added 10_netbsd.in.
28883 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
28885 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
28887 Fix emu build with grub-emu-pci and grub-emu-modules.
28889 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
28891 * include/grub/libpciaccess.h: New file.
28892 * conf/any-emu.rmk: Update kernel headers for emu build.
28894 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28896 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
28898 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
28900 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
28902 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28904 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
28905 Retrieve chosen/bootpath if bootpath isn't hardcoded.
28906 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
28907 util/ieee1275/ofpath.c.
28908 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
28909 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
28910 * include/grub/sparc64/ieee1275/boot.h
28911 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
28912 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
28913 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
28914 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
28916 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
28917 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
28918 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
28921 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
28923 * util/grub-mkconfig.in: Corrected two == equality tests.
28924 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
28925 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
28926 expect a number appended to it.
28927 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
28928 expects a number appended to it.
28930 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28932 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
28934 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
28936 * util/hostdisk.c (make_device_name): Change to new partition naming.
28938 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
28940 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
28942 2010-04-17 Christian Franke <franke@computer.org>
28944 * Makefile.in: Add missing localedir setting.
28946 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
28948 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
28949 mistake in r2156. Noticed by Anthony Fok.
28951 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
28953 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
28955 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
28957 Fix a spurious, uninitialized variable warning.
28959 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
28960 Initialize variable, shdr.
28961 (grub_freebsd_load_elfmodule): Likewise.
28962 (grub_freebsd_load_elf_meta): Likewise.
28964 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
28966 Fix for escaped dollar in double quoted strings.
28968 * script/yylex.l: Updated flex rules.
28969 * conf/tests.rmk: Rule for new testcase.
28970 * tests/grub_script_dollar.in: New testcase.
28972 2010-04-13 Carles Pina i Estany <carles@pina.cat>
28973 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
28975 Enclose all translated strings in grub.cfg in single quotes, and
28976 escape them appropriately (Ubuntu bug #552921).
28978 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
28979 * util/grub.d/10_hurd.in: Use it.
28980 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28981 * util/grub.d/10_linux.in (linux_entry): Likewise.
28983 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28985 Fix cygwin compilation.
28987 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
28988 * include/grub/misc.h (__register_frame_info)
28989 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
28990 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28991 * kern/misc.c (__register_frame_info)
28992 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
28993 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
28995 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28997 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
28999 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
29001 Unify libgcc processing.
29003 * Makefile.in (kernel_img_LDFLAGS): New variable.
29004 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
29005 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
29007 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
29008 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
29009 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
29010 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
29011 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
29012 overwriting. Remove -lgcc and -static-libgcc
29013 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
29014 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29015 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
29016 (kernel_img_LDFLAGS): Append instead of overwriting.
29017 Remove -lgcc and -static-libgcc
29018 * conf/sparc64-ieee1275.rmk: Likewise.
29019 * include/grub/powerpc/libgcc.h: Move to ...
29020 * include/grub/libgcc.h: .. this.
29021 * include/grub/libgcc.h: Don't export most of the function on x86.
29022 (__bswapsi2): New export.
29023 (__bswapdi2): Likewise.
29024 * include/grub/mips/libgcc.h: Removed.
29025 * include/grub/sparc64/libgcc.h: Likewise.
29027 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29029 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
29030 disk_info_msg (conflicts with gettexting into languages with cases).
29032 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
29034 Add grub-probe support for NetBSD.
29036 * util/getroot.c (find_root_device): Convert block device to
29037 character device on NetBSD.
29038 * util/probe.c (probe): Require character device on NetBSD.
29039 * util/hostdisk.c: NetBSD specific headers.
29040 (configure_device_driver): new function to tune device driver
29041 parameters (currently only for NetBSD floppy driver).
29042 (grub_util_biosdisk_open): NetBSD specific code (get disk size
29043 via disklabel ioctl).
29044 (open_device): call configure_device_driver on NetBSD.
29045 (convert_system_partition_to_system_disk): NetBSD specific code.
29046 (device_is_wholedisk): Likewise.
29047 (grub_util_biosdisk_get_grub_dev): Likewise.
29048 (make_device_name): Fixed a typo in bsd_part_str.
29049 * configure.ac: check for opendisk() and getrawpartition() on
29050 NetBSD and set LIBUTIL.
29051 * Makefile.in: add LIBUTIL to LIBS.
29053 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29057 * util/grub-script-check.c: Better help message.
29059 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
29063 * configure.ac: Flex version check.
29064 * conf/common.rmk: Add -Wno-error to sh.mod.
29065 * script/yylex.l: Remove all #pragma.
29067 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29069 * include/grub/util/misc.h (canonicalise_file_name): Add missing
29071 Reported by: Seth Goldberg.
29073 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29075 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
29076 Rename "module" to "module2".
29077 Reported by: Seth Goldberg.
29079 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29081 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
29083 Reported by: Seth Goldberg.
29085 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29087 * lib/posix_wrap/locale.h: Add missing file.
29088 Reported by: Seth Goldberg.
29090 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
29092 grub-emu module load support.
29094 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
29095 NO_DYNAMIC_MODULES switched to this.
29096 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
29097 (CFLAGS): Likewise.
29098 * conf/any-emu.rmk: Generate symlist.
29099 (kernel_img_HEADERS): Add util/datetime.h.
29100 (kernel_img_HEADERS) [sdl]: Add sdl.h.
29101 (kernel_img_HEADERS) [libusb]: Add libusb.h.
29102 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
29103 kern/$(target_cpu)/cache.S.
29104 * configure.ac (grub-emu-modules): New option.
29105 * genmk.rb: Handle multiple source lists.
29106 * include/grub/sdl.h: New file.
29107 * include/grub/libusb.h: Likewise.
29108 * util/grub-emu.c (main): Hanle (host) root.
29109 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
29110 GRUB_ERR_UNKNOWN_DEVICE.
29111 * util/misc.c: Move mm functions to ...
29112 * util/mm.c: ... here. All users updated.
29114 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29116 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
29117 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
29119 (maintainer-clean): Remove libgcrypt-grub.
29121 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29123 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
29125 2010-04-09 EFI Coder <eficoder@hotmail.com>
29127 * normal/menu_text.c (print_message): Clean up the message and show
29128 the Fn information when on EFI
29129 * term/efi/console.c (grub_console_checkkey): Add F4 support.
29131 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29133 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
29135 * normal/crypto.c (read_crypto_list): Likewise.
29136 * normal/dyncmd.c (read_command_list): Likewise.
29137 * normal/term.c (read_terminal_list): Likewise.
29138 * normal/main.c (read_lists): Use explicit prefix.
29139 (read_lists_hook): Use read_lists.
29140 (grub_normal_execute): Likewise.
29142 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29144 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
29145 Reported by: Thomas Schmitt.
29146 Add -no-emul-boot to grub-mkisofs parameters.
29148 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29150 * font/font.c: Indented.
29152 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29154 Elif support to GRUB script (by Deepak Vankadaru).
29156 * tests/grub_script_if.in: New testcase.
29157 * conf/tests.rmk: Rule for new testcase.
29158 * script/parser.y: Grammar rules for elif.
29160 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
29162 While and until loops support to GRUB script.
29164 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
29165 (grub_script_create_cmdwhile): New function prototype.
29166 (grub_script_execute_cmdwhile): New function prototype.
29167 * script/execute.c (grub_script_execute_cmdwhile): New function.
29168 * script/parser.y (command): New commands.
29169 (whilecmd): New grammar rule.
29170 (untilcmd): New grammar rule.
29171 * script/script.c (grub_script_create_cmdwhile): New function.
29172 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
29175 * tests/grub_script_while1.in: New testcase.
29176 * conf/tests.rmk: Rule for new testcase.
29178 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29180 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
29183 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
29185 GRUB_BACKGROUND support.
29187 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
29188 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
29190 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29192 Load fonts and modules for gfxmenu in grub-mkconfig.
29193 Idea by: Mario Vazquez
29195 * util/grub.d/00_header.in: Load pf2 and image modules.
29197 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29199 grub-mkconfig multiple terminal support.
29201 * util/grub-mkconfig.in: Handle multiple terminals correctly.
29202 * util/grub.d/00_header.in: Likewise.
29204 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
29206 * Makefile.in: Specify files explicitly instead of using $< and $@ since
29207 we use cd $(srcdir).
29209 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
29211 * util/grub.d/10_linux.in: Only use the first word of
29212 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
29213 spaces in GRUB_DISTRIBUTOR.
29214 * util/grub.d/10_kfreebsd.in: Likewise.
29215 * util/grub.d/10_hurd.in: Likewise.
29217 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
29219 Fix unit testing framework for Qemu 0.12.
29221 * tests/util/grub-shell.in: Remove -serial stdio option.
29223 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
29225 POSIX header file wrappers.
29227 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
29229 * lib/posix_wrap/ctype.h: Likewise.
29230 * lib/posix_wrap/errno.h: Likewise.
29231 * lib/posix_wrap/langinfo.h: Likewise.
29232 * lib/posix_wrap/limits.h: Likewise.
29233 * lib/posix_wrap/localcharset.h: Likewise.
29234 * lib/posix_wrap/stdint.h: Likewise.
29235 * lib/posix_wrap/stdio.h: Likewise.
29236 * lib/posix_wrap/stdlib.h: Likewise.
29237 * lib/posix_wrap/string.h: Likewise.
29238 * lib/posix_wrap/sys/types.h: Likewise.
29239 * lib/posix_wrap/unistd.h: Likewise.
29240 * lib/posix_wrap/wchar.h: Likewise.
29241 * lib/posix_wrap/wctype.h: Likewise.
29242 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
29243 (grub_script.yy.h): Likewise.
29244 * script/yylex.l: Remove POSIX emulation #defines.
29245 * Makefile.in (POSIX_CFLAGS): New variable.
29246 (GNULIB_UTIL_CFLAGS): Likewise.
29250 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
29251 (regexp_mod_SOURCES): New variable.
29252 (regexp_mod_CFLAGS): Likewise.
29253 (regexp_mod_LDFLAGS): Likewise.
29254 * commands/regexp.c: New file.
29255 * gnulib/regcomp.c: New file. Imported from gnulib.
29256 * gnulib/regex.c: Likewise.
29257 * gnulib/regex_internal.c: Likewise.
29258 * gnulib/regex_internal.h: Likewise.
29259 * gnulib/regexec.c: Likewise.
29260 * gnulib/regex.h: Likewise.
29262 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29264 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
29265 unsupported video mode types.
29267 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29269 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
29271 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
29273 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
29274 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
29276 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29278 Remove unused grub_vga_get_font.
29280 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
29281 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
29283 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29285 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
29286 * include/grub/misc.h: Likewise.
29288 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29290 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
29291 for which failure is fatal.
29293 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29295 * util/grub-install.in: Use mkdir -p to create grub directory.
29296 * util/i386/efi/grub-install.in: Likewise.
29297 * util/ieee1275/grub-install.in: Likewise.
29299 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29301 * Makefile.in (LEX): new variable.
29303 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
29305 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
29306 `=' and added double quotes on operands of this equality test.
29308 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29310 * Makefile.in (uninstall): Remove a leftover debug echo.
29311 Reported by: Grégoire Sutre
29313 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
29315 MIPS multiboot2 support.
29317 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
29318 (multiboot2_mod_SOURCES): New variable.
29319 (multiboot2_mod_CFLAGS): Likewise.
29320 (multiboot2_mod_LDFLAGS): Likewise.
29321 (multiboot2_mod_ASFLAGS): Likewise.
29322 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
29324 (MULTIBOOT_ENTRY_REGISTER): Likewise.
29325 (MULTIBOOT_MBI_REGISTER): Likewise.
29326 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
29327 (MULTIBOOT_ELF32_MACHINE): Likewise.
29328 (MULTIBOOT_ELF64_MACHINE): Likewise.
29329 * include/grub/mips/multiboot.h: New file.
29330 * include/grub/video.h (grub_video_driver_id): New type
29331 GRUB_VIDEO_DRIVER_SM712.
29332 (grub_video_get_info_and_fini): Export.
29333 (grub_video_get_palette): Likewise.
29334 (grub_video_get_driver_id): Likewise.
29335 * include/multiboot2.h: Resynced with spec.
29336 * loader/i386/multiboot.c: Moved from here ...
29337 * loader/multiboot.c: ... here. All users updated.
29338 (grub_multiboot_boot): Use platform-specific macros.
29339 * loader/i386/multiboot_elfxx.c: Moved from here ...
29340 * loader/multiboot_elfxx.c: ... here. All users updated.
29341 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
29342 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
29343 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
29345 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
29347 Import gnulib argp module.
29349 * gnulib/argp-ba.c: New file.
29350 * gnulib/argp-eexst.c: Likewise.
29351 * gnulib/argp-fmtstream.c: Likewise.
29352 * gnulib/argp-fmtstream.h: Likewise.
29353 * gnulib/argp-fs-xinl.c: Likewise.
29354 * gnulib/argp-help.c: Likewise.
29355 * gnulib/argp-namefrob.h: Likewise.
29356 * gnulib/argp-parse.c: Likewise.
29357 * gnulib/argp-pin.c: Likewise.
29358 * gnulib/argp-pv.c: Likewise.
29359 * gnulib/argp-pvh.c: Likewise.
29360 * gnulib/argp-version-etc.c: Likewise.
29361 * gnulib/argp-version-etc.h: Likewise.
29362 * gnulib/argp-xinl.c: Likewise.
29363 * gnulib/argp.h: Likewise.
29365 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29367 * kern/device.c (grub_device_iterate): Clear errors after failed
29370 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
29372 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
29373 returned by firmware.
29375 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
29377 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
29378 compilation on coreboot and qemu
29380 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29382 * include/multiboot2.h: Resync with spec.
29384 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
29386 Multiboot2 tag support
29388 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
29389 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
29390 Remove loader/multiboot_loader.c.
29391 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
29392 (grub_multiboot2_real_boot): Likewise.
29393 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
29394 (grub_get_multiboot_mmap_count): New proto.
29395 (grub_fill_multiboot_mmap): Likewise.
29396 (grub_multiboot_set_video_mode): Likewise.
29397 (grub_multiboot_set_console): Likewise.
29398 (grub_multiboot_load): Likewise.
29399 (grub_multiboot_load_elf): Likewise.
29400 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
29401 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
29402 * include/multiboot.h: Resynced with specification.
29403 * include/multiboot2.h: Resynced with specification.
29404 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
29405 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
29406 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
29407 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
29409 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
29410 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
29411 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
29413 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
29415 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
29416 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
29418 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
29419 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
29420 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
29422 * loader/i386/multiboot_mbi2.c: New file.
29424 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29426 Resync with gnulib.
29428 * Makefile.in (GNULIB_CFLAGS): New variable.
29429 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
29430 (grub_script_check_CFLAGS): New variable.
29431 * gnulib/alloca.h: Resync with gnulib.
29432 * gnulib/error.c: Likewise.
29433 * gnulib/error.h: Likewise.
29434 * gnulib/fnmatch.c: Likewise.
29435 * gnulib/fnmatch_loop.c: Likewise.
29436 * gnulib/getdelim.c: Likewise.
29437 * gnulib/getline.c: Likewise.
29438 * gnulib/getopt.c: Likewise.
29439 * gnulib/getopt1.c: Likewise.
29440 * gnulib/getopt_int.h: Likewise.
29441 * gnulib/gettext.h: Likewise.
29442 * gnulib/progname.c: Likewise.
29443 * gnulib/progname.h: Likewise.
29445 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
29447 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
29448 which is the case with --disabled-nls.
29450 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
29451 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
29452 * util/misc.c: Likewise.
29453 * util/mkisofs/mkisofs.c: Likewise.
29454 * util/mkisofs/mkisofs.h: Likewise.
29456 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
29458 Simplify Apple CC support.
29460 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
29461 Add 0 byte at the end not to have a symbol with empty target.
29462 * mmap/i386/pc/mmap_helper.S: Likewise.
29463 * genmk.rb: Ignore errors 2030 and 2050.
29464 * kern/i386/pc/startup.S: Use LOCAL when possible.
29466 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
29468 Testcase and the fix for final semicolon on cmdline.
29470 * tests/grub_script_final_semicolon.in: New testcase.
29471 * conf/tests.rmk: Rules for the new testcase.
29472 * script/parser.y: Grammar fix.
29474 2010-03-26 BVK Chaitanya <bvk@localhost>
29476 Blank lines testcase for GRUB script.
29478 * tests/grub_script_blanklines.in: New testcase.
29479 * conf/tests.rmk: Rules for the new testcase.
29481 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29483 Don't use __FILE__.
29485 * genmk.rb: Add -DGRUB_FILE to all C targets.
29486 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
29487 * include/grub/list.h: Likewise.
29488 * include/grub/misc.h: Likewise.
29489 * include/grub/mm.h: Likewise.
29490 * include/grub/test.h: Likewise.
29491 * kern/mm.c: Likewise.
29492 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29494 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29496 Sunpc partitions support.
29498 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
29499 (grub_fstest_SOURCES): Likewise.
29500 (pkglib_MODULES): Add part_sunpc.mod.
29501 (part_sunpc_mod_SOURCES): New variable.
29502 (part_sunpc_mod_CFLAGS): Likewise.
29503 (part_sunpc_mod_LDFLAGS): Likewise.
29504 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
29505 * partmap/sunpc.c: New file.
29507 2010-03-26 BVK Chaitanya <bvk@localhost>
29509 For loop support to GRUB script.
29511 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
29512 (grub_script_create_cmdfor): New function prototype.
29513 (grub_script_execute_cmdfor): New function prototype.
29514 * script/execute.c (grub_script_execute_cmdfor): New function.
29515 * script/parser.y (command): New for command.
29516 (forcmd): New grammar rule.
29517 * script/script.c (grub_script_create_cmdfor): New function.
29518 * util/grub-script-check.c (grub_script_execute_cmdfor): New
29520 * tests/grub_script_for1.in: New testcase.
29521 * conf/tests.rmk: Rules for new testcase.
29523 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
29527 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
29528 'partition' is NULL, grub_partition_get_start already does that.
29529 * commands/loadenv.c (check_blocklists): Likewise.
29530 (write_blocklists): Likewise.
29531 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
29532 (grub_fstest_SOURCES): Likewise.
29533 (pkglib_MODULES): Add part_bsd.mod.
29534 (part_bsd_mod_SOURCES): New variable.
29535 (part_bsd_mod_CFLAGS): Likewise.
29536 (part_bsd_mod_LDFLAGS): Likewise.
29537 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
29538 (grub_emu_SOURCES): Likewise.
29539 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29540 * include/grub/bsdlabel.h: New file.
29541 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
29543 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
29544 (grub_partition_map_list): New variable.
29545 (grub_partition_map_register): Inline.
29546 (grub_partition_map_unregister): Likewise.
29547 (FOR_PARTITION_MAPS): New macro.
29548 (grub_partition_map_iterate): Removed.
29549 (grub_partition_get_start): Handle nested partitions.
29550 * include/grub/msdos_partition.h: Remove bsd-related entries.
29551 (grub_pc_partition): Remove.
29552 * kern/disk.c (grub_disk_close): Free partition data.
29553 (grub_disk_adjust_range): Handle nested partitions.
29554 * kern/partition.c (grub_partition_map_probe): New function.
29555 (grub_partition_probe): Parse name to number, handle subpartitions.
29556 (get_partmap): New function.
29557 (grub_partition_iterate): Handle subpartitions.
29558 (grub_partition_get_name): Likewise.
29559 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
29560 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
29561 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
29562 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
29564 (acorn_partition_map_probe): Remove.
29565 (acorn_partition_map_get_name): Likewise.
29566 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
29568 Set 'index' to 0 since there can be only one partition entry per sector.
29569 (amiga_partition_map_probe): Remove.
29570 (amiga_partition_map_get_name): Likewise.
29571 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
29573 Set 'offset' and 'index' to real positions of partitions.
29574 (apple_partition_map_probe): Remove.
29575 (apple_partition_map_get_name): Likewise.
29576 * partmap/bsdlabel.c: New file.
29577 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
29579 Allocate 'data' so it can be correctly freed.
29580 Set 'index' to offset inside sector.
29581 (gpt_partition_map_probe): Remove.
29582 (gpt_partition_map_get_name): Likewise.
29583 * partmap/msdos.c (grub_partition_parse): Remove.
29584 (pc_partition_map_iterate): Don't force raw access.
29586 Make 'ext_offset' a local variable.
29587 (pc_partition_map_probe): Remove.
29588 (pc_partition_map_get_name): Remove.
29589 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
29591 (sun_partition_map_probe): Remove.
29592 (sun_partition_map_get_name): Likewise.
29593 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
29594 (grub_pcpart_type): Likewise.
29595 * util/hostdisk.c (open_device): Handle new numbering scheme.
29596 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
29597 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
29598 * util/grub-probe.c (probe_partmap): Handle nested paritions.
29599 * util/grub-install.in: Insert all subpartition modules.
29600 * util/ieee1275/grub-install.in: Likewise.
29602 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
29604 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
29607 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
29609 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
29611 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
29613 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
29614 match where 'make install' puts them.
29615 * util/i386/efi/grub-install.in: Likewise.
29617 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
29619 * .bzrignore: Add gentrigtables, grub-script-check,
29620 grub_script_check_init.c, grub_script_check_init.h, and
29623 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
29625 * kern/parser.c: Indented.
29627 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29629 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
29631 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
29633 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
29634 alpha_mask_size == 0 case.
29636 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
29638 GRUB shell lexer and parser improvements.
29640 * conf/any-emu.rmk: Build rule updates.
29641 * conf/common.rmk: Likewise.
29642 * conf/i386-coreboot.rmk: Likewise.
29643 * conf/i386-efi.rmk: Likewise.
29644 * conf/i386-ieee1275.rmk: Likewise.
29645 * conf/i386-pc.rmk: Likewise.
29646 * conf/powerpc-ieee1275.rmk: Likewise.
29647 * conf/x86_64-efi.rmk: Likewise.
29649 * configure.ac: Configure check for flex.
29651 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
29653 (grub_lexer_param): Struct member updates.
29654 (grub_parser_param): Likewise.
29655 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
29656 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
29657 (grub_script_lexer_init): Prototype update.
29658 (grub_script_lexer_record_start): Likewise.
29659 (grub_script_lexer_record_stop): Likewise.
29660 (grub_script_lexer_yywrap): New function prototype.
29661 (grub_script_lexer_fini): Likewise.
29662 (grub_script_execute_argument_to_string): Removed by...
29663 (grub_script_execute_argument_to_argv): ...better version.
29665 * script/execute.c (ROUND_UPTO): New macro.
29666 (grub_script_execute_cmdline): Out of memory fixes.
29667 (grub_script_execute_menuentry): Likewise.
29668 (grub_script_execute_argument_to_string): Removed. Update all
29670 (grub_script_execute_argument_to_argv): ...better version.
29671 * script/function.c (grub_script_function_create): Use
29672 grub_script_execute_argument_to_argv instead of
29673 grub_script_execute_argument_to_string.
29675 * script/lexer.c (check_varstate): Removed.
29676 (check_textstate): Removed.
29677 (grub_script_lexer_record_start): Likewise.
29678 (grub_script_lexer_record_stop): Likewise.
29679 (recordchar): Replaced with...
29680 (grub_script_lexer_record): ...new function.
29681 (nextchar): Removed.
29682 (grub_script_lexer_init): Rewritten.
29683 (grub_script_yylex): Rewritten.
29684 (append_newline): New function.
29685 (grub_script_lexer_yywrap): New function.
29686 (grub_script_lexer_fini): New function.
29687 (grub_script_yyerror): Sets error flag.
29689 * script/yylex.l: New file.
29690 (grub_lexer_yyfree): Wrapper for flex yyffre.
29691 (grub_lexer_yyalloc): Likewise.
29692 (grub_lexer_yyrealloc): Likewise.
29693 * script/parser.y: Refactored.
29695 * script/script.c (grub_script_arg_add): Out of memory fixes.
29696 (grub_script_add_arglist): Likewise.
29697 (grub_script_create_cmdline): Likewise.
29698 (grub_script_create_cmdmenu): Likewise.
29699 (grub_script_add_cmd): Likewise.
29700 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
29701 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
29704 * tests/grub_script_echo1.in: New testcase.
29705 * tests/grub_script_vars1.in: New testcase.
29706 * tests/grub_script_echo_keywords.in: New testcase.
29708 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29710 Remove some redundancy in build system.
29712 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
29713 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
29714 (TARGET_LDFLAGS): Add -nostdlib.
29715 (TARGET_IMG_LDFLAGS): Likewise.
29716 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
29717 anything since mmap isn't available.
29718 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
29720 (pkglib_MODULES): Remove reboot.mod.
29721 (reboot_mod_SOURCES): Removed.
29722 (reboot_mod_CFLAGS): Likewise.
29723 (reboot_mod_LDFLAGS): Likewise.
29724 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
29725 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
29726 (DEFSYMFILES): Add kernel_syms.lst.
29727 (kernel_img_HEADERS): Add common headers.
29728 (symlist.c): New target.
29729 (kernel_syms.lst): Likewise.
29730 (pkglib_MODULES): Add memdisk.mod.
29731 (memdisk_mod_SOURCES): New variable.
29732 (memdisk_mod_CFLAGS): Likewise.
29733 (memdisk_mod_LDFLAGS): Likewise.
29734 (pkglib_MODULES): Add reboot.mod.
29735 (reboot_mod_SOURCES): New variable.
29736 (reboot_mod_CFLAGS): Likewise.
29737 (reboot_mod_LDFLAGS): Likewise.
29738 (pkglib_MODULES): Add date.mod.
29739 (date_mod_SOURCES): New variable.
29740 (date_mod_CFLAGS): Likewise.
29741 (date_mod_LDFLAGS): Likewise.
29742 (pkglib_MODULES): Add datehook.mod.
29743 (datehook_mod_SOURCES): New variable.
29744 (datehook_mod_CFLAGS): Likewise.
29745 (datehook_mod_LDFLAGS): Likewise.
29746 (pkglib_MODULES): Add lsmmap.mod.
29747 (lsmmap_mod_SOURCES): New variable.
29748 (lsmmap_mod_CFLAGS): Likewise.
29749 (lsmmap_mod_LDFLAGS): Likewise.
29750 (pkglib_MODULES): Add boot.mod.
29751 (boot_mod_SOURCES): New variable.
29752 (boot_mod_CFLAGS): Likewise.
29753 (boot_mod_LDFLAGS): Likewise.
29754 * conf/i386-coreboot.rmk: Removed redundant parts.
29755 * conf/i386-ieee1275.rmk: Likewise.
29756 * conf/i386-pc.rmk: Likewise.
29757 * conf/mips-yeeloong.rmk: Likewise.
29758 * conf/mips.rmk: Likewise.
29759 * conf/powerpc-ieee1275.rmk: Likewise.
29760 * conf/sparc64-ieee1275.rmk: Likewise.
29761 * conf/x86_64-efi.rmk: Likewise.
29762 * conf/i386-coreboot.rmk: Moved qemu parts ..
29763 * conf/i386-qemu.rmk: ... here
29764 * conf/i386-efi.rmk: Moved common parts to...
29765 * conf/x86-efi.rmk: ... here.
29766 * conf/i386.rmk: Added modules common to all x86 variants.
29767 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
29768 * disk/memdisk.c: Remove grub/machine/kernel.h.
29769 * gensymlist.sh.in: Include symbol.h.
29770 * hook/datehook.c: Correct module name.
29771 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
29772 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
29773 * include/grub/i386/efi/serial.h: New file.
29774 * include/grub/x86_64/efi/serial.h: Likewise.
29775 * util/time.c: Likewise.
29776 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
29778 2010-03-14 Colin King <colin.king@ubuntu.com>
29779 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
29781 Shrink the pre-partition-table part of boot.img by eight bytes.
29783 * boot/i386/pc/boot.S (ERR): New macro.
29784 (chs_mode): Use ERR.
29785 (geometry_error): Likewise.
29786 (hd_probe_error): Remove. This is only used once, so we wrwite
29788 (read_error): Instead of printing read_error_string, just set up
29789 %si and fall through to ...
29790 (error_message): ... this new function, also used by ERR.
29792 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
29794 Speed up consecutive hostdisk operations on the same device.
29796 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
29797 (grub_util_biosdisk_open): Initialise disk->data.
29798 (struct linux_partition_cache): New structure.
29799 (linux_find_partition): Cache partition start positions; these are
29800 expensive to compute on every read and write.
29801 (open_device): Cache open file descriptor in disk->data, so that we
29802 don't have to reopen it and flush the buffer cache for consecutive
29803 operations on the same device.
29804 (grub_util_biosdisk_close): New function.
29805 (grub_util_biosdisk_dev): Set `close' member.
29807 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
29808 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
29809 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29810 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
29811 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
29813 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29815 Compile parts of grub-emu as modules.
29817 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
29818 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
29819 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
29820 (all-local): Add $(GRUB_EMU).
29821 (install-local): Install $(GRUB_EMU).
29822 (uninstall): Uninstall $(GRUB_EMU).
29823 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
29824 * kern/dl.c: Likewise.
29825 * commands/sleep.c: Not include machine/time.h.
29826 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
29827 (COMMON_CFLAGS): Likewise.
29828 (sbin_UTILITIES): Remove grub-emu.
29829 (grub_emu_SOURCES): Removed.
29830 (kernel_img_RELOCATABLE): New variable.
29831 (pkglib_PROGRAMS): Add kernel.img.
29832 (kernel_img_SOURCES): New variable
29833 (kernel_img_CFLAGS): Likewise.
29834 (kernel_img_LDFLAGS): Likewise.
29835 (TARGET_NO_STRIP): Likewise.
29836 (TARGET_NO_DYNAMIC_MODULES): Likewise.
29837 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
29838 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
29839 (grub-emu): New target.
29840 (GRUB_EMU): New variable.
29841 * configure.ac: Whitelist -emu as possible x86_64 architecture.
29842 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
29843 * loader/xnu.c: Likewise.
29844 * include/grub/pci.h: Likewise.
29845 * genemuinit.sh: New file.
29846 * genemuinitheader.sh: Likewise.
29847 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
29848 Support TARGET_NO_DYNAMIC_MODULES.
29849 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
29850 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
29851 * disk/loopback.c: Likewise.
29852 * font/font_cmd.c: Likewise.
29853 * partmap/acorn.c: Likewise.
29854 * partmap/amiga.c: Likewise.
29855 * partmap/apple.c: Likewise.
29856 * partmap/gpt.c: Likewise.
29857 * partmap/msdos.c: Likewise.
29858 * partmap/sun.c: Likewise.
29859 * parttool/msdospart.c: Likewise.
29860 * term/gfxterm.c: Likewise.
29861 * video/bitmap.c: Likewise.
29862 * video/readers/jpeg.c: Likewise.
29863 * video/readers/png.c: Likewise.
29864 * video/readers/tga.c: Likewise.
29865 * video/video.c: Likewise.
29866 * util/grub-emu.c (read_command_list): Removed.
29867 (main): Don't call util_init_nls.
29868 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
29869 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
29871 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29873 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
29874 date.mod, datehook.mod.
29875 (datetime_mod_SOURCES): New variable.
29876 (datetime_mod_CFLAGS): Likewise.
29877 (datetime_mod_LDFLAGS): Likewise.
29878 (date_mod_SOURCES): Likewise.
29879 (date_mod_CFLAGS): Likewise.
29880 (date_mod_LDFLAGS): Likewise.
29881 (datehook_mod_SOURCES): Likewise.
29882 (datehook_mod_CFLAGS): Likewise.
29883 (datehook_mod_LDFLAGS): Likewise.
29884 * conf/sparc64-ieee1275.rmk: Likewise.
29885 * lib/ieee1275/datetime.c: New file.
29887 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29889 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
29890 (ieee1275_fb_mod_SOURCES): New variable.
29891 (ieee1275_fb_mod_CFLAGS): Likewise.
29892 (ieee1275_fb_mod_LDFLAGS): Likewise.
29893 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
29895 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
29896 (HEAP_MAX_ADDR): Likewise.
29897 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
29899 Correct stop condition.
29900 (grub_ieee1275_devices_iterate): New function.
29901 * video/ieee1275.c: New file.
29903 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
29905 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
29907 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
29909 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
29910 SCRATCH_PAD_DISKBOOT as scratch.
29911 (bootit): Pass Openfirmware pointer in %o4.
29912 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
29914 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
29915 with util/grub-mkrawimage.c.
29916 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
29917 * include/grub/aout.h (AOUT_MID_SUN): New definition.
29918 (grub_aout_get_type) [GRUB_UTIL]: Removed.
29919 (grub_aout_load) [GRUB_UTIL]: Likewise.
29920 * include/grub/kernel.h (grub_modules_get_end): New proto.
29921 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
29922 (SCRATCH_PAD_BOOT): New definition.
29923 (SCRATCH_PAD_DISKBOOT): Likewise.
29924 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
29925 * include/grub/sparc64/ieee1275/ieee1275.h
29926 (grub_ieee1275_original_stack): New variable
29927 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29929 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
29930 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
29931 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
29932 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
29933 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
29934 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
29935 (grub_platform_image_format_t): New type.
29936 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
29937 * kern/main.c (grub_modules_get_end)
29938 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
29939 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
29940 (codestart): Switch stacks.
29941 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
29943 (grub_heap_init): Use grub_modules_get_end.
29944 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
29946 * util/grub-mkrawimage.c (generate_image): Support sparc64.
29948 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
29950 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
29952 * util/grub-mkrescue.in: Base ISO UUID on UTC.
29954 2010-03-08 Matt Kraai <kraai@ftbfs.org>
29956 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
29959 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
29961 * genmoddep.awk: Output all missing symbols and not only first.
29963 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29965 * NEWS: Put the date of 1.98 release.
29967 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29969 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
29972 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29974 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
29975 completition in the middle of string.
29977 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29979 * util/grub-mkrescue.in: Use mktemp with explicit template.
29981 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29983 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
29985 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
29987 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
29990 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29992 Fix FreeBSD compilation.
29994 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
29995 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
29997 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
29999 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
30001 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30003 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
30005 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30007 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
30009 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
30011 Support relative image path in theme file.
30013 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
30014 (image_set_property): Handle theme_dir and relative path.
30016 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30018 * configure.ac: Alias amd64 to x86_64.
30020 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30022 * NEWS: mention multiboot on EFI.
30024 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30026 * kern/main.c (grub_load_modules): Handle errors from init functions of
30029 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30031 * normal/autofs.c (autoload_fs_module): Handle errors.
30033 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30035 Disable linux.mod on qemu-mips since it's not functional and leads
30036 to compilation failure.
30038 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
30039 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
30040 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
30041 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
30042 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
30043 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
30044 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
30045 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
30046 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
30047 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
30048 Reported by: BVK Chaitanya
30050 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
30052 * INSTALL: Add gettext as a dependency and add qemu to a new section
30053 "Prerequisites for make-check".
30055 2010-03-04 Christian Franke <franke@computer.org>
30057 * util/grub-pe2elf.c: Add missing include "progname.h".
30059 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30061 * normal/crypto.c (read_crypto_list): Fix a typo.
30062 Reported by: Seth Goldberg.
30064 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30066 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
30067 Reported by: Seth Goldberg.
30069 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30071 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
30074 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30076 * genmk.rb: Remove terminal*.lst in make clean.
30077 Reported by: Seth Goldberg.
30079 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
30081 * util/i386/efi/grub-install.in: Copy gettext files.
30083 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30085 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
30087 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30089 Wait for user entry basing on presence of output rather than on errors.
30091 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
30092 (grub_install_newline_hook): Likewise.
30093 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
30094 * normal/menu.c (show_menu): Check line_counter to determine presence
30096 * normal/term.c (grub_normal_line_counter): New variable.
30097 (grub_normal_get_line_counter): New function.
30098 (grub_install_newline_hook): Likewise.
30100 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30102 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
30104 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
30106 * configure.ac: Update version to 1.98.
30108 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
30110 * util/grub.d/10_linux.in (linux_entry): Don't default to
30111 gfxpayload=keep if Linux doesn't support video handover.
30113 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
30115 Don't compile video modules on yeeloong since video subsystem is part
30118 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
30119 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
30120 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
30121 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
30122 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
30123 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
30124 * include/grub/bitmap_scale.h: Likewise.
30125 * include/grub/bufio.h: Likewise.
30126 * include/grub/font.h: Likewise.
30127 * include/grub/gfxterm.h: Likewise.
30128 * include/grub/video.h: Likewise.
30129 * include/grub/vbe.h: Don't include video_fb.h.
30130 * video/i386/pc/vbe.c: Include video_fb.h.
30131 * commands/i386/pc/vbetest.c: Include video.h.
30133 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
30135 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
30136 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
30137 default entry if GRUB_SAVEDEFAULT=true. This allows using
30138 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
30139 saving a new default on every boot.
30141 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30143 * normal/crypto.c (read_crypto_list): Fix a memory leak.
30144 * normal/term.c (read_terminal_list): Likewise.
30145 * normal/main.c (grub_normal_init_page): Likewise.
30146 (grub_normal_read_line_real): Likewise.
30148 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
30150 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
30152 Reported by: Seth Goldberg.
30154 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
30156 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
30157 duplicate declaration of `start'.
30159 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30161 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
30163 Reported by: Georgy Buranov
30165 2010-02-20 Carles Pina i Estany <carles@pina.cat>
30167 * util/grub-mkrawimage.c (usage): Change string formatting to
30170 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
30172 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
30175 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
30177 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
30178 Reported by: Michael Suchanek.
30180 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
30182 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
30183 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
30185 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
30187 Remove any reference to non-free fonts.
30189 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
30190 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
30191 uses non-free components.
30192 * font/font.c (grub_font_get_name): Remove example name.
30193 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
30194 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
30195 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
30196 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
30198 2010-02-16 Georgy Buranov <gburanov@gmail.com>
30200 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
30202 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30204 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
30206 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
30208 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
30210 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
30212 * gensymlist.sh.in: Use TARGET_CC instead of CC.
30214 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30216 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
30217 * docs/grub.texi (Command-line and menu entry commands): Document play
30220 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30222 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
30223 parse arguments as inline tempo and notes. Move code for playing notes
30225 (play): ... new function.
30227 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
30229 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
30230 grub_uint16_t instead of short.
30231 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
30232 disk from little endian to cpu endianness.
30234 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
30236 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
30237 GRUB_TICKS_PER_SECOND instead of 120.
30239 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30241 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
30242 escape sequence after \e.
30244 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30246 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
30247 non-ASCII characters.
30249 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30251 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
30252 set root in single quotes to prevent \, from being unescaped.
30254 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30256 Prevent unknown commands from stopping menuentry execution.
30258 * script/execute.c (grub_script_execute_cmdline): Print error after
30261 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
30263 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
30264 Reported by: Pavel Pisa.
30266 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30268 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
30270 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30272 Merge grub_ieee1275_map_physical into grub_map and rename to
30275 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
30276 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
30278 * kern/ieee1275/openfw.c (grub_map): Rename to ...
30279 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
30281 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
30283 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30285 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
30286 opening and not after.
30288 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30290 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
30293 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30295 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
30296 (alloc_phys): Use ALIGN_UP instead of align_addr.
30298 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30300 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
30302 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30304 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
30306 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30308 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
30311 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30313 Fix over-4GiB seek on sparc64.
30315 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
30316 Replace pos_i and pos_lo with pos. All users updated.
30317 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30319 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
30321 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
30324 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30326 * util/grub-mkrawimage.c (main): Call set_program_name.
30328 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30330 Properly align 64-bit targets.
30332 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
30333 (generate_image): Use ALIGN_ADDR.
30335 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30337 Properly create cross-endian images.
30339 * include/grub/types.h (grub_host_to_target_addr): New macro
30340 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
30342 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
30344 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
30346 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30348 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
30350 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
30351 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
30352 (grub_linux_boot): Divide by 64K when on VESA.
30354 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30356 Support GRUB_GFXPAYLOAD_LINUX.
30358 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
30359 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
30361 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
30363 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
30364 to show messages instead of discarding them.
30365 Process errors after executing command and not before. Keep old method
30368 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
30370 * configure.ac: Check for ft2build.h.
30372 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30374 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
30376 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30378 * genkernsyms.sh.in: Use TARGET_CC.
30380 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
30384 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30386 * include/grub/multiboot2.h: Remove leftover file.
30387 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
30388 * include/grub/partition.h [GRUB_UTIL]: Likewise.
30390 2010-02-07 Yves Blusseau <blusseau@zetam.org>
30392 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
30394 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30396 Fix warnings in grub-emu when compiling with maximum warning options.
30398 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
30399 (grub_arch_modules_addr): Return 0 and not NULL.
30400 * util/misc.c (ENABLE_RELOCATABLE): New definition.
30401 (xstrdup): Use newstr instead of dup.
30402 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
30403 of disk to dsk to avoid shadowing.
30404 (find_free_slot): Fix prototype.
30405 * util/getroot.c (grub_util_is_dmraid): Make static.
30406 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
30407 Add missing prototype.
30408 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
30410 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30412 * loader/i386/linux.c (grub_linux_setup_video): Handle error
30415 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30417 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
30420 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30422 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
30423 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
30424 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
30425 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
30426 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
30427 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
30429 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30431 * include/grub/err.h (grub_err_printf): Don't export.
30433 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30435 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
30437 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
30439 * include/grub/i18n.h (grub_gettext_dummy): Removed.
30440 * kern/misc.c (grub_gettext_dummy): Make static.
30442 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30444 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
30446 * kern/term.c (grub_putchar): Likewise.
30448 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30450 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
30451 buggy hook call and memory leak.
30453 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30455 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
30457 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30459 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
30461 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30463 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
30465 Return grub_errno on allocation error.
30467 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30469 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
30471 2010-02-06 Yves Blusseau <blusseau@zetam.org>
30473 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
30474 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
30476 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30478 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
30480 (grub_pxefs_open): Likewise.
30482 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30484 * util/grub.d/10_hurd.in: Add --class information to menuentries.
30485 * util/grub.d/10_kfreebsd.in: Likewise.
30486 * util/grub.d/10_linux.in: Likewise.
30488 2010-02-06 Colin D Bennett <colin@gibibit.com>
30490 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
30491 (gfxmenu_mod_SOURCES): New variable.
30492 (gfxmenu_mod_CFLAGS): Likewise.
30493 (gfxmenu_mod_LDFLAGS): Likewise.
30494 * include/grub/term.h (grub_term_set_current_output): Declare
30496 * docs/gfxmenu-theme-example.txt: New file.
30497 * gfxmenu/gfxmenu.c: Likewise.
30498 * gfxmenu/gui_box.c: Likewise.
30499 * gfxmenu/gui_canvas.c: Likewise.
30500 * gfxmenu/gui_circular_progress.c: Likewise.
30501 * gfxmenu/gui_image.c: Likewise.
30502 * gfxmenu/gui_label.c: Likewise.
30503 * gfxmenu/gui_list.c: Likewise.
30504 * gfxmenu/gui_progress_bar.c: Likewise.
30505 * gfxmenu/gui_string_util.c: Likewise.
30506 * gfxmenu/gui_util.c: Likewise.
30507 * gfxmenu/icon_manager.c: Likewise.
30508 * gfxmenu/model.c: Likewise.
30509 * gfxmenu/named_colors.c: Likewise.
30510 * gfxmenu/theme_loader.c: Likewise.
30511 * gfxmenu/view.c: Likewise.
30512 * gfxmenu/widget-box.c: Likewise.
30513 * include/grub/gfxmenu_model.h: Likewise.
30514 * include/grub/gfxmenu_view.h: Likewise.
30515 * include/grub/gfxwidgets.h: Likewise.
30516 * include/grub/gui.h: Likewise.
30517 * include/grub/gui_string_util.h: Likewise.
30518 * include/grub/icon_manager.h: Likewise.
30520 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30522 Agglomerate scrolling in gfxterm.
30524 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
30525 (grub_virtual_screen_setup): Initialise 'total_screen'.
30526 (write_char): Split to ...
30527 (paint_char): ... this ...
30528 (write_char): ... and this.
30529 (paint_char): Handle delayed scrolling.
30530 (draw_cursor): Likewise.
30531 (scroll_up): Split to ...
30532 (real_scroll): ... this ...
30533 (scroll_up): ... and this.
30534 (real_scroll): Handle multi-line scroll and draw below-the-bottom
30536 (grub_gfxterm_refresh): Call real_scroll.
30538 2010-02-06 Colin D Bennett <colin@gibibit.com>
30540 * include/grub/misc.h (grub_iscntrl): New inline function.
30541 (grub_isalnum): Likewise.
30542 (grub_strtol): Likewise.
30544 2010-02-06 Colin D Bennett <colin@gibibit.com>
30546 * normal/menu_text.c (get_entry_number): Move from here ...
30547 * normal/menu.c (get_entry_number): ... moved here.
30548 * include/grub/menu.h (grub_menu_get_default_entry_index):
30550 * normal/menu.c (grub_menu_get_default_entry_index): New function.
30551 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
30552 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
30553 (grub_menu_viewer_should_return): Likewise.
30554 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
30555 * normal/menu_text.c (run_menu): Enable menu switching.
30556 * normal/menu_viewer.c (should_return): New variable.
30557 (menu_viewer_changed): Likewise.
30558 (grub_menu_viewer_show_menu): Handle menu viewer changes.
30559 (grub_menu_viewer_should_return): New function.
30560 (menuviewer_write_hook): Likewise.
30561 (grub_menu_viewer_init): Likewise.
30563 2010-02-06 Colin D Bennet <colin@gibibit.com>
30564 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30566 Support for gfxterm in a window.
30568 * include/grub/gfxterm.h: New file.
30569 * include/grub/video.h (struct grub_video_rect): New declaration.
30570 (grub_video_rect_t): Likewise.
30571 * term/gfxterm.c (struct grub_gfxterm_window): New type.
30572 (refcount): New variable.
30573 (render_target): Likewise.
30574 (window): Likewise.
30575 (repaint_callback): Likewise.
30576 (grub_virtual_screen_setup): Use 'render_target'.
30577 (init_window): New function.
30578 (grub_gfxterm_init_window): Likewise.
30579 (grub_gfxterm_init): Check reference counter.
30581 (destroy_window): New function.
30582 (grub_gfxterm_destroy_window): Likewise.
30583 (grub_gfxterm_fini): Check reference counter.
30584 Use destroy_window.
30585 (redraw_screen_rect): Restore viewport.
30586 Use 'render_target' and 'window'.
30587 Call 'repaint_callback'.
30588 (write_char): Use 'render_target'.
30589 (draw_cursor): Likewise.
30590 (scroll_up): Restore viewport.
30591 Use 'render_target' and 'window'.
30592 Call 'repaint_callback'.
30593 (grub_gfxterm_cls): Likewise.
30594 (grub_gfxterm_refresh): Use 'window'.
30595 (grub_gfxterm_set_repaint_callback): New function.
30596 (grub_gfxterm_background_image_cmd): Use 'window'.
30597 (grub_gfxterm_get_term): New function.
30598 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
30600 2010-02-06 Colin D Bennett <colin@gibibit.com>
30602 Bitmap scaling support.
30604 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
30605 (bitmap_scale_mod_SOURCES): New variable.
30606 (bitmap_scale_mod_CFLAGS): Likewise.
30607 (bitmap_scale_mod_LDFLAGS): Likewise.
30608 * include/grub/bitmap_scale.h: New file.
30609 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
30610 (background_image_cmd_options): New variable.
30611 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
30612 (cmd): Rename and change type to ...
30613 (background_image_cmd_handle): ... this. All users updated.
30614 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
30615 * video/bitmap_scale.c: New file.
30617 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30621 * Makefile.in (LIBSDL): New variable.
30622 (enable_grub_emu_sdl): Likewise.
30623 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
30624 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
30625 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
30626 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
30627 * util/sdl.c: New file.
30629 2010-02-06 Colin D Bennett <colin@gibibit.com>
30630 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30632 Double buffering support.
30634 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
30635 * include/grub/video.h: Update comment.
30636 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
30638 (grub_video_fb_doublebuf_blit_init): New prototype.
30639 * term/gfxterm.c (scroll_up): Support double buffering.
30640 (grub_gfxterm_refresh): Likewise.
30641 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
30642 (grub_video_fb_doublebuf_blit_init): Likewise.
30643 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
30644 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
30645 'displayed_page', 'render_page' and 'update_screen'.
30646 (grub_video_vbe_fini): Free offscreen buffer.
30647 (doublebuf_pageflipping_commit): New function.
30648 (doublebuf_pageflipping_update_screen): Likewise.
30649 (doublebuf_pageflipping_init): Likewise.
30650 (double_buffering_init): Likewise.
30651 (grub_video_vbe_setup): Enable doublebuffering.
30652 (grub_video_vbe_swap_buffers): Implement.
30653 (grub_video_vbe_set_active_render_target): Handle double buffering.
30654 (grub_video_vbe_get_active_render_target): Likewise.
30655 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
30656 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
30657 (grub_video_vbe_enable_double_buffering): Likewise.
30658 (grub_video_vbe_swap_buffers): Use update_screen.
30659 (grub_video_set_mode): Use double buffering.
30661 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30663 * maintainance/gentrigtables.py: Remove.
30664 * lib/trig.c: Likewise.
30666 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
30668 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
30670 (trigtables.c): New rule.
30671 (gentrigtables): Likewise.
30672 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
30674 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
30676 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
30679 2010-02-06 Colin D Bennet <colin@gibibit.com>
30681 Trigonometry support.
30683 * include/grub/trig.h: New file.
30684 * lib/trig.c: Likewise.
30685 * maintainance/gentrigtables.py: Likewise.
30686 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
30687 (trig_mod_SOURCES): New variable.
30688 (trig_mod_CFLAGS): Likewise.
30689 (trig_mod_LDFLAGS): Likewise.
30691 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30693 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
30696 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
30698 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
30701 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30703 * util/hostdisk.c (open_device): Don't use partition device when reading
30704 before the partition.
30705 (grub_util_biosdisk_read): Don't read from partition and before the
30706 partition in single operation.
30707 (grub_util_biosdisk_write): Don't write to partition and before the
30708 partition in single operation.
30710 2010-02-03 Torsten Landschoff <torsten@debian.org>
30712 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30715 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
30717 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
30719 (grub_biosdisk_write): Refuse to write to CDROM.
30721 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30723 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
30725 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
30727 * font/font.c (find_glyph): Check that bmp_idx is available before
30729 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
30730 with (font == NULL).
30732 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
30734 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
30736 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
30738 * include/grub/script_sh.h (sourcecode): Add const qualifier.
30739 * util/grub-script-check.c (getline): Fix empty lines case.
30741 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
30743 * Makefile.in (check): Exit with fail status when one of the tests
30745 * tests/example_functional_test.c (example_test): Fix reversed assert.
30746 * tests/example_unit_test.c (example_test): Likewise.
30748 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
30750 * util/grub.d/10_linux.in: This script does not use any of the
30751 contents of gettext.sh, only the external command `gettext', so stop
30752 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
30753 the same prefix as GRUB.)
30754 * util/grub.d/10_kfreebsd.in: Likewise.
30756 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30758 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
30761 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30763 * kern/disk.c (grub_disk_read): Fix offset computation when reading
30766 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
30768 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
30769 having a 4KiB and not 32KiB buffer size.
30771 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30773 * util/hostfs.c: Include `<errno.h>'.
30774 (grub_hostfs_read): Handle errors from fseeko() and fread().
30776 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30778 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
30779 loop when using read hooks on files whose size isn't sector-aligned.
30781 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30783 Remove unused parameter.
30785 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
30786 (grub_iso9660_open): Remove initialization of `data->length'.
30788 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
30790 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
30791 memleak conditions.
30793 2010-01-27 Carles Pina i Estany <carles@pina.cat>
30795 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
30796 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
30798 2010-01-26 Carles Pina i Estany <carles@pina.cat>
30800 * util/bin2h.c (usage): Fix warning (space after backslash).
30802 2010-01-26 Carles Pina i Estany <carles@pina.cat>
30804 * font/font.c: Include `grub/fontformat.h.
30805 Remove font file format constants.
30806 (grub_font_load): Use the new macros.
30807 * include/grub/fontformat.h: New file.
30808 * util/grub-mkfont.c: Include `grub/fontformat.c'.
30809 (write_font_pf2): Use the new macros.
30811 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30813 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
30816 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
30818 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
30820 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
30821 (_start): Macroify `0x7F'.
30823 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
30824 (make_install_device): Use "(pxe)" as fallback prefix when booting
30827 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
30829 * configure.ac: Reset LIBS after check for libgcc symbols.
30831 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
30833 * util/hostdisk.c (open_device): Add trailing newline to debug
30836 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
30838 * configure.ac: Check for `limits.h'.
30839 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
30841 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
30843 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
30844 capitalize error strings.
30846 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
30848 * util/grub.d/10_hurd.in: Add a recovery mode.
30850 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
30852 * configure.ac: Check for libgcc symbols with -nostdlib.
30854 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
30856 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
30858 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30860 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
30861 stack since heap may be unavailable at that point.
30862 (grub_ofconsole_gotoxy): Likewise.
30864 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30866 * configure.ac: Check for _restgpr_14_x.
30867 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
30868 and _savegpr_* prototypes.
30870 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
30872 Use generic grub_reboot() for i386-efi.
30874 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
30875 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
30876 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
30878 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
30880 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
30881 presence of "prefix" variable as it breaks when normal.mod is
30884 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30886 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
30887 stack since heap is unavailable at that point.
30889 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30891 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
30892 (grub_freebsd_bootinfo): Rewritten.
30893 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
30895 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
30897 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
30899 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
30901 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
30904 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
30906 * util/misc.c (make_system_path_relative_to_its_root): Change the work
30907 around for handling "/" to the correct fix. Fix a memory leak. Use
30908 xstrdup instead of strdup.
30910 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30912 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
30914 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30916 Optimise glyph lookup by Basic Multilingual Plane lookup array.
30918 * font/font.c (struct grub_font): New member 'bmp_idx'.
30919 (font_init): Initialise 'bmp_idx'.
30920 (load_font_index): Fill 'bmp_idx'.
30921 (find_glyph): Make inline. Use bmp_idx for BMP characters.
30923 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30925 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
30928 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30930 Move context handling out of the kernel.
30932 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
30933 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
30934 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
30935 * conf/i386-efi.rmk: Likewise.
30936 * conf/i386-ieee1275.rmk: Likewise.
30937 * conf/i386-pc.rmk: Likewise.
30938 * conf/powerpc-ieee1275.rmk: Likewise.
30939 * conf/sparc64-ieee1275.rmk: Likewise.
30940 * conf/x86_64-efi.rmk: Likewise.
30941 * include/grub/env.h: Include grub/menu.h.
30942 (grub_env_var_type): Removed.
30943 (grub_env_var): Replaced field 'type' with 'global'.
30944 (grub_env_find): New prototype.
30945 (grub_env_context_open): Remove EXPORT_FUNC.
30946 (grub_env_context_close): Likewise.
30947 (grub_env_export): Likewise.
30948 (grub_env_set_data_slot): Removed.
30949 (grub_env_get_data_slot): Likewise.
30950 (grub_env_unset_data_slot): Likewise.
30951 (grub_env_unset_menu): New prototype.
30952 (grub_env_set_menu): Likewise.
30953 (grub_env_get_menu): Likewise.
30954 * include/grub/env_private.h: New file.
30955 * include/grub/normal.h (grub_context_init): New prototype.
30956 (grub_context_fini): Likewise.
30957 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
30958 * normal/context.c (grub_cmd_export): ... to here.
30959 * kern/env.c: Include env_private.h.
30960 (HASHSZ): Moved to include/grub/env_private.h.
30961 (grub_env_context): Likewise.
30962 (grub_env_sorted_var): Likewise.
30963 (current_context): Renamed from this ...
30964 (grub_current_context): ...to this. 'static' removed. All users updated.
30965 (grub_env_find): Removed 'static'.
30966 (grub_env_context_open): Moved to normal/context.c.
30967 (grub_env_context_close): Likewise.
30968 (grub_env_export): Likewise.
30969 (mangle_data_slot_name): Removed.
30970 (grub_env_set_data_slot): Likewise.
30971 (grub_env_get_data_slot): Likewise.
30972 (grub_env_unset_data_slot): Likewise.
30973 * kern/main.c (grub_set_root_dev): Don't export root.
30974 It will be done later.
30975 (grub_main): Don't export prefix.
30976 It will be done later.
30977 * normal/context.c: New file.
30978 * normal/main.c (free_menu): Use grub_env_unset_menu.
30979 (grub_normal_add_menu_entry): Use grub_env_get_menu.
30980 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
30981 (GRUB_MOD_INIT(normal)): Call grub_context_init.
30982 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
30984 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30988 * commands/setpci.c: New file.
30989 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
30990 (setpci_mod_SOURCES): New variable.
30991 (setpci_mod_CFLAGS): Likewise.
30992 (setpci_mod_LDFLAGS): Likewise.
30994 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
30996 Byte-addressable PCI configuration space.
30998 * bus/pci.c (grub_pci_make_address): Use byte address instead of
31000 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
31001 GRUB_PCI_REG_CACHELINE.
31002 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
31003 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
31004 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
31005 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
31006 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
31007 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
31008 grub_pci_make_address.
31009 (lock_rom_area): Likewise.
31010 * commands/lspci.c (grub_lspci_iter): Use macroses
31011 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
31012 of grub_pci_make_address.
31013 * disk/ata.c (grub_ata_pciinit): Likewise.
31014 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
31015 (GRUB_PCI_REG_VENDOR): Likewise.
31016 (GRUB_PCI_REG_DEVICE): Likewise.
31017 (GRUB_PCI_REG_COMMAND): Likewise.
31018 (GRUB_PCI_REG_STATUS): Likewise.
31019 (GRUB_PCI_REG_REVISION): Likewise.
31020 (GRUB_PCI_REG_CLASS): Likewise.
31021 (GRUB_PCI_REG_CACHELINE): Likewise.
31022 (GRUB_PCI_REG_LAT_TIMER): Likewise.
31023 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
31024 (GRUB_PCI_REG_BIST): Likewise.
31025 (GRUB_PCI_REG_ADDRESSES): Likewise.
31026 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31027 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31028 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31029 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31030 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31031 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
31032 (GRUB_PCI_REG_CIS_POINTER): Likewise.
31033 (GRUB_PCI_REG_SUBVENDOR): Likewise.
31034 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
31035 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
31036 (GRUB_PCI_REG_CAP_POINTER): Likewise.
31037 (GRUB_PCI_REG_IRQ_LINE): Likewise.
31038 (GRUB_PCI_REG_IRQ_PIN): Likewise.
31039 (GRUB_PCI_REG_MIN_GNT): Likewise.
31040 (GRUB_PCI_REG_MAX_LAT): Likewise.
31041 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
31042 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
31043 * video/efi_uga.c (find_framebuf): Likewise.
31044 * video/sm712.c (grub_video_sm712_setup): Likewise.
31045 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
31048 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31050 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
31051 can be reliably determined to be supported.
31053 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31055 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
31056 that VESA is supported.
31057 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
31060 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31062 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
31064 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31066 * util/misc.c (make_system_path_relative_to_its_root): Work around
31067 special-casing of "/", as previous incarnation of this routine did.
31069 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31071 Fix any-emu compilation.
31073 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
31074 * grub_bin2h_SOURCES: New variable.
31076 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31078 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
31080 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
31082 * util/grub.d/00_header.in: Fix handling of locale_dir.
31084 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31086 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
31087 as possible unifont location (Gentoo).
31088 Reported by: Alexander Brüning
31090 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31092 Don't try to generate lists for kernel.img.
31094 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
31095 (pkglib_MODULES): Remove kernel.img.
31096 (kernel_img_EXPORTS): Removed.
31097 (kernel_img_RELOCATABLE): New variable.
31098 * conf/x86_64-efi.rmk: Likewise.
31099 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
31101 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31103 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
31104 grub_xasprintf or grub_snprintf.
31105 (grub_vsprintf): Likewise.
31106 (grub_snprintf): New proto.
31107 (grub_vsnprintf): Likewise.
31108 (grub_xasprintf): Likewise.
31109 (grub_xvasprintf): Likewise.
31110 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
31111 (grub_sprintf): Removed.
31112 (grub_vsnprintf): New function.
31113 (grub_snprintf): Likewise.
31114 (grub_xvasprintf): Likewise.
31115 (grub_xasprintf): Likewise.
31116 (grub_vsprintf): Renamed to ...
31117 (grub_vsnprintf_real): ...this. New argument max_len.
31119 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
31121 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
31122 fix grub-script-check warning.
31124 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31126 * include/grub/font.h (grub_font_load): Fix prototype.
31128 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31130 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
31132 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31134 * include/grub/x86_64/at_keyboard.h: New file.
31136 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31138 * loader/mips/linux.c: Include missing grub/i18n.h.
31140 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31142 * normal/menu.c (notify_execution_failure): Clarify error message.
31144 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31146 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
31147 return value (and revert all return statements). Update users.
31149 2010-01-20 Dan Merillat <debian@dan.merillat.org>
31151 * kern/device.c (grub_device_iterate): Allocate new part_ent
31152 structure based on sizeof (*p) rather than sizeof (p->next), to
31153 account for structure padding.
31155 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
31156 disk is NULL, which might happen for LVM physical volumes with no
31159 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31161 * loader/mips/linux.c (grub_cmd_initrd)
31162 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
31164 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
31166 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
31167 (grub_video_video_init, grub_video_bitmap_init)
31168 (grub_font_manager_init, grub_term_gfxterm_init)
31169 (grub_at_keyboard_init): New extern declarations.
31170 (grub_machine_init): Initialize gfxterm and at_keyboard.
31172 * kern/main.c (grub_main): Revert grub_printf delay kludge.
31174 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
31175 `gfxterm.mod' into core image.
31177 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31178 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31179 (kernel_img_FORMAT): Copy to ...
31181 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31182 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31183 (kernel_img_FORMAT): ... here, and ...
31185 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
31186 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
31187 (kernel_img_FORMAT): ... here.
31189 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
31190 and input (at_keyboard) terminals in kernel.
31191 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
31193 (pkglib_MODULES): Remove `pci.mod'.
31194 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
31195 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
31196 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
31197 (at_keyboard_mod_LDFLAGS): Remove variables.
31199 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
31201 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
31203 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
31205 * include/grub/mips/libgcc.h: Only export symbols for functions
31206 that libgcc provides.
31208 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
31212 * bus/bonito.c: New file.
31213 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
31214 GRUB_PCI_NUM_DEVICES.
31215 * term/i386/pc/serial.c: Move to ...
31216 * term/serial.c: ... here. All users updated.
31217 * util/i386/pc/grub-mkimage.c: Move to ...
31218 * util/grub-mkrawimage.c: ... here. All users updated.
31219 * term/i386/pc/at_keyboard.c: Move to ...
31220 * term/at_keyboard.c: ... here. All users updated.
31221 * conf/mips-qemu-mips.rmk: New file.
31222 * conf/mips-yeeloong.rmk: Likewise.
31223 * conf/mips.rmk: Likewise.
31224 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
31226 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
31228 (grub_ata_pciinit): Support CS5536.
31229 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
31230 * font/font_cmd.c (loadfont_command): Open file before passing it to
31232 (pseudo_file_read): New function.
31233 (pseudo_file_close): Likewise.
31234 (pseudo_fs): New structure.
31235 (load_font_module): New function.
31236 (GRUB_MOD_INIT(font_manager)): Load embedded font.
31237 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
31238 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
31239 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
31240 * include/grub/i386/at_keyboard.h: Split into ...
31241 * include/grub/at_keyboard.h: ... this ...
31242 * include/grub/i386/at_keyboard.h: ... and this.
31243 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
31245 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
31247 (grub_elf64_size): Likewise.
31248 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
31250 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
31251 * include/grub/i386/coreboot/serial.h: Rewritten.
31252 * include/grub/i386/ieee1275/serial.h: Include
31253 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
31254 * include/grub/i386/pc/serial.h: Moved from here ...
31255 * include/grub/serial.h: ... to here. All users updated.
31256 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
31257 (GRUB_PCI_NUM_BUS): Likewise.
31258 (GRUB_PCI_NUM_DEVICES): Likewise.
31259 (grub_pci_device_map_range): Add missing volatile keyword.
31260 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
31261 * include/grub/mips/at_keyboard.h: New file.
31262 * include/grub/mips/cache.h: Likewise.
31263 * include/grub/mips/io.h: Likewise.
31264 * include/grub/mips/kernel.h: Likewise.
31265 * include/grub/mips/libgcc.h: Likewise.
31266 * include/grub/mips/pci.h: Likewise.
31267 * include/grub/mips/qemu-mips/boot.h: Likewise.
31268 * include/grub/mips/qemu-mips/kernel.h: Likewise.
31269 * include/grub/mips/qemu-mips/loader.h: Likewise.
31270 * include/grub/mips/qemu-mips/memory.h: Likewise.
31271 * include/grub/mips/qemu-mips/serial.h: Likewise.
31272 * include/grub/mips/qemu-mips/time.h: Likewise.
31273 * include/grub/mips/relocator.h: Likewise.
31274 * include/grub/mips/time.h: Likewise.
31275 * include/grub/mips/types.h: Likewise.
31276 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
31277 * include/grub/mips/yeeloong/boot.h: Likewise.
31278 * include/grub/mips/yeeloong/kernel.h: Likewise.
31279 * include/grub/mips/yeeloong/loader.h: Likewise.
31280 * include/grub/mips/yeeloong/memory.h: Likewise.
31281 * include/grub/mips/yeeloong/pci.h: Likewise.
31282 * include/grub/mips/yeeloong/serial.h: Likewise.
31283 * include/grub/mips/yeeloong/time.h: Likewise.
31284 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
31285 * kern/elf.c (grub_elf32_size): New parameter. All users
31287 (grub_elf64_size): Likewise.
31288 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
31289 Load modules before saying "Welcome to GRUB!".
31290 Call grub_refresh after saying "Welcome to GRUB!".
31291 * kern/mips/cache.S: New file.
31292 * kern/mips/cache_flush.S: Likewise.
31293 * kern/mips/dl.c: Likewise.
31294 * kern/mips/init.c: Likewise.
31295 * kern/mips/qemu-mips/init.c: Likewise.
31296 * kern/mips/startup.S: Likewise.
31297 * kern/mips/yeeloong/init.c: Likewise.
31298 * kern/term.c (grub_putcode): Handle NULL terminal.
31299 (grub_getcharwidth): Likewise.
31300 (grub_getkey): Likewise.
31301 (grub_checkkey): Likewise.
31302 (grub_getkeystatus): Likewise.
31303 (grub_getxy): Likewise.
31304 (grub_getwh): Likewise.
31305 (grub_gotoxy): Likewise.
31306 (grub_cls): Likewise.
31307 (grub_setcolorstate): Likewise.
31308 (grub_setcolor): Likewise.
31309 (grub_getcolor): Likewise.
31310 (grub_refresh): Likewise.
31311 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
31312 (write_jump): Add hatch nop.
31313 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
31314 * lib/mips/setjmp.S: New file.
31315 * loader/mips/linux.c: Likewise.
31316 * term/i386/pc/at_keyboard.c: Move from here ...
31317 * term/at_keyboard.c: ... to here.
31318 * term/i386/pc/serial.c: Moved from here ...
31319 * term/serial.c: ... to here. All users updated.
31320 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
31321 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
31322 (serial_translate_key_sequence): Avoid deadlock.
31323 (grub_serial_getkey): Handle backspace.
31324 (grub_serial_putchar): Fix newline handling.
31325 * util/i386/pc/grub-mkimage.c: Move from here ...
31326 * util/grub-mkrawimage.c: ... to here. All users updated.
31327 (generate_image): New parameters 'font_path' and 'format'.
31328 Support embedding font.
31329 Use grub_host_to_target* instead of grub_cpu_to_le*.
31330 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
31331 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
31332 (options): New option "--font".
31334 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
31335 (main): Handle "--font".
31336 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
31337 (grub_virtual_screen_setup): Set bg_color_display.
31338 (redraw_screen_rect): Use bg_color_display instead of incorrect
31340 (grub_gfxterm_cls): Likewise.
31341 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
31342 Support embedding config file.
31343 (add_segments): Likewise.
31344 (options): New option "--config".
31345 (main): Handle "--config".
31346 * video/sm712.c: New file.
31348 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31350 Fix parallel builds.
31352 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
31353 font.c depend on ascii.h).
31355 2010-01-12 Carles Pina i Estany <carles@pina.cat>
31357 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
31359 2010-01-11 Carles Pina i Estany <carles@pina.cat>
31361 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
31362 By default: disabled.
31363 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
31366 2010-01-10 Carles Pina i Estany <carles@pina.cat>
31368 * font/font.c: Update copyright years.
31369 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
31371 2010-01-10 Carles Pina i Estany <carles@pina.cat>
31373 * font/font.c: Include `ascii.h'.
31374 (ASCII_BITMAP_SIZE): New macro.
31375 (ascii_font_glyph): Define.
31376 (ascii_glyph_lookup): New function.
31377 (grub_font_get_string_width): Change comment. If glyph not found, use
31378 ascii_glyph_lookup.
31379 (grub_font_get_glyph_with_fallback): If glyph not available returns
31380 ascii_glyph_lookup.
31381 * util/grub-mkfont.c (file_formats): New enum.
31382 (options): Add `ascii-bitmaps' new option.
31383 (usage): Add `asii-bitmaps' new option.
31384 (write_font_ascii_bitmap): New function.
31385 (write_font): Rename to ...
31386 (write_font_p2): ... this. Remove print_glyphs call.
31387 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
31388 used. Call print_glyphs.
31389 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
31391 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31393 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
31394 (grub_bin2h_SOURCES): New variable.
31395 * util/bin2h.c: New file.
31397 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
31399 * include/multiboot.h: Resynced with spec.
31400 * include/multiboot2.h: Likewise.
31401 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
31402 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
31404 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31406 * include/grub/term.h (grub_term_register_input,
31407 grub_term_register_output): Check return of terminal init()
31408 routines, and abort if errors are raised.
31410 * commands/terminal.c: Update copyright year.
31412 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31414 * commands/terminal.c (grub_cmd_terminal_input)
31415 (grub_cmd_terminal_output): Check return of terminal init()
31416 routines, and abort if errors are raised.
31418 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31420 * include/grub/i386/bsd.h: Fix include pathes.
31422 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
31424 Add missing *BSD copyright headers.
31426 * include/grub/aout.h: Add BSD licence.
31427 * include/grub/i386/bsd.h: Parts under different licences moved to ...
31428 * include/grub/i386/freebsd_linker.h: ... here,
31429 * include/grub/i386/freebsd_reboot.h: ... here,
31430 * include/grub/i386/netbsd_bootinfo.h: ... here,
31431 * include/grub/i386/netbsd_reboot.h: ... here,
31432 * include/grub/i386/openbsd_bootarg.h: ... here,
31433 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
31434 licence to each file.
31436 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31438 * acinclude.m4: Remove `nop' assembly instruction; it's not
31439 implemented by all architectures.
31441 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31443 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
31444 ELILO. This is no longer necessary.
31446 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
31448 Added new tool, grub-scrit-check to verify grub.cfg syntax.
31450 * util/grub-script-check.c: grub-script-check tool.
31451 * conf/common.rmk: Make rules for grub-script-check.
31453 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31455 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
31456 spotting it back in 2008. Shame on me for forgetting he did.
31458 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
31460 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
31462 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
31463 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
31464 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
31465 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
31466 (GRUB_VIDEO_TYPE_EFI): Rename to ...
31467 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
31469 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
31471 * include/grub/test.h: Add license header.
31472 * tests/example_functional_test.c: Likewise.
31473 * tests/example_unit_test.c: Likewise.
31474 * tests/lib/functional_test.c: Likewise.
31475 * tests/lib/test.c: Likewise.
31476 * tests/lib/unit_test.c: Likewise.
31478 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
31480 Use flag-based instead of hook-based video mode selection and "auto"
31483 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
31484 (grub_video_set_mode): Changed prototype. All users updated.
31485 (grub_video_check_mode_flag): New inline function.
31486 * video/video.c (parse_modespec): New function.
31487 (grub_video_set_mode): Parse flags and keywords.
31489 2010-01-17 Carles Pina i Estany <carles@pina.cat>
31491 * util/misc.c (grub_util_info): Fix the order of the parameters in a
31494 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
31496 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
31498 2010-01-16 Carles Pina i Estany <carles@pina.cat>
31500 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
31502 * util/grub-emu.c (usage): Likewise.
31503 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
31504 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31505 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31506 * util/i386/pc/grub-setup.c (usage): Likewise.
31508 2010-01-16 Carles Pina i Estany <carles@pina.cat>
31510 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
31512 (grub_util_info): Likewise.
31513 (grub_util_error): Likewise.
31514 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
31515 and/or new lines in `grub_util_warna', `grub_util_info',
31516 `grub_util_error' calls.
31517 * util/getroot.c: Likewise.
31518 * util/grub-editenv.c: Likewise.
31519 * util/grub-emu.c: Likewise.
31520 * util/grub-fstest.c: Likewise.
31521 * util/grub-mkdevicemap.c: Likewise.
31522 * util/grub-mkfont.c: Likewise.
31523 * util/grub-mkpasswd-pbkdf2.c: Likewise.
31524 * util/grub-mkrelpath.c: Likewise.
31525 * util/grub-pe2elf.c: Likewise.
31526 * util/grub-probe.c: Likewise.
31527 * util/hostdisk.c: Likewise.
31528 * util/i386/efi/grub-mkimage.c: Likewise.
31529 * util/i386/pc/grub-mkimage.c: Likewise.
31530 * util/i386/pc/grub-setup.c: Likewise.
31531 * util/ieee1275/ofpath.c: Likewise.
31532 * util/mkisofs/eltorito.c: Likewise.
31533 * util/mkisofs/rock.c: Likewise.
31534 * util/mkisofs/write.c: Likewise.
31535 * util/raid.c: Likewise.
31536 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31537 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31539 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31541 Enable multiboot on non-pc.
31543 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
31544 multiboot.mod and multiboot2.mod to ...
31545 * conf/i386.rmk (pkglib_MODULES): ... here.
31546 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
31548 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
31549 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
31551 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
31552 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
31554 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
31555 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
31557 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
31558 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
31560 (ata_mod_SOURCES): Removed.
31561 (ata_mod_CFLAGS): Likewise.
31562 (ata_mod_LDFLAGS): Likewise.
31563 (relocator_mod_SOURCES): Removed.
31564 (relocator_mod_CFLAGS): Likewise.
31565 (relocator_mod_ASFLAGS): Likewise.
31566 (relocator_mod_LDFLAGS): Likewise.
31568 * include/grub/x86_64/multiboot.h: New file.
31569 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
31572 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31574 Video multiboot support.
31576 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
31578 * include/multiboot.h: Resynced with multiboot specification.
31579 * include/multiboot2.h: Likewise.
31580 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
31581 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
31582 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
31583 (HAS_VGA_TEXT): Likewise.
31584 (accepts_video): New variable.
31585 (grub_multiboot_set_accepts_video): New function.
31586 (grub_multiboot_get_mbi_size): Account for video structures.
31587 (set_video_mode): New function.
31588 (retrieve_video_parameters): Likewise.
31589 (grub_multiboot_make_mbi): Fill video fields.
31591 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
31595 * include/grub/video.h (grub_video_driver_id): New type.
31596 (grub_video_adapter): New member 'id'. All users updated.
31597 (grub_video_get_driver_id): New proto.
31598 * video/video.c (grub_video_get_driver_id): New function.
31600 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31602 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
31605 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31607 * normal/cmdline.c (print_completion): Gettextizze.
31609 2001-01-14 Carles Pina i Estany <carles@pina.cat>
31611 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
31613 2010-01-14 Carles Pina i Estany <carles@pina.cat>
31615 * gettext/gettext.c (grub_gettext_translate): Push and pop
31617 (grub_gettext_delete_list): Change comment style.
31618 * kern/err.c (grub_error): Gettextizze.
31619 (grub_fatal): Gettextizze.
31621 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
31623 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
31624 (grub_linux16_real_boot): ... this.
31625 * kern/i386/loader.S: Likewise.
31626 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
31627 (grub_linux16_boot): New function. Switches to text mode and calls
31628 grub_linux16_real_boot().
31630 * loader/i386/bsd.c: Include `<grub/video.h>'.
31631 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
31632 text mode before calling grub_unix_real_boot().
31634 * loader/i386/multiboot.c: Include `<grub/video.h>'.
31635 (grub_multiboot_boot): Switch to text mode before calling
31636 grub_relocator32_boot().
31638 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
31639 (grub_chainloader_boot): Switch to text mode before calling
31640 grub_chainloader_real_boot().
31642 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31643 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31645 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
31648 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31649 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31651 * util/grub.d/00_header.in: Define a "savedefault" function for use
31653 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
31655 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
31656 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
31658 * util/grub-mkconfig_lib.in (save_default_entry): Only set
31659 saved_entry if boot_once is unset.
31660 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
31661 previous saved entry (i.e. grub-reboot).
31663 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31665 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
31667 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31669 * util/grub.d/00_header.in: Use `set var=val' rather than plain
31671 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
31673 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31675 * util/grub-reboot.in: Fix --version output.
31676 * util/grub-set-default.in: Likewise.
31678 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31680 * util/grub.d/00_header.in: Silently ignore zero-sized environment
31683 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31685 * util/grub.d/00_header.in: Quote the value assigned to `default',
31686 in case it contains spaces.
31688 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
31690 * util/grub.d/30_os-prober.in: Fix merge error that moved a
31691 `save_default_entry' call from the macosx case to the linux case.
31693 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
31694 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
31696 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
31697 in `chosen' environment variable.
31698 * normal/menu_text.c (get_entry_number): Check if the variable
31699 matches the title of a menu entry.
31700 (run_menu): Pass menu to get_entry_number.
31702 * util/grub-reboot.in: New file.
31703 * util/grub-set-default.in: New file.
31704 * conf/common.rmk (grub-reboot): New utility.
31705 (grub-set-default): New utility.
31707 * util/grub-mkconfig_lib.in (save_default_entry): New function.
31708 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
31709 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
31710 move it to `saved_entry' for the next boot. Load environment on
31712 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
31713 * util/grub.d/10_hurd.in: Likewise.
31714 * util/grub.d/10_linux.in (linux_entry): Likewise.
31715 * util/grub.d/10_windows.in: Likewise.
31716 * util/grub.d/30_os-prober.in: Likewise.
31718 * util/grub-install.in: Create environment block.
31719 * util/i386/efi/grub-install.in: Likewise.
31720 * util/ieee1275/grub-install.in: Likewise.
31721 * util/sparc64/ieee1275/grub-install.in: Likewise.
31723 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
31725 Unit testing framework for GRUB.
31727 * Makefile.in: Test framework build rules for 'make check'.
31728 * conf/tests.rmk: Build rules for individual tests and framework.
31730 * include/grub/test.h: Header file for whitebox tests.
31731 * tests/lib/functional_test.c: Framework support for whitebox
31733 * tests/lib/test.c: Common whitebox testing code for unit and
31735 * tests/lib/unit_test.c: Framework support for whitebox unit
31738 * tests/util/grub-shell-tester.in: Support utility for grub-script
31740 * tests/util/grub-shell.in: Utility to execute grub-script
31741 commands in a Qemu instance.
31743 * tests/example_functional_test.c: Example whitebox functional
31745 * tests/example_grub_script_test.in: Example grub-script test.
31746 * tests/example_scripted_test.in: Example scripted test.
31747 * tests/example_unit_test.c: Example whitebox unit test.
31749 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
31751 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
31752 Add loader/i386/multiboot_mbi.c.
31753 (multiboot2_mod_SOURCES): Likewise.
31754 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
31755 (multiboot2_mod_SOURCES): Likewise.
31756 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
31757 (grub_multiboot_make_mbi): Likewise.
31758 (grub_multiboot_free_mbi): Likewise.
31759 (grub_multiboot_init_mbi): Likewise.
31760 (grub_multiboot_add_module): Likewise.
31761 (grub_multiboot_set_bootdev): Likewise.
31762 * loader/i386/multiboot.c (mbi): Removed.
31763 (mbi_dest): Likewise.
31764 (alloc_mbi): New variable.
31765 (grub_multiboot_payload_size): Removed. All users updated.
31766 (grub_multiboot_pure_size): New variable.
31767 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
31768 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
31769 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
31770 (grub_fill_multiboot_mmap): Likewise.
31771 (grub_multiboot_get_bootdev): Likewise.
31772 (grub_multiboot): Use multiboot_mbi functions.
31773 * loader/i386/multiboot_mbi.c: New file.
31775 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31777 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
31778 it would result in module crash.
31780 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
31782 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
31783 (grub_ofconsole_getwh): Split to ...
31784 (grub_ofconsole_getwh): ... this.
31785 (grub_ofconsole_dimensions): ...and this.
31786 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
31788 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
31790 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
31792 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31794 * loader/i386/pc/multiboot2.c: Removed stalled file.
31796 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
31798 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
31799 Reported by: Grégoire Sutre
31801 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
31803 * util/misc.c (canonicalize_file_name): New function.
31804 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
31805 instead of realpath().
31807 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
31809 * util/grub-install.in (usage): Clarify meaning of --root-directory,
31810 and make it clearer that it's optional. Based on confusion
31813 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31815 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
31816 in premature implicit newline.
31818 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
31820 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
31821 which resulted in garbled command line at the end of screen.
31823 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31825 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
31826 initialization with similar approach as with other Linux loaders.
31828 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31830 Fix i386-ieee1275 build.
31832 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
31833 and grub_term_height() for video_{width,height} initialization.
31835 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
31837 Fix grub-emu build.
31839 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
31841 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
31842 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31844 Support for multiple terminals.
31846 * Makefile.in (pkglib_DATA): terminal.lst.
31847 (terminal.lst): New target.
31848 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
31849 (GRUB_MOD_INIT(handler)): Likewise.
31850 (GRUB_MOD_FINI(handler)): Likewise.
31851 * commands/help.c (grub_cmd_help): Handle multiple terminals.
31852 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
31853 * commands/sleep.c (do_print): Use grub_term_restore_pos.
31854 (grub_cmd_sleep): Use grub_term_save_pos.
31855 * commands/terminal.c: New file.
31856 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
31857 commands/terminal.c and lib/charset.c.
31858 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
31859 (pkglib_MODULES): Add terminal.mod.
31860 (terminal_mod_SOURCES): New variable.
31861 (terminal_mod_CFLAGS): Likewise.
31862 (terminal_mod_LDFLAGS): Likewise.
31863 * genhandlerlist.sh: Don't handle terminals.
31864 * genmk.rb: Generate terminal-*.lst.
31865 * genterminallist.sh: New file.
31866 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
31867 (grub_is_valid_utf8): Likewise.
31868 (grub_utf8_to_ucs4_alloc): Likewise.
31869 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
31870 (grub_menu_register_viewer): Changed argument.
31871 (grub_menu_try_text): New proto.
31872 (grub_gfxmenu_try_hook): New declaration.
31873 * include/grub/normal.h (grub_normal_exit_level): New declaration.
31874 (grub_menu_init_page): Additional argument term.
31875 (grub_normal_init_page): Likewise.
31876 (grub_cmdline_get): Arguments simplified.
31877 (grub_utf8_to_ucs4_alloc): Removed.
31878 (grub_print_ucs4): Additional argument term.
31879 (grub_getstringwidth): Likewise.
31880 (grub_print_message_indented): Likewise.
31881 (grub_menu_text_register_instances): New proto.
31882 (grub_show_menu): Likewise.
31883 (read_terminal_list): Likewise.
31884 (grub_set_more): Likewise.
31885 * include/grub/parser.h: Include handler.h.
31886 * include/grub/reader.h: Rewritten.
31887 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
31888 (GRUB_TERM_WIDTH): Changed to function.
31889 (GRUB_TERM_HEIGHT): Likewise.
31890 (GRUB_TERM_BORDER_WIDTH): Likewise.
31891 (GRUB_TERM_BORDER_HEIGHT): Likewise.
31892 (GRUB_TERM_NUM_ENTRIES): Likewise.
31893 (GRUB_TERM_ENTRY_WIDTH): Likewise.
31894 (GRUB_TERM_CURSOR_X): Likewise.
31895 (grub_term_input_class): Likewise.
31896 (grub_term_output_class): Likewise.
31897 (grub_term_outputs_disabled): New declaration.
31898 (grub_term_inputs_disabled): Likewise.
31899 (grub_term_outputs): Likewise.
31900 (grub_term_inputs): Likewise.
31901 (grub_term_register_input): Rewritten.
31902 (grub_term_register_output): Likewise.
31903 (grub_term_unregister_input): Likewise.
31904 (grub_term_unregister_output): Likewise.
31905 (FOR_ACTIVE_TERM_INPUTS): New macro.
31906 (FOR_DISABLED_TERM_INPUTS): Likewise.
31907 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
31908 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
31909 * include/grub/terminfo.h: Add oterm argument to all protypes.
31910 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
31911 Use grub_rescue_run.
31912 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
31914 * kern/reader.c: Removed. All users updated.
31915 * kern/rescue_reader.c (grub_rescue_init): Removed.
31916 (grub_rescue_reader): Likewise.
31917 (grub_register_rescue_reader): Likewise.
31918 (grub_rescue_run): New function based on kern/reader.c.
31919 * kern/term.c: Adapted for multiterm.
31920 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
31921 (grub_is_valid_utf8): Likewise.
31922 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
31923 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
31925 * loader/i386/linux.c (grub_linux_boot): Likewise.
31926 * normal/auth.c (grub_username_get): New function.
31927 (grub_auth_check_authentication): Use grub_username_get.
31928 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
31929 * normal/color.c: Adapt for multiterm.
31930 * normal/main.c (read_config_file): Don't use grub_reader_loop.
31931 (grub_normal_init_page): Additional argument term.
31932 (read_lists): Call read_terminal_lists.
31933 (grub_enter_normal_mode): Call grub_cmdline_run.
31934 Handle grub_normal_exit_level.
31935 (grub_cmd_normal): Make reentrant.
31936 (grub_cmd_normal_exit): New function.
31937 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
31938 * normal/menu.c: Adapt for multiterm.
31939 * normal/menu_entry.c: Likewise.
31940 * normal/menu_text.c: Likewise.
31941 * normal/menu_viewer.c: Removed. All users updated.
31942 * normal/term.c: New file.
31943 * util/console.c: Change order of includes to workaround a bug in
31945 * term/terminfo.c: New argument oterm on all exported functions.
31947 * util/grub-editenv.c (grub_term_input_class): Removed.
31948 (grub_term_output_class): Likewise.
31950 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
31952 Make loader output a bit more user-friendly.
31954 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
31955 is being loaded. Likewise for the Hurd.
31957 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
31958 that kernel of FreeBSD ${version} is being loaded.
31960 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
31962 (grub_cmd_initrd): Likewise.
31963 * util/grub.d/10_linux.in (linux_entry): Print message indicating
31964 that Linux ${version} is being loaded. Likewise for initrd.
31966 2010-01-09 Carles Pina i Estany <carles@pina.cat>
31968 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
31970 2010-01-08 Carles Pina i Estany <carles@pina.cat>
31972 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
31973 (GRUB_MOD_INIT): Gettextizze.
31974 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
31975 (GRUB_MOD_INIT): Gettextizze.
31976 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
31977 (grub_cmd_linux): Capitalise Linux.
31978 (GRUB_MOD_INIT): Gettextizze.
31979 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
31980 (grub_cmd_linux): Capitalise Linux.
31981 (GRUB_MOD_INIT): Gettextizze.
31982 * loader/i386/linux.c: Include `<grub/i18n.h>'.
31983 (grub_cmd_linux): Capitalise Linux.
31984 (GRUB_MOD_INIT): Gettextizze.
31985 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
31986 (GRUB_MOD_INIT): Gettextizze.
31987 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
31988 (grub_cmd_linux): Capitalise Linux.
31989 (GRUB_MOD_INIT): Gettextizze.
31990 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
31991 (grub_cpu_xnu_init): Gettextizze.
31992 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
31993 (GRUB_MOD_INIT): Gettextizze.
31994 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
31995 (GRUB_MOD_INIT): Gettextizze.
31996 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
31997 (grub_linux_load64): Capitalise Linux.
31998 (GRUB_MOD_INIT): Gettextizze.
31999 * loader/xnu.c: Include `<grub/i18n.h>'.
32000 (GRUB_MOD_INIT): Gettextizze.
32001 * po/POTFILES: Add `loader/efi/appleloader.c',
32002 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
32003 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
32004 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
32005 `loader/i386/xnu.c', `loader/multiboot_loader.c',
32006 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
32007 and `loader/xnu.c'.
32009 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32011 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
32013 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
32015 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
32016 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
32017 * util/mkisofs/mkisofs.c (main): Readjust --version output.
32019 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32021 Reset Multiboot 2 support. New loader implements the draft in
32022 /branches/multiboot2 and shares as much code as possible with the
32023 production Multiboot 1 implementation.
32025 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
32026 * loader/multiboot2.c: Likewise.
32027 * loader/i386/multiboot_helper.S: Likewise.
32028 * include/multiboot2.h: Replace with latest version from the draft
32029 in /branches/multiboot2.
32031 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
32032 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
32033 and `loader/multiboot2.c'.
32034 (pkglib_MODULES): Add `multiboot2.mod'.
32035 (multiboot2_mod_SOURCES): New variable.
32036 (multiboot2_mod_LDFLAGS): Likewise.
32037 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
32039 * conf/i386-pc.rmk: Likewise.
32041 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32042 (multiboot_mod_SOURCES): Remove variable.
32043 (multiboot_mod_LDFLAGS): Likewise.
32044 (multiboot_mod_CFLAGS): Likewise.
32046 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
32047 `<multiboot2.h>' instead of `<multiboot.h>'.
32048 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
32049 (MULTIBOOT_HEADER_MAGIC): New macros.
32051 * loader/multiboot_loader.c (module_version_status): Remove variable.
32052 (find_multi_boot2_header): Remove function.
32053 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
32054 logic. Always check for the Multiboot version we're compiling for.
32055 (grub_cmd_module_loader): Likewise.
32056 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
32057 command instead of `multiboot'.
32059 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32061 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
32062 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
32065 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32066 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32068 Fix breakage introduced with previous commit.
32070 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
32072 * normal/handler.c (read_handler_list): Revert part of previous commit
32073 affecting this file.
32074 * normal/main.c (read_lists): Move read_handler_list() call back to ...
32075 (grub_normal_execute): ... here.
32077 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32079 Merge prefix-redefinition-fix branch.
32081 * normal/autofs.c (read_fs_list): Make function capable of being
32082 run multiple times, gracefuly replacing the previous data
32084 * normal/dyncmd.c (read_command_list): Likewise.
32085 * normal/handler.c (read_handler_list): Likewise.
32086 * normal/main.c (read_lists): New function. Calls all the
32087 list reading functions.
32088 (grub_normal_execute): Use read_lists() instead of calling all
32089 list reading functions explicitly. Register read_lists() as a
32090 variable hook attached to ${prefix}.
32092 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
32094 Merge crypto branch.
32096 * Makefile.in (pkglib_DATA): Add crypto.lst.
32097 (crypto.lst): New target.
32098 * commands/hashsum.c: New file.
32099 * commands/password.c (check_password): Use grub_crypto_memcmp.
32100 * commands/password_pbkdf2.c: New file.
32101 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
32102 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
32103 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
32104 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
32105 -I$(srcdir)/lib/libgcrypt_wrap.
32106 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
32107 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
32108 password_pbkdf2.mod.
32109 (crypto_mod_SOURCES): New variable.
32110 (crypto_mod_CFLAGS): Likewise.
32111 (crypto_mod_LDFLAGS): Likewise.
32112 (hashsum_mod_SOURCES): New variable.
32113 (hashsum_mod_CFLAGS): Likewise.
32114 (hashsum_mod_LDFLAGS): Likewise.
32115 (pbkdf2_mod_SOURCES): New variable.
32116 (pbkdf2_mod_CFLAGS): Likewise.
32117 (pbkdf2_mod_LDFLAGS): Likewise.
32118 (password_pbkdf2_mod_SOURCES): New variable.
32119 (password_pbkdf2_mod_CFLAGS): Likewise.
32120 (password_pbkdf2_mod_LDFLAGS): Likewise.
32121 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
32122 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
32123 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
32124 Include conf/gcry.rmk.
32125 * include/grub/auth.h: Rewritten.
32126 * include/grub/crypto.h: New file.
32127 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
32128 * include/grub/normal.h (read_crypto_list): New prototype.
32129 * lib/crypto.c: New file.
32130 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
32131 * lib/pbkdf2.c: Likewise.
32132 * normal/auth.c (grub_auth_strcmp): Removed.
32133 (grub_iswordseparator): Likewise.
32134 (grub_auth_strword): Likewise.
32135 (is_authenticated): Use grub_strword.
32136 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
32137 and grub_strword. Pass entered password to authentication callback.
32138 * normal/crypto.c: New file.
32139 * normal/main.c: Call read_crypto_list.
32140 * util/grub-mkpasswd-pbkdf2.c: New file.
32141 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
32143 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
32145 Fix descent and ascent calculation.
32147 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
32148 (options): New option "asce".
32150 (add_char): Ignore invalid glyphs for descent calculation.
32151 Calculate ascent from actual content.
32152 (print_glyphs): Use 'asce'.
32153 (write_font): Likewise. Allow ascent override.
32154 (main): Handle "asce" option.
32156 2010-01-06 Carles Pina i Estany <carles@pina.cat>
32158 * kern/err.c: Include `<grub/i18n.h>'.
32159 (grub_print_error): Add full stop. Gettextizze.
32160 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
32161 (grub_bsd_load_elf): Capitalise ELF.
32162 (grub_cmd_freebsd_loadenv): Add `s' in error string.
32163 (grub_cmd_freebsd_module): Likewise.
32164 (grub_cmd_freebsd_module_elf): Likewise.
32165 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
32167 2010-01-06 Carles Pina i Estany <carles@pina.cat>
32169 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
32170 * commands/search_file.c (HELP_MESSAGE): New macro.
32171 * commands/search_label.c (HELP_MESSAGE): Likewise.
32172 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
32173 * po/POTFILES: Add `commands/search_file.c',
32174 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
32175 `commands/search.c'.
32177 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32179 * config.rpath: Update from Gnulib.
32181 2010-01-05 Yves Blusseau <blusseau@zetam.org>
32183 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
32185 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
32187 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
32189 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
32191 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
32192 arguments to fread so that we get a return value in bytes, rather
32193 than something that will normally be rounded down to 0.
32194 Adjust error handling to avoid producing garbage when size_t is not
32195 the same size as long long.
32197 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
32199 * util/mkisofs/write.c (padblock_write): Check return value of
32202 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
32204 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
32207 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
32209 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32211 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
32212 instead of manual alignment.
32213 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
32214 verbose). Avoid attempts to read past end of the device
32215 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
32216 but GRUB_DISK_CACHE_SIZE may exceed that).
32218 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
32220 * commands/crc.c (grub_cmd_crc): Abort on read errors.
32221 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
32224 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32226 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
32228 (grub_efi_piwg_device_path): New structure
32229 (grub_efi_piwg_device_path_t): New type.
32230 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
32231 (devpath_1): Transform to a structure. All users updated.
32232 (devpath_2): Likewise.
32233 (devpath_3): Likewise.
32234 (devpath_4): Likewise.
32235 (devpath_5): Likewise.
32237 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
32239 * loader/efi/appleloader.c: Restored. Update all users.
32241 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32243 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
32245 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
32246 (struct boot_blocklist): Move from here ...
32247 * include/grub/i386/pc/boot.h [ASM_FILE]
32248 (struct grub_boot_blocklist): ... to here. Update all users.
32249 (setup): Only initialize `start' member of `first_block'
32250 structure. Add assert() calls to verify the other members.
32252 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
32253 (generate_image): Fix broken blocklist length initialization.
32254 Add assert() call to verify blocklist `segment' field.
32256 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32258 * loader/efi/appleloader.c: Remove. Update all users.
32260 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
32262 * boot/i386/pc/boot.S: Update copyright year.
32263 * boot/i386/pc/cdboot.S: Likewise.
32264 * boot/i386/pc/diskboot.S: Likewise.
32265 * boot/i386/pc/lnxboot.S: Likewise.
32266 * boot/i386/pc/pxeboot.S: Likewise.
32267 * bus/pci.c: Likewise.
32268 * commands/cmp.c: Likewise.
32269 * commands/help.c: Likewise.
32270 * commands/hexdump.c: Likewise.
32271 * commands/i386/pc/halt.c: Likewise.
32272 * commands/i386/pc/play.c: Likewise.
32273 * commands/i386/pc/vbeinfo.c: Likewise.
32274 * commands/ls.c: Likewise.
32275 * commands/test.c: Likewise.
32276 * disk/dmraid_nvidia.c: Likewise.
32277 * disk/i386/pc/biosdisk.c: Likewise.
32278 * disk/ieee1275/nand.c: Likewise.
32279 * disk/ieee1275/ofdisk.c: Likewise.
32280 * disk/lvm.c: Likewise.
32281 * disk/raid.c: Likewise.
32282 * disk/raid6_recover.c: Likewise.
32283 * disk/scsi.c: Likewise.
32284 * fs/affs.c: Likewise.
32285 * fs/cpio.c: Likewise.
32286 * fs/ext2.c: Likewise.
32287 * fs/hfs.c: Likewise.
32288 * fs/iso9660.c: Likewise.
32289 * fs/ntfs.c: Likewise.
32290 * fs/sfs.c: Likewise.
32291 * fs/udf.c: Likewise.
32292 * fs/ufs.c: Likewise.
32293 * fs/xfs.c: Likewise.
32294 * gencmdlist.sh: Likewise.
32295 * genmk.rb: Likewise.
32296 * include/grub/disk.h: Likewise.
32297 * include/grub/efi/api.h: Likewise.
32298 * include/grub/efi/efi.h: Likewise.
32299 * include/grub/efi/pe32.h: Likewise.
32300 * include/grub/elf.h: Likewise.
32301 * include/grub/fs.h: Likewise.
32302 * include/grub/i386/at_keyboard.h: Likewise.
32303 * include/grub/i386/pc/memory.h: Likewise.
32304 * include/grub/i386/pc/vbe.h: Likewise.
32305 * include/grub/i386/pci.h: Likewise.
32306 * include/grub/i386/tsc.h: Likewise.
32307 * include/grub/ieee1275/ieee1275.h: Likewise.
32308 * include/grub/ntfs.h: Likewise.
32309 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32310 * include/grub/sparc64/libgcc.h: Likewise.
32311 * include/grub/symbol.h: Likewise.
32312 * include/grub/types.h: Likewise.
32313 * include/multiboot2.h: Likewise.
32314 * io/gzio.c: Likewise.
32315 * kern/device.c: Likewise.
32316 * kern/disk.c: Likewise.
32317 * kern/efi/efi.c: Likewise.
32318 * kern/efi/mm.c: Likewise.
32319 * kern/elf.c: Likewise.
32320 * kern/file.c: Likewise.
32321 * kern/i386/dl.c: Likewise.
32322 * kern/i386/pc/init.c: Likewise.
32323 * kern/i386/pc/startup.S: Likewise.
32324 * kern/ieee1275/ieee1275.c: Likewise.
32325 * kern/ieee1275/init.c: Likewise.
32326 * kern/main.c: Likewise.
32327 * kern/mm.c: Likewise.
32328 * kern/powerpc/dl.c: Likewise.
32329 * kern/sparc64/dl.c: Likewise.
32330 * kern/x86_64/dl.c: Likewise.
32331 * lib/hexdump.c: Likewise.
32332 * loader/efi/appleloader.c: Likewise.
32333 * loader/i386/ieee1275/linux.c: Likewise.
32334 * loader/i386/pc/chainloader.c: Likewise.
32335 * loader/i386/pc/linux.c: Likewise.
32336 * loader/i386/pc/multiboot2.c: Likewise.
32337 * loader/ieee1275/multiboot2.c: Likewise.
32338 * loader/multiboot2.c: Likewise.
32339 * loader/multiboot_loader.c: Likewise.
32340 * loader/powerpc/ieee1275/linux.c: Likewise.
32341 * normal/completion.c: Likewise.
32342 * normal/menu_entry.c: Likewise.
32343 * partmap/apple.c: Likewise.
32344 * util/grub.d/10_hurd.in: Likewise.
32345 * util/hostfs.c: Likewise.
32346 * video/readers/png.c: Likewise.
32348 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
32350 * include/grub/misc.h (GNUC_PREREQ): New macro.
32351 (ATTRIBUTE_ERROR): New macro.
32352 * include/grub/list.h (grub_bad_type_cast_real): Use
32355 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32357 * normal/menu_text.c (print_message): Change messages.
32359 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32361 * normal/menu_entry.c (store_completion): Gettextizze.
32363 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32365 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
32367 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32369 * po/POTFILES: Sort correctly.
32371 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32373 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
32374 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
32375 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
32377 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
32378 summary. Gettextizze the strings.
32379 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
32380 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
32381 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
32383 (GRUB_MOD_INIT): Remove command name from summary.
32384 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
32386 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
32387 * term/i386/pc/serial.c (options): Add full stops.
32388 (GRUB_MOD_INIT): Remove command name from the summary.
32390 2010-01-03 Carles Pina i Estany <carles@pina.cat>
32392 * commands/acpi.c: Gettextizze help strings and/or options. Include
32393 `grub/i18n.h' if needed.
32394 * commands/blocklist.c: Likewise.
32395 * commands/boot.c: Likewise.
32396 * commands/cat.c: Likewise.
32397 * commands/cmp.c: Likewise.
32398 * commands/configfile.c: Likewise.
32399 * commands/crc.c: Likewise.
32400 * commands/date.c: Likewise.
32401 * commands/echo.c: Likewise.
32402 * commands/efi/fixvideo.c: Likewise.
32403 * commands/efi/loadbios.c: Likewise.
32404 * commands/gptsync.c: Likewise.
32405 * commands/halt.c: Likewise.
32406 * commands/handler.c: Likewise.
32407 * commands/hdparm.c: Likewise.
32408 * commands/hexdump.c: Likewise.
32409 * commands/i386/cpuid.c: Likewise.
32410 * commands/i386/pc/drivemap.c: Likewise.
32411 * commands/i386/pc/halt.c: Likewise.
32412 * commands/i386/pc/pxecmd.c: Likewise.
32413 * commands/i386/pc/vbeinfo.c: Likewise.
32414 * commands/i386/pc/vbetest.c: Likewise.
32415 * commands/ieee1275/suspend.c: Likewise.
32416 * commands/keystatus.c: Likewise.
32417 * commands/loadenv.c: Likewise.
32418 * commands/ls.c: Likewise.
32419 * commands/lsmmap.c: Likewise.
32420 * commands/lspci.c: Likewise.
32421 * commands/memrw.c: Likewise.
32422 * commands/minicmd.c: Likewise.
32423 * commands/parttool.c: Likewise.
32424 * commands/password.c: Likewise.
32425 * commands/probe.c: Likewise.
32426 * commands/read.c: Likewise.
32427 * commands/reboot.c: Likewise.
32428 * commands/search.c: Likewise.
32429 * commands/sleep.c: Likewise.
32430 * commands/test.c: Likewise.
32431 * commands/true.c: Likewise.
32432 * commands/usbtest.c: Likewise.
32433 * commands/videotest.c: Likewise.
32434 * commands/xnu_uuid.c: Likewise.
32435 * disk/loopback.c: Likewise.
32436 * hello/hello.c: Likewise.
32437 * loader/i386/bsd.c: Likewise.
32438 * term/i386/pc/serial.c: Likewise.
32439 * po/POTFILES: Add new files.
32441 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
32443 * term/i386/pc/at_keyboard.c
32444 (keyboard_controller_wait_untill_ready): Rename to ...
32445 (keyboard_controller_wait_until_ready): ... this. Update all users.
32447 2010-01-01 Carles Pina i Estany <carles@pina.cat>
32449 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
32450 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
32451 string using string width.
32452 * normal/menu_text.c (grub_print_message_indented): Use
32453 grub_print_spaces and not print_spaces.
32454 (print_timeout): Likewise.
32455 (print_spaces): Move to...
32456 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
32458 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
32460 Import from Gnulib.
32462 * gnulib/getdelim.c: New file.
32463 * gnulib/getline.c: Likewise.
32465 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
32467 * include/grub/list.h (grub_assert_fail): Removed.
32468 (grub_bad_type_cast_real): New function.
32469 (grub_bad_type_cast): New macro.
32470 (GRUB_AS_LIST): Use grub_bad_type_cast.
32471 (GRUB_AS_LIST_P): Likewise.
32472 (GRUB_AS_NAMED_LIST): Likewise.
32473 (GRUB_AS_NAMED_LIST_P): Likewise.
32474 (GRUB_AS_PRIO_LIST): Likewise.
32475 (GRUB_AS_PRIO_LIST_P): Likewise.
32476 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
32478 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
32480 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
32483 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
32485 * configure.ac: Check for TARGET_CFLAGS initialization before we
32486 initialize it ourselves (sigh).
32487 Move a few modifications to TARGET_CFLAGS to be unconditional
32488 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
32491 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
32492 * term/i386/pc/at_keyboard.c
32493 (keyboard_controller_wait_untill_ready): Likewise.
32494 (keyboard_controller_led): Rename `led_status' paramter to avoid
32497 2009-12-28 Carles Pina i Estany <carles@pina.cat>
32499 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
32502 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32504 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
32506 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32508 * normal/menu_text.c (grub_print_message_indented): Prevent
32509 past-the-end-of-array dereference.
32511 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
32513 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
32514 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
32516 2009-12-27 Carles Pina i Estany <carles@pina.cat>
32518 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
32519 * normal/main.c (grub_normal_read_line): Remove a space from the
32522 2009-12-27 Carles Pina i Estany <carles@pina.cat>
32524 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
32525 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32526 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32527 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32528 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32529 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32530 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32532 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32534 * video/readers/jpeg.c (cmd): Declare.
32535 (grub_cmd_jpegtest): Use `grub_command_t' type.
32536 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32538 (GRUB_MOD_FINI): Use `cmd' to unregister.
32539 * video/readers/png.c (cmd): Declare.
32540 (grub_cmd_pngtest): Use `grub_command_t' type.
32541 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32543 (GRUB_MOD_FINI): Use `cmd' to unregister.
32544 * video/readers/tga.c (cmd): Declare.
32545 (grub_cmd_tgatest): Use `grub_command_t' type.
32546 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
32548 (GRUB_MOD_FINI): Use `cmd' to unregister.
32550 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32552 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
32554 * kern/corecmd.c (grub_register_core_commands): Likewise.
32555 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
32556 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32557 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
32558 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32559 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
32560 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
32561 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
32562 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
32563 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32564 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
32565 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32566 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32567 * normal/handler.c (insert_handler): Likewise.
32568 * normal/main.c (GRUB_MOD_INIT): Likewise.
32569 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
32571 2009-12-26 Carles Pina i Estany <carles@pina.cat>
32573 * commands/help.c (grub_cmd_help): Print the command name before the
32575 (GRUB_MOD_INIT): Remove command name from the summary.
32576 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
32578 * lib/arg.c (find_long): Print the command name before the summary.
32579 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
32581 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
32582 * commands/cat.c (GRUB_MOD_INIT): Likewise.
32583 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
32584 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32585 * commands/crc.c (GRUB_MOD_INIT): Likewise.
32586 * commands/date.c (GRUB_MOD_INIT): Likewise.
32587 * commands/echo.c (GRUB_MOD_INIT): Likewise.
32588 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
32589 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
32590 * commands/handler.c (GRUB_MOD_INIT): Likewise.
32591 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
32592 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
32593 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
32594 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
32595 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
32596 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
32597 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
32598 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
32599 * commands/ls.c (GRUB_MOD_INIT): Likewise.
32600 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
32601 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
32602 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
32603 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
32604 * commands/password.c (GRUB_MOD_INIT): Likewise.
32605 * commands/probe.c (GRUB_MOD_INIT): Likewise.
32606 * commands/read.c (GRUB_MOD_INIT): Likewise.
32607 * commands/search.c (GRUB_MOD_INIT): Likewise.
32608 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
32609 * commands/test.c (GRUB_MOD_INIT): Likewise.
32610 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
32611 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
32612 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
32613 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
32614 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
32615 * lib/arg.c (GRUB_MOD_INIT): Likewise.
32616 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
32617 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
32618 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
32619 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
32620 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
32621 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
32622 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
32623 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
32625 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32627 Use search command for preliminar UUID search.
32629 * commands/search.c: Split into ...
32630 * commands/search_wrap.c: ...this
32631 * commands/search.c: ...and this.
32632 * commands/search_file.c: New file.
32633 * commands/search_label.c: New file.
32634 * commands/search_uuid.c: New file.
32635 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
32636 Add commands/search_wrap.c, commands/search_file.c,
32637 commands/search_label.c and commands/search_uuid.c.
32638 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
32639 (search_mod_SOURCES): Set to commands/search_wrap.c.
32640 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
32642 (search_fs_file_mod_SOURCES): New variable.
32643 (search_fs_file_mod_CFLAGS): Likewise.
32644 (search_fs_file_mod_LDFLAGS): Likewise.
32645 (search_label_mod_SOURCES): Likewise.
32646 (search_label_mod_CFLAGS): Likewise.
32647 (search_label_mod_LDFLAGS): Likewise.
32648 (search_fs_uuid_mod_SOURCES): New variable.
32649 (search_fs_uuid_mod_CFLAGS): Likewise.
32650 (search_fs_uuid_mod_LDFLAGS): Likewise.
32651 (fs_file_mod_SOURCES): Removed.
32652 (fs_file_mod_CFLAGS): Likewise.
32653 (fs_file_mod_LDFLAGS): Likewise.
32654 (fs_uuid_mod_SOURCES): Removed.
32655 (fs_uuid_mod_CFLAGS): Likewise.
32656 (fs_uuid_mod_LDFLAGS): Likewise.
32657 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
32658 Set to util/grub-install.in.
32659 * disk/fs_file.c: Removed.
32660 * disk/fs_uuid.c: Likewise.
32661 * include/grub/search.h: New file.
32662 * util/grub-install.in: Handle sparc64.
32663 Create and use load.cfg.
32664 * util/sparc64/ieee1275/grub-install.in: Removed.
32666 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32668 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
32669 Ignore return status if CF is cleared.
32670 (grub_biosdisk_get_diskinfo_standard): Likewise.
32672 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32674 * term/i386/pc/at_keyboard.c
32675 (keyboard_controller_wait_untill_ready): New function.
32676 (grub_keyboard_controller_write, grub_keyboard_controller_read)
32677 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
32678 for keyboard polling, rather than duplicate the same loop. This
32679 saves a few bytes in code size.
32681 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32683 Support for (pxe[:server[:gateway]]) syntax and
32684 use environment variable for PXE.
32686 * commands/i386/pc/pxecmd.c (options): Removed.
32687 (print_ip): Removed.
32688 (grub_cmd_pxe): Removed
32689 (grub_cmd_pxe_unload): New function.
32690 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
32691 (grub_pxe_your_ip): Made static.
32692 (grub_pxe_default_server_ip): Likewise.
32693 (grub_pxe_default_gateway_ip): Likewise.
32694 (grub_pxe_blksize): Likewise.
32695 (parse_ip): New function.
32696 (grub_pxe_open): Support server and gateway specification.
32697 (grub_pxe_close): Free disk->data.
32698 (grub_pxefs_open): Use disk->data.
32699 (grub_pxefs_read): Likewise.
32700 (grub_env_write_readonly): New function.
32701 (set_mac_env): Likewise.
32702 (set_env_limn_ro): Likewise.
32703 (parse_dhcp_vendor): Likewise.
32704 (grub_pxe_detect): Set the environment variables.
32705 (set_ip_env): New function.
32706 (write_ip_env): Likewise.
32707 (grub_env_write_pxe_default_server): Likewise.
32708 (grub_env_write_pxe_default_gateway): Likewise.
32709 (grub_env_write_pxe_blocksize): Likewise.
32710 (GRUB_MOD_INIT(pxe)): Set environment variables.
32711 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
32712 (grub_pxe_mac_addr_t): ... this. All users updated.
32713 (grub_pxe_your_ip): Removed.
32714 (grub_pxe_server_ip): Likewise.
32715 (grub_pxe_gateway_ip): Likewise.
32716 (grub_pxe_blksize): Likewise.
32718 2009-12-25 Carles Pina i Estany <carles@pina.cat>
32720 * commands/help.c: Include `<grub/i18n.h>'.
32721 (grub_cmd_help): Gettextizze.
32722 (GRUB_MOD_INIT): Likewise.
32723 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
32724 (GRUB_MOD_INIT): Gettextizze.
32725 * commands/search.c: Include `<grub/i18n.h>'.
32726 (options): Gettextizze.
32727 (GRUB_MOD_INIT): Gettextizze.
32728 * lib/arg.c: Include `<grub/i18n.h>'.
32729 (help_options): Gettextizze.
32730 (find_long): Likewise.
32731 (grub_arg_show_help): Likewise.
32732 * normal/dyncmd.c: Include `<grub/i18n.h>'.
32733 (read_command_list): Gettextizze.
32734 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
32735 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
32737 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
32739 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
32740 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
32741 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
32742 (led_status): New variable.
32743 (keyboard_controller_led): New function.
32744 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
32745 update led status for caps lock, num lock and scroll lock.
32747 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
32749 * util/hostdisk.c (open_device): Fix a comment.
32751 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32753 * util/grub-install.in (host_os): New variable.
32754 * util/i386/efi/grub-install.in (host_os): Likewise.
32756 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32758 * util/mkisofs/write.c (padblock_write): Abort when given an
32759 excedingly large embed image, instead of silently truncating it.
32761 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32763 * include/multiboot.h: Indentation fixes.
32765 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32767 * include/multiboot.h (struct multiboot_aout_symbol_table)
32768 (struct multiboot_elf_section_header_table): New structure
32769 declarations (stolen from GRUB Legacy).
32770 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
32773 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
32774 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
32777 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32779 * include/multiboot.h: Make comments src2texi-friendly.
32781 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32783 For consistency with [multiboot]/docs/boot.S.
32785 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
32786 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
32787 (MULTIBOOT_MAGIC2): Rename from this ...
32788 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
32790 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
32792 * include/multiboot.h: Remove `<grub/types.h>'.
32793 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
32794 types. Update all users.
32796 2009-12-25 Carles Pina i Estany <carles@pina.cat>
32798 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
32799 `couldn't' and `can not' by `cannot'.
32800 * commands/i386/pc/drivemap.c: Likewise.
32801 * disk/ata.c: Likewise.
32802 * disk/ieee1275/nand.c: Likewise.
32803 * fs/affs.c: Likewise.
32804 * fs/fat.c: Likewise.
32805 * fs/hfs.c: Likewise.
32806 * fs/hfsplus.c: Likewise.
32807 * fs/iso9660.c: Likewise.
32808 * fs/jfs.c: Likewise.
32809 * fs/minix.c: Likewise.
32810 * fs/reiserfs.c: Likewise.
32811 * fs/sfs.c: Likewise.
32812 * fs/udf.c: Likewise.
32813 * fs/ufs.c: Likewise.
32814 * fs/xfs.c: Likewise.
32815 * loader/powerpc/ieee1275/linux.c: Likewise.
32816 * loader/sparc64/ieee1275/linux.c: Likewise.
32817 * util/grub-probe.c: Likewise.
32818 * util/misc.c: Likewise.
32820 2009-12-24 Carles Pina i Estany <carles@pina.cat>
32822 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
32824 * commands/acpi.c: Likewise.
32825 * commands/blocklist.c: Likewise.
32826 * commands/efi/loadbios.c: Likewise.
32827 * commands/i386/pc/drivemap.c: Likewise.
32828 * commands/loadenv.c: Likewise.
32829 * commands/memrw.c: Likewise.
32830 * commands/password.c: Likewise.
32831 * commands/videotest.c: Likewise.
32832 * disk/ata.c: Likewise.
32833 * disk/ata_pthru.c: Likewise.
32834 * disk/dmraid_nvidia.c: Likewise.
32835 * disk/ieee1275/nand.c: Likewise.
32836 * disk/ieee1275/ofdisk.c: Likewise.
32837 * disk/loopback.c: Likewise.
32838 * disk/lvm.c: Likewise.
32839 * disk/mdraid_linux.c: Likewise.
32840 * disk/raid.c: Likewise.
32841 * disk/raid6_recover.c: Likewise.
32842 * disk/scsi.c: Likewise.
32843 * efiemu/main.c: Likewise.
32844 * efiemu/mm.c: Likewise.
32845 * efiemu/pnvram.c: Likewise.
32846 * efiemu/symbols.c: Likewise.
32847 * font/font.c: Likewise.
32848 * fs/cpio.c: Likewise.
32849 * fs/hfsplus.c: Likewise.
32850 * fs/iso9660.c: Likewise.
32851 * fs/jfs.c: Likewise.
32852 * fs/minix.c: Likewise.
32853 * fs/ntfs.c: Likewise.
32854 * fs/ntfscomp.c: Likewise.
32855 * fs/reiserfs.c: Likewise.
32856 * fs/ufs.c: Likewise.
32857 * fs/xfs.c: Likewise.
32858 * gettext/gettext.c: Likewise.
32859 * include/grub/auth.h: Likewise.
32860 * kern/elf.c: Likewise.
32861 * kern/file.c: Likewise.
32862 * kern/ieee1275/init.c: Likewise.
32863 * kern/ieee1275/mmap.c: Likewise.
32864 * kern/ieee1275/openfw.c: Likewise.
32865 * kern/powerpc/dl.c: Likewise.
32866 * kern/sparc64/dl.c: Likewise.
32867 * lib/arg.c: Likewise.
32868 * loader/i386/bsd.c: Likewise.
32869 * loader/i386/bsdXX.c: Likewise.
32870 * loader/i386/efi/linux.c: Likewise.
32871 * loader/i386/efi/xnu.c: Likewise.
32872 * loader/i386/ieee1275/linux.c: Likewise.
32873 * loader/i386/linux.c: Likewise.
32874 * loader/i386/multiboot.c: Likewise.
32875 * loader/i386/pc/linux.c: Likewise.
32876 * loader/i386/pc/multiboot2.c: Likewise.
32877 * loader/i386/xnu.c: Likewise.
32878 * loader/ieee1275/multiboot2.c: Likewise.
32879 * loader/macho.c: Likewise.
32880 * loader/machoXX.c: Likewise.
32881 * loader/multiboot2.c: Likewise.
32882 * loader/multiboot_loader.c: Likewise.
32883 * loader/powerpc/ieee1275/linux.c: Likewise.
32884 * loader/sparc64/ieee1275/linux.c: Likewise.
32885 * loader/xnu.c: Likewise.
32886 * loader/xnu_resume.c: Likewise.
32887 * mmap/i386/pc/mmap.c: Likewise.
32888 * normal/menu_viewer.c: Likewise.
32889 * partmap/acorn.c: Likewise.
32890 * partmap/amiga.c: Likewise.
32891 * partmap/apple.c: Likewise.
32892 * script/lexer.c: Likewise.
32893 * term/gfxterm.c: Likewise.
32894 * term/i386/pc/serial.c: Likewise.
32895 * term/i386/pc/vga.c: Likewise.
32896 * term/ieee1275/ofconsole.c: Likewise.
32897 * term/terminfo.c: Likewise.
32898 * video/bitmap.c: Likewise.
32899 * video/efi_gop.c: Likewise.
32900 * video/efi_uga.c: Likewise.
32901 * video/fb/video_fb.c: Likewise.
32902 * video/i386/pc/vbe.c: Likewise.
32903 * video/readers/tga.c: Likewise.
32904 * video/video.c: Likewise.
32906 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
32908 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
32909 * commands/lspci.c: Likewise.
32910 * commands/probe.c: Likewise.
32911 * commands/xnu_uuid.c: Likewise.
32912 * conf/i386-coreboot.rmk: Likewise.
32913 * conf/i386-efi.rmk: Likewise.
32914 * conf/i386-ieee1275.rmk: Likewise.
32915 * conf/i386-pc.rmk: Likewise.
32916 * conf/powerpc-ieee1275.rmk: Likewise.
32917 * conf/sparc64-ieee1275.rmk: Likewise.
32918 * conf/x86_64-efi.rmk: Likewise.
32919 * fs/i386/pc/pxe.c: Likewise.
32920 * gettext/gettext.c: Likewise.
32921 * include/grub/efi/graphics_output.h: Likewise.
32922 * include/grub/i386/pc/memory.h: Likewise.
32923 * kern/env.c: Likewise.
32924 * kern/i386/qemu/startup.S: Likewise.
32925 * lib/i386/pc/biosnum.c: Likewise.
32926 * lib/i386/relocator.c: Likewise.
32927 * lib/i386/relocator_asm.S: Likewise.
32928 * lib/relocator.c: Likewise.
32929 * loader/i386/bsd.c: Likewise.
32930 * loader/i386/multiboot.c: Likewise.
32931 * loader/i386/pc/chainloader.c: Likewise.
32932 * loader/i386/xnu.c: Likewise.
32933 * loader/xnu.c: Likewise.
32934 * normal/main.c: Likewise.
32935 * normal/menu_text.c: Likewise.
32936 * util/getroot.c: Likewise.
32937 * util/grub-mkconfig_lib.in: Likewise.
32938 * util/grub.d/00_header.in: Likewise.
32939 * util/i386/pc/grub-mkimage.c: Likewise.
32940 * util/mkisofs/eltorito.c: Likewise.
32941 * util/mkisofs/exclude.h: Likewise.
32942 * util/mkisofs/hash.c: Likewise.
32943 * util/mkisofs/iso9660.h: Likewise.
32944 * util/mkisofs/joliet.c: Likewise.
32945 * util/mkisofs/mkisofs.c: Likewise.
32946 * util/mkisofs/mkisofs.h: Likewise.
32947 * util/mkisofs/multi.c: Likewise.
32948 * util/mkisofs/name.c: Likewise.
32949 * util/mkisofs/rock.c: Likewise.
32950 * util/mkisofs/tree.c: Likewise.
32951 * util/mkisofs/write.c: Likewise.
32952 * video/efi_gop.c: Likewise.
32954 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
32956 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
32959 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32961 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
32962 * genmk.rb (class SCRIPT): Modify the target file instead of source.
32964 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32966 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
32967 (GRUB_MOD_INIT(memrw)): Update help line.
32969 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32971 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
32972 Use grub_extcmd_t. All users updated.
32973 (options): New variable.
32974 (grub_cmd_read): Restructure for readability. Support "-v" option.
32975 (grub_cmd_write): Restructure for readability.
32977 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32979 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
32981 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32983 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
32984 with the actual contents of the correspondending make variable.
32985 * util/grub-mkrescue.in (pkglib_DATA): New variable.
32986 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
32987 specifying `*.lst' and `efiemu??.o'
32989 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
32991 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
32992 after function name.
32993 Noticed by Rene Engelhard <rene@debian.org>.
32995 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
32997 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
32998 (options): New variable.
32999 (iospace): Likewise.
33000 (grub_lspci_iter): List IO spaces if "-i" was given.
33001 (grub_cmd_lspci): Parse options.
33002 (GRUB_MOD_INIT(lspci)): Use extcmd.
33003 (GRUB_MOD_FINI(lspci)): Likewise.
33005 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
33007 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
33008 `function' keyword.
33009 Patch by Tony Mancill <tmancill@debian.org>.
33011 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
33013 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
33014 (grub_uhci_portstatus): Likewise.
33015 (grub_uhci_portstatus): Add necessary delay.
33016 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
33018 2009-12-21 Carles Pina i Estany <carles@pina.cat>
33020 * commands/acpi.c (options): Fix capitalizations and/or full stops.
33021 (GRUB_MOD_INIT): Likewise.
33022 * commands/boot.c (GRUB_MOD_INIT): Likewise.
33023 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
33024 * commands/echo.c (options): Fix capitalizations and/or full stops.
33025 * commands/efi/loadbios.c (enable_rom_area): Likewise.
33026 (enable_rom_area): Likewise.
33027 (GRUB_MOD_INIT): Likewise.
33028 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
33029 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
33030 * commands/handler.c (GRUB_MOD_INIT): Likewise.
33031 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
33032 * commands/hexdump.c (options): Likewise.
33033 * commands/i386/cpuid.c (options): Likewise.
33034 (GRUB_MOD_INIT): Likewise.
33035 * commands/i386/pc/drivemap.c (options): Likewise.
33036 (GRUB_MOD_INIT): Likewise.
33037 * commands/i386/pc/halt (options): Likewise.
33038 (GRUB_MOD_INIT): Likewise.
33039 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
33040 * commands/i386/pc/pxecmd.c (options): Likewise.
33041 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
33042 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
33043 * commands/keystatus.c (options): Likewise.
33044 (GRUB_MOD_INIT): Likewise.
33045 * commands/loadenv.c (options): Likewise.
33046 * commands/ls.c (options): Likewise.
33047 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
33048 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
33049 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
33050 * commands/parttool.c (helpmsg): Likewise.
33051 * commands/probe.c (options): Likewise.
33052 * commands/read.c (GRUB_MOD_INIT): Likewise.
33053 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
33054 * commands/search.c (options): Likewise.
33055 * commands/sleep.c (options): Likewise.
33056 * commands/test.c (GRUB_MOD_INIT): Likewise.
33057 * commands/true.c (GRUB_MOD_INIT): Likewise.
33058 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
33059 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
33060 * lib/arg.c (help_options): Likewise.
33061 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
33063 * po/POTFILES: Add `commands/loadenv.c'.
33065 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
33067 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
33068 instead of specifying them explicit.
33070 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33072 * NEWS: Add grub-probe support for GNU/Hurd.
33074 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33076 * NEWS: gettext was added after 1.97.
33078 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33080 * util/mkisofs/msdos_partition.h: New file (based on
33081 include/grub/msdos_partition.h).
33082 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
33083 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
33084 (ld_options, main): Recognize --protective-msdos-label.
33085 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
33086 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
33087 (padblock_write): If `use_protective_msdos_label' is set, patch a
33088 protective DOS-style label in the output image.
33090 * util/grub-mkrescue.in: Use --protective-msdos-label.
33092 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33094 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
33097 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33099 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
33101 (ld_options, main): Recognize `--embedded-boot'.
33102 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
33104 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
33105 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
33106 (padblock_write): Likewise. Rewrite to support embedded boot image.
33108 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
33109 for BIOS-based disk boot instead of only ElTorito.
33111 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33113 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
33114 build (not needed for bootstrap).
33116 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33118 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
33119 from i386-pc build (not needed for bootstrap).
33120 Rewrite a pair of strings.
33122 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
33124 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
33126 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
33128 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
33130 2009-12-21 Andreas Born <futur.andy@googlemail.com>
33132 * kern/env.c (grub_env_context_open): Mark exported variable for
33135 2009-12-21 Andreas Born <futur.andy@googlemail.com>
33137 * kern/env.c (grub_env_export): Create nonexistent variables before
33140 2009-12-20 Carles Pina i Estany <carles@pina.cat>
33142 * include/grub/auth.h: Include `<grub/i18n.h>'.
33143 (GRUB_GET_PASSWORD): Gettextizze string.
33144 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
33146 (grub_utf8_to_ucs4_alloc): Fix indentation.
33147 (grub_print_ucs4): Likewise.
33148 (grub_getstringwidth): Likewise.
33149 (print_message_indented): New declaration.
33150 * normal/auth.c: Include `<grub/i18n.h>'.
33151 (grub_auth_check_authentication): Gettexttize string.
33152 * normal/cmdline.c: Include `<grub/i18n.h>'.
33153 (grub_cmdline_get): Gettextizze.
33154 * normal/color.c: Include `<grub/i18n.h>'.
33155 (grub_parse_color_name_pair): Gettexttize strings.
33156 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
33157 string (use `print_message_indented').
33158 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
33159 `include/grub/normal.h'.
33160 (print_message_indented): Renamed to ...
33161 (grub_print_message_indented): ... this. Remove `static' qualifer (now
33162 used in normal/main.c).
33163 (print_message): Use `grub_print_message_indented' instead of
33164 `print_message_indented'.
33165 (print_timeout): Likewise.
33166 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
33167 (grub_normal_print_device_info): Gettexttize strings.
33168 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
33170 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33172 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
33173 of arguments. Return number of tokens and not arguments. All users
33176 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
33178 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
33179 non-MSDOS paritions.
33181 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
33183 * include/grub/types.h (UNUSED): Removed since it conflicts with
33184 NetBSD headers. All users changed to direct __attribute__ ((unused)).
33185 Reported by Grégoire Sutre.
33187 2009-12-19 Carles Pina i Estany <carles@pina.cat>
33189 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
33190 (grub_print_ucs4_alloc): Likewise.
33191 (grub_getstringwidth): Likewise.
33192 * normal/main.c (grub_normal_init_page): Gettextize version string.
33193 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
33194 (getstringwidth): Renamed to ...
33195 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
33196 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
33197 (grub_print_ucs4): Remove `static' qualifer (now used in
33199 * po/POTFILES: Add normal/main.c.
33201 2009-12-19 Carles Pina i Estany <carles@pina.cat>
33203 * normal/menu_text.c (STANDARD_MARGIN): New macro.
33204 (print_message_indented): Add `margin_left' and `margin_right'
33206 (print_message): Update `print_message_indented' calls. Adds '\n' to the
33208 (print_timeout): Use `print_message_indented' to print the message.
33209 Deletes `second_stage' parameter.
33210 (run_menu): Update `print_timeout' calls.
33212 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33214 Fix console palette on OpenFirmware.
33216 * term/ieee1275/ofconsole.c (MAX): Removed.
33217 (colors): Redone based on VGA palette.
33218 (grub_ofconsole_setcolor): Discard brightness bit since only 8
33219 colors are supported.
33220 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
33222 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33224 Fix potential EfiEmu double prepare.
33226 * efiemu/main.c (prepared): New variable
33227 (grub_efiemu_unload): Set prepare to '0'.
33228 (grub_efiemu_prepare): Return if already prepared. Set prepared.
33230 set_virtual_address_map support.
33232 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
33234 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
33236 (grub_efiemu_crc32): Likewise.
33237 (grub_efiemu_crc64): Likewise.
33238 (grub_efiemu_set_virtual_address_map): Likewise.
33239 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
33241 (grub_autoefi_set_virtual_address_map): Likewise.
33242 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
33243 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
33244 Restructure flow to accomodate it.
33245 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
33246 (grub_efiemu_crc): Recompute CRC32.
33247 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
33248 (efiemu_ptv_relocated): ... this. Made global. All users updated.
33249 * efiemu/symbols.c (relocated_handle): New variable.
33250 (grub_efiemu_free_syms): Free relocated_handle.
33251 (grub_efiemu_alloc_syms): Allocate relocated_handle.
33252 (grub_efiemu_write_sym_markers): New function.
33253 (grub_efiemu_set_virtual_address_map): Likewise.
33255 Newer XNU parameters.
33257 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
33258 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
33259 (grub_xnu_fill_devicetree): New prototype.
33260 (grub_xnu_heap_real_start): New variable.
33261 * loader/xnu.c (get_name_ptr): New function.
33262 (grub_xnu_load_driver): Fill namelen and name.
33264 64-bit xnu support.
33266 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
33267 and 'loader/macho64.c'.
33268 * conf/i386-pc.rmk: Likewise.
33269 * conf/x86_64-efi.rmk: Likewise.
33270 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
33271 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
33272 * include/grub/macho.h (grub_macho_segment64): New structure.
33273 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
33274 (grub_macho_size32): ... to this.
33275 (grub_macho32_get_entry_point): Renamed from ...
33276 (grub_macho_get_entry_point32): ... to this.
33277 (grub_macho_contains_macho64): New prototype.
33278 (grub_macho_size64): Likewise.
33279 (grub_macho_get_entry_point64): Likewise.
33280 (grub_macho32_load): Renamed from ...
33281 (grub_macho_load32): ... to this.
33282 (grub_macho32_filesize): Renamed from ...
33283 (grub_macho_filesize32): ... to this.
33284 (grub_macho32_readfile): Renamed from ...
33285 (grub_macho_readfile32): ... to this.
33286 (grub_macho_filesize64): New prototype.
33287 (grub_macho_readfile64): Likewise.
33288 (grub_macho_parse32): Likewise.
33289 (grub_macho_parse64): Likewise.
33290 * loader/macho.c: Split into ...
33291 * loader/machoXX.c: ... and this. Replace 32 with XX.
33292 * loader/macho32.c: New file.
33293 * loader/macho64.c: Likewise.
33294 * loader/xnu.c (grub_xnu_is_64bit): New variable.
33295 (grub_cmd_xnu_kernel): Make 32-bit only.
33296 (grub_cmd_xnu_kernel64): New function.
33297 (grub_xnu_load_driver): Support Mach-O 64.
33298 (grub_cmd_xnu_mkext): Likewise.
33299 * util/grub.d/30_os-prober.in (osx_entry): New function.
33300 Generate entries for 64-bit boot too.
33302 Eliminate ad-hoc tree format in XNU and EfiEmu.
33304 * efiemu/main.c (grub_efiemu_prepare): Update comment.
33305 * efiemu/pnvram.c: Rewritten to use environment variables.
33308 Inline utf16_to_utf8.
33310 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
33311 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
33313 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
33315 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
33316 * commands/usbtest.c (grub_usb_get_string): ... move here.
33317 (usb_print_str): Fix error handling.
33318 * include/grub/usb.h (grub_usb_get_string): Remove.
33320 UTF-8 to UTF-16 transformation.
33322 * conf/common.rmk (pkglib_MODULES): Add charset.mod
33323 (charset_mod_SOURCES): New variable.
33324 (charset_mod_CFLAGS): Likewise.
33325 (charset_mod_LDFLAGS): Likewise.
33326 * include/grub/utf.h: New file.
33327 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
33329 Support for device properties.
33331 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
33332 (grub_xnu_devprop_device_header): Likewise.
33333 (grub_xnu_devprop_device_descriptor): Likewise.
33334 (grub_xnu_devprop_add_device): New prototype.
33335 (grub_xnu_devprop_remove_device): Likewise.
33336 (grub_xnu_devprop_remove_property): Likewise.
33337 (grub_xnu_devprop_add_property_utf8): Likewise.
33338 (grub_xnu_devprop_add_property_utf16): Likewise.
33339 (grub_cpu_xnu_init): Likewise.
33340 (grub_cpu_xnu_fini): Likewise.
33341 (grub_cpu_xnu_unload): Likewise.
33342 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
33343 (property_descriptor): Likewise.
33344 (devices): New variable.
33345 (grub_xnu_devprop_remove_property): New function.
33346 (grub_xnu_devprop_add_device): Likewise.
33347 (grub_xnu_devprop_remove_device): Likewise.
33348 (grub_xnu_devprop_add_property): Likewise.
33349 (grub_xnu_devprop_add_property_utf8): Likewise.
33350 (grub_xnu_devprop_add_property_utf16): Likewise.
33351 (hextoval): Likewise.
33352 (grub_cpu_xnu_fill_devprop): Likewise.
33353 (grub_cmd_devprop_load): Likewise.
33354 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
33355 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
33356 (cmd_devprop_load): New variable.
33357 (grub_cpu_xnu_init): New function.
33358 (grub_cpu_xnu_fini): Likewise.
33359 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
33360 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
33361 (grub_cmd_xnu_devtree): Likewise.
33362 (hextoval): New function.
33363 (unescape): Likewise.
33364 (grub_xnu_fill_devicetree): Likewise.
33366 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
33367 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
33369 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
33371 Workaround for broken ATI VBE.
33373 * video/i386/pc/vbe.c (last_set_mode): New variable.
33374 (grub_vbe_set_video_mode): Set 'last_set_mode'.
33375 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
33376 (grub_video_vbe_setup): Don't check for reserved flag.
33378 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
33380 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
33381 the `find' command.
33383 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
33385 UUID support for HFS.
33387 * fs/hfs.c (grub_hfs_uuid): New function.
33388 (grub_hfs_fs): New value .uuid.
33389 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
33391 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
33393 Fix a segfault with parsing unknown long options.
33395 * util/grub-mkrelpath.c (options): Zero terminate it.
33397 2009-12-13 Carles Pina i Estany <carles@pina.cat>
33399 * include/grub/misc.h (grub_puts): New declaration.
33400 (grub_puts_): Likewise.
33401 * kern/misc.c (grub_puts): New definition.
33402 (grub_puts_): Likewise.
33404 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33406 * util/grub-probe.c (probe): Improve error message.
33408 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
33410 * loader/i386/multiboot_elfxx.c
33411 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
33414 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33416 Relocator framework
33418 * loader/i386/xnu_helper.S: Removed. All users updated.
33419 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
33420 (relocator_mod_SOURCES): New variable.
33421 (relocator_mod_CFLAGS): Likewise.
33422 (relocator_mod_LDFLAGS): Likewise.
33423 (relocator_mod_ASFLAGS): Likewise.
33424 * conf/x86_64.rmk: Likewise.
33425 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
33426 (grub_multiboot_payload_entry_offset): Likewise.
33427 (grub_multiboot_forward_relocator): Likewise.
33428 (grub_multiboot_forward_relocator_end): Likewise.
33429 (grub_multiboot_backward_relocator): Likewise.
33430 (grub_multiboot_backward_relocator_end): Likewise.
33431 (grub_multiboot_payload_eip): New variable.
33432 (grub_multiboot_payload_orig): Likewise.
33433 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
33434 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
33435 * include/grub/i386/memory.h
33436 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
33437 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
33438 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
33439 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
33440 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
33441 * include/grub/i386/relocator.h: New file.
33442 * include/grub/x86_64/relocator.h: Likewise.
33443 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
33444 (XNU_RELOCATOR): New macro.
33445 (grub_xnu_launcher_start): Remove.
33446 (grub_xnu_launcher_end): Likewise.
33447 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
33448 (grub_xnu_heap_real_start): Remove.
33449 (grub_xnu_heap_start): Change to void *. All users updated.
33450 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
33451 * lib/i386/relocator.c: New file.
33452 * lib/i386/relocator_asm.S: Likewise.
33453 * lib/i386/relocator_backward.S: Likewise.
33454 * lib/mips/relocator.c: Likewise.
33455 * lib/mips/relocator_asm.S: Likewise.
33456 * lib/relocator.c: Likewise.
33457 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
33459 (playground): Likewise.
33460 (grub_multiboot_payload_orig): New variable.
33461 (grub_multiboot_payload_dest): Likewise.
33462 (grub_multiboot_payload_size): Likewise.
33463 (grub_multiboot_payload_eip): Likewise.
33464 (grub_multiboot_payload_esp): Likewise.
33465 (grub_multiboot_boot): Use grub_relocator32_boot.
33466 (grub_multiboot_unload): Free relocators.
33467 (grub_multiboot): Setup stack. Use relocators.
33468 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
33469 (grub_multiboot_load_elfXX): Use relocators.
33470 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
33471 (grub_multiboot_payload_size): Likewise.
33472 (grub_multiboot_payload_dest): Likewise.
33473 (grub_multiboot_payload_entry_offset): Likewise.
33474 (grub_multiboot_forward_relocator): Likewise.
33475 (grub_multiboot_backward_relocator): Likewise.
33476 (grub_multiboot_real_boot): Likewise.
33477 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
33478 (grub_xnu_entry_point): Likewise.
33479 (grub_xnu_arg1): Likewise.
33480 (grub_xnu_stack): Likewise.
33481 (grub_xnu_launch): Removed.
33482 (grub_xnu_boot_resume): New function.
33483 (grub_xnu_boot): Use relocators.
33484 * loader/i386/xnu_helper.S: Removed.
33485 * loader/xnu.c (grub_xnu_heap_start): New variable.
33486 (grub_xnu_heap_size): Likewise.
33487 (grub_xnu_heap_malloc): Use relocators.
33488 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
33490 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
33492 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
33495 2009-12-13 Carles Pina i Estany <carles@pina.cat>
33497 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
33498 GRUB_ERR_NONE before calling grub_env_set.
33500 2009-12-12 Robert Millan <rmh@aybabtu.com>
33502 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
33503 * genmk.rb (video): New variable.
33504 (CLEANFILES, VIDEOFILES): Add #{video}.
33505 (#{video}): New target rule.
33506 * genvideolist.sh: New file.
33507 * Makefile.in (pkglib_DATA): Add video.lst.
33508 (video.lst): New target rule.
33509 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
33511 * util/grub.d/30_os-prober.in: Replace `vbe' with
33512 ${GRUB_VIDEO_BACKEND}.
33514 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
33516 * THANKS: Add David Miller.
33518 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
33520 libpciaccess support.
33522 * Makefile.in (LIBPCIACCESS): New variable.
33523 (enable_grub_emu_pci): Likewise.
33524 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
33525 util/pci.c and commands/lspci.c.
33526 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
33527 * configure.ac (grub-emu-pci): New option.
33528 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
33529 (grub_pci_device_unmap_range): Likewise.
33530 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
33531 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
33532 (grub_pci_address_t) [!GRUB_UTIL]: New type.
33533 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
33534 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
33535 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
33536 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
33537 * include/grub/pciutils.h: New file.
33538 * util/pci.c: Likewise.
33540 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
33542 * util/misc.c: Don't include <errno.h> twice.
33544 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
33546 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
33547 name in an error message.
33548 (grub_biosdisk_rw): Likewise.
33550 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33552 Eliminate NTFS 4Gib barrier.
33554 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
33555 (read_run_data): Likewise.
33556 (grub_ntfs_read_run_list): Likewise.
33557 (grub_ntfs_read_block): Likewise.
33558 (grub_ntfs_iterate_dir): Likewise.
33559 (read_mft): Likewise.
33560 (read_data): Likewise.
33562 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
33563 to avoid 64-bit division
33564 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
33565 (grub_ntfs_rlst): Use grub_disk_addr_t.
33567 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33569 Eliminate grub-fstest 4Gib barrier.
33571 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
33572 (read_file): Fix error reporting.
33574 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33576 Eliminate hexdump 4Gib barrier.
33578 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
33579 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
33581 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
33583 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
33586 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
33588 Remove miscellaneous files in distclean target.
33590 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
33592 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
33594 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
33595 if they're already set. This resolves the conflict between my
33596 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
33597 fixing the --grub-probe option again.
33598 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
33599 change on 2009-10-06, so that we now once again source
33600 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
33602 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
33604 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
33605 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
33606 `util/devicemap.c'.
33608 2009-12-08 Carles Pina i Estany <carles@pina.cat>
33610 * include/grub/misc.h (grub_printf_): New declaration.
33611 * kern/misc.c (grub_printf_): New definition.
33612 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
33613 instead of `grub_printf' and `_'.
33614 * normal/menu_entry.c (store_completion): Likewise.
33616 (grub_menu_entry_run): Likewise.
33617 * normal/menu_text.c (grub_wait_after_message): Likewise.
33618 (notify_booting): Likewise.
33619 (notify_fallback): Likewise.
33620 (notify_execution_failure): Likewise.
33622 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
33624 * configure.ac: Check for vasprintf.
33625 * util/misc.c (asprintf): Move allocation from here ...
33626 (vasprintf): ... to here. New function.
33627 (xasprintf): New function.
33628 * include/grub/util/misc.h (vasprintf, xasprintf): Add
33630 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
33631 * util/grub-mkfont.c (write_font): Likewise.
33632 * util/grub-probe.c (probe): Likewise.
33633 * util/hostdisk.c (make_device_name): Likewise.
33635 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
33637 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
33638 anything even prefixed with 'cdrom' as a cdrom.
33640 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
33642 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
33645 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33647 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
33648 grub_gettext_msg_list.
33649 (grub_gettext_gettranslation_from_position): Return const char *
33651 (grub_gettext_translate): Add the translated strings into a list,
33652 returns from the list if existing there.
33653 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
33654 (grub_gettext_delete_list): Delete the list.
33655 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
33656 lang environment variable is changed.
33657 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
33659 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33661 Rename kernel.mod to kernel.img.
33663 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
33664 (kernel_mod_EXPORTS): Rename to ...
33665 (kernel_img_EXPORTS): ... this.
33666 (kernel_mod_SOURCES): Rename to ...
33667 (kernel_img_SOURCES): ... this.
33668 (kernel_mod_HEADERS): Rename to ...
33669 (kernel_img_HEADERS): ... this. All users updated.
33670 (kernel_mod_CFLAGS): Rename to ...
33671 (kernel_img_CFLAGS): ... this.
33672 (kernel_mod_ASFLAGS): Rename to ...
33673 (kernel_img_ASFLAGS): ... this.
33674 (kernel_mod_LDFLAGS): Rename to ...
33675 (kernel_img_LDFLAGS): ... this.
33676 * conf/x86_64-efi.rmk: Likewise.
33677 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
33678 (read_kernel_image): ... this. All users updated.
33679 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
33681 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33683 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
33684 (print_spaces): New function.
33685 (grub_print_ucs4): New function.
33686 (getstringwidth): New function.
33687 (print_message_indented): New function.
33688 (print_message): Gettexttize strings using print_message_indented.
33689 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
33691 (get_entry_number): Gettextize and uses dynamic terminal width.
33692 (notify_booting, notify_fallback, notify_execution_failure):
33694 * normal/menu_entry.c (store_completion): Cleanup the gettextized
33697 (grub_menu_entry_run): Likewise.
33698 * PO/POTFILES: Add normal/menu_entry.c.
33700 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
33702 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
33704 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33706 * util/grub-install.in: Install gettext .mo files.
33707 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
33709 2009-12-05 Carles Pina i Estany <carles@pina.cat>
33711 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
33714 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
33716 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
33717 non-firmware-dependant one in realmode.S takes precedence.
33719 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
33721 * commands/halt.c: Replace misc arch-specific headers with
33723 * commands/reboot.c: Likewise.
33724 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
33726 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
33727 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
33728 (kernel_img_SOURCES): ... to here.
33730 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
33731 * include/grub/i386/pc/init.h: Likewise.
33732 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33733 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33735 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
33737 * include/grub/i386/halt.h: Remove.
33738 * include/grub/i386/reboot.h: Likewise.
33740 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
33742 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
33744 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
33745 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
33746 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
33748 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33749 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33750 (usage): Add missing comma in printf.
33752 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
33754 Use the same reboot approach on i386 coreboot and qemu as we do on
33757 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
33758 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
33759 * kern/i386/reboot.c: Remove.
33760 * include/grub/i386/reboot.h (grub_reboot): Export function.
33761 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
33762 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
33763 0xf000:0xfff0 instead of 0xffff:0x0000.
33764 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
33765 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
33767 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
33769 Fix $srcdir != $objdir build.
33771 * Makefile.in (po/%.po): Rewrite as ...
33772 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
33774 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
33776 Fix GNU/Hurd grub-install crash.
33777 * util/grub-probe.c (probe): Try to access `path' only when it is not
33780 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33782 Correct module naming.
33784 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33785 (GRUB_MOD_INIT(efi_uga)): ... to this
33786 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33787 (GRUB_MOD_FINI(efi_uga)): ... to this
33788 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
33789 (GRUB_MOD_INIT(efi_gop)): ... to this
33790 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
33791 (GRUB_MOD_FINI(efi_gop)): ... to this
33793 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
33795 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
33797 (usage): Translate `arg' strings using gettext().
33798 Thanks to Jordi Mallach for the suggestion.
33800 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33802 GOP support. Based on patch from Bean
33803 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
33805 * video/efi_gop.c: New file.
33806 * include/grub/efi/graphics_output.h: Likewise.
33807 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
33808 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
33810 * conf/x86_64-efi.rmk: Likewise.
33812 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
33814 Rename efi_fb to efi_uga.
33816 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33818 (efi_fb_mod_SOURCES): Rename this ...
33819 (efi_uga_mod_SOURCES): ... to this.
33820 (efi_fb_mod_CFLAGS): Rename this ...
33821 (efi_uga_mod_CFLAGS): ... to this.
33822 (efi_fb_mod_LDFLAGS): Rename this ...
33823 (efi_uga_mod_LDFLAGS): ... to this.
33824 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
33826 (efi_fb_mod_SOURCES): Rename this ...
33827 (efi_uga_mod_SOURCES): ... to this.
33828 (efi_fb_mod_CFLAGS): Rename this ...
33829 (efi_uga_mod_CFLAGS): ... to this.
33830 (efi_fb_mod_LDFLAGS): Rename this ...
33831 (efi_uga_mod_LDFLAGS): ... to this.
33832 * video/efi_fb.c: Move this ...
33833 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
33835 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33837 * po/README: New file. Explain our PO file workflow.
33839 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33841 * po/ChangeLog: Remove. Move relevant entries back to ...
33842 * ChangeLog: ... here.
33843 * po/ca.po: Remove (now handled by TLP).
33844 * po/id.po: Likewise.
33845 * po/zh_CN.po: Likewise.
33846 * Makefile.in (LINGUAS): Initialize in a way that supports
33849 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
33851 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
33852 reliing on po/LINGUAS.
33853 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
33854 (po/%.po): ... this.
33856 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33858 * util/i386/efi/grub-mkimage.c: Include "progname.h".
33859 (main): Use `program_name' instead of nonexistent `progname'.
33861 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33863 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33864 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
33866 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33868 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
33870 * conf/i386-efi.rmk: Likewise.
33871 * conf/i386-ieee1275.rmk: Likewise.
33872 * conf/powerpc-ieee1275.rmk: Likewise.
33873 * conf/sparc64-ieee1275.rmk: Likewise.
33874 * conf/x86_64-efi.rmk: Likewise.
33876 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33878 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
33880 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
33882 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
33884 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
33886 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
33887 (grub_mkdevicemap_SOURCES): New variable.
33888 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
33889 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
33890 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
33891 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
33892 (grub_mkdevicemap_SOURCES): Remove.
33893 * conf/i386-efi.rmk: Likewise.
33894 * conf/i386-ieee1275.rmk: Likewise.
33895 * conf/i386-pc.rmk: Likewise.
33896 * conf/powerpc-ieee1275.rmk: Likewise.
33897 * conf/sparc64-ieee1275.rmk: Likewise.
33898 * conf/x86_64-efi.rmk: Likewise.
33899 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
33900 (usage): Fix strings to use `program_name'.
33901 (main): Initialize gettext.
33902 * util/grub-editenv.c: Likewise.
33903 * util/grub-emu.c: Likewise.
33904 * util/grub-fstest.c: Likewise.
33905 * util/grub-mkdevicemap.c: Likewise.
33906 * util/grub-mkfont.c: Likewise.
33907 * util/grub-mkrelpath.c: Likewise.
33908 * util/grub-pe2elf.c: Likewise.
33909 * util/grub-probe.c: Likewise.
33910 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
33911 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
33912 * util/sparc64/ieee1275/grub-setup.c: Likewise.
33914 * util/misc.c: Include `"progname.h"'.
33915 (progname): Remove variable.
33916 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
33918 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
33920 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
33921 printf and print a newline after the menuentry header line.
33922 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33924 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
33926 autoconf >= 2.60 support $(localedir).
33928 * INSTALL: Note that autoconf 2.60 is required.
33929 * configure.ac (AC_PREREQ): Bump to 2.60.
33930 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
33931 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
33933 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
33935 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
33938 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33940 * normal/main.c (grub_normal_read_line): Fix off-by-one
33943 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
33945 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
33946 "parser.grub" in grub_command_execute() call.
33948 2009-11-24 Carles Pina i Estany <carles@pina.cat>
33950 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
33951 * conf/i386-efi.rmk: Likewise.
33952 * conf/i386-ieee1275.rmk: Likewise.
33953 * conf/i386-pc.rmk: Likewise.
33954 * conf/powerpc-ieee1275.rmk: Likewise.
33955 * conf/sparc64-ieee1275.rmk: Likewise.
33956 * conf/x86_64-efi.rmk: Likewise.
33957 * gettext/gettex.c: Include <grub/i18n.h>.
33958 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
33960 * include/grub/i18n.h: ... to here
33961 * include/grub/i18n.h: ... to here.
33962 * kern/misc.c: Include <grub/i18n.h>
33963 (grub_gettext_dummy): Move above user.
33965 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33967 * util/Makefile.in (install-local): Convert a `for' into a normal
33970 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
33972 * autogen.sh: Add automake call.
33973 * config.guess: Remove.
33974 * config.sub: Likewise.
33975 * install-sh: Likewise.
33977 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33979 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
33981 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33983 * util/Makefile.in (install-local): Convert a make `$(foreach)'
33984 function to a normal shell `for'.
33986 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33988 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
33990 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
33992 * util/grub-mkrelpath.c: New file.
33993 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
33994 (grub_mkrelpath_SOURCES): New variable.
33995 * include/grub/util/misc.h: New function prototype.
33996 * util/misc.c (make_system_path_relative_to_its_root): New function.
33998 * util/grub-mkconfig_lib.in (bindir): New variable.
33999 (grub_mkrelpath): Likewise.
34000 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
34002 * util/probe.c (probe): Make the file path relative to its root.
34003 Change a info message to use the GRUB path. Enable again the
34004 check if we can read the file with GRUB facilities.
34006 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
34009 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34011 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
34014 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34016 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
34019 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
34021 * util/getroot.c (grub_util_is_dmraid): New function.
34022 (grub_util_get_dev_abstraction): Treat dmraid and multipath
34023 devices as normal ones, not as LVM.
34025 2009-11-23 Carles Pina i Estany <carles@pina.cat>
34027 * conf/common.rmk: Add grub-gettext_lib target and updates
34028 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
34030 * gettext/gettext.c: New file. (Reads mo files).
34031 * include/grub/file.h (grub_file_pread): New prototype.
34032 * include/grub/i18n.h (_): New prototype.
34033 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
34035 * kern/misc.c (grub_gettext_dummy): New function.
34036 * normal/menu_text.c: Include <grub/i18n.h>.
34037 * normal/menu_text.c (print_timeout): Gettexttize string.
34038 * normal/menu_text.c (print_message): Gettexttize string.
34039 * po/POTFILES: Add `normal/menu_text.c'.
34040 * po/ca.po: Add new translations.
34041 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
34042 gettext module and defines locale_dir and lang in grub.cfg.
34043 * NEWS: Add gettext support.
34045 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34047 * util/hostdisk.c: Include `<grub/i18n.h>'.
34048 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
34049 (make_device_name): Rewrite using asprintf.
34050 (convert_system_partition_to_system_disk): Replace 0 with NULL.
34051 (find_system_device): If a device is not found, generate one just
34052 by reusing the OS path name.
34053 (read_device_map): Make it permissible for device.map not to exist.
34055 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34057 * script/sh/execute.c: Move from here ...
34058 * script/execute.c: ... to here. Update all users.
34059 * script/sh/function.c: Move from here ...
34060 * script/function.c: ... to here. Update all users.
34061 * script/sh/lexer.c: Move from here ...
34062 * script/lexer.c: ... to here. Update all users.
34063 * script/sh/main.c: Move from here ...
34064 * script/main.c: ... to here. Update all users.
34065 * script/sh/parser.y: Move from here ...
34066 * script/parser.y: ... to here. Update all users.
34067 * script/sh/script.c: Move from here ...
34068 * script/script.c: ... to here. Update all users.
34070 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34072 * configure.ac: Detect all `emu' platforms. Define
34073 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
34074 --enable-grub-emu logic. Disable include/grub/machine
34075 symlink on `emu' platforms.
34077 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
34078 * gensymlist.sh.in: Likewise.
34080 * include/grub/i386/coreboot/machine.h: Remove file.
34081 * include/grub/i386/efi/machine.h: Likewise.
34082 * include/grub/i386/ieee1275/machine.h: Likewise.
34083 * include/grub/i386/pc/machine.h: Likewise.
34084 * include/grub/i386/qemu/machine.h: Likewise.
34085 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34086 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34087 * include/grub/x86_64/efi/machine.h: Likewise.
34089 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
34090 * commands/halt.c: Likewise.
34091 * commands/reboot.c: Likewise.
34092 * include/grub/autoefi.h: Likewise.
34093 * include/grub/i386/at_keyboard.h: Likewise.
34094 * include/grub/i386/kernel.h: Likewise.
34095 * include/grub/i386/loader.h: Likewise.
34096 * include/grub/i386/pc/memory.h: Likewise.
34097 * kern/dl.c: Likewise.
34098 * kern/i386/coreboot/init.c: Likewise.
34099 * loader/i386/bsd.c: Likewise.
34100 * loader/i386/linux.c: Likewise.
34101 * loader/multiboot_loader.c: Likewise.
34102 * term/i386/pc/serial.c: Likewise.
34103 * term/usb_keyboard.c: Likewise.
34105 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
34106 `<grub/machine/machine.h>'
34107 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
34108 * util/misc.c: Remove `<grub/machine/machine.h>' and
34109 `<grub/machine/time.h>'.
34111 * Makefile.in (enable_grub_emu): Remove variable.
34112 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
34114 * conf/any-emu.rmk: New file.
34115 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
34116 (grub_emu_init.c): Move from here ...
34117 * conf/any-emu.rmk: ... to here.
34119 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
34120 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
34121 * conf/any-emu.rmk: ... to here.
34123 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34125 * include/grub/parser.h (grub_parser_register): Document need
34126 of `name' parameter.
34127 * normal/main.c (grub_normal_read_line): Simplify prompt string.
34128 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
34131 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34133 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
34135 * include/grub/i18n.h (N_): New macro.
34136 * util/mkisofs/mkisofs.h: Likewise.
34137 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
34139 (usage): Use gettext() to translate help strings when printing them.
34141 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
34143 Based on patch from Bean
34144 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
34146 * video/efi_fb.c: New file.
34147 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
34148 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
34150 * conf/x86_64-efi.rmk: Likewise.
34152 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
34154 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
34155 * util/i386/pc/grub-setup.c: Likewise.
34157 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
34159 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
34161 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
34162 file_get_storage_info to implement grub_guess_root_device.
34164 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34166 * Makefile.in (target): Use make's builtin $(shell) function
34167 instead of calling directly $(SHELL) to create the locale directories,
34168 inside the $(foreach) function.
34170 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34172 * util/grub-mkrescue.in: Print an error and usage if output option
34173 has not been given.
34175 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
34177 Patch from Loïc Minier <loic.minier@ubuntu.com>.
34178 * util/grub.d/30_os-prober.in: Cope with Linux entries where
34179 root and /boot are on different devices.
34181 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34183 Fix build for srcdir != objdir.
34185 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
34186 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
34188 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
34189 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
34190 reference for input.
34192 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34194 * util/grub-mkrescue.in: Use source directory direcly (without copiing
34195 or hardlinking it). Remove -J option, Joliet is not compatible with
34196 multiple source directories.
34198 2009-11-21 Carles Pina i Estany <carles@pina.cat>
34199 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
34201 * util/grub-mkrescue.in: Recognize `--override-directory' option.
34202 (process_input_dir): New function. Process an arbitrary input
34204 Misc adjustments to support both "override mode" and system-wide mode.
34206 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
34208 * configure.ac (UNIFONT_BDF): Rename to ...
34209 (FONT_SOURCE): ... this. Update all users.
34211 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
34213 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
34214 to the list of unifont files to look for.
34216 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34218 Patch from Joe Auricchio <jauricchio@gmail.com>
34219 * commands/minicmd.c (grub_mini_cmd_clear): New function.
34220 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
34221 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
34223 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
34225 * Makefile.in (install-local): Add a missing backslash.
34227 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
34229 * include/grub/x86_64/io.h: New file.
34231 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34233 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
34234 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
34235 Include `"progname.h"'.
34236 (main): Initialize gettext.
34237 * util/i386/pc/grub-setup.c: Gettexttize.
34238 * util/i386/pc/grub-mkimage.c: Likewise.
34240 * Makefile.in (po/*.po): Redefine as ...
34241 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
34243 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
34245 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
34247 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
34248 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
34249 (program_name): Remove.
34250 (main): Initialize gettext support.
34251 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
34252 Include `<libintl.h>'.
34255 * util/mkisofs/eltorito.c: Gettexttize.
34256 * util/mkisofs/joliet.c: Likewise.
34257 * util/mkisofs/mkisofs.c: Likewise.
34258 * util/mkisofs/multi.c: Likewise.
34259 * util/mkisofs/rock.c: Likewise.
34260 * util/mkisofs/tree.c: Likewise.
34261 * util/mkisofs/write.c: Likewise.
34263 * po/POTFILES: Update with new files.
34265 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34267 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
34268 * util/mkisofs/iso9660.h: Likewise.
34269 * util/mkisofs/joliet.c: Likewise.
34270 * util/mkisofs/mkisofs.c: Likewise.
34271 * util/mkisofs/mkisofs.h: Likewise.
34272 * util/mkisofs/rock.c: Likewise.
34273 * util/mkisofs/tree.c: Likewise.
34274 * util/mkisofs/write.c: Likewise.
34276 * util/mkisofs/eltorito.c (rcsid): Remove.
34277 * util/mkisofs/hash.c: Likewise.
34278 * util/mkisofs/joliet.c: Likewise.
34279 * util/mkisofs/name.c: Likewise.
34280 * util/mkisofs/rock.c: Likewise.
34281 * util/mkisofs/tree.c: Likewise.
34282 * util/mkisofs/write.c: Likewise.
34284 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34286 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
34287 instead of static allocation.
34288 * util/mkisofs/match.h: Likewise.
34290 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34292 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
34293 and `util/grub.d/10_linux.in'.
34294 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
34295 translatable Shell files.
34297 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
34299 * Makefile.in ($(srcdir)/aclocal.m4): New target.
34301 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34303 * INSTALL: Document Automake is needed for bootstrap.
34304 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
34305 * util/grub.d/10_kfreebsd.in (bindir): New variable.
34306 Add gettext initialization.
34307 (kfreebsd_entry): Make menuentry output translatable.
34309 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34311 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
34312 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
34313 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
34314 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
34315 (LINGUAS): Auto-generate using `po/LINGUAS'.
34316 * po/LINGUAS: New file.
34318 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34320 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
34322 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
34323 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
34324 bindtextdomain() calls for gettext initialization.
34326 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34328 * gnulib/progname.c: New file (imported from Gnulib).
34329 * gnulib/progname.h: Likewise.
34330 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
34331 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
34332 (usage): Replace `progname' with `program_name'.
34333 (main): Use set_program_name() for program name initialization.
34335 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34337 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
34339 * Makefile.in (CPPFLAGS): ... to here.
34341 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34343 * aclocal.m4: Move from here ...
34344 * acinclude.m4: ... to here.
34345 * autogen.sh: Add call to `aclocal'.
34346 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
34348 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34350 * Makefile.in (CLEANFILES): Add `po/*.mo'.
34351 (LINGUAS): New variable.
34352 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
34353 (install-local): Install MO files.
34354 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
34355 * include/grub/i18n.h: New file.
34356 * po/POTFILES: New file.
34357 * po/ca.po: New file.
34358 * util/grub.d/10_linux.in (bindir): New variable.
34359 Add gettext initialization.
34360 (linux_entry): Make menuentry output translatable.
34361 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
34362 (usage): Make --help output translatable.
34363 (main): Initialize gettext.
34365 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34367 * import_gcry.py: New file (written by Vladimir with minor
34369 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
34371 * INSTALL: Document that Python is required for bootstrap.
34373 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
34375 Import ciphers from libgcrypt 1.4.4.
34377 * lib/libgcrypt/cipher/ChangeLog
34378 * lib/libgcrypt/cipher/ac.c
34379 * lib/libgcrypt/cipher/arcfour.c
34380 * lib/libgcrypt/cipher/bithelp.h
34381 * lib/libgcrypt/cipher/blowfish.c
34382 * lib/libgcrypt/cipher/camellia-glue.c
34383 * lib/libgcrypt/cipher/camellia.c
34384 * lib/libgcrypt/cipher/camellia.h
34385 * lib/libgcrypt/cipher/cast5.c
34386 * lib/libgcrypt/cipher/cipher.c
34387 * lib/libgcrypt/cipher/crc.c
34388 * lib/libgcrypt/cipher/des.c
34389 * lib/libgcrypt/cipher/dsa.c
34390 * lib/libgcrypt/cipher/ecc.c
34391 * lib/libgcrypt/cipher/elgamal.c
34392 * lib/libgcrypt/cipher/hash-common.c
34393 * lib/libgcrypt/cipher/hash-common.h
34394 * lib/libgcrypt/cipher/hmac-tests.c
34395 * lib/libgcrypt/cipher/md.c
34396 * lib/libgcrypt/cipher/md4.c
34397 * lib/libgcrypt/cipher/md5.c
34398 * lib/libgcrypt/cipher/primegen.c
34399 * lib/libgcrypt/cipher/pubkey.c
34400 * lib/libgcrypt/cipher/rfc2268.c
34401 * lib/libgcrypt/cipher/rijndael-tables.h
34402 * lib/libgcrypt/cipher/rijndael.c
34403 * lib/libgcrypt/cipher/rmd.h
34404 * lib/libgcrypt/cipher/rmd160.c
34405 * lib/libgcrypt/cipher/rsa.c
34406 * lib/libgcrypt/cipher/seed.c
34407 * lib/libgcrypt/cipher/serpent.c
34408 * lib/libgcrypt/cipher/sha1.c
34409 * lib/libgcrypt/cipher/sha256.c
34410 * lib/libgcrypt/cipher/sha512.c
34411 * lib/libgcrypt/cipher/tiger.c
34412 * lib/libgcrypt/cipher/twofish.c
34413 * lib/libgcrypt/cipher/whirlpool.c
34415 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34417 Fix build for systems without error().
34419 * gnulib/error.c: New file (imported from Gnulib).
34420 * gnulib/error.h: Likewise.
34421 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
34422 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
34423 (this variable is now used by error()).
34425 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
34427 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
34428 instead of relying that char is signed.
34430 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
34432 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
34433 blocksize different from specified.
34434 (grub_pxefs_read): Likewise.
34436 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
34438 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
34440 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
34441 (grub_ata_readwrite): Likewise. Update 2 format strings.
34442 (grub_atapi_read): Likewise.
34444 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
34445 * conf/i386.rmk (pkglib_MODULES): ... to here ...
34446 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
34447 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
34448 (ata_mod_LDFLAGS): Move from here ...
34449 * conf/i386.rmk: ... to here ...
34450 * conf/x86_64-efi.rmk: ... and here.
34451 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
34452 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
34454 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
34456 Relicense multiboot.h, with RMS' blessing.
34458 * include/multiboot.h: Change to X11 license.
34460 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
34462 Support --version in grub-mkisofs.
34464 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
34465 (OPTION_VERSION): New macro.
34466 (ld_options): Recognize --version.
34467 (usage): Move `program_name' from here ...
34468 (program_name): ... to here. Add `static' qualifier.
34469 (main): Recognize `OPTION_VERSION'.
34471 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
34473 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
34474 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
34476 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34478 Fix help2man generation for mkisofs.
34480 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
34481 (usage): Send output to stdout (rather than stderr).
34483 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
34485 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
34486 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34487 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
34488 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
34489 (bin_SCRIPTS): Add `grub-mkfloppy'.
34490 (grub_mkfloppy_SOURCES): New variable.
34492 * util/grub-mkrescue.in: New file.
34493 * util/i386/pc/grub-mkfloppy.in: New file.
34495 * util/i386/coreboot/grub-mkrescue.in: Remove.
34496 * util/i386/pc/grub-mkrescue.in: Remove.
34498 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34500 * include/grub/multiboot.h (struct grub_multiboot_header): Move
34502 * include/multiboot.h (struct multiboot_header): ... to here. Update
34504 * include/grub/multiboot.h (struct grub_multiboot_info): Move
34506 * include/multiboot.h (struct multiboot_info): ... to here. Update
34508 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
34510 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
34512 * include/grub/multiboot.h (struct grub_mod_list): Move
34514 * include/multiboot.h (struct multiboot_mod_list): ... to here.
34517 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34519 * include/multiboot2.h (multiboot_word): Rename from this ...
34520 (multiboot2_word): ... to this. Update all users.
34521 (multiboot_header): Rename from this ...
34522 (multiboot2_header): ... to this. Update all users.
34523 (multiboot_tag_header): Rename from this ...
34524 (multiboot2_tag_header): ... to this. Update all users.
34525 (multiboot_tag_start): Rename from this ...
34526 (multiboot2_tag_start): ... to this. Update all users.
34527 (multiboot_tag_name): Rename from this ...
34528 (multiboot2_tag_name): ... to this. Update all users.
34529 (multiboot_tag_module): Rename from this ...
34530 (multiboot2_tag_module): ... to this. Update all users.
34531 (multiboot_tag_memory): Rename from this ...
34532 (multiboot2_tag_memory): ... to this. Update all users.
34533 (multiboot_tag_unused): Rename from this ...
34534 (multiboot2_tag_unused): ... to this. Update all users.
34535 (multiboot_tag_end): Rename from this ...
34536 (multiboot2_tag_end): ... to this. Update all users.
34538 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
34540 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
34541 this platform we should support Multiboot1 first.
34543 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
34544 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
34545 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
34547 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34549 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
34550 of write calls (converting them to fwrite() if they aren't already).
34551 (get_torito_desc): Likewise.
34552 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
34554 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
34556 * util/i386/pc/grub-install.in: Move from here ...
34557 * util/grub-install.in: ... to here. Update all users.
34559 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
34561 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
34563 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34565 Support for El Torito without floppy emulation.
34567 * util/mkisofs/eltorito.c: Include `<errno.h>'.
34568 (init_boot_catalog): Improve error handling.
34569 (get_torito_desc): Don't use floppy emulation unless requested by
34570 user. Patch boot information table when requested via
34571 `-boot-info-table'.
34572 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
34573 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
34574 (use_boot_info_table): New variables.
34575 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
34576 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
34577 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
34578 `--eltorito-emul-floppy'.
34579 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
34580 and `OPTION_ELTORITO_EMUL_FLOPPY'.
34581 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
34582 (use_boot_info_table, get_731): New prototypes.
34583 * util/mkisofs/write.c (get_731): New function.
34585 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
34587 Fix the generation of the man page.
34589 * util/pc/i386/grub-install.in: Source
34590 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
34592 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
34594 Large file support for grub-mkisofs.
34596 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
34597 * util/mkisofs/mkisofs.c (next_extent, last_extent)
34598 (session_start): Upgrade type to `uint64_t'. Update all users.
34599 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
34600 (struct directory_entry): Upgrade type of `starting_block' and
34601 `size' to `uint64_t'. Update all users.
34602 (struct deferred): Remove unused structure.
34603 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
34605 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
34606 file is larger than `UINT32_MAX'.
34607 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
34608 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
34610 (struct deferred_write): Upgrade type of `extent' and `size' to
34611 `uint64_t'. Update all users.
34612 (last_extent_written): Upgrade type to `uint64_t'. Update all
34614 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
34615 Update all users. Upgrade type of `remain' to `int64_t' and
34616 `use' to `size_t'. Use error() to handle fread() errors.
34617 (write_files): Rely on write_one_file() rather than calling
34618 xfwrite() directly.
34620 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
34622 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
34624 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34626 * util/mkisofs/fnmatch.c: Remove.
34627 * util/mkisofs/getopt1.c: Likewise.
34628 * util/mkisofs/getopt.c: Likewise.
34629 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
34630 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
34631 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
34632 `gnulib/getopt1.c' and `gnulib/getopt.c'.
34633 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
34635 * configure.ac: Detect `mingw32msvc' host_os.
34636 Check for lstat(), getuid() and getgid().
34638 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
34639 instances of `u_char' with `uint8_t'.
34641 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
34642 [!HAVE_GETUID] (getuid): New function (stub).
34643 [!HAVE_GETGID] (getgid): Likewise.
34644 [!HAVE_LSTAT] (lstat): Likewise.
34645 [!S_IROTH] (S_IROTH): New macro (dummy).
34646 [!S_IRGRP] (S_IRGRP): Likewise.
34648 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34650 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
34651 conditional expression).
34653 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34655 Import from Gnulib.
34657 * gnulib/fnmatch.c: New file.
34658 * gnulib/fnmatch.h: Likewise.
34659 * gnulib/fnmatch_loop.c: Likewise.
34660 * gnulib/getopt.c: Likewise.
34661 * gnulib/getopt.h: Likewise.
34662 * gnulib/getopt1.c: Likewise.
34663 * gnulib/getopt_int.h: Likewise.
34664 * gnulib/gettext.h: Likewise.
34666 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34668 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
34669 * normal/handler.c (read_handler_list): Likewise.
34671 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34675 * kern/command.c (grub_register_command_prio): Use
34676 grub_zalloc() instead of explicitly zeroing data.
34677 * kern/list.c: Include `<grub/mm.h>'.
34678 (grub_named_list_find): Replace `0' with `NULL'.
34679 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
34680 (fs_module_list): Change type to `grub_named_list_t'. Update all
34682 * normal/dyncmd.c (read_command_list): Add space between function
34683 call and parenthesis.
34684 * normal/handler.c (read_handler_list): Likewise.
34686 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34688 * normal/auth.c (punishment_delay): Moved from here ...
34689 (grub_auth_strcmp): ... to here (inside function).
34691 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34693 * include/grub/list.h (struct grub_named_list): Remove `const'
34694 qualifier from `name'.
34695 (struct grub_prio_list): Likewise.
34697 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34699 * normal/auth.c: Include `<grub/time.h>'.
34700 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
34702 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34704 * normal/auth.c (punishment_delay): New variable.
34705 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
34706 (grub_auth_check_authentication): Punish failed login attempts with
34707 an incremental (2^N) delay.
34709 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34711 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
34712 path with $(srcdir).
34714 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34716 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
34718 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
34720 * util/i386/coreboot/grub-mkrescue.in: New file.
34721 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
34724 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
34725 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
34726 * configure.ac: Add header and function checks to satisfy grub-mkisofs
34728 * util/mkisofs/defaults.h: New file.
34729 * util/mkisofs/eltorito.c: Likewise.
34730 * util/mkisofs/exclude.h: Likewise.
34731 * util/mkisofs/fnmatch.c: Likewise.
34732 * util/mkisofs/getopt.c: Likewise.
34733 * util/mkisofs/getopt1.c: Likewise.
34734 * util/mkisofs/hash.c: Likewise.
34735 * util/mkisofs/include/fctldefs.h: Likewise.
34736 * util/mkisofs/include/mconfig.h: Likewise.
34737 * util/mkisofs/include/prototyp.h: Likewise.
34738 * util/mkisofs/include/statdefs.h: Likewise.
34739 * util/mkisofs/iso9660.h: Likewise.
34740 * util/mkisofs/joliet.c: Likewise.
34741 * util/mkisofs/match.c: Likewise.
34742 * util/mkisofs/match.h: Likewise.
34743 * util/mkisofs/mkisofs.c: Likewise.
34744 * util/mkisofs/mkisofs.h: Likewise.
34745 * util/mkisofs/multi.c: Likewise.
34746 * util/mkisofs/name.c: Likewise.
34747 * util/mkisofs/rock.c: Likewise.
34748 * util/mkisofs/tree.c: Likewise.
34749 * util/mkisofs/write.c: Likewise.
34751 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
34753 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
34756 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34758 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
34759 `grub-mkimage' (and use $0 when possible).
34761 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34763 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
34764 error message for excessively large memory map.
34766 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34768 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
34771 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
34773 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
34774 message for coreboot users.
34776 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
34778 Fix build with GNU gold.
34780 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
34781 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
34782 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
34784 * aclocal.m4: Likewise.
34786 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
34788 * configure.ac (AC_PREREQ): Bump to 2.59d.
34789 * INSTALL: Make it more clear when Autoconf and Ruby are
34790 needed and when to run `./autogen.sh'.
34792 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
34794 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
34797 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34799 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
34801 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34803 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
34804 giving it to GNU Mach.
34806 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34808 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
34809 GNU partition number to get internal GRUB partition number.
34811 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
34813 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
34814 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
34816 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
34818 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
34819 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
34822 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
34824 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
34826 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34830 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
34831 `-isystem=$(srcdir)/include'.
34833 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
34835 * util/i386/pc/grub-install.in: Remove hint that device.map should be
34836 checked (grub-install doesn't currently rely on it).
34838 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
34842 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
34843 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34844 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
34845 * conf/i386-ieee1275.rmk: Likewise.
34846 * conf/i386-pc.rmk: Likewise.
34847 * conf/powerpc-ieee1275.rmk: Likewise.
34848 * conf/sparc64-ieee1275.rmk: Likewise.
34849 * conf/x86_64-efi.rmk: Likewise.
34851 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34853 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
34855 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34857 * include/grub/misc.h: Stop checking for APPLE_CC.
34859 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
34861 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
34862 doesn't cause an infinite call loop.
34864 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
34866 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
34869 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34871 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
34873 * Makefile.in: Likewise.
34875 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34877 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
34879 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34881 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
34883 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34885 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
34887 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34889 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
34891 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
34893 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34895 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
34896 in $(MAKEINFO) invocation. This makes it clear in output that
34897 errors are being ignored.
34899 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34901 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
34903 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
34904 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
34905 * conf/i386-ieee1275.rmk: Likewise.
34906 * conf/i386-pc.rmk: Likewise.
34907 * conf/powerpc-ieee1275.rmk: Likewise.
34908 * conf/sparc64-ieee1275.rmk: Likewise.
34909 * conf/x86_64-efi.rmk: Likewise.
34911 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
34913 * util/grub-editenv.c (main): If only a command is given, use
34914 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
34915 (usage): FILENAME is now optional and has a default.
34917 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
34919 Improve grub-mkconfig performance when there are several menu
34920 entries on a single filesystem.
34922 * util/grub.d/10_linux.in (linux_entry): Cache the output of
34923 prepare_grub_to_access_device.
34924 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
34925 * util/grub.d/30_os-prober.in: Likewise.
34927 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34929 * util/grub.d/10_freebsd.in: Remove.
34930 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
34931 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
34933 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
34935 * docs/grub.cfg: Fix example usage of *BSD loaders.
34937 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34939 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
34940 grub_util_error() call.
34942 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34944 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
34945 `reserved_first_sector' member.
34946 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
34947 `reserved_first_sector' to 1.
34948 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
34949 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
34950 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
34951 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
34952 filesystems which begin at first sector.
34953 (options): New option --skip-fs-probe.
34954 (main): Handle --skip-fs-probe and pass it to setup().
34956 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34958 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
34959 (memset): Fix function prototype.
34961 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34962 2009-10-25 Vasily Averin <vvs@parallels.com>
34964 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
34965 `dirent.direntlen == 0'.
34967 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34969 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
34971 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
34973 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34975 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
34976 `__trampoline_setup' and `__ucmpdi2'.
34977 * include/grub/powerpc/libgcc.h: Only export symbols for functions
34978 that libgcc provides.
34980 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34982 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
34983 * include/grub/sparc64/libgcc.h (memset): Likewise.
34984 * include/grub/misc.h (memset, memcmp): New function prototypes.
34986 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34988 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
34990 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
34992 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
34994 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
34995 * docs/grub.cfg: Compensate for recent change in multiboot
34996 loader (since 2009-08-14 it won't pass filename to payload).
34997 * util/grub.d/10_hurd.in: Likewise.
34999 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
35001 * config.guess: Update to latest version from config git
35003 * config.sub: Likewise.
35005 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
35007 Fix build on sparc64.
35009 * configure.ac: Perform checks for libgcc symbols before
35010 adding `-nostdlib' to LDFLAGS.
35012 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35014 Let user specify OpenBSD root device.
35016 * loader/i386/bsd.c (openbsd_root): New variable.
35017 (openbsd_opts): New option 'root'.
35018 (OPENBSD_ROOT_ARG): New macro.
35019 (grub_openbsd_boot): Use 'openbsd_root'.
35020 (grub_cmd_openbsd): Fill 'openbsd_root'.
35022 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35024 * NEWS: Misc adjustments.
35026 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
35028 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
35030 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
35032 * configure.ac: Bump version to 1.97.
35034 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
35036 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
35037 -mno-3dnow on x86 architectures. Some toolchains enable these
35038 features by default, but they rely on registers that aren't enabled
35039 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
35041 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
35043 Make entry text a bit more readable.
35045 * util/grub.d/10_linux.in: Add `with' before `Linux'.
35047 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35049 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
35051 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35053 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
35056 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35058 * configure.ac: Add missing dollar.
35060 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
35062 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
35064 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
35065 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
35067 * include/grub/sparc64/libgcc.h: Likewise. Use
35068 preprocessor conditionals.
35070 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35072 * conf/common.rmk (grub-dumpbios): Remove rule.
35073 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
35074 * util/grub-dumpbios.in: Remove file.
35076 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
35078 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
35079 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
35081 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
35082 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
35085 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
35086 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
35087 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
35088 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
35091 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
35093 * term/tparm.c: Switch to GPLv3.
35095 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35097 * include/grub/i386/cpuid.h: Add header protection.
35099 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
35101 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
35103 * include/grub/i386/cpuid.h: New file.
35104 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
35105 (has_longmode): Rename to ...
35106 (grub_cpuid_has_longmode): ... this. Update all users. Remove
35107 `static' attribute.
35108 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
35109 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
35110 on a CPU that doesn't implement AMD64 instruction set.
35112 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35114 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
35115 that version.texi is rebuilt on version number changes.
35117 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35119 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
35122 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
35124 * util/i386/pc/grub-install.in: Source
35125 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
35126 that the --grub-probe option will work.
35127 * util/sparc64/ieee1275/grub-install.in: Likewise.
35129 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
35131 * configure.ac: Bump version to 1.97~beta4.
35133 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
35135 Resync grub-mkdevicemap in x86_64-efi.
35137 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
35138 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
35139 `util/devicemap.c'.
35141 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
35143 * util/grub-editenv.c (create_envblk_file): Write new block with a
35144 .new suffix and then rename it into place, to ensure atomic
35147 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
35149 Do not automatically install headers.
35151 * Makefile.in (include_DATA): Remove. Update all users.
35153 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
35155 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
35156 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
35158 * util/osdetect.lua: Remove.
35159 * script/lua/lauxlib.c: Likewise.
35160 * script/lua/ldebug.c: Likewise.
35161 * script/lua/grub_main.c: Likewise.
35162 * script/lua/lauxlib.h: Likewise.
35163 * script/lua/ldebug.h: Likewise.
35164 * script/lua/ltablib.c: Likewise.
35165 * script/lua/liolib.c: Likewise.
35166 * script/lua/lstrlib.c: Likewise.
35167 * script/lua/lualib.h: Likewise.
35168 * script/lua/ldo.c: Likewise.
35169 * script/lua/ldump.c: Likewise.
35170 * script/lua/ldo.h: Likewise.
35171 * script/lua/loslib.c: Likewise.
35172 * script/lua/lundump.c: Likewise.
35173 * script/lua/grub_lib.c: Likewise.
35174 * script/lua/ldblib.c: Likewise.
35175 * script/lua/lundump.h: Likewise.
35176 * script/lua/lmem.c: Likewise.
35177 * script/lua/grub_lib.h: Likewise.
35178 * script/lua/lmathlib.c: Likewise.
35179 * script/lua/lstate.c: Likewise.
35180 * script/lua/ltm.c: Likewise.
35181 * script/lua/lvm.c: Likewise.
35182 * script/lua/lmem.h: Likewise.
35183 * script/lua/lstate.h: Likewise.
35184 * script/lua/ltm.h: Likewise.
35185 * script/lua/ltable.c: Likewise.
35186 * script/lua/lvm.h: Likewise.
35187 * script/lua/llex.c: Likewise.
35188 * script/lua/lgc.c: Likewise.
35189 * script/lua/grub_lua.h: Likewise.
35190 * script/lua/loadlib.c: Likewise.
35191 * script/lua/lfunc.c: Likewise.
35192 * script/lua/lopcodes.c: Likewise.
35193 * script/lua/lparser.c: Likewise.
35194 * script/lua/ltable.h: Likewise.
35195 * script/lua/llex.h: Likewise.
35196 * script/lua/lgc.h: Likewise.
35197 * script/lua/lfunc.h: Likewise.
35198 * script/lua/lbaselib.c: Likewise.
35199 * script/lua/lopcodes.h: Likewise.
35200 * script/lua/lparser.h: Likewise.
35201 * script/lua/lzio.c: Likewise.
35202 * script/lua/linit.c: Likewise.
35203 * script/lua/lobject.c: Likewise.
35204 * script/lua/llimits.h: Likewise.
35205 * script/lua/lstring.c: Likewise.
35206 * script/lua/lzio.h: Likewise.
35207 * script/lua/lapi.c: Likewise.
35208 * script/lua/lcode.c: Likewise.
35209 * script/lua/lua.h: Likewise.
35210 * script/lua/lobject.h: Likewise.
35211 * script/lua/lstring.h: Likewise.
35212 * script/lua/lapi.h: Likewise.
35213 * script/lua/lcode.h: Likewise.
35214 * script/lua/luaconf.h: Likewise.
35216 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
35218 * docs/grub.texi (Command-line and menu entry commands): Document
35219 date and echo commands.
35221 2009-09-24 Pavel Roskin <proski@gnu.org>
35223 * include/grub/kernel.h (struct grub_module_header): Remove
35224 `grub_module_header_types'. Make `type' unsigned. Make `size'
35225 32-bit on all platforms.
35226 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
35227 8-bit field. Use grub_host_to_target32() for `size'.
35228 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
35229 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
35230 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
35232 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35234 Fix "lost keypress" bug in at_keyboard.
35236 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
35237 Checks for readyness of input buffer (without flushing it).
35238 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
35239 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
35241 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35243 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
35244 size check within GRUB_MACHINE_PCBIOS section.
35246 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
35248 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
35250 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
35251 KEYBOARD_ISREADY check.
35252 (grub_at_keyboard_checkkey): Rename to ...
35253 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
35254 Remove gratuitous cast.
35256 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
35258 * configure.ac: Call AC_PROG_MKDIR_P.
35259 * Makefile.in (docs/stamp-vti): Create docs directory. Create
35260 version.texi in $(builddir) rather than $(srcdir).
35261 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
35262 to makeinfo's @include search path.
35264 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
35266 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
35268 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
35270 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
35273 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
35275 Build info documentation. Some code borrowed from Automake.
35277 * configure.ac: Check for makeinfo.
35278 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
35279 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
35281 (MOSTLYCLEANFILES): Add vti.tmp.
35282 (docs/version.texi, docs/stamp-vti): Update automatically.
35283 (docs/grub.info): Build info documentation. Use --force and ignore
35285 (all-local): Add $(INFOS).
35286 (install-local): Install info files.
35287 (uninstall): Uninstall info files.
35288 * docs/version.texi: Remove from revision control. This file is
35289 automatically generated on build now.
35290 * gendistlist.sh: Add `*.info'.
35292 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
35294 * kern/term.c: Fix indentation.
35296 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
35298 * util/hostdisk.c: Fix a comment.
35300 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
35302 Fix regression introduced in r2539.
35304 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
35307 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
35309 * util/grub.d/30_os-prober.in: Don't throw away stderr from
35310 os-prober. Under normal operation, it does not print anything to
35311 stderr; if it does, we need to debug it, and throwing away stderr
35312 makes that excessively difficult.
35314 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
35316 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
35318 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35320 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
35321 AC_LANG_PROGRAM from autoconf.
35322 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
35323 prototypes (fixes warning).
35325 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
35326 `--disable-werror' was used.
35328 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
35330 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
35331 uninitialized `lastaddr'.
35333 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
35335 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
35337 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
35339 * commands/test.c (get_fileinfo): Return immediately if
35340 grub_fs_probe fails.
35342 2009-09-14 José Martínez <xosemp@gmail.com>
35344 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
35346 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
35348 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
35351 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
35353 * configure.ac: Remove --enable-grub-pe2elf. Only build
35354 grub-pe2elf when needed by the build system itself.
35355 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
35357 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35359 * configure.ac: Bump version to 1.97~beta3.
35360 * docs/version.texi: Likewise.
35362 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35364 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
35365 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
35367 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
35368 (grub_linux_setup_video): ... to here (with some adjustments).
35370 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
35372 Fix memory corruption issue (spotted by Colin Watson).
35374 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
35375 causing returned size to be stored in an incorrect memory location.
35376 Fix use of uninitialized value when storing the returned size.
35378 2009-09-12 Yves Blusseau <blusseau@zetam.org>
35380 Change clean rules to properly remove files
35382 * genmk.rb: add new clean rules
35383 * Makefile.in (clean): add the new targets
35384 (mostlyclean): likewise
35386 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
35388 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
35390 * fs/ntfs.c (init_file): Understand 64-bit sizes for
35391 non-resident files.
35393 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
35395 * configure.ac: Don't look for help2man when cross-compiling. Fixes
35396 part of bug #27349.
35398 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
35400 * util/grub-mkconfig.in: Make the created config mode 400 and
35401 print a warning if it fails.
35403 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
35405 * util/grub.d/40_custom.in: Ask user to type custom entries below
35406 comment, rather than below 'exec tail' line.
35408 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
35410 * util/grub.d/40_custom.in: Make sure that the explanatory text is
35411 visible in grub.cfg.
35413 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
35415 * util/grub.d/40_custom.in: Make it a little clearer how to use this
35418 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
35420 * docs/grub.cfg: Add an example menu entry for memtest86+.
35422 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
35424 * config.guess: Update to latest version from config git.
35425 * config.sub: Likewise.
35427 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
35429 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
35430 unknown-command case. Fixes bug #27320.
35432 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
35434 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
35435 `help' if the command exists.
35437 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
35439 * INSTALL: Require GCC 4.1.3 or later.
35441 2009-09-06 Yves Blusseau <blusseau@zetam.org>
35443 * Makefile.in (RMKFILES): add i386-qemu.rmk
35444 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
35445 $(srcdir)/stamp-h.in
35447 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
35449 * util/grub-probe.c (probe): Comment out buggy codepath, which
35450 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
35451 should be re-enabled after 1.97.
35453 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
35455 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
35458 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
35460 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
35461 unnecessary calls to grub_error.
35463 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
35465 * NEWS: Mention `keystatus' and Unicode fonts.
35467 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
35469 * configure.ac: Bump version to 1.97~beta2.
35470 * docs/version.texi: Likewise.
35472 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
35474 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
35475 containing unwind information in some cases where it previously did
35476 not. Use -fno-dwarf2-cfi-asm if available to restore the old
35477 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
35480 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
35482 Embedding loadenv module into grub-emu
35484 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
35486 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
35487 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
35488 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
35489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
35490 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
35491 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
35493 2009-09-03 Magnus Granberg <zorry@ume.nu>
35495 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
35496 include -fPIE in the default specs.
35497 * configure.ac: Check if pie_possible is yes and add -fno-PIE
35500 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
35502 * INSTALL: Note that GNU Bison 2.3 or later is required.
35504 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
35506 * kern/i386/pc/startup.S: Fix typo.
35508 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
35510 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
35513 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35515 * docs/grub.texi (Naming convention): Describe one-based partition
35517 (Device syntax): Likewise.
35518 (File name syntax): Likewise.
35519 (Block list syntax): Likewise.
35520 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
35522 (File name syntax): Likewise.
35523 (Command-line and menu entry commands): Document acpi, blocklist,
35524 crc, export, insmod, keystatus, ls, set, and unset commands.
35526 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35528 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
35529 to avoid implying that only one of --shift, --ctrl, or --alt may be
35532 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
35534 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
35535 rather than comparing against S_IFREG, which will almost never work.
35537 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
35539 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
35540 (write_blocklists): Likewise.
35542 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
35544 * script/lua/grub_lua.h (fputs): Supply a format string as the first
35545 argument to grub_printf.
35547 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
35549 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
35552 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35554 * kern/file.c (grub_file_read): Spelling fix
35556 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
35558 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
35559 loading of headers in some cases.
35561 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
35563 * configure.ac: Bump version to 1.97~beta1.
35564 * docs/version.texi: Likewise.
35566 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
35568 * include/grub/i386/xnu.h: Add license header.
35569 include grub/err.h explicitly.
35571 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35573 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
35574 to `ufs' in the vfs.root.mountfrom kernel parameter.
35576 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
35578 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
35580 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
35581 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
35583 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
35584 `ARRAY_SIZE' macro.
35586 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35588 * kern/file.c (grub_file_read): Check offset.
35589 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
35590 * fs/jfs.c (grub_jfs_read_file): Likewise.
35591 * fs/ntfs.c (grub_ntfs_read): Likewise.
35592 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
35593 * fs/minix.c (grub_minix_read_file): Correct offset check.
35594 * fs/ufs.c (grub_ufs_read_file): Likewise.
35596 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35598 * term/i386/pc/console.c (bios_data_area): Cast
35599 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
35601 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35603 1-bit optimised blitters.
35605 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
35607 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35608 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35609 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35610 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35611 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35612 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35613 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
35615 (grub_video_fbblit_replace_24bit_1bit): Likewise.
35616 (grub_video_fbblit_replace_16bit_1bit): Likewise.
35617 (grub_video_fbblit_replace_8bit_1bit): Likewise.
35618 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
35619 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
35620 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
35621 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
35623 * video/video.c (grub_video_get_blit_format): Return
35624 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
35626 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35628 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
35629 the first argument to grub_printf.
35631 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
35632 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
35634 Add `getkeystatus' terminal method. Add a new `keystatus' command
35637 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
35638 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
35639 modifier key bitmasks.
35640 (struct grub_term_input): Add `getkeystatus' member.
35641 (grub_getkeystatus): Add prototype.
35642 * kern/term.c (grub_getkeystatus): New function.
35644 * include/grub/i386/pc/memory.h
35645 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
35646 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
35648 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
35649 (grub_console_term_input): Set `getkeystatus' member.
35650 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
35652 (grub_usb_keyboard_getreport): Likewise.
35653 (grub_usb_keyboard_checkkey): Likewise.
35654 (grub_usb_keyboard_getkeystatus): New function.
35655 (grub_usb_keyboard_term): Set `getkeystatus' member.
35657 * commands/keystatus.c: New file.
35658 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
35659 (keystatus_mod_SOURCES): New variable.
35660 (keystatus_mod_CFLAGS): Likewise.
35661 (keystatus_mod_LDFLAGS): Likewise.
35662 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
35663 commands/keystatus.c.
35664 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35665 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35666 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35668 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35669 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35671 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
35673 Split befs.mod and afs.mod into *_be.mod and *.mod
35675 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
35676 (grub_fstest_SOURCES): Likewise.
35677 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
35678 (afs_be_mod_SOURCES): New variable.
35679 (afs_be_mod_CFLAGS): Likewise.
35680 (afs_be_mod_LDFLAGS): Likewise.
35681 (befs_be_mod_SOURCES): Likewise.
35682 (befs_be_mod_CFLAGS): Likewise.
35683 (befs_be_mod_LDFLAGS): Likewise.
35684 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
35685 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35686 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35687 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
35688 (grub_emu_SOURCES): Likewise.
35689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35690 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35691 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35692 * fs/afs_be.c: New file.
35693 * fs/befs_be.c: New file.
35694 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
35695 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
35696 (U16): Replaced with ...
35697 (grub_afs_to_cpu16): ...this. All users updated.
35698 (U32): Replaced with ...
35699 (grub_afs_to_cpu32): ...this. All users updated.
35700 (U64): Replaced with ...
35701 (grub_afs_to_cpu64): ...this. All users updated.
35702 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
35703 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
35704 (grub_afs_validate_sblock): Check only one endianness.
35705 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35706 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35707 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35708 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35709 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
35710 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
35711 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
35712 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
35714 2009-08-26 Bean <bean123ch@gmail.com>
35716 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
35718 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
35719 (grub_xfs_inode_block): Change return type to grub_uint64_t.
35720 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
35722 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35724 NetBSD memory map support.
35726 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
35727 (grub_netbsd_btinfo_mmap_header): New structure.
35728 (grub_netbsd_btinfo_mmap_entry): Likewise.
35729 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
35731 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35733 Enable bsd.mod on coreboot.
35735 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
35736 (bsd_mod_SOURCES): New variable.
35737 (bsd_mod_CFLAGS): Likewise.
35738 (bsd_mod_LDFLAGS): Likewise.
35739 (bsd_mod_ASFLAGS): Likewise.
35740 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
35741 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
35743 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35745 Cleanup NetBSD root support.
35747 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
35748 grub_bsd_get_device.
35751 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
35753 * util/grub.d/00_header.in: Move check for the video backend of
35754 gfxterm from here ...
35755 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
35756 a suitable video backend.
35758 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35760 Fix breakage in grub-setup.
35762 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
35763 "msdos_partition_map".
35765 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35767 Fix breakage in normal/auth.c.
35769 * normal/auth.c (grub_iswordseparator): New function.
35771 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
35773 Authentication support.
35775 * commands/password.c: New file.
35776 * conf/common.rmk (pkglib_MODULES): Add password.mod.
35777 (password_mod_SOURCES): New variable.
35778 (password_mod_CFLAGS): Likewise.
35779 (password_mod_LDFLAGS): Likewise.
35780 (normal_mod_SOURCES): Add normal/auth.c.
35781 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
35783 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35784 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35785 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35787 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35788 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35789 * include/grub/auth.h: New file.
35790 * include/grub/err.h (grub_err_t): New enum value
35791 GRUB_ERR_ACCESS_DENIED.
35792 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
35794 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
35795 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
35797 * normal/auth.c: New file.
35798 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
35799 (grub_cmdline_run): Don't allow to go to command line without
35801 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
35802 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
35803 menuentry without superuser rights.
35804 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
35805 user isn't a superuser.
35807 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35809 Save space by inlining misc.c functions.
35811 * kern/misc.c (grub_iswordseparator): Made static.
35812 * kern/misc.c (grub_strcat): Moved from here ...
35813 * include/grub/misc.h (grub_strcat): ... here. Inlined.
35814 * kern/misc.c (grub_strncat): Moved from here ...
35815 * include/grub/misc.h (grub_strncat): ... here. Inlined.
35816 * kern/misc.c (grub_strcasecmp): Moved from here ...
35817 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
35818 * kern/misc.c (grub_strncasecmp): Moved from here ...
35819 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
35820 * kern/misc.c (grub_isalpha): Moved from here ...
35821 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
35822 * kern/misc.c (grub_isdigit): Moved from here ...
35823 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
35824 * kern/misc.c (grub_isgraph): Moved from here ...
35825 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
35826 * kern/misc.c (grub_tolower): Moved from here ...
35827 * include/grub/misc.h (grub_tolower): ... here. Inlined.
35829 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35831 * script/sh/function.c (grub_script_function_find): Cut error message
35832 not to flood terminal.
35833 * script/sh/lexer.c (grub_script_yylex): Remove command line length
35835 * script/sh/script.c (grub_script_arg_add): Duplicate string.
35837 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
35839 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
35840 `report' grub_uint8_t *.
35841 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
35842 Use a 50-millisecond timeout rather than just repeating
35843 grub_usb_keyboard_getreport 50 times.
35844 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
35846 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35848 Rename *_partition_map to part_*
35850 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
35851 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
35852 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
35853 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
35855 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
35857 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
35858 * util/grub-probe.c (probe_partmap): Don't transform partition name
35859 to get module name.
35861 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35863 Fix OpenBSD and NetBSD support.
35865 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
35866 memory address conflict.
35867 (OPENBSD_MMAP_ACPI): New definition.
35868 (OPENBSD_MMAP_NVS): Likewise.
35869 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
35870 and OPENBSD_MMAP_NVS.
35871 Add memory map terminator
35872 Explicit cast when calling grub_unix_real_boot.
35873 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
35875 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35877 Let user specify NetBSD root device.
35879 * loader/i386/bsd.c (netbsd_root): New variable.
35880 (netbsd_opts): New option 'root'.
35881 (NETBSD_ROOT_ARG): New macro.
35882 (grub_netbsd_boot): Use 'netbsd_root'.
35883 (grub_bsd_unload): Free 'netbsd_root'.
35884 (grub_cmd_netbsd): Fill 'netbsd_root'.
35886 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35888 Support for 64-bit NetBSD.
35890 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
35891 point when booting non-FreeBSD.
35893 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
35895 Support --no-smp and --no-acpi for NetBSD.
35897 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
35898 (NETBSD_AB_NOACPI): Likewise.
35899 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
35900 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
35902 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35904 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
35906 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
35907 errors. Call grub_error when needed.
35909 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35911 * commands/search.c (search_fs): Try searching without autoload first.
35912 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
35913 filesystem module explicitly for faster booting.
35915 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
35917 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
35919 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
35921 * util/grub.d/30_os-prober.in: Disable os-prober if
35922 `GRUB_DISABLE_OS_PROBER' was set to true.
35924 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
35926 * partmap/pc.c: Rename to ...
35927 * partmap/msdos.c: ... this. Update all users.
35928 (grub_pc_partition_map): Rename to ...
35929 (grub_msdos_partition_map): ... this. Update all users.
35931 * parttool/pcpart.c: Rename to ...
35932 * parttool/msdospart.c: ... this. Update all users.
35934 * include/grub/pc_partition.h: Rename to ...
35935 * include/grub/msdos_partition.h: ... this. Update all users.
35936 (grub_pc_partition_bsd_entry): Rename to ...
35937 (grub_msdos_partition_bsd_entry): ... this. Update all users.
35938 (grub_pc_partition_disk_label): Rename to ...
35939 (grub_msdos_partition_disk_label): ... this. Update all users.
35940 (grub_pc_partition_entry): Rename to ...
35941 (grub_msdos_partition_entry): ... this. Update all users.
35942 (grub_pc_partition_mbr): Rename to ...
35943 (grub_msdos_partition_mbr): ... this. Update all users.
35944 (grub_pc_partition): Rename to ...
35945 (grub_msdos_partition): ... this. Update all users.
35946 (grub_pc_partition_is_empty): Rename to ...
35947 (grub_msdos_partition_is_empty): ... this. Update all users.
35948 (grub_pc_partition_is_extended): Rename to ...
35949 (grub_msdos_partition_is_extended): ... this. Update all users.
35950 (grub_pc_partition_is_bsd): Rename to ...
35951 (grub_msdos_partition_is_bsd): ... this. Update all users.
35953 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
35954 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
35955 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
35956 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
35957 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
35958 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
35959 (gpt_mod_LDFLAGS): Rename to ...
35960 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
35961 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
35962 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
35963 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
35964 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
35965 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
35966 (part_gpt_mod_LDFLAGS): ... this.
35967 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
35968 `pcpart.mod' to `msdospart.mod'.
35969 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
35971 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
35972 (msdospart_mod_LDFLAGS): ... this.
35974 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
35976 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
35977 (openbsd_opts): Likewise.
35978 (netbsd_opts): Likewise.
35979 (freebsd_flags): Added 0 terminator.
35980 (openbsd_flags): Likewise.
35981 (netbsd_flags): Likewise.
35982 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
35983 (grub_cmd_freebsd): Transformed into extended command.
35984 (grub_cmd_openbsd): Likewise.
35985 (grub_cmd_netbsd): Likewise.
35986 (cmd_freebsd): Changed type to grub_extcmd_t.
35987 (cmd_openbsd): Likewise.
35988 (cmd_netbsd): Likewise.
35989 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
35990 grub_cmd_openbsd as extended commands.
35991 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
35992 cmd_netbsd and cmd_openbsd
35994 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
35996 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
35998 2009-08-21 Pavel Roskin <proski@gnu.org>
36000 * Makefile.in (install-local): When checking if a file is in the
36001 build directory, use "test -e" to detect symlinks.
36003 * Makefile.in (install-local): Remove all files in
36004 $(DESTDIR)$(pkglibdir) before installing new files there.
36006 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
36008 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
36011 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
36013 * util/grub-mkconfig.in: Don't use gfxterm by default if not
36014 explicitly specified by the user.
36016 2009-08-18 Pavel Roskin <proski@gnu.org>
36018 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
36019 grub_uint8_t pointer for data.
36020 * include/grub/fbutil.h (struct grub_video_fbblit_info):
36022 * video/fb/fbutil.c: Remove unnecessary casts.
36024 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36028 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
36029 (grub_vbe_set_video_mode): Save active mode info
36030 only after setting the mode.
36031 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
36034 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36036 Rename variables for clarity.
36038 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
36039 (active_vbe_mode_info): ... this. All users updated.
36040 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
36042 (initial_mode): Rename to ...
36043 (initial_vbe_mode): ... this. All users updated.
36044 (mode_in_use): Rename to ..
36045 (vbe_mode_in_use): ... this. All users updated.
36046 (mode_list): Rename to ..
36047 (vbe_mode_list): ... this. All users updated.
36048 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
36049 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
36050 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
36051 'mode_list_size' to 'vbe_mode_list_size'.
36052 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
36053 'best_mode_info' to 'best_vbe_mode_info' and
36054 'best_mode' to 'best_vbe_mode'
36056 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
36058 Remove duplicate grub_video_fb_get_video_ptr.
36060 * include/grub/fbutil.h (get_data_ptr): Rename to ...
36061 (grub_video_fb_get_video_ptr): ... this.
36062 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
36063 * video/fb/fbutil.c: Add comment about addressing.
36064 (get_data_ptr): Rename to ...
36065 (grub_video_fb_get_video_ptr): ... this. All users updated.
36066 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
36068 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36070 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
36071 grub_dprintf() that was just added.
36073 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
36075 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
36076 (DEFAULT_VIDEO_MODE): Remove macros.
36077 (grub_linux_boot): Remove assumption that Linux has FB support,
36078 and use "text" as default video mode.
36080 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
36082 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
36084 * fs/fat.c (grub_fat_read_data): Likewise.
36086 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36088 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
36090 (grub_module): Likewise.
36092 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36094 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
36095 mbi->cmdline but free playground.
36097 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36099 Handle group offset on UFS1.
36101 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
36102 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
36104 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36106 Split ufs.mod into ufs1.mod and ufs2.mod.
36108 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
36109 (grub_fstest_SOURCES): Likewise.
36110 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
36111 (ufs_mod_SOURCES): Remove.
36112 (ufs_mod_CFLAGS): Likewise.
36113 (ufs_mod_LDFLAGS): Likewise.
36114 (ufs1_mod_SOURCES): New variable.
36115 (ufs1_mod_CFLAGS): Likewise.
36116 (ufs1_mod_LDFLAGS): Likewise.
36117 (ufs2_mod_SOURCES): New variable.
36118 (ufs2_mod_CFLAGS): Likewise.
36119 (ufs2_mod_LDFLAGS): Likewise.
36120 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
36121 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36123 (grub_emu_SOURCES): Likewise.
36124 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36125 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36126 (grub_setup_SOURCES): Likewise.
36127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36128 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
36129 (grub_setup_SOURCES): Likewise.
36130 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
36132 * fs/ufs2.c: New file.
36133 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
36135 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
36139 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
36140 subsystem at the end.
36141 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
36142 (video_fb_mod_SOURCES): New variable.
36143 (video_fb_mod_CFLAGS): Likewise.
36144 (video_fb_mod_LDFLAGS): Likewise.
36145 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
36146 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
36147 * video/i386/pc/vbeblit.c: Moved from here ...
36148 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
36149 * video/i386/pc/vbefill.c: Moved from here ...
36150 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
36151 * video/i386/pc/vbeutil.c: Moved from here ...
36152 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
36153 * include/grub/i386/pc/vbeblit.h: Moved from here ...
36154 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
36155 * include/grub/i386/pc/vbefill.h: Moved from here ...
36156 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
36157 * include/grub/i386/pc/vbeutil.h: Moved from here ...
36158 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
36159 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
36160 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
36161 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
36162 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
36163 (grub_video_adapter): Added 'get_info_and_fini'.
36164 (grub_video_get_info_and_fini): New prototype.
36165 (grub_video_set_mode): make modestring const char *.
36166 * loader/i386/linux.c (grub_linux_setup_video): Use
36167 grub_video_get_info_and_fini.
36168 (grub_linux_boot): Move modesetting just before booting.
36169 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
36170 grub_video_get_info_and_fini.
36171 * video/i386/pc/vbe.c: Moved framebuffer part ...
36172 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
36173 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
36174 grub_video_fbstd_colors and grub_video_fb_set_palette.
36175 (grub_video_vbe_init): Clear 'framebuffer' variable and use
36176 grub_video_fb_init.
36177 (grub_video_vbe_fini): Use grub_video_fb_fini.
36178 (grub_video_vbe_setup): Use framebuffer.render_target instead of
36179 render_target and use grub_video_fb_set_active_render_target and
36180 grub_video_fb_set_palette.
36181 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
36182 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
36183 (grub_video_vbe_adapter): Use framebuffer.
36184 * video/video.c (grub_video_get_info_and_fini): New function.
36185 (grub_video_set_mode): Make modestring const char *.
36186 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
36187 values are already initialised.
36189 2009-08-14 Pavel Roskin <proski@gnu.org>
36191 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
36193 * boot/i386/pc/diskboot.S: Likewise.
36194 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
36195 sectors allow compilation on MacOSX.
36196 * conf/i386-pc.rmk: Enable unconditional compilation of
36199 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
36201 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
36202 * util/grub.d/00_header.in: Enter interruptible sleep if
36203 GRUB_HIDDEN_TIMEOUT is set.
36205 2009-08-13 Yves Blusseau <blusseau@zetam.org>
36207 * include/grub/symbol.h: Add the LOCAL macro.
36208 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
36209 starting with "L_".
36211 2009-08-13 Pavel Roskin <proski@gnu.org>
36213 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
36214 any modern compilers we support.
36216 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
36217 Use local labels starting with "L_" so that Apple assembler
36218 knows they are local.
36220 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
36222 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
36223 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
36224 (bsd_kernel_types): ... this enum.
36226 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
36227 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
36228 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
36230 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
36231 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
36232 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
36235 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36237 * util/grub-dumpdevtree: Moved from here ...
36238 * util/i386/efi/grub-dumpdevtree: ... to here.
36239 (hexify): New function. Converts a string to its hex version.
36240 Generate hex versions of "efi" and "device-properties" by calling
36241 hexify() on the ASCII strings rather than by hardcoding numbers.
36243 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
36245 * fs/jfs.c: Update copyright year.
36247 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
36249 * util/grub.d/00_header.in: Fix a comment.
36250 * util/grub.d/10_linux.in: Likewise.
36251 * util/grub.d/10_windows.in: Likewise.
36252 * util/grub.d/10_hurd.in: Likewise.
36254 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
36256 * util/grub-mkconfig.in: Allow the user to specify the used font
36259 2009-08-08 Pavel Roskin <proski@gnu.org>
36261 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
36262 available, xfs.mod needs it now.
36264 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
36265 the "g" modifier in sed when the intention is to strip something
36266 once. This fixes comparison of kernels with multiple dashes.
36268 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
36269 on it. Add missing space before closing bracket. Fix
36270 misleading formatting.
36272 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36274 * docs/grub.texi: Major overhaul. Remove all sections that are
36275 specific to GRUB Legacy, or mostly composed of Legacy-specific
36278 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36280 * docs/version.texi: New file. Provides version information for
36283 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36285 * docs/grub.texi: Update CVS information to SVN.
36286 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
36288 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36290 * util/grub-mkconfig.in: Remove a wrong `fi'.
36292 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36294 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
36295 (grub_jfs_uuid): New function.
36296 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
36298 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
36300 * util/grub-mkconfig_lib.in (font_path): Move the functionality
36302 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
36303 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
36305 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36307 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
36308 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
36311 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
36312 not just "vmlinu[zx]".
36313 Moved from here ...
36314 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
36317 * util/grub.d/10_linux.in (find_latest): Moved from here ...
36318 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
36321 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
36323 * util/grub.d/10_freebsd.in: Use an absolute device path for
36324 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
36326 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
36328 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
36329 handling of multiple abstraction modules.
36331 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
36333 Fix a bug resulting in black screen when loading Linux using a
36336 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
36339 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
36340 (grub_vbe_bios_getset_dac_palette_width): New function.
36341 (grub_vbe_bios_get_dac_palette_width)
36342 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
36343 grub_vbe_bios_getset_dac_palette_width()).
36345 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
36346 check for return status.
36347 (grub_vbe_get_video_mode_info): When getting information for a packed
36348 mode (<= 8 bpp), obtain DAC palette width using
36349 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
36350 {red,green,blue}_mark_size.
36352 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
36354 * commands/search.c (options): Fix help output to match actual code.
36356 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
36358 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
36361 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36363 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
36364 on XFS or ReiserFS.
36366 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36368 Support Apple partition map with sector size different from 512 bytes.
36370 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
36371 (apple_partition_map_iterate): Respect 'aheader.blocksize'
36372 and 'apart.partmap_size'.
36374 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
36375 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
36379 * commands/i386/cpuid.c (options): New variable.
36380 (grub_cmd_cpuid): Return real error.
36381 (GRUB_MOD_INIT(cpuid)): Declare options.
36383 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
36385 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
36388 2009-07-31 Bean <bean123ch@gmail.com>
36390 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
36392 (grub_fshelp_node): Move inode field to the end.
36393 (grub_xfs_data): Remove inode field.
36394 (grub_xfs_inode_block): Calculate inode size using sblock.
36395 (grub_xfs_inode_offset): Likewise.
36396 (grub_xfs_read_inode): Calculate inode size using sblock.
36397 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
36398 (grub_xfs_iterate_dir): Calculate inode size using sblock.
36399 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
36400 to match inode size.
36401 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
36402 not accessible when data is null.
36403 (grub_xfs_open): Likewise.
36405 2009-07-31 Bean <bean123ch@gmail.com>
36407 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
36408 Don't change pv->disk if it's already set.
36410 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
36411 (grub_raid_register): ... here.
36412 (grub_raid_rescan): Removed.
36414 * include/grub/raid.h (grub_raid_rescan): Removed.
36416 * util/grub-fstest.c: Remove include file <grub/raid.h>.
36417 (fstest): Replace grub_raid_rescan with module fini function followed
36420 * util/grub-probe.c: Add include file <grub/raid.h>.
36421 (probe_raid_level): New function.
36422 (probe): Detect abstraction by walking the disk device, support two
36423 level of abstraction (LVM on RAID) when detecting partition map.
36425 2009-07-31 Pavel Roskin <proski@gnu.org>
36427 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
36428 to grub_zalloc(), it was erroneous.
36429 Reported by Bean <bean123ch@gmail.com>
36431 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
36433 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
36434 embedding zone, not only the first one.
36436 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
36438 * term/gfxterm.c (clear_char): New function.
36439 (grub_virtual_screen_setup): Use clear_char.
36440 (scroll_up): Likewise.
36441 (grub_virtual_screen_cls): Likewise.
36443 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
36445 * util/deviceiter.c (get_acceleraid_disk_name): New static
36447 (grub_util_iterate_devices): Handle Accelraid devices.
36448 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
36450 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
36452 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
36453 separator for the suggested gfxpayload string (';' collides with the
36454 parser and needs escaping).
36456 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
36458 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
36459 Clear direction flag before jumping to OS.
36460 (grub_multiboot2_real_boot): Likewise.
36462 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
36464 * util/i386/pc/grub-install: Fix parsing of --disk-module
36467 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
36469 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
36472 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
36474 * util/grub-mkconfig.in (package_version): New variable.
36475 Use it do display the version.
36477 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
36479 * kern/file.c (grub_file_open): Revert to previous check with
36482 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36484 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
36485 from help line. It's out of sync with code.
36487 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
36489 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
36490 entries on failed boot.
36492 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
36494 * kern/file.c (grub_file_open): Fix an error check.
36496 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
36498 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
36499 partition map couldn't be identified.
36501 2009-07-23 Pavel Roskin <proski@gnu.org>
36503 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
36504 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
36505 case of little endian words becomes just an optimization.
36506 Respect const modifier.
36507 (md5_final): Use code that doesn't depend on endianness.
36509 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
36510 to avoid loss of upper bits if align is unsigned and shorter
36513 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36515 UUID support for UFS
36517 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
36518 (grub_ufs_uuid): New function.
36519 (grub_ufs_fs): add .uuid
36521 2009-07-21 Pavel Roskin <proski@gnu.org>
36523 * kern/dl.c (grub_dl_check_header): Make static.
36525 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
36527 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
36528 add drivemap for Vista. It breaks Windows 7.
36530 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
36532 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
36535 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36539 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
36540 (grub_fstest_SOURCES): Likewise.
36541 (pkglib_MODULES): Add befs.mod.
36542 (befs_mod_SOURCES): New variable.
36543 (befs_mod_CFLAGS): Likewise.
36544 (befs_mod_LDFLAGS): Likewise.
36545 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36546 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36547 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36548 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36549 (grub_setup_SOURCES): Likewise.
36550 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36551 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36552 (grub_setup_SOURCES): Likewise.
36553 * fs/befs.c: New file.
36554 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
36555 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
36556 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
36557 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
36558 (B_KEY_INDEX_ALIGN): New declaration.
36559 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
36560 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
36561 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
36562 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
36563 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
36564 (grub_afs_mount) [MODE_BFS]: Likewise.
36565 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
36566 (grub_afs_fs): Use GRUB_AFS_FSNAME
36567 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
36568 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
36569 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
36570 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
36572 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
36574 * util/getroot.c (find_root_device): Add support for MacOSX.
36575 * util/hostdisk.c: Likewise.
36577 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36579 * font/font.c (find_glyph): Check whether a font is present to avoid
36580 segmentation fault.
36582 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
36584 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
36586 2009-07-20 Pavel Roskin <proski@gnu.org>
36588 * configure.ac: Trim excessively wordy excuses.
36590 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36592 Add symlink, mtime and label support to AtheFS.
36594 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
36595 (grub_afs_iterate_dir): Handle symlinks.
36596 (grub_afs_open): Use grub_afs_read_symlink.
36597 (grub_afs_dir): Likewise.
36599 (grub_afs_label): New function.
36600 (grub_afs_fs): Add grub_afs_label.
36601 (grub_afs_read_symlink): New function.
36603 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
36605 Fix AtheFS support.
36607 * fs/afs.c: Fix comments style.
36608 (grub_afs_blockrun): Declare as packed.
36609 (grub_afs_datastream): Likewise.
36610 (grub_afs_bnode): Likewise.
36611 (grub_afs_btree): Likewise.
36612 (grub_afs_sblock): Likewise.
36613 Declare `name' as char.
36614 (grub_afs_inode): Declare as packed.
36615 Change void *vnode to grub_uint32_t unused.
36616 (grub_afs_iterate_dir): Check that key_size is positive.
36617 (grub_afs_mount): Don't read superblock twice.
36618 (grub_afs_dir): Don't free node in case of error,
36619 grub_fshelp_find_file already handles this.
36620 (grub_afs_open): Likewise.
36622 2009-07-19 Pavel Roskin <proski@gnu.org>
36624 * Makefile.in: Remove LIBLZO and enable_lzo.
36625 * conf/i386-pc.rmk: Remove lzo support.
36626 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
36627 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
36629 * kern/i386/pc/lzo1x.S: Remove.
36630 * kern/i386/pc/startup.S: Remove lzo support.
36631 * util/i386/pc/grub-mkimage.c: Likewise.
36633 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
36635 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
36636 * fs/xfs.c (grub_xfs_dir): Likewise.
36637 * fs/afs.c (grub_afs_dir): Likewise.
36638 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
36639 (grub_iso9660_open): Likewise.
36640 * fs/jfs.c (grub_jfs_open): Likewise.
36641 * fs/ext2.c (grub_ext2_dir): Likewise.
36642 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
36643 * script/sh/lexer.c (grub_script_yylex): Likewise.
36645 2009-07-16 Pavel Roskin <proski@gnu.org>
36647 * configure.ac: Never add "-c" to CFLAGS.
36649 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
36651 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
36652 grub_cv_cc_efiemu should be used.
36654 * configure.ac: Typo fixes.
36656 * kern/mm.c (grub_zalloc): New function.
36657 (grub_debug_zalloc): Likewise.
36658 * include/grub/mm.h: Declare grub_zalloc() and
36659 grub_debug_zalloc().
36660 * util/misc.c (grub_zalloc): New function.
36661 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
36662 instead of grub_malloc(), remove unneeded initializations.
36663 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
36664 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
36665 * commands/parttool.c (grub_cmd_parttool): Likewise.
36666 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
36667 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
36668 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
36669 * disk/usbms.c (grub_usbms_finddevs): Likewise.
36670 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
36671 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
36672 (grub_cmd_efiemu_pnvram): Likewise.
36673 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
36674 * fs/iso9660.c (grub_iso9660_mount): Likewise.
36675 (grub_iso9660_iterate_dir): Likewise.
36676 * fs/jfs.c (grub_jfs_opendir): Likewise.
36677 * fs/ntfs.c (list_file): Likewise.
36678 (grub_ntfs_mount): Likewise.
36679 * kern/disk.c (grub_disk_open): Likewise.
36680 * kern/dl.c (grub_dl_load_core): Likewise.
36681 * kern/elf.c (grub_elf_file): Likewise.
36682 * kern/env.c (grub_env_context_open): Likewise.
36683 (grub_env_set): Likewise.
36684 (grub_env_set_data_slot): Likewise.
36685 * kern/file.c (grub_file_open): Likewise.
36686 * kern/fs.c (grub_fs_blocklist_open): Likewise.
36687 * loader/i386/multiboot.c (grub_module): Likewise.
36688 * loader/xnu.c (grub_xnu_create_key): Likewise.
36689 (grub_xnu_create_value): Likewise.
36690 * normal/main.c (grub_normal_add_menu_entry): Likewise.
36691 (read_config_file): Likewise.
36692 * normal/menu_entry.c (make_screen): Likewise.
36693 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36694 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
36695 * script/sh/script.c (grub_script_parse): Likewise.
36696 * video/bitmap.c (grub_video_bitmap_create): Likewise.
36697 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
36698 * video/readers/png.c (grub_png_output_byte): Likewise.
36699 (grub_video_reader_png): Likewise.
36701 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36703 Enable all targets that can be built by default
36705 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
36706 grub-mkfont and grub-fstest if they can be built
36708 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36710 Fix hang and segmentation fault in grub-emu-usb
36712 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
36713 * util/usb.c (grub_libusb_devices): likewise
36714 (grub_libusb_init): rename to ...
36715 (GRUB_MOD_INIT (libusb)):...this
36716 (grub_libusb_fini): rename to ..
36717 (GRUB_MOD_FINI (libusb)):...this
36718 * disk/usbms.c (grub_usbms_transfer): fix retry logic
36719 * include/grub/disk.h (grub_raid_init): removed, it's useless
36720 (grub_raid_fini): likewise
36721 (grub_lvm_init): likewise
36722 (grub_lvm_fini): likewise
36723 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
36726 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36730 * Makefile.in (LIBUSB): new macro
36731 * genmk.rb (Utility/print_tail): new method
36732 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
36733 (top level): call util.print_tail at the end.
36735 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36737 Make FreeBSD accept zpool.cache
36739 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
36740 type is /boot/zfs/zpool.cache
36742 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
36746 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
36747 correct wrong typedef
36748 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
36750 2009-07-15 Pavel Roskin <proski@gnu.org>
36752 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
36753 * kern/disk.c (struct grub_disk_cache): Likewise.
36755 * commands/probe.c (options): Typo fix.
36757 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
36758 Increase to 0x5a to accommodate FAT32. Adjust other offsets
36760 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
36762 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
36763 the end of "Error" to make the message more readable.
36765 * boot/i386/pc/boot.S (kernel_segment): Remove.
36766 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
36769 * boot/i386/pc/boot.S (boot_version): Remove.
36770 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
36773 * include/grub/i386/pc/boot.h: Sort all offsets.
36774 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
36775 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
36776 * boot/i386/pc/boot.S: Assert location of every offset listed in
36777 include/grub/i386/pc/boot.h.
36779 2009-07-13 Pavel Roskin <proski@gnu.org>
36781 * include/grub/i386/coreboot/machine.h: Rename
36782 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
36783 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
36784 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
36786 * kern/dl.c: Force native word size to suppress warnings when
36787 compiling grub-emu.
36789 * kern/device.c (grub_device_iterate): Change struct part_ent to
36790 hold the name, not a pointer to it. Use one grub_malloc() per
36791 partition, not two. Free partition_name if grub_malloc() fails.
36792 Set ents to NULL only before grub_partition_iterate() is called.
36794 2009-07-11 Bean <bean123ch@gmail.com>
36796 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
36799 2009-07-10 Bean <bean123ch@gmail.com>
36800 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
36802 * kern/ieee1275/openfw.c (grub_children_iterate)
36803 (grub_devalias_iterate): Fix size evaluation for property or path
36804 strings, which was broken since r2132.
36806 2009-07-07 Pavel Roskin <proski@gnu.org>
36808 * commands/search.c (search_file): Merge into ...
36809 (search_fs): ... this. Accept search type as argument.
36810 (grub_cmd_search): Pass search type to search_fs().
36812 * include/grub/util/console.h: New file.
36813 * util/console.c: Use it instead of grub/machine/console.h.
36814 * util/grub-emu.c: Likewise.
36816 * lib/arg.c (find_long_option): Remove.
36817 (find_long): Add `len' argument, make `s' const char *.
36818 (grub_arg_parse): Parse long options in place, not in a
36821 2009-07-06 Pavel Roskin <proski@gnu.org>
36823 * commands/search.c (search_fs): Fix potential NULL pointer
36826 * commands/search.c (search_fs): Replace QUID macro with quid_fn
36829 2009-07-06 Daniel Mierswa <impulze@impulze.org>
36831 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
36834 2009-07-05 Pavel Roskin <proski@gnu.org>
36836 * include/grub/i386/linux.h (struct linux_kernel_params):
36837 Restore padding3, it's still needed.
36839 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
36841 * util/osdetect.lua: Likewise.
36843 2009-07-05 Bean <bean123ch@gmail.com>
36845 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
36847 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
36848 (grub_lua_getenv): Likewise.
36849 (grub_lua_setenv): Likewise.
36850 (save_errno): New function.
36851 (push_result): Likewise.
36852 (grub_lua_enum_device): Likewise.
36853 (grub_lua_enum_file): Likewise.
36854 (grub_lua_file_open): Likewise.
36855 (grub_lua_file_close): Likewise.
36856 (grub_lua_file_seek): Likewise.
36857 (grub_lua_file_read): Likewise.
36858 (grub_lua_file_getline): Likewise.
36859 (grub_lua_file_getsize): Likewise.
36860 (grub_lua_file_getpos): Likewise.
36861 (grub_lua_file_eof): Likewise.
36862 (grub_lua_file_exist): Likewise.
36863 (grub_lua_add_menu): Likewise.
36865 * script/lua/grub_lua.h (isupper): New inline function.
36866 (islower): Likewise.
36867 (ispunct): Likewise.
36868 (isxdigit): Likewise.
36869 (strcspn): Change to normal function.
36870 (strpbkr): New function declaration.
36871 (memchr): Likewise.
36873 * script/lua/grub_main.c (scan_str): New function.
36874 (strcspn): Likewise.
36875 (strpbrk): Likewise.
36876 (memchr): Likewise.
36878 * script/lua/linit.c (lualibs): Enable the string library.
36880 * util/osdetect.lua: New file.
36882 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
36884 * include/grub/i386/linux.h (struct linux_kernel_params): Add
36885 `capabilities' member.
36887 2009-07-02 Pavel Roskin <proski@gnu.org>
36889 * genparttoollist.sh: Add missing newline at the end.
36891 2009-07-01 Pavel Roskin <proski@gnu.org>
36893 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
36895 * util/hostdisk.c (open_device): Remove `const' from
36896 `sysctl_size', as sysctlbyname() can change it (in this case it
36897 doesn't actually happen).
36899 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
36900 using signed long int constants.
36902 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
36903 constant to avoid a warning on FreeBSD.
36905 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
36908 * Makefile.in: Install include/grub/machine symlink.
36910 * Makefile.in: When installing symlinks, use "cp -fR", which
36911 works on FreeBSD and MacOSX.
36912 From Yves Blusseau <cl7m42e02@sneakemail.com>
36914 * kern/dl.c (grub_dl_resolve_symbol): Make static.
36915 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
36917 * util/misc.c: Move grub_reboot() and grub_halt() ...
36918 * util/grub-emu.c: ... here. Make main_env static.
36919 * include/grub/util/misc.h: Remove main_env.
36921 * kern/mm.c: Use correct format to print size_t.
36923 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
36924 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
36925 * kern/powerpc/dl.c: Likewise.
36926 * kern/sparc64/dl.c: Likewise.
36927 * kern/x86_64/dl.c: Likewise.
36929 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36931 Fix grub-emu build on sparc64-ieee1275.
36933 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
36934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
36936 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36938 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
36939 (grub_reboot, grub_halt): New functions.
36941 * util/i386/pc/misc.c: Delete. Update all users.
36942 * util/sparc64/ieee1275/misc.c: Likewise.
36943 * util/powerpc/ieee1275/misc.c: Likewise.
36945 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36947 * conf/i386.rmk (setjmp_mod_SOURCES)
36948 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
36949 * conf/common.rmk (setjmp_mod_SOURCES)
36950 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
36951 to use $(target_cpu).
36952 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
36953 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
36954 * conf/powerpc-ieee1275.rmk: Likewise.
36955 * conf/sparc64-ieee1275.rmk: Likewise.
36957 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
36958 $(target_cpu) for kern/$(target_cpu)/dl.c.
36959 * conf/i386-efi.rmk: Likewise.
36960 * conf/i386-ieee1275.rmk: Likewise.
36961 * conf/x86_64-efi.rmk: Likewise.
36962 * conf/i386-coreboot.rmk: Likewise.
36963 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
36964 $(target_cpu) for kern/$(target_cpu)/dl.c and for
36965 kern/$(target_cpu)/cache.S.
36966 * conf/sparc64-ieee1275.rmk: Likewise.
36968 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
36970 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
36971 type to `grub_uint8_t', and adjust `padding9' accordingly.
36973 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36975 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
36977 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
36978 assembly in final jump, using register constraints.
36980 (grub_linux_boot): For text mode, initialize `have_vga' using
36981 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
36983 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
36984 right before the final jump.
36986 Set `video_mode' to 0x3.
36988 Document initialization of `video_page', `video_mode' and
36991 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36993 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
36994 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
36995 and set GRUB_LINUX_FLAG_QUIET appropriately.
36997 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
36999 Fix build on Debian / sparc.
37001 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
37003 2009-06-28 Pavel Roskin <proski@gnu.org>
37005 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
37008 * util/grub.d/10_linux.in: Match SUSE style initrd names.
37010 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37012 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
37015 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37019 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
37020 file can't be opened. grub_file_open() is already supposed to set
37021 grub_errno / grub_errmsg appropriately.
37022 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37024 2009-06-27 Pavel Roskin <proski@gnu.org>
37025 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
37027 * include/grub/dl.h: Include grub/elf.h.
37028 (struct grub_dl): Add symtab field.
37029 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
37030 GRUB_MODULES_MACHINE_READONLY.
37031 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
37032 of the header for read-only modules.
37033 (grub_dl_unload): Free mod->symtab for read-only modules.
37034 * kern/i386/dl.c: Use mod->symtab.
37035 * kern/powerpc/dl.c: Likewise.
37036 * kern/sparc64/dl.c: Likewise.
37037 * kern/x86_64/dl.c: Likewise.
37039 * conf/i386-qemu.rmk: New file.
37040 * kern/i386/qemu/startup.S: Likewise.
37041 * kern/i386/qemu/mmap.c: Likewise.
37042 * boot/i386/qemu/boot.S: Likewise.
37043 * include/grub/i386/qemu/time.h: Likewise.
37044 * include/grub/i386/qemu/serial.h: Likewise.
37045 * include/grub/i386/qemu/kernel.h: Likewise.
37046 * include/grub/i386/qemu/console.h: Likewise.
37047 * include/grub/i386/qemu/boot.h: Likewise.
37048 * include/grub/i386/qemu/init.h: Likewise.
37049 * include/grub/i386/qemu/machine.h: Likewise.
37050 * include/grub/i386/qemu/loader.h: Likewise.
37051 * include/grub/i386/qemu/memory.h: Likewise.
37053 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
37054 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
37055 [qemu] (pkglib_IMAGES): Add `boot.img'.
37056 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
37057 [qemu] (boot_img_FORMAT): New variables.
37058 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
37059 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
37060 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
37061 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
37062 [qemu] (kernel_img_FORMAT): New variables.
37064 * configure.ac: Recognise `i386-qemu'.
37066 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
37067 (for no compression).
37068 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
37069 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
37070 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
37071 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
37074 2009-06-27 Pavel Roskin <proski@gnu.org>
37076 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
37078 * efiemu/prepare32.c: Likewise.
37079 * efiemu/prepare64.c: Likewise.
37081 2009-06-26 Pavel Roskin <proski@gnu.org>
37083 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
37084 * include/grub/elf.h: Define symbols without "32" or "64" based
37085 on GRUB_TARGET_WORDSIZE.
37086 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
37087 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
37089 * efiemu/loadcore64.c: Likewise.
37090 * loader/i386/bsd32.c: Likewise.
37091 * loader/i386/bsd64.c: Likewise.
37092 * kern/dl.c: Remove own ELF definitions.
37093 * util/i386/efi/grub-mkimage.c: Likewise.
37095 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
37097 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
37098 segment 0x0 unconditionally, because the reference generated by
37099 GAS is an absolute address.
37101 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37103 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
37104 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
37106 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37108 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
37109 indexes. Check for -f explicitly.
37110 (search_file): Improve error message.
37111 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
37113 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37115 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
37116 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
37118 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37120 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
37121 * conf/i386-ieee1275.rmk: Likewise.
37122 * conf/i386-coreboot.rmk: Likewise.
37124 * kern/i386/pc/startup.S (grub_stop): Remove function.
37125 * kern/i386/ieee1275/startup.S: Likewise.
37126 * kern/i386/coreboot/startup.S: Likewise.
37127 * kern/i386/misc.S (grub_stop): New function.
37129 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37131 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
37132 * kern/i386/realmode.S (real_to_prot): ... to here.
37134 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
37136 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
37138 (kernel_elf_SOURCES): Rename to ...
37139 (kernel_img_SOURCES): ... this.
37140 (kernel_elf_HEADERS): Rename to ...
37141 (kernel_img_HEADERS): ... this. Update all users.
37142 (kernel_elf_ASFLAGS): Rename to ...
37143 (kernel_img_ASFLAGS): ... this.
37144 (kernel_elf_CFLAGS): Rename to ...
37145 (kernel_img_CFLAGS): ... this.
37146 (kernel_elf_LDFLAGS): Rename to ...
37147 (kernel_img_LDFLAGS): ... this.
37148 * conf/i386-coreboot.rmk: Likewise.
37149 * conf/powerpc-ieee1275.rmk: Likewise.
37151 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
37154 2009-06-21 Pavel Roskin <proski@gnu.org>
37156 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
37157 to match nested functions.
37158 * loader/sparc64/ieee1275/linux.c: Likewise.
37160 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
37162 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37164 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
37165 all i386 platforms.
37167 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
37169 Fix asm file handling on ELF, and remove workarounds.
37171 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
37172 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
37173 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
37174 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
37176 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
37178 Load BSD ELF modules
37180 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
37181 and loader/i386/bsd64.c
37182 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
37183 (FREEBSD_MODTYPE_ELF_MODULE): New definition
37184 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
37185 (grub_freebsd_load_elfmodule32): New declaration
37186 (grub_freebsd_load_elfmoduleobj64): Likewise
37187 (grub_freebsd_load_elf_meta32): Likewise
37188 (grub_freebsd_load_elf_meta64): Likewise
37189 (grub_freebsd_add_meta): Likewise
37190 (grub_freebsd_add_meta_module): Likewise
37191 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
37192 (grub_freebsd_add_meta_module): Likewise and move module-specific
37193 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
37194 (grub_cmd_freebsd): Add elf-kernel specific parts
37195 based on grub_freebsd_add_meta_module
37196 (grub_cmd_freebsd_module): Add type parsing moved from
37197 grub_freebsd_add_meta_module
37198 (grub_cmd_freebsd_module_elf): New function
37199 (cmd_freebsd_module_elf): New variable
37200 (GRUB_MOD_INIT): Register freebsd_module_elf
37201 * loader/i386/bsd32.c: New file
37202 * loader/i386/bsd64.c: Likewise
37203 * loader/i386/bsdXX.c: Likewise
37204 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
37205 (grub_elf64_load): Likewise
37206 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
37208 (grub_elf64_load_hook_t): Likewise
37210 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
37212 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
37214 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
37215 don't write a menu entry for recovery mode.
37217 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37219 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
37220 after it's no longer needed.
37222 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
37224 * include/grub/i386/loader.h (grub_linux_prot_size)
37225 (grub_linux_tmp_addr, grub_linux_real_addr)
37226 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
37227 GRUB_MACHINE_PCBIOS.
37228 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
37229 common grub_util_info() call to ...
37230 (generate_image): ... here.
37231 Fix use of uninitialized memory, comparison of signed with
37232 unsigned integers and memory leak.
37233 Remove bogus module address message.
37235 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
37237 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
37239 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
37241 2009-06-19 Pavel Roskin <proski@gnu.org>
37243 * configure.ac: Remove stray AC_MSG_CHECKING.
37245 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
37247 * disk/scsi.c (grub_scsi_open): use continue instead of big if
37249 2009-06-18 Pavel Roskin <proski@gnu.org>
37251 * conf/common.rmk: Add fs_file.mod.
37252 * disk/fs_file.c: New file.
37253 * include/grub/disk.h (enum grub_disk_dev_id): Add
37254 GRUB_DISK_DEVICE_FILE_ID.
37256 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37258 Fix build with Apple's toolchain. Part 2
37260 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
37263 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37265 Fix build with Apple's toolchain. Part 1
37267 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
37269 * configure.ac: remove a leftover AC_MSG_RESULT
37270 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
37273 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
37277 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
37278 (decomp_block): initialize ch
37279 use grub_memcpy instead of memcpy
37281 2009-06-17 Pavel Roskin <proski@gnu.org>
37283 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
37284 version, use declarations needed to use vga_text as the startup
37287 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
37288 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
37290 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
37291 and grub_at_keyboard_fini(), it's done on module load and
37294 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
37296 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
37297 file can't be found.
37298 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
37300 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37302 Fix newline handling
37304 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
37305 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
37306 (grub_script_yylex): don't segfault on unterminated script
37307 newline terminates command and variable
37309 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
37311 avoid double grub_adjust_range call. Bug reported by David Simner
37313 * kern/disk.c (grub_disk_write): change to raw disk access before
37316 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
37318 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
37319 spaces, for the benefit of help2man.
37320 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37322 2009-06-16 Pavel Roskin <proski@gnu.org>
37324 * kern/i386/halt.c: Include grub/machine/init.h.
37325 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
37327 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
37329 * util/grub.d/30_os-prober.in: Use ${root} in the generated
37330 drivemap menuentry.
37332 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
37334 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
37337 2009-06-16 Pavel Roskin <proski@gnu.org>
37339 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
37340 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
37341 save %dx, we only need %dl and we never change it.
37342 * boot/i386/pc/cdboot.S: Don't set the root drive.
37343 * boot/i386/pc/pxeboot.S: Likewise.
37344 * include/grub/i386/pc/boot.h: Remove
37345 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
37346 GRUB_BOOT_MACHINE_DRIVE_CHECK.
37347 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
37348 * kern/i386/pc/init.c (make_install_device): Remove references
37349 to grub_root_drive.
37350 * kern/i386/pc/startup.S: Likewise.
37351 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
37353 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37357 * commands/xnu_uuid.c: new file
37358 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
37359 (xnu_uuid_mod_SOURCES): new variable
37360 (xnu_uuid_mod_CFLAGS): likewise
37361 (xnu_uuid_mod_LDFLAGS): likewise
37362 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37363 * conf/i386-ieee1275.rmk: likewise
37364 * conf/i386-pc.rmk: likewise
37365 * conf/powerpc-ieee1275.rmk: likewise
37366 * conf/sparc64-ieee1275.rmk: likewise
37367 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
37369 2009-06-16 Pavel Roskin <proski@gnu.org>
37371 * configure.ac: Avoid '==' in test command, it's not portable.
37373 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
37377 * commands/probe.c: new file
37378 * conf/common.rmk (pkglib_MODULES): add probe.mod
37379 (probe_mod_SOURCES): new variable
37380 (probe_mod_CFLAGS): likewise
37381 (probe_mod_LDFLAGS): likewise
37382 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
37383 * conf/i386-ieee1275.rmk: likewise
37384 * conf/i386-pc.rmk: likewise
37385 * conf/powerpc-ieee1275.rmk: likewise
37386 * conf/sparc64-ieee1275.rmk: likewise
37388 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
37390 Fix handling of string like \"hello\" and "a
37393 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
37394 (grub_script_yylex): fix parsing of quoting, escaping and newline
37396 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
37398 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
37401 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
37403 * util/grub-mkconfig.in: Fix parsing of --output option.
37405 2009-06-12 Pavel Roskin <proski@gnu.org>
37407 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
37408 genmk.rb don't need to be generated or installed.
37410 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
37412 * commands/i386/pc/drivemap_int13h.S: add more comments
37414 2009-06-11 Pavel Roskin <proski@gnu.org>
37416 * Makefile.in (uninstall): Uninstall manuals.
37418 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
37419 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
37420 and update-grub_lib in two places.
37421 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
37423 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
37424 a compiler warning.
37426 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
37427 `entry_lo' to fix variable shadowing.
37429 2009-06-11 Christian Franke <franke@computer.org>
37431 * kern/misc.c (__enable_execute_stack): Add missing return type
37432 to prevent gcc warning.
37434 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
37436 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
37438 2009-06-11 Pavel Roskin <proski@gnu.org>
37440 * Makefile.in: Don't rely on any scripts being executable.
37441 Always use $(SHELL) to run shell scripts.
37443 * configure.ac: Always define ___main if using -nostdlib. This
37444 fixes tests on Cygwin.
37446 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
37450 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
37451 is in bytes and not in blocks
37453 2009-06-11 Pavel Roskin <proski@gnu.org>
37455 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
37458 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
37460 * util/grub.d/30_os-prober.in: Fix a comment. Source
37461 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
37462 to set the root device. Place drivemap command in the generated
37465 2009-06-11 Pavel Roskin <proski@gnu.org>
37467 * configure.ac: Remove host_m32. Issues with 64-bit utilities
37468 have long been resolved.
37470 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
37472 * util/grub.d/10_linux.in: Capitalise "Linux".
37474 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
37476 2009-06-11 Pavel Roskin <proski@gnu.org>
37478 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
37479 fix a gcc warning and ensure that the function won't ever exit.
37481 * kern/i386/ieee1275/init.c: Add missing prototype for
37482 grub_stop_floppy().
37484 * loader/ieee1275/multiboot2.c [__i386__]: Include
37485 grub/cpu/multiboot.h.
37487 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
37488 casts to short - they are not portable and cause warnings. Fix
37489 use of uninitialized values in input_buf. Use ARRAY_SIZE.
37491 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
37495 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
37497 (grub_get_root_biosnumber_saved): new variable
37498 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
37499 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
37500 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
37501 %dx after the call if necessary
37502 * conf/common.rmk (pkglib_MODULES): remove boot.mod
37503 (boot_mod_SOURCES): remove
37504 (boot_mod_CFLAGS): remove
37505 (boot_mod_LDFLAGS): remove
37506 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
37507 (boot_mod_SOURCES): new variable
37508 (boot_mod_CFLAGS): likewise
37509 (boot_mod_LDFLAGS): likewise
37510 * conf/i386-efi.rmk: likewise
37511 * conf/i386-ieee1275.rmk: likewise
37512 * conf/i386-pc.rmk: likewise
37513 * conf/powerpc-ieee1275.rmk: likewise
37514 * conf/sparc64-ieee1275.rmk: likewise
37515 * conf/x86_64-efi.rmk: likewise
37516 * include/grub/i386/pc/biosnum.h: new file
37517 * lib/i386/pc/biosnum.c: likewise
37518 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
37519 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
37520 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
37522 2009-06-10 Pavel Roskin <proski@gnu.org>
37524 * io/gzio.c (test_header): Don't reuse one buffer for all data.
37525 Use separate variables. Read only the file size at the end, but
37526 not the checksum that we don't use.
37528 * kern/file.c (grub_file_read): Use void pointer for the buffer.
37529 Adjust all callers.
37531 * kern/ieee1275/openfw.c: Remove libc includes.
37532 * kern/ieee1275/cmain.c: Likewise.
37533 * include/grub/ieee1275/ieee1275.h: Likewise.
37535 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
37538 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
37540 * Makefile.in: Remove all trailing whitespace.
37541 * conf/i386-pc.rmk: Likewise.
37542 * conf/powerpc-ieee1275.rmk: Likewise.
37543 * conf/sparc64-ieee1275.rmk: Likewise.
37544 * docs/grub.texi: Likewise.
37545 * docs/texinfo.tex: Likewise.
37546 * disk/fs_uuid.c: Likewise.
37547 * disk/lvm.c: Likewise.
37548 * disk/scsi.c: Likewise.
37549 * disk/ata.c: Likewise.
37550 * disk/ieee1275/ofdisk.c: Likewise.
37551 * disk/i386/pc/biosdisk.c: Likewise.
37552 * disk/host.c: Likewise.
37553 * disk/raid.c: Likewise.
37554 * disk/efi/efidisk.c: Likewise.
37555 * disk/usbms.c: Likewise.
37556 * disk/memdisk.c: Likewise.
37557 * disk/loopback.c: Likewise.
37558 * kern/powerpc/dl.c: Likewise.
37559 * kern/device.c: Likewise.
37560 * kern/dl.c: Likewise.
37561 * kern/sparc64/dl.c: Likewise.
37562 * kern/ieee1275/ieee1275.c: Likewise.
37563 * kern/term.c: Likewise.
37564 * kern/fs.c: Likewise.
37565 * kern/i386/dl.c: Likewise.
37566 * kern/i386/pc/startup.S: Likewise.
37567 * kern/i386/pc/init.c: Likewise.
37568 * kern/i386/pc/mmap.c: Likewise.
37569 * kern/i386/pc/lzo1x.S: Likewise.
37570 * kern/i386/ieee1275/init.c: Likewise.
37571 * kern/i386/realmode.S: Likewise.
37572 * kern/i386/tsc.c: Likewise.
37573 * kern/partition.c: Likewise.
37574 * kern/corecmd.c: Likewise.
37575 * kern/file.c: Likewise.
37576 * kern/efi/efi.c: Likewise.
37577 * kern/efi/init.c: Likewise.
37578 * kern/efi/mm.c: Likewise.
37579 * kern/main.c: Likewise.
37580 * kern/err.c: Likewise.
37581 * kern/env.c: Likewise.
37582 * kern/disk.c: Likewise.
37583 * kern/generic/millisleep.c: Likewise.
37584 * kern/generic/rtc_get_time_ms.c: Likewise.
37585 * kern/misc.c: Likewise.
37586 * kern/parser.c: Likewise.
37587 * genmk.rb: Likewise.
37588 * configure.ac: Likewise.
37589 * boot/i386/pc/diskboot.S: Likewise.
37590 * boot/i386/pc/pxeboot.S: Likewise.
37591 * boot/i386/pc/boot.S: Likewise.
37592 * boot/i386/pc/lnxboot.S: Likewise.
37593 * boot/i386/pc/cdboot.S: Likewise.
37594 * parttool/pcpart.c: Likewise.
37595 * video/readers/tga.c: Likewise.
37596 * video/video.c: Likewise.
37597 * video/bitmap.c: Likewise.
37598 * lib/envblk.c: Likewise.
37599 * lib/i386/setjmp.S: Likewise.
37600 * fs/xfs.c: Likewise.
37601 * fs/afs.c: Likewise.
37602 * fs/fat.c: Likewise.
37603 * fs/ntfs.c: Likewise.
37604 * fs/udf.c: Likewise.
37605 * fs/affs.c: Likewise.
37606 * fs/iso9660.c: Likewise.
37607 * fs/hfs.c: Likewise.
37608 * fs/fshelp.c: Likewise.
37609 * fs/ext2.c: Likewise.
37610 * fs/jfs.c: Likewise.
37611 * fs/reiserfs.c: Likewise.
37612 * fs/hfsplus.c: Likewise.
37613 * fs/minix.c: Likewise.
37614 * fs/cpio.c: Likewise.
37615 * fs/sfs.c: Likewise.
37616 * fs/ufs.c: Likewise.
37617 * efiemu/prepare.c: Likewise.
37618 * efiemu/loadcore_common.c: Likewise.
37619 * efiemu/runtime/efiemu.sh: Likewise.
37620 * efiemu/runtime/efiemu.S: Likewise.
37621 * efiemu/runtime/efiemu.c: Likewise.
37622 * efiemu/pnvram.c: Likewise.
37623 * efiemu/main.c: Likewise.
37624 * efiemu/i386/pc/cfgtables.c: Likewise.
37625 * efiemu/i386/loadcore64.c: Likewise.
37626 * efiemu/i386/loadcore32.c: Likewise.
37627 * efiemu/loadcore.c: Likewise.
37628 * efiemu/symbols.c: Likewise.
37629 * efiemu/mm.c: Likewise.
37630 * include/grub/autoefi.h: Likewise.
37631 * include/grub/datetime.h: Likewise.
37632 * include/grub/term.h: Likewise.
37633 * include/grub/hfs.h: Likewise.
37634 * include/grub/lvm.h: Likewise.
37635 * include/grub/i386/tsc.h: Likewise.
37636 * include/grub/i386/linux.h: Likewise.
37637 * include/grub/i386/xnu.h: Likewise.
37638 * include/grub/i386/efiemu.h: Likewise.
37639 * include/grub/i386/pc/biosdisk.h: Likewise.
37640 * include/grub/i386/pc/memory.h: Likewise.
37641 * include/grub/i386/pc/vbe.h: Likewise.
37642 * include/grub/parttool.h: Likewise.
37643 * include/grub/video.h: Likewise.
37644 * include/grub/memory.h: Likewise.
37645 * include/grub/fs.h: Likewise.
37646 * include/grub/partition.h: Likewise.
37647 * include/grub/xnu.h: Likewise.
37648 * include/grub/efi/api.h: Likewise.
37649 * include/grub/efi/pe32.h: Likewise.
37650 * include/grub/efi/memory.h: Likewise.
37651 * include/grub/multiboot.h: Likewise.
37652 * include/grub/usbdesc.h: Likewise.
37653 * include/grub/multiboot2.h: Likewise.
37654 * include/grub/acpi.h: Likewise.
37655 * include/grub/efiemu/efiemu.h: Likewise.
37656 * include/grub/disk.h: Likewise.
37657 * include/grub/ieee1275/ieee1275.h: Likewise.
37658 * include/grub/net.h: Likewise.
37659 * include/grub/machoload.h: Likewise.
37660 * include/grub/macho.h: Likewise.
37661 * include/multiboot.h: Likewise.
37662 * genmoddep.awk: Likewise.
37663 * normal/main.c: Likewise.
37664 * normal/menu_entry.c: Likewise.
37665 * normal/menu_viewer.c: Likewise.
37666 * normal/completion.c: Likewise.
37667 * normal/cmdline.c: Likewise.
37668 * normal/misc.c: Likewise.
37669 * normal/datetime.c: Likewise.
37670 * bus/usb/usbtrans.c: Likewise.
37671 * bus/usb/ohci.c: Likewise.
37672 * bus/usb/uhci.c: Likewise.
37673 * bus/usb/usb.c: Likewise.
37674 * mmap/efi/mmap.c: Likewise.
37675 * mmap/i386/pc/mmap_helper.S: Likewise.
37676 * mmap/i386/pc/mmap.c: Likewise.
37677 * mmap/i386/mmap.c: Likewise.
37678 * mmap/i386/uppermem.c: Likewise.
37679 * mmap/mmap.c: Likewise.
37680 * commands/acpi.c: Likewise.
37681 * commands/echo.c: Likewise.
37682 * commands/blocklist.c: Likewise.
37683 * commands/loadenv.c: Likewise.
37684 * commands/usbtest.c: Likewise.
37685 * commands/boot.c: Likewise.
37686 * commands/parttool.c: Likewise.
37687 * commands/search.c: Likewise.
37688 * commands/cat.c: Likewise.
37689 * commands/i386/pc/play.c: Likewise.
37690 * commands/i386/pc/drivemap.c: Likewise.
37691 * commands/i386/pc/vbeinfo.c: Likewise.
37692 * commands/i386/pc/acpi.c: Likewise.
37693 * commands/i386/pc/vbetest.c: Likewise.
37694 * commands/ls.c: Likewise.
37695 * commands/cmp.c: Likewise.
37696 * commands/test.c: Likewise.
37697 * commands/efi/acpi.c: Likewise.
37698 * commands/gptsync.c: Likewise.
37699 * commands/help.c: Likewise.
37700 * partmap/amiga.c: Likewise.
37701 * partmap/apple.c: Likewise.
37702 * partmap/acorn.c: Likewise.
37703 * partmap/pc.c: Likewise.
37704 * partmap/sun.c: Likewise.
37705 * partmap/gpt.c: Likewise.
37706 * script/sh/lexer.c: Likewise.
37707 * script/sh/function.c: Likewise.
37708 * font/font.c: Likewise.
37709 * font/font_cmd.c: Likewise.
37710 * loader/powerpc/ieee1275/linux.c: Likewise.
37711 * loader/efi/chainloader.c: Likewise.
37712 * loader/multiboot_loader.c: Likewise.
37713 * loader/macho.c: Likewise.
37714 * loader/i386/multiboot.c: Likewise.
37715 * loader/i386/linux.c: Likewise.
37716 * loader/i386/pc/linux.c: Likewise.
37717 * loader/i386/pc/multiboot2.c: Likewise.
37718 * loader/i386/pc/chainloader.c: Likewise.
37719 * loader/i386/pc/xnu.c: Likewise.
37720 * loader/i386/bsd_trampoline.S: Likewise.
37721 * loader/i386/efi/linux.c: Likewise.
37722 * loader/i386/multiboot_elfxx.c: Likewise.
37723 * loader/i386/bsd_helper.S: Likewise.
37724 * loader/i386/bsd.c: Likewise.
37725 * loader/i386/linux_trampoline.S: Likewise.
37726 * loader/i386/xnu_helper.S: Likewise.
37727 * loader/i386/xnu.c: Likewise.
37728 * loader/i386/bsd_pagetable.c: Likewise.
37729 * loader/i386/multiboot_helper.S: Likewise.
37730 * loader/xnu.c: Likewise.
37731 * loader/xnu_resume.c: Likewise.
37732 * io/gzio.c: Likewise.
37733 * term/efi/console.c: Likewise.
37734 * term/terminfo.c: Likewise.
37735 * term/ieee1275/ofconsole.c: Likewise.
37736 * term/i386/pc/serial.c: Likewise.
37737 * term/i386/pc/vesafb.c: Likewise.
37738 * term/i386/pc/vga.c: Likewise.
37739 * term/usb_keyboard.c: Likewise.
37740 * term/gfxterm.c: Likewise.
37741 * aclocal.m4: Likewise.
37742 * util/lvm.c: Likewise.
37743 * util/grub.d/30_os-prober.in: Likewise.
37744 * util/grub.d/10_hurd.in: Likewise.
37745 * util/console.c: Likewise.
37746 * util/grub-macho2img.c: Likewise.
37747 * util/grub-probe.c: Likewise.
37748 * util/hostfs.c: Likewise.
37749 * util/i386/pc/grub-mkimage.c: Likewise.
37750 * util/i386/pc/grub-setup.c: Likewise.
37751 * util/i386/efi/grub-mkimage.c: Likewise.
37752 * util/grub-mkconfig.in: Likewise.
37753 * util/raid.c: Likewise.
37754 * util/resolve.c: Likewise.
37755 * util/grub-mkdevicemap.c: Likewise.
37756 * util/grub-emu.c: Likewise.
37757 * util/getroot.c: Likewise.
37758 * util/hostdisk.c: Likewise.
37759 * util/usb.c: Likewise.
37760 * util/grub-editenv.c: Likewise.
37761 * util/misc.c: Likewise.
37763 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
37765 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
37766 `genparttoollist.sh'.
37767 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
37768 Add `*.sh' to the list find searches for and change `mdate.sh'
37771 2009-06-10 Pavel Roskin <proski@gnu.org>
37773 * include/grub/multiboot2.h: Provide compatibility defines for
37775 * include/multiboot2.h: Include stdint.h only if needed, using
37777 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
37779 * loader/ieee1275/multiboot2.c: Likewise.
37780 * loader/multiboot2.c: Likewise.
37781 * loader/multiboot_loader.c: Likewise.
37783 * configure.ac: Use -nostdlib when probing for the target. It
37784 should not be required to have libc for the target.
37786 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
37787 they fail without libc headers for the target.
37788 * include/grub/powerpc/libgcc.h: Use weak attribute for all
37790 * include/grub/sparc64/libgcc.h: Likewise. Don't use
37791 preprocessor conditionals.
37793 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
37794 build system doesn't need to be aware of the tar.c internals.
37796 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
37798 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
37800 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
37802 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
37803 disk limit to 26 for IDE, Virtio, Xen and SCSI.
37805 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
37807 * util/i386/pc/grub-install.in: Change the error message if UUIDs
37808 aren't available if ata.mod gets used.
37810 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
37812 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
37813 initialising controller.
37814 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37816 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37818 * util/i386/pc/grub-install.in: Add a parameter --disk-module
37819 to choose between ata and biosdisk module on i386-pc.
37821 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
37823 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
37824 Subclass and Programming Interface fields in terms of the 3 byte
37825 Class Code register.
37826 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37828 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
37829 interface is OHCI. Add grub_dprintf for symmetry with
37831 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
37832 interface is UHCI. Add interf variable for programming
37833 interface. Print interface with class/subclass.
37835 * bus/usb/ohci.c: Set interf with correct field.
37837 * bus/usb/uhci.c: Remove unneeded doubled lines.
37838 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
37839 Remove whitespace inside comment.
37841 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
37843 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
37844 as fallback an equivalent option without depth.
37846 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37848 Not fail if unable to retrieve C/H/S on LBA disks
37850 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
37851 if unable to retrieve C/H/S on LBA disks
37853 2009-06-08 Pavel Roskin <proski@gnu.org>
37855 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
37858 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37860 * Makefile.in (uninstall): Remove all $lib_DATA files.
37862 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
37864 Bugfix: install on partitionless device
37866 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
37869 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37871 * Makefile.in (uninstall): Remove all $include_DATA files.
37873 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
37875 * commands/true.c: New file. Implement the true and false commands.
37876 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
37877 (true_mod_SOURCES): New variable.
37878 (true_mod_CFLAGS): Likewise.
37879 (true_mod_LDFLAGS): Likewise.
37881 2009-06-05 Colin D Bennett <colin@gibibit.com>
37883 Optimized font character lookup using binary search instead of linear
37884 search. Fonts now are required to have the character index ordered by
37887 * font/font.c (load_font_index): Verify that fonts have ordered
37889 (find_glyph): Use binary search instead of linear search to find a
37890 character in a font.
37892 2009-06-05 Michael Scherer <misc@mandriva.org>
37894 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
37895 uses case sensitive btree.
37896 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
37897 only for case insensitive filesystems.
37899 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
37901 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
37902 * conf/common.rmk (search_mod_CFLAGS): likewise
37904 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37906 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
37907 compensate a compiler bug
37909 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37911 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
37914 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37916 Definitions for creating asm symbols with Apple's CC
37918 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
37919 [APPLE_CC] (VARIABLE): likewise
37921 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37923 Disable lnxboot.img when compiled
37926 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
37927 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
37928 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
37929 [! APPLE_CC] (CODE_LENG): skip
37930 [! APPLE_CC] (setup_sects): likewise
37931 [! APPLE_CC]: skip filling
37933 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37935 Address in trampolines based on 32-bit registers when compiled
37938 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
37940 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
37942 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37944 Avoid aliases when compiling with Apple's CC for PCBIOS machine
37946 * kern/misc.c [APPLE_CC] (memcpy): new function
37947 [APPLE_CC] (memmove): likewise
37948 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
37949 (memcpy): define alias conditionally on !APPLE_CC
37952 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
37953 APPLE_CC are defined
37954 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
37955 (grub_assert_fail): make prototype conditional
37957 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37959 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
37961 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
37963 (CLEANFILES): add grub-macho2img
37964 (grub_macho2img_SOURCES): new variable
37965 * kern/i386/pc/startup.S (bss_start): new variable
37966 (bss_end): likewise
37967 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
37968 * util/grub-macho2img.c: new file
37970 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37972 Use objconv when compiling with Apple's CC
37974 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
37975 (efiemu64.o): likewise
37976 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
37977 when compiling with Apple's CC
37978 (efiemu64_s.o): likewise
37979 * configure.ac: check for objconv when compiling with Apple's CC
37980 * genmk.rb: use objconv for modules when compiled with Apple's CC
37982 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
37984 Define segment as well as section when compiling with
37987 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
37988 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
37989 (efiemu_convert_pointer): likewise
37990 (efiemu_set_virtual_address_map): likewise
37991 (efiemu_convert_pointer): likewise
37992 (efiemu_getcrc32): likewise
37993 (init_crc32_table): likewise
37994 (reflect): likewise
37995 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
37996 (GRUB_MOD_DEP): likewise
37998 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38000 Allow a compilation without -mcmodel=large
38002 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
38003 when compiled without -mcmodel=large
38004 (filter_memory_map): remove memory post 4 GiB when compiled
38005 without -mcmodel=large
38006 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
38007 TARGET_CFLAGS when -mcmodel=large isn't supported
38009 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38011 Remove nested functions in efiemu core
38013 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
38015 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38017 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
38019 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
38021 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
38023 (grub_cpu_is_tsc_supported): likewise
38024 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
38026 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38028 Absolute addressing through constant with Apple's cc
38030 * kern/i386/pc/startup.S: Define necessary constants
38031 and address through it when using ABS with Apple's CC
38032 * boot/i386/pc/diskboot.S: likewise
38033 * boot/i386/pc/boot.S: likewise
38034 * boot/i386/pc/lnxboot.S: likewise
38035 * boot/i386/pc/cdboot.S: likewise
38036 * mmap/i386/pc/mmap_helper.S: likewise
38037 * commands/i386/pc/drivemap_int13h.S: likewise
38039 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38041 Check if compiler is apple cc
38043 * Makefile.in (ASFLAGS): new variable
38044 (TARGET_ASFLAGS): likewise
38045 (TARGET_MODULE_FORMAT): likewise
38046 (TARGET_APPLE_CC): likewise
38047 (OBJCONV): likewise
38048 (TARGET_IMG_CFLAGS): likewise
38049 (TARGET_CPPFLAGS): add includedir
38050 * configure.ac: call grub_apple_cc and grub_apple_target_cc
38051 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
38052 Check for linker script only if compiler isn't Apple's CC
38053 (TARGET_MODULE_FORMAT): set
38054 (TARGET_APPLE_CC): likewise
38055 (TARGET_ASFLAGS): likewise
38056 (ASFLAGS): likewise
38057 Check for objcopy only if compiler isn't Apple's CC
38058 Check for BSS symbol only if compiler isn't Apple's CC
38059 * genmk.rb: adapt nm options if we use Apple's utils
38060 * aclocal.m4 (grub_apple_cc): new test
38061 (grub_apple_target_cc): likewise
38063 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38065 Simplify sed expressions and improve awk
38067 * Makefile.in (install-local): simplify sed expression
38068 * gencmdlist.sh: likewise
38069 * genmoddep.awk: avoid adding module as a dependency of itself
38071 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38073 Add missing start symbols
38075 * boot/i386/pc/boot.S: add start
38076 * boot/i386/pc/pxeboot.S: likewise
38078 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38080 Fix wrong assumptions with grub-mkimage on EFI
38082 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
38083 (relocate_addresses): consider both r_addend and value at offset
38084 (make_mods_section): zerofill modinfo and header
38085 (convert_elf): write prefix here
38087 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38089 Use .asciz instead of .string
38091 * i386/pc/diskboot.S: use .asciz instead of .string
38092 * i386/pc/boot.S: likewise
38093 * include/grub/dl.h (GRUB_MOD_DEP): likewise
38094 (GRUB_MOD_NAME): likewise
38096 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38100 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
38101 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
38102 (grub_video_setup): remove
38103 (grub_video_set_mode): new prototype
38104 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
38106 (linux_vesafb_res): compile only on PCBIOS
38107 (grub_linux_boot): support gfxpayload
38108 * loader/i386/pc/xnu.c (video_hook): new function
38109 (grub_xnu_set_video): support gfxpayload
38110 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
38111 (DEFAULT_VIDEO_HEIGHT): likewise
38112 (DEFAULT_VIDEO_FLAGS): likewise
38113 (DEFAULT_VIDEO_MODE): new definition
38114 (video_hook): new function
38115 (grub_gfxterm_init): use grub_video_set_mode
38116 * util/grub.d/30_os-prober.in: remove explicit modesetting before
38118 * video/video.c (grub_video_setup): removed
38119 (grub_video_set_mode): new function based on grub_gfxterm_init and
38122 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38124 Avoid calling biosdisk in drivemap
38126 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
38127 (revparse_biosdisk): likewise
38128 (list_mappings): derive name from id directly
38129 (grub_cmd_drivemap): use tryparse_diskstring
38131 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
38135 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
38136 (grub_lexer_param): add tokenonhold
38137 (grub_script_create_cmdline): remove cmdline. All callers updated
38138 (grub_script_function_create): make functionname
38139 grub_script_arg. All callers updated
38140 (grub_script_execute_argument_to_string): new prototype
38141 * kern/parser.c (state_transitions): reorder
38142 (grub_parser_cmdline_state): fix a bug and make more compact
38143 * script/sh/execute.c (grub_script_execute_argument_to_string):
38145 (grub_script_execute_cmdline): use new format
38146 * script/sh/function.c (grub_script_function_create): make functionname
38147 grub_script_arg. All callers updated
38148 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
38149 (grub_script_yylex): remove
38150 (grub_script_yylex2): renamed to ...
38151 (grub_script_yylex): ...renamed
38152 parse the expressions like a${b}c
38153 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
38154 (GRUB_PARSER_TOKEN_VAR): remove
38155 (GRUB_PARSER_TOKEN_NAME): likewise
38156 ("if"): declare as typeless
38157 ("while"): likewise
38158 ("function"): likewise
38163 (argument): likewise
38164 (script): accept empty scripts and make exit on error
38165 (arguments): use GRUB_PARSER_TOKEN_ARG
38166 (function): likewise
38167 (command): move error handling to script
38168 (menuentry): move grub_script_lexer_ref before
38169 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
38170 argument. All callers updated
38172 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38174 Prevent GRUB from probing floppies during boot.
38176 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
38177 * commands/search.c (options): Add --no-floppy.
38178 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
38179 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
38180 --no-floppy when searching for UUIDs.
38182 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
38184 Simplify the code duplication in commands/search.c.
38186 * commands/search.c (search_label, search_fs_uuid): Merge into ...
38187 (search_fs): ... this. Update all users.
38189 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
38191 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
38193 2009-05-28 Pavel Roskin <proski@gnu.org>
38195 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
38196 Remove the original symlink explicitly.
38198 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
38199 just one slash. That's how grub_fshelp_find_file() does it.
38201 2009-05-26 Pavel Roskin <proski@gnu.org>
38203 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
38206 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
38209 2009-05-25 Christian Franke <franke@computer.org>
38211 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
38213 (grub_atapi_identify): Add wait after drive select.
38214 (grub_ata_identify): Do more strict status register check before
38215 calling grub_atapi_identify (). Suppress error message if status
38216 register is 0x00 after command failure. Add status register
38217 check after PIO read to avoid bogus identify due to stuck DRQ.
38218 Thanks to Pavel Roskin for testing.
38219 (grub_device_initialize): Remove unsafe status register check.
38220 Thanks to 'phcoder' for problem report and patch.
38221 Prevent sign extension in debug message.
38223 2009-05-23 Colin D Bennett <colin@gibibit.com>
38225 Cleaned up `include/grub/normal.h'. Grouped prototypes by
38226 definition file, and functions defined in `normal/menu.c' have had
38227 their prototypes moved to `include/grub/menu.h' for consistency.
38229 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
38231 (grub_menu_get_entry): Likewise.
38232 (grub_menu_get_timeout): Likewise.
38233 (grub_menu_set_timeout): Likewise.
38234 (grub_menu_execute_entry): Likewise.
38235 (grub_menu_execute_with_fallback): Likewise.
38236 (grub_menu_entry_run): Likewise.
38238 * include/grub/normal.h: Re-ordered and grouped function
38239 prototypes by file that the function is defined in.
38240 (grub_menu_execute_callback): Removed; moved to menu.h.
38241 (grub_menu_get_entry): Likewise.
38242 (grub_menu_get_timeout): Likewise.
38243 (grub_menu_set_timeout): Likewise.
38244 (grub_menu_execute_entry): Likewise.
38245 (grub_menu_execute_with_fallback): Likewise.
38246 (grub_menu_entry_run): Likewise.
38247 (grub_menu_addentry): Renamed from this ...
38248 (grub_normal_add_menu_entry): ... to this.
38250 * normal/main.c (grub_menu_addentry): Renamed from this ...
38251 (grub_normal_add_menu_entry): ... to this.
38253 * script/sh/execute.c (grub_script_execute_menuentry): Update
38254 reference to renamed grub_menu_addentry function.
38256 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
38258 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
38260 2009-05-22 Pavel Roskin <proski@gnu.org>
38262 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
38263 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
38264 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
38265 compiling for the i386 targets, but not for the utilities.
38267 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
38269 (grub_root_drive): Likewise.
38270 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
38272 (grub_root_drive): Change size to byte.
38273 (grub_start_addr): Remove.
38274 (grub_end_addr): Likewise.
38275 (grub_apm_bios_info): Likewise.
38277 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
38279 * normal/i386: Remove.
38280 * normal/powerpc: Likewise.
38281 * normal/sparc64: Likewise.
38282 * normal/x86_64: Likewise.
38284 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
38286 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
38287 * loader/i386/linux_trampoline.S: Fix indentation
38288 * loader/i386/xnu_helper.S: Likewise
38290 2009-05-18 Colin D Bennett <colin@gibibit.com>
38292 Display error messages when parsing a Lua statement fails.
38293 Previously, executing a syntactically invalid statement like
38294 ")foo" or "bar;" would silently fail.
38296 * script/lua/grub_main.c (handle_lua_error): New function.
38297 (grub_lua_parse_line): Improved reporting of Lua parser and
38300 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38302 Remove -Werror which causes build to fail on some systems
38304 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
38305 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
38306 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
38308 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
38310 trampoline for linux on 64-bit platform
38312 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
38313 loader/i386/efi/linux_trampoline.S
38314 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
38316 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
38318 * loader/i386/linux_trampoline.S: moved here
38319 * loader/i386/efi/linux.c (allocate_pages): reserve space for
38321 (jumpvector): removed
38322 (grub_linux_trampoline_start): new declaration
38323 (grub_linux_trampoline_end): likewise
38324 (grub_linux_boot): use trampoline when on 64-bit platform
38325 * loader/i386/linux.c: likewise
38327 2009-05-16 Pavel Roskin <proski@gnu.org>
38329 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
38330 const to avoid a warning.
38331 (grub_lua_setenv): Likewise.
38332 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
38333 lmsg to fix a warning.
38335 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
38337 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
38338 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38339 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
38340 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38341 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38342 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38343 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
38344 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
38346 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
38348 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
38350 2009-05-16 Bean <bean123ch@gmail.com>
38352 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
38353 (lua_mod_SOURCES): New variable.
38354 (lua_mod_CFLAGS): Likewise.
38355 (lua_mod_LDFLAGS): Likewise.
38357 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
38358 (setjmp_mod_SOURCES): New variable.
38359 (setjmp_mod_CFLAGS): Likewise.
38360 (setjmp_LDFLAGS): Likewise.
38362 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
38363 (setjmp_mod_SOURCES): New variable.
38364 (setjmp_mod_CFLAGS): Likewise.
38365 (setjmp_LDFLAGS): Likewise.
38367 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38368 (setjmp_mod_SOURCES): New variable.
38369 (setjmp_mod_CFLAGS): Likewise.
38370 (setjmp_LDFLAGS): Likewise.
38372 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
38373 (setjmp_mod_SOURCES): New variable.
38374 (setjmp_mod_CFLAGS): Likewise.
38375 (setjmp_LDFLAGS): Likewise.
38377 * normal/i386/setjmp.S: Moved from here ...
38378 * lib/i386/setjmp.S: ... Moved here
38379 * normal/x86_64/setjmp.S: Moved from here ...
38380 * lib/x86_64/setjmp.S: ... Moved here
38381 * normal/powerpc/setjmp.S: Moved from here ...
38382 * lib/powerpc/setjmp.S: ... Moved here
38383 * normal/sparc64/setjmp.S: Moved from here ...
38384 * lib/sparc64/setjmp.S: ... Moved here
38386 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
38387 returns_twice in mingw.
38389 * script/lua/grub_lib.c: New file.
38390 * script/lua/grub_lib.h: Likewise.
38391 * script/lua/grub_lua.h: Likewise.
38392 * script/lua/grub_main.c: Likewise.
38393 * script/lua/lapi.c: Likewise.
38394 * script/lua/lapi.h: Likewise.
38395 * script/lua/lauxlib.c: Likewise.
38396 * script/lua/lauxlib.h: Likewise.
38397 * script/lua/lbaselib.c: Likewise.
38398 * script/lua/lcode.c: Likewise.
38399 * script/lua/lcode.h: Likewise.
38400 * script/lua/ldblib.c: Likewise.
38401 * script/lua/ldebug.c: Likewise.
38402 * script/lua/ldebug.h: Likewise.
38403 * script/lua/ldo.c: Likewise.
38404 * script/lua/ldo.h: Likewise.
38405 * script/lua/ldump.c: Likewise.
38406 * script/lua/lfunc.c: Likewise.
38407 * script/lua/lfunc.h: Likewise.
38408 * script/lua/lgc.c: Likewise.
38409 * script/lua/lgc.h: Likewise.
38410 * script/lua/linit.c: Likewise.
38411 * script/lua/liolib.c: Likewise.
38412 * script/lua/llex.c: Likewise.
38413 * script/lua/llex.h: Likewise.
38414 * script/lua/llimits.h: Likewise.
38415 * script/lua/lmathlib.c: Likewise.
38416 * script/lua/lmem.c: Likewise.
38417 * script/lua/lmem.h: Likewise.
38418 * script/lua/loadlib.c: Likewise.
38419 * script/lua/lobject.c: Likewise.
38420 * script/lua/lobject.h: Likewise.
38421 * script/lua/lopcodes.c: Likewise.
38422 * script/lua/lopcodes.h: Likewise.
38423 * script/lua/loslib.c: Likewise.
38424 * script/lua/lparser.c: Likewise.
38425 * script/lua/lparser.h: Likewise.
38426 * script/lua/lstate.c: Likewise.
38427 * script/lua/lstate.h: Likewise.
38428 * script/lua/lstring.c: Likewise.
38429 * script/lua/lstring.h: Likewise.
38430 * script/lua/lstrlib.c: Likewise.
38431 * script/lua/ltable.c: Likewise.
38432 * script/lua/ltable.h: Likewise.
38433 * script/lua/ltablib.c: Likewise.
38434 * script/lua/ltm.c: Likewise.
38435 * script/lua/ltm.h: Likewise.
38436 * script/lua/lua.h: Likewise.
38437 * script/lua/luaconf.h: Likewise.
38438 * script/lua/lualib.h: Likewise.
38439 * script/lua/lundump.c: Likewise.
38440 * script/lua/lundump.h: Likewise.
38441 * script/lua/lvm.c: Likewise.
38442 * script/lua/lvm.h: Likewise.
38443 * script/lua/lzio.c: Likewise.
38444 * script/lua/lzio.h: Likewise.
38446 2009-05-16 Bean <bean123ch@gmail.com>
38448 * include/grub/kernel.h (grub_module_header_types): Add type
38451 * kern/main.c (grub_load_config): New function.
38452 (grub_main): Call grub_load_config to read boot config.
38454 * grub-mkimage (generate_image): New parameter config_path.
38455 (options): New option --config.
38456 (main): Parse --config option, and pass it to generate_image.
38458 2009-05-14 Christian Franke <franke@computer.org>
38460 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
38461 This fixes build on Cygwin.
38463 2009-05-14 Pavel Roskin <proski@gnu.org>
38465 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
38466 jump. This saves two bytes, so the typical case of 2 swapped
38467 drives would fit 32 bytes.
38469 2009-05-13 Pavel Roskin <proski@gnu.org>
38471 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
38472 grub_uint32_t to avoid a warning.
38474 * loader/i386/linux.c (allocate_pages): When assigning
38475 real_mode_mem, cast through grub_size_t to fix a warning. The
38476 code already makes sure that the value would fit a pointer.
38477 (grub_linux_setup_video): Cast render_target->data to
38478 grub_size_t to fix a warning.
38480 2009-05-13 Javier Martín <lordhabbit@gmail.com>
38482 * commands/i386/pc/drivemap.c: New file - implement drivemap
38484 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
38485 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
38487 2009-05-13 Pavel Roskin <proski@gnu.org>
38489 * util/i386/pc/grub-setup.c (setup): Remove unused variable
38490 embedding_area_exists.
38492 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
38494 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
38495 it easier to understand / work with.
38496 Improve warning messages for cases where there's no embedding area,
38497 or when it is too small (or core.img too large).
38499 2009-05-13 Pavel Roskin <proski@gnu.org>
38501 * loader/i386/pc/multiboot2.c: Add necessary includes for
38502 grub_multiboot2_real_boot().
38504 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
38505 PX record is always little-endian. We only need the lower 2
38508 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
38509 facilitate code reuse.
38510 (grub_cpio_mount): Use "struct head", not a char buffer. This
38511 fixes a warning reported by gcc 4.4.
38513 * kernel/disk.c (grub_disk_read): Use void pointer for the
38515 (grub_disk_write): Use const void pointer for the buffer.
38516 Adjust all callers. Remove unnecessary casts.
38518 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
38520 * util/i386/pc/grub-install.in: Update copyright year.
38522 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38526 * commands/gptsync.c: new file
38527 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
38528 (gptsync_mod_SOURCES): new variable
38529 (gptsync_mod_CFLAGS): likewise
38530 (gptsync_mod_LDFLAGS): likewise
38531 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
38533 (GRUB_PC_PARTITION_TYPE_HFS): likewise
38534 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
38535 * conf/i386-ieee1275.rmk: likewise
38536 * conf/i386-pc.rmk: likewise
38537 * conf/powerpc-ieee1275.rmk: likewise
38539 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
38543 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
38544 (grub_dl_ref): likewise
38546 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
38548 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
38549 split in two functions (one for msdos and one for gpt).
38551 2009-05-08 Pavel Roskin <proski@gnu.org>
38553 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
38556 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
38557 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
38558 Initialize them with -1. Add sanity check for bad1. Eliminate
38561 2009-05-08 David S. Miller <davem@davemloft.net>
38563 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
38565 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
38567 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
38570 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
38572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38573 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
38575 2009-05-05 David S. Miller <davem@davemloft.net>
38577 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
38579 2009-05-05 Pavel Roskin <proski@gnu.org>
38581 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
38582 of grub_dl_ref() and grub_dl_unref().
38583 * commands/parttool.c: Remove preprocessor conditionals around
38584 grub_dl_ref() and grub_dl_unref().
38585 * fs/affs.c: Likewise.
38586 * fs/afs.c: Likewise.
38587 * fs/cpio.c: Likewise.
38588 * fs/ext2.c: Likewise.
38589 * fs/fat.c: Likewise.
38590 * fs/hfs.c: Likewise.
38591 * fs/hfsplus.c: Likewise.
38592 * fs/iso9660.c: Likewise.
38593 * fs/jfs.c: Likewise.
38594 * fs/minix.c: Likewise.
38595 * fs/ntfs.c: Likewise.
38596 * fs/reiserfs.c: Likewise.
38597 * fs/sfs.c: Likewise.
38598 * fs/udf.c: Likewise.
38599 * fs/ufs.c: Likewise.
38600 * fs/xfs.c: Likewise.
38601 * include/grub/dl.h: Likewise.
38602 * loader/xnu.c: Likewise.
38604 2009-05-04 Pavel Roskin <proski@gnu.org>
38606 * commands/acpi.c: Remove unused variable my_mod.
38607 * partmap/amiga.c: Likewise.
38608 * partmap/apple.c: Likewise.
38609 * partmap/gpt.c: Likewise.
38610 * partmap/pc.c: Likewise.
38611 * partmap/sun.c: Likewise.
38612 * term/gfxterm.c: Likewise.
38613 * term/i386/pc/vesafb.c: Likewise.
38614 * term/i386/pc/vga.c: Likewise.
38616 2009-05-04 David S. Miller <davem@davemloft.net>
38618 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
38619 pointer args to grub_ieee1275_get_property().
38621 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
38623 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
38624 devices, and do not traverse down under controller nodes.
38626 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
38627 (grub_ofdisk_open): Use it to un-escape "," characters.
38628 * kern/disk.c (find_part_sep): New.
38629 (grub_disk_open): Use it to find the first non-escaped ','
38630 character in the disk name.
38631 * util/ieee1275/devicemap.c (escape_of_path): New.
38632 (grub_util_emit_devicemap_entry): Use it.
38633 * util/sparc64/ieee1275/grub-install.in: Update script to
38634 strip partition specifiers properly by not triggering on
38635 '\' escaped ',' characters.
38637 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38639 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
38641 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
38643 (linux_vesafb_modes): Add a lot of additional modes to the list (based
38644 on documentation from Wikipedia).
38646 2009-05-04 Pavel Roskin <proski@gnu.org>
38648 * disk/ata.c: Spelling fixes.
38649 * disk/raid.c: Likewise.
38650 * disk/usbms.c: Likewise.
38651 * disk/dmraid_nvidia.c: Likewise.
38652 * kern/ieee1275/openfw.c: Likewise.
38653 * kern/ieee1275/init.c: Likewise.
38654 * kern/ieee1275/cmain.c: Likewise.
38655 * boot/i386/pc/cdboot.S: Likewise.
38656 * video/readers/png.c: Likewise.
38657 * video/i386/pc/vbe.c: Likewise.
38658 * fs/udf.c: Likewise.
38659 * fs/hfs.c: Likewise.
38660 * fs/reiserfs.c: Likewise.
38661 * efiemu/runtime/efiemu.c: Likewise.
38662 * efiemu/main.c: Likewise.
38663 * efiemu/mm.c: Likewise.
38664 * include/grub/elf.h: Likewise.
38665 * include/grub/xnu.h: Likewise.
38666 * include/grub/usbdesc.h: Likewise.
38667 * include/grub/usb.h: Likewise.
38668 * include/grub/script_sh.h: Likewise.
38669 * include/grub/lib/LzmaEnc.h: Likewise.
38670 * include/grub/efiemu/efiemu.h: Likewise.
38671 * include/grub/command.h: Likewise.
38672 * normal/menu.c: Likewise.
38673 * normal/main.c: Likewise.
38674 * normal/datetime.c: Likewise.
38675 * bus/usb/uhci.c: Likewise.
38676 * mmap/i386/uppermem.c: Likewise.
38677 * mmap/mmap.c: Likewise.
38678 * commands/acpi.c: Likewise.
38679 * commands/test.c: Likewise.
38680 * partmap/apple.c: Likewise.
38681 * font/font.c: Likewise.
38682 * loader/sparc64/ieee1275/linux.c: Likewise.
38683 * loader/macho.c: Likewise.
38684 * loader/i386/bsd_trampoline.S: Likewise.
38685 * loader/i386/bsd.c: Likewise.
38686 * loader/xnu.c: Likewise.
38687 * term/i386/pc/vesafb.c: Likewise.
38688 * term/usb_keyboard.c: Likewise.
38689 * util/resolve.c: Likewise.
38690 * util/getroot.c: Likewise.
38692 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38694 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
38696 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38698 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
38701 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38703 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
38704 parameter only available on BIOS.
38706 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38708 Removed wrong semicolon in declaration
38710 * grub/misc.h (grub_dprintf): remove semicolon
38712 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38714 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
38715 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
38716 is done by grub_cmd_linux() now).
38717 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
38718 restore video to text mode.
38719 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
38720 indicates lack of "vga=" parameter. "vga=0" is mapped to
38721 `GRUB_LINUX_VID_MODE_NORMAL'.
38723 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
38725 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
38726 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
38727 and `normal/script.c'. Add `kern/rescue_reader.c',
38728 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
38729 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
38730 `grub_script.tab.c'.
38732 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38733 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38735 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38736 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38738 * Makefile.in: Remove duplicated 2008 in Copyright line.
38740 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
38742 * util/misc.c (grub_util_warn): New function. Emits a warning
38744 * include/grub/util/misc.h (grub_util_warn): New declaration.
38746 * util/i386/pc/grub-install.in: Understand --force and pass it down
38749 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
38751 (setup): Improve error messages and add warnings when requested to
38752 install in odd layouts. Refuse to install using blocklists unless
38755 2009-05-04 martin f. krafft <madduck@madduck.net>
38757 * disk/raid.c (grub_raid_scan_device): Improve debug message.
38759 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38761 Updated copyright year
38763 * fs/hfsplus.c: updated copyright year
38765 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
38769 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
38770 in the space previously used by unused3
38771 (grub_hfsplus_uuid): new function
38772 (grub_hfsplus_fs): added uuid field
38774 2009-05-03 Pavel Roskin <proski@gnu.org>
38776 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
38777 suppress warnings. It's no longer needed.
38778 * disk/host.c: Likewise.
38779 * disk/ata_pthru.c: Likewise.
38780 * disk/loopback.c: Likewise.
38781 * hook/datehook.c: Likewise.
38782 * parttool/pcpart.c: Likewise.
38783 * fs/i386/pc/pxe.c: Likewise.
38784 * fs/ntfscomp.c: Likewise.
38785 * efiemu/main.c: Likewise.
38786 * mmap/mmap.c: Likewise.
38787 * commands/crc.c: Likewise.
38788 * commands/hexdump.c: Likewise.
38789 * commands/hdparm.c: Likewise.
38790 * commands/acpi.c: Likewise.
38791 * commands/echo.c: Likewise.
38792 * commands/minicmd.c: Likewise.
38793 * commands/blocklist.c: Likewise.
38794 * commands/memrw.c: Likewise.
38795 * commands/loadenv.c: Likewise.
38796 * commands/usbtest.c: Likewise.
38797 * commands/lsmmap.c: Likewise.
38798 * commands/boot.c: Likewise.
38799 * commands/parttool.c: Likewise.
38800 * commands/configfile.c: Likewise.
38801 * commands/search.c: Likewise.
38802 * commands/ieee1275/suspend.c: Likewise.
38803 * commands/cat.c: Likewise.
38804 * commands/i386/pc/pxecmd.c: Likewise.
38805 * commands/i386/pc/play.c: Likewise.
38806 * commands/i386/pc/halt.c: Likewise.
38807 * commands/i386/pc/vbeinfo.c: Likewise.
38808 * commands/i386/pc/vbetest.c: Likewise.
38809 * commands/lspci.c: Likewise.
38810 * commands/date.c: Likewise.
38811 * commands/handler.c: Likewise.
38812 * commands/ls.c: Likewise.
38813 * commands/test.c: Likewise.
38814 * commands/cmp.c: Likewise.
38815 * commands/efi/loadbios.c: Likewise.
38816 * commands/efi/fixvideo.c: Likewise.
38817 * commands/halt.c: Likewise.
38818 * commands/help.c: Likewise.
38819 * commands/reboot.c: Likewise.
38820 * hello/hello.c: Likewise.
38821 * script/sh/main.c: Likewise.
38822 * loader/xnu.c: Likewise.
38823 * term/terminfo.c: Likewise.
38824 * term/i386/pc/serial.c: Likewise.
38825 * term/usb_keyboard.c: Likewise.
38827 2009-05-03 David S. Miller <davem@davemloft.net>
38829 * normal/menu.c: Include grub/parser.h
38831 2009-05-03 Pavel Roskin <proski@gnu.org>
38833 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
38835 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
38836 Suggested by Javier Martín <lordhabbit@gmail.com>
38838 * util/i386/pc/grub-mkrescue.in: Allow for the case when
38839 efiemu??.o doesn't exist.
38840 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
38843 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
38845 FreeBSD 64-bit support
38847 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
38848 and loader/i386/bsd_trampoline.S
38849 (bsd_mod_ASFLAGS): new variable
38850 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
38851 (FREEBSD_MODTYPE_KERNEL64): likewise
38852 (grub_bsd64_trampoline_start): likewise
38853 (grub_bsd64_trampoline_end): likewise
38854 (grub_bsd64_trampoline_selfjump): likewise
38855 (grub_bsd64_trampoline_gdt): likewise
38856 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
38857 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
38858 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
38859 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
38860 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
38862 * loader/i386/bsd_pagetable.c: new file
38863 * loader/i386/bsd_trampoline.S: likewise
38864 * loader/i386/bsd.c (ALIGN_QWORD): new macro
38865 (ALIGN_VAR): likewise
38866 (entry_hi): new variable
38867 (kern_end_mdofs): likewise
38868 (is_64bit): likewise
38869 (grub_freebsd_add_meta): use ALIGN_VAR
38870 (grub_e820_mmap): new declaration
38871 (grub_freebsd_add_mmap): new function
38872 (grub_freebsd_add_meta_module): support 64 bit kernels
38873 (grub_freebsd_list_modules): use ALIGN_VAR
38874 (gdt_descriptor): new declaration
38875 (grub_freebsd_boot): support 64 bit kernels
38876 (grub_bsd_elf64_hook): new function
38877 (grub_bsd_load_elf): support elf64
38879 2009-05-03 Bean <bean123ch@gmail.com>
38881 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
38882 after we get the result of if statement.
38884 2009-05-03 Bean <bean123ch@gmail.com>
38886 * Makefile.in (enable_efiemu): New variable.
38888 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
38890 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
38892 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
38893 path, add -mno-red-zone option.
38894 (efiemu64_s.o): Likewise.
38895 (efiemu64.o): Use macro $^ for source file.
38897 * configure.ac (--enable-efiemu): New option.
38899 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
38903 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
38904 (pkglib_MODULES): add xnu.mod
38905 (xnu_mod_SOURCES): new variable
38906 (xnu_mod_CFLAGS): likewise
38907 (xnu_mod_LDFLAGS): likewise
38908 (xnu_mod_ASFLAGS): likewise
38909 * conf/i386-pc.rmk: likewise
38910 * conf/x86_64-efi.rmk: likewise
38911 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
38913 * include/grub/i386/macho.h: new file
38914 * include/grub/i386/xnu.h: likewise
38915 * include/grub/macho.h: likewise
38916 * include/grub/machoload.h: likewise
38917 * include/grub/x86_64/macho.h: likewise
38918 * include/grub/x86_64/xnu.h: likewise
38919 * include/grub/xnu.h: likewise
38920 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
38921 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
38922 * loader/i386/efi/xnu.c: new file
38923 * loader/i386/pc/xnu.c: likewise
38924 * loader/i386/xnu.c: likewise
38925 * loader/i386/xnu_helper.S: likewise
38926 * loader/macho.c: likewise
38927 * loader/xnu.c: likewise
38928 * loader/xnu_resume.c: likewise
38929 * util/grub-dumpdevtree: likewise
38930 * include/grub/i386/pit.h: include grub/err.h
38931 (grub_pit_wait): export
38932 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
38934 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38938 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
38939 _linux_efi, linux_efi.
38940 new files in grub-emu
38941 new targets efiemu32.o and efiemu64.o
38942 * loader/linux_normal_efiemu.c: likewise
38943 * loader/i386/efi/linux.c: added preliminary efiemu support
38944 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
38946 * include/grub/autoefi.h: new file
38947 * include/grub/i386/efiemu.h: likewise
38948 * include/grub/i386/pc/efiemu.h: likewise
38949 * include/grub/efi/api.h: add LL suffix when necessary
38950 new definitions relating to tables
38951 * include/grub/efiemu/efiemu.h: new file
38952 * include/grub/efiemu/runtime.h: likewise
38953 * efiemu/prepare.c: likewise
38954 * efiemu/loadcore_common.c: likewise
38955 * efiemu/loadcore64.c: likewise
38956 * efiemu/runtime/efiemu.sh: likewise
38957 * efiemu/runtime/efiemu.S: likewise
38958 * efiemu/runtime/efiemu.c: likewise
38959 * efiemu/runtime/config.h: likewise
38960 * efiemu/prepare32.c: likewise
38961 * efiemu/main.c: likewise
38962 * efiemu/modules/pnvram.c: likewise
38963 * efiemu/modules/i386: likewise
38964 * efiemu/modules/i386/pc: likewise
38965 * efiemu/modules/acpi.c: likewise
38966 * efiemu/i386/pc/cfgtables.c: likewise
38967 * efiemu/i386/loadcore64.c: likewise
38968 * efiemu/i386/loadcore32.c: likewise
38969 * efiemu/prepare64.c: likewise
38970 * efiemu/loadcore.c: likewise
38971 * efiemu/symbols.c: likewise
38972 * efiemu/mm.c: likewise
38973 * efiemu/loadcore32.c: likewise
38975 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38979 * commands/acpi.c: new file
38980 * commands/i386/pc/acpi.c: likewise
38981 * commands/efi/acpi.c: likewise
38982 * include/grub/acpi.h: likewise
38983 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
38984 (acpi_mod_SOURCES): new variable
38985 (acpi_mod_CFLAGS): likewise
38986 (acpi_mod_LDFLAGS): likewise
38987 * conf/i386-efi.rmk: likewise
38988 * conf/x86_64-efi.rmk: likewise
38990 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
38992 Missing part from mmap patch
38994 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
38995 (grub_mmap_unregister)
38996 (grub_mmap_free_and_unregister): use grub_mmap_register
38998 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39002 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
39003 * loader/i386/linux.c (find_mmap_size): likewise
39004 (allocate_pages): likewise
39005 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
39006 (grub_fill_multiboot_mmap): likewise
39007 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
39008 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
39009 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
39010 (OPENBSD_MMAP_RESERVED): likewise
39011 * include/grub/i386/pc/memory.h: include grub/memory.h
39012 (grub_lower_mem): removed
39013 (grub_upper_mem): likewise
39014 (GRUB_MACHINE_MEMORY_ACPI): new definition
39015 (GRUB_MACHINE_MEMORY_NVS): likewise
39016 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
39017 (GRUB_MACHINE_MEMORY_HOLE): likewise
39018 (grub_machine_mmap_register): likewise
39019 (grub_machine_mmap_unregister): likewise
39020 (grub_machine_get_upper): likewise
39021 (grub_machine_get_lower): likewise
39022 (grub_machine_get_post64): likewise
39023 * include/grub/i386/efi/memory.h: new file
39024 * include/grub/x86_64/efi/memory.h: likewise
39025 * include/grub/efi/memory.h: likewise
39026 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
39027 (mmap_mod_SOURCES): new variable
39028 (mmap_mod_LDFLAGS): likewise
39029 (mmap_mod_ASFLAGS): likewise
39030 * conf/i386-coreboot.rmk: likewise
39031 * conf/i386-ieee1275.rmk: likewise
39032 * conf/i386-efi.rmk: likewise
39033 * conf/x86_64-efi.rmk: likewise
39034 * include/grub/types.h (UINT_TO_PTR): new macro
39035 (PTR_TO_UINT32): likewise
39036 (PTR_TO_UINT64): likewise
39037 * include/grub/memory.h: new file
39038 * mmap/i386/pc/mmap.c: likewise
39039 * mmap/i386/pc/mmap_helper.S: likewise
39040 * mmap/i386/uppermem.c: likewise
39041 * mmap/mmap.c: likewise
39042 * mmap/efi/mmap.c: likewise
39043 * kern/i386/coreboot/init.c (grub_machine_init): don't use
39045 * kern/i386/pc/init.c (grub_lower_mem): removed variable
39046 (grub_upper_mem): likewise
39047 (grub_machine_init): don't use grub_upper_mem,
39048 make grub_lower_mem local
39049 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
39050 grub_mmap_iterate and grub_mmap_get_upper
39051 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
39053 2009-05-02 Bean <bean123ch@gmail.com>
39055 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
39056 script/sh/parser.y.
39057 (pkglib_MODULES): Add normal.mod and sh.mod.
39058 (normal_SOURCES): New variable.
39059 (normal_mod_CFLAGS): Likewise.
39060 (normal_mod_LDFLAGS): Likewise.
39061 (sh_mod_SOURCES): Likewise.
39062 (sh_mod_CFLAGS): Likewise.
39063 (sh_mod_LDFLAGS): Likewise.
39065 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
39066 script/sh/lexer.c_DEPENDENCIES.
39067 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
39068 kern/rescue_reader.c and kern/rescue_parser.c.
39069 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
39070 (grub_emu_SOURCES): Change source files.
39071 (pkglib_MODULES): Remove normal.mod.
39072 (normal_SOURCES): Removed.
39073 (normal_mod_CFLAGS): Likewise.
39074 (normal_mod_LDFLAGS): Likewise.
39075 * conf/i386-coreboot.rmk: Likewise.
39076 * conf/i386-efi.rmk: Likewise.
39077 * conf/i386-ieee1276.rmk: Likewise.
39078 * conf/powerpc-ieee1275.rmk: Likewise.
39079 * conf/sparc64-ieee1275.rmk: Likewise.
39080 * conf/x86_64-efi.rmk: Likewise.
39082 * include/grub/command.h (grub_command_execute): New inline function.
39084 * include/grub/menu.h (grub_menu_entry): Removed commands field.
39086 * include/grub/normal.h: Remove <grub/setjmp.h>.
39087 (grub_fs_module_list): Moved to normal/autofs.c.
39088 (grub_exit_env): Removed.
39089 (grub_command_execute): Likewise.
39090 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
39092 (read_command_list): New function declaration.
39093 (read_fs_list): Likewise.
39095 * include/parser.h: Include <grub/reader.h>.
39096 (grub_parser_split_cmdline): Change type of getline parameter.
39097 (grub_parser): New structure.
39098 (grub_parser_class): New variable.
39099 (grub_parser_execute): New function declaration.
39100 (grub_register_rescue_parser): Likewise.
39101 (grub_parser_register): New inline function.
39102 (grub_parser_unregister): Likewise.
39103 (grub_parser_get_current): Likewise.
39104 (grub_parser_set_current): Likewise.
39106 * include/grub/reader.h: New file.
39107 * kern/reader.c: Likewise.
39108 * kern/rescue_parser.c: Likewise.
39109 * kern/rescue_reader.c: Likewise.
39110 * normal/autofs.c: Likewise.
39111 * normal/dyncmd.c: Likewise.
39113 * include/grub/rescue.h: Removed.
39114 * normal/command.h: Likewise.
39116 * include/grub/script.h: Moved to ...
39117 * include/grub/script_sh.h: ... Moved here.
39118 * normal/execute.c: Moved to ...
39119 * script/sh/execute.c: ... Moved here.
39120 * normal/function.c: Moved to ...
39121 * script/sh/function.c: ... Moved here.
39122 * normal/lexer.c: Moved to ...
39123 * script/sh/lexer.c: ... Moved here.
39124 * normal/parser.y: Moved to ...
39125 * script/sh/parser.y: ... Moved here.
39126 * normal/script.c: Moved to ...
39127 * script/sh/script.c: ... Moved here.
39129 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
39131 (grub_exit_env): Removed.
39132 (fs_module_list): Moved to normal/autofs.c.
39133 (grub_file_getline): Don't handle comment here.
39134 (free_menu): Skip removed field entry->commands.
39135 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
39137 (read_config_file): Removed nested parameter, change getline function.
39138 (grub_enter_normal_mode): Removed.
39139 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
39140 (read_command_list): Likewise.
39141 (autoload_fs_module): Moved to normal/autofs.c.
39142 (read_fs_list): Likewise.
39143 (reader_nested): New variable.
39144 (grub_normal_execute): Run parser.sh to switch to sh parser.
39145 (grub_cmd_rescue): Removed.
39146 (cmd_normal): Removed.
39147 (grub_cmd_normal): Unregister itself at the beginning. Don't register
39149 (grub_cmdline_run): New function.
39150 (grub_normal_reader_init): Likewise.
39151 (grub_normal_read_line): Likewise.
39152 (grub_env_write_pager): Likewise.
39153 (cmdline): New variable.
39154 (grub_normal_reader): Likewise.
39155 (GRUB_MOD_INIT): Register normal reader and set as current, register
39156 pager hook, register normal command with grub_register_command_prio,
39157 so that it won't show up in command.lst.
39158 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
39159 grub_fs_autoload_hook.
39161 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
39162 (grub_menu_execute_entry): Replace grub_script_execute with
39163 grub_parser_execute, change parameter to grub_command_execute.
39165 * normal/menu_text.c: Remove <grub/script.h>.
39167 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
39168 and <grub/parser.h>.
39169 (run): Change editor_getline to use new parser interface. Change
39170 parameter to grub_command_execute.
39172 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
39173 <grub/reader.h> and <grub/parser.h>.
39174 (grub_load_normal_mode): Execute normal command.
39175 (grub_main): Call grub_register_core_commands,
39176 grub_register_rescue_parser and grub_register_rescue_reader, use
39177 grub_reader_loop to enter input loop.
39179 * kern/parser.c (grub_parser_split_cmdline): Change type of
39181 (grub_parser_class): New variable.
39182 (grub_parser_execute): New function.
39184 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
39185 * loader/multiboot2.c: Likewise.
39186 * loader/sparc64/ieee1275/linux.c: Likewise.
39188 * util/grub-emu.c (read_command_list): New dummy function.
39190 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39192 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
39193 count to 16 for CCISS and IDA.
39195 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
39197 * normal/menu_text.c (grub_wait_after_message): Print a newline
39198 after waiting for user input.
39200 * loader/i386/linux.c: Include `<grub/normal.h>'.
39201 (grub_cmd_linux): Improve the error message about `ask' mode, by
39202 waiting for user input so it's not missed (we can do this, since
39203 user requested interaction).
39205 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
39207 Added missing lst to grub-mkrescue
39209 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
39210 and ${input_dir}/parttool.lst
39212 2009-04-30 David S. Miller <davem@davemloft.net>
39214 * util/hostdisk.c (device_is_wholedisk): New function.
39215 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
39216 zero only if device_is_wholedisk() returns true.
39218 * util/hostdisk.c (convert_system_partition_to_system_disk):
39219 Handle virtual disk devices named /dev/vdiskX as found on sparc
39222 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
39223 lettered partition specifier is found, convert to numbered.
39225 2009-04-29 David S. Miller <davem@davemloft.net>
39227 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
39228 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39230 * normal/command.c: Add missing newline at end of file.
39232 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
39234 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
39235 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
39236 grub_ofdisk_read): Likewise, and deal similarly with the fact that
39237 ihandles have a 32-bit type but need to be stored in a "void *".
39239 2009-04-28 Pavel Roskin <proski@gnu.org>
39241 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
39242 not disk. Adjust all dependencies.
39243 (grub_fs_uuid_close): Use grub_device_close(), not
39246 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
39247 parent's partition, don't copy it by reference, as it gets freed
39250 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39252 Preboot hooks support
39254 * commands/boot.c (struct grub_preboot_t): new declaration
39255 (preboots_head): new variable
39256 (preboots_tail): likewise
39257 (grub_loader_register_preboot_hook): new function
39258 (grub_loader_unregister_preboot_hook): likewise
39259 (grub_loader_set): launch preboot hooks
39260 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
39261 (grub_loader_register_preboot_hook): new declaration
39262 (grub_loader_unregister_preboot_hook): likewise
39264 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
39268 * disk/scsi.c (grub_scsi_open): added missing cast when
39269 calling grub_dprintf
39271 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
39273 Bug and warning fixes
39275 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
39277 * commands/test.c (test_parse): fixed bug with file tests and corrected
39278 declaration of find_file
39280 2009-04-26 Pavel Roskin <proski@gnu.org>
39282 * Makefile.in: Don't install empty manual pages if help2man is
39283 missing. Use help2man option for output, not shell redirection.
39285 2009-04-26 David S. Miller <davem@davemloft.net>
39287 * util/grub-mkdevicemap.c (make_device_map): Add missing
39288 NESTED_FUNC_ATTR to process_device().
39290 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39294 * commands/test.c: rewritten to use bash-like test
39296 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
39298 Parttool autoloading and improvements
39300 * Makefile.in (pkglib_DATA): add parttool.lst
39301 (parttool.lst): new target
39302 * genmk.rb: generate parttool-*
39303 (CLEANFILES): add #{parttool}
39304 (PARTTOOLFILES): new variable
39305 * genparttoollist.sh: new file
39306 * parttool/pcpart.c (grub_pcpart_boot): more feedback
39307 (grub_pcpart_type): likewise
39308 * commands/parttool.c (helpmsg): new variable
39309 (grub_cmd_parttool): output help if not enough arguments are supplied
39311 (GRUB_MOD_INIT(parttool)): use helpmsg
39313 2009-04-24 David S. Miller <davem@davemloft.net>
39315 Avoiding opening same device multiple times in device iterator.
39317 * kern/device.c: (grub_device_iterate): Define struct part_ent,
39318 and use it to build a list of partitions in iterate_disk() and
39319 iterate_partition().
39321 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
39324 * disk/ieee1275/nand.c (grub_nand_iterate): Return
39325 grub_devalias_iterate() result instead of unconditional 0.
39326 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
39327 Also, capture hook return value, either directly or via
39328 grub_children_iterate(), and propagate to caller.
39329 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
39330 grub_children_iterate): Return value is now 'int' instead of
39332 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
39333 like a proper iterator, stopping when hooks return non-zero.
39334 (grub_devalias_iterate): Likewise.
39336 2009-04-23 David S. Miller <davem@davemloft.net>
39338 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
39340 2009-04-22 David S. Miller <davem@davemloft.net>
39342 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
39343 is larger than address_cells, use that value for address_cells too.
39345 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
39346 IEEE1275_MAX_PATH_LEN): Define.
39347 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
39348 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
39349 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
39350 'devtype'. Explicitly NULL terminate devalias expansion.
39352 * util/sparc64/ieee1275/misc.c: New file.
39353 * util/sparc64/ieee1275/grub-setup.c: New file.
39354 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
39355 * util/sparc64/ieee1275/grub-mkimage.c: New file.
39356 * util/sparc64/ieee1275/grub-install.in: New file.
39357 * util/ieee1275/ofpath.c: New file.
39358 * util/ieee1275/devicemap.c: New file.
39359 * util/devicemap.c: New file.
39360 * util/deviceiter.c: New file.
39361 * kern/sparc64/ieee1275/init.c: New file.
39362 * include/grub/util/ofpath.h: New file.
39363 * include/grub/util/deviceiter.h: New file.
39364 * util/grub-mkdevicemap.c: Include deviceiter.h.
39365 Implement using grub_util_emit_devicemap_entry and
39366 grub_util_iterate_devices.
39367 * conf/i386-corebook.rmk: Build util/deviceiter.c and
39368 util/devicemap.c into grub-mkdevicemap
39369 * conf/i386-efi.rmk: Likewise.
39370 * conf/i386-ieee1275.rmk: Likewise.
39371 * conf/i386-pc.rmk: Likewise.
39372 * conf/powerpc-ieee1275.rmk: Likewise.
39373 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
39374 images and installation utilities. Build kernel as image
39375 instead of as elf binary. Use common rules as much as possible.
39377 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
39379 Correct GPT definition
39381 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
39384 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
39386 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
39388 2009-04-19 David S. Miller <davem@davemloft.net>
39390 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
39391 (grub_rescue_cmd_linux): Rename to...
39392 (grub_cmd_linux): and fix prototype.
39393 (grub_rescue_cmd_initrd): Rename to...
39394 (grub_cmd_initrd): and fix prototype.
39395 (cmd_linux, cmd_initrd): New.
39396 (GRUB_MOD_INIT(linux)): Use grub_register_command().
39397 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
39399 2009-04-17 Pavel Roskin <proski@gnu.org>
39401 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
39403 (grub_ohci_transfer): Likewise.
39405 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
39407 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
39408 return without a value. Fix inconsistent indentation.
39410 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
39411 match struct grub_fs.
39413 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
39414 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
39415 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
39416 * commands/lspci.c (grub_lspci_iter): Likewise.
39418 2009-04-16 Bean <bean123ch@gmail.com>
39420 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
39423 2009-04-15 Pavel Roskin <proski@gnu.org>
39425 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
39426 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
39427 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
39430 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
39432 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
39433 that no multiple data or metadata areas are supported and `Unknown
39436 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39438 Move loader out of the kernel
39440 * kern/loader.c: moved to ...
39441 * commands/boot.c: ... moved here
39442 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
39443 * commands/boot.c (grub_cmd_boot): moved here. All users updated
39444 * include/grub/kernel.h (grub_machine_fini): export
39445 * include/grub/loader.h (grub_loader_is_loaded): update declaration
39446 (grub_loader_set): likewise
39447 (grub_loader_unset): likewise
39448 (grub_loader_boot): likewise
39449 * conf/common.rmk: new module boot.mod
39450 (pkglib_MODULES): add boot.mod
39451 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
39452 (grub_emu_SOURCES): likewise
39453 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
39454 (grub_emu_SOURCES): likewise
39455 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
39456 (grub_emu_SOURCES): likewise
39457 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
39458 (grub_emu_SOURCES): likewise
39459 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
39460 (grub_emu_SOURCES): likewise
39461 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
39462 (grub_emu_SOURCES): likewise
39463 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
39464 (grub_emu_SOURCES): likewise
39466 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39468 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
39470 * kern/misc.c (grub_itoa): Removed function
39471 (grub_ltoa): likewise
39472 (grub_vsprintf): use grub_lltoa
39474 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
39478 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
39479 * conf/i386-coreboot.rmk: likewise
39480 * conf/i386-ieee1275.rmk: likewise
39481 * conf/powerpc-ieee1275.rmk: likewise
39483 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
39485 * INSTALL: Add that `./autogen.sh' needs to be run before
39488 2009-04-14 Bean <bean123ch@gmail.com>
39490 * Makefile.in (pkglib_DATA): Add handler.lst.
39491 (handler.lst): New rule.
39493 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
39494 * conf/i386-coreboot.rmk: Likewise.
39495 * conf/i386-ieee1275.rmk: Likewise.
39496 * conf/i386-efi.rmk: Likewise.
39497 * conf/x86_64-efi.rmk: Likewise.
39498 * conf/powerpc-ieee1275.rmk: Likewise.
39499 * conf/sparc64-ieee1275.rmk: Likewise.
39501 * genhandlerlist.sh: New file.
39503 * genmk.rb: Add rules to generate handler.lst.
39505 * include/grub/normal.h (grub_file_getline): New function definition.
39506 (read_handler_list): Likewise.
39507 (free_handler_list): Likewise.
39509 * include/grub/term.h (grub_term_register_input): Add name parameter
39510 for auto generation of handler.lst.
39511 (grub_term_register_output): Likewise.
39513 * normal/handler.c: New file.
39515 * normal/main.c (get_line): Renamed to grub_file_getline.
39516 (read_config_file): Use the newly renamed grub_file_getline.
39517 (read_command_list): Likewise.
39518 (read_fs_list): Likewise.
39519 (grub_normal_execute): Call read_handler_list to parse handler.lst.
39520 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
39522 * term/efi/console.c (grub_console_init): Add name parameter for auto
39523 generation of handler.lst.
39524 * term/gfxterm.c: Likewise.
39525 * term/i386/pc/at_keyboard.c: Likewise.
39526 * term/i386/pc/console.c: Likewise.
39527 * term/i386/pc/serial.c: Likewise.
39528 * term/i386/pc/vesafb.c: Likewise.
39529 * term/i386/pc/vga.c: Likewise.
39530 * term/i386/pc/vga_text.c: Likewise.
39531 * term/ieee1275/ofconsole.c: Likewise.
39532 * term/usb_keyboard.c: Likewise.
39534 2009-04-14 Bean <bean123ch@gmail.com>
39536 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
39537 properly with null character.
39539 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
39541 * configure: Remove.
39542 * config.h.in: Likewise.
39543 * stamp-h.in: Likewise.
39544 * DISTLIST: Likewise.
39545 * conf/common.mk: Likewise.
39546 * conf/i386-coreboot.mk: Likewise.
39547 * conf/i386-efi.mk: Likewise.
39548 * conf/i386-ieee1275.mk: Likewise.
39549 * conf/i386.mk: Likewise.
39550 * conf/i386-pc.mk: Likewise.
39551 * conf/powerpc-ieee1275.mk: Likewise.
39552 * conf/sparc64-ieee1275.mk: Likewise.
39553 * conf/x86_64-efi.mk: Likewise.
39555 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
39558 2009-04-14 John Stanley <jpsinthemix@verizon.net>
39559 David S. Miller <davem@davemloft.net>
39561 * util/hostdisk.c (make_device_name): Fix buffer length
39564 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
39566 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
39567 <sys/param.h> and <sys/sysctl.h>.
39568 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
39569 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
39570 opening the device and reset them afterwards.
39572 2009-04-13 Pavel Roskin <proski@gnu.org>
39574 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
39575 Reported by John Stanley <jpsinthemix@verizon.net>
39577 2009-04-13 Robert Millan <rmh@aybabtu.com>
39579 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
39580 that name for menuentries when appropriate.
39582 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39584 * util/grub.d/10_freebsd.in: Add a missing `fi'.
39586 2009-04-13 Robert Millan <rmh@aybabtu.com>
39588 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
39589 to Linux, simply abort telling the user it's no longer supported.
39591 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39593 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
39594 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
39595 `freebsd_loadenv' only when devices.hints exist.
39597 2009-04-13 Pavel Roskin <proski@gnu.org>
39599 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
39601 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
39603 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
39605 (grub_drive): Likewise.
39607 2009-04-13 David S. Miller <davem@davemloft.net>
39609 * kern/sparc64/ieee1275/ieee1275.c: New file.
39610 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
39611 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
39612 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
39613 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
39614 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
39615 grub_ieee1275_alloc_physmem): Declare new exported functions.
39617 * include/grub/sparc64/ieee1275/loader.h: New file.
39618 * include/grub/sparc64/ieee1275/memory.h: Likewise.
39619 * include/grub/sparc64/kernel.h: Likewise.
39620 * loader/sparc64/ieee1275/linux.c: Likewise.
39622 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
39623 (grub_fstest_SOURCES): Likewise.
39625 * util/hostdisk.c (make_device_name): Do not make any assumptions
39626 about the length of drive names.
39628 * kern/dl.c (grub_dl_load_file): Close file immediately when
39629 we are done using it.
39631 2009-04-12 David S. Miller <davem@davemloft.net>
39633 * kern/misc.c (grub_ltoa): Fix cast when handling negative
39634 values. Noticed by Pavel Roskin.
39636 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
39639 * genmk.rb: Add more flexible image type specification, also
39640 pass --strip-unneeded to objcopy.
39641 * conf/i386-pc.rmk: Use *_FORMAT.
39642 * conf/i386-pc.mk: Rebuilt.
39644 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
39645 (OFDISK_HASH_SZ): Define.
39646 (ofdisk_hash): New hash table.
39647 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
39648 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
39649 instead of device phandle which is not unique.
39651 * kern/sparc64/ieee1275/init.c: Delete, replace with...
39652 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
39653 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
39654 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
39655 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
39656 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
39657 GRUB_KERNEL_MACHINE_DATA_END): Define.
39658 (grub_kernel_image_size, grub_total_module_size): Declare.
39660 2009-04-12 Pavel Roskin <proski@gnu.org>
39662 * configure.ac: Change the logic when we check for target tools.
39663 Do it when the target is specified and it's different from the
39664 specified value of the host.
39666 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
39668 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
39669 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
39670 GNU/kFreeBSD. Check if a device is a character device. Use
39671 DIOCGMEDIASIZE to get the size.
39672 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
39673 support for GNU/kFreeBSD.
39674 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
39675 is a character device instead of a block device. Add support for
39676 FreeBSD device names.
39678 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
39679 is a character device instead of a block device.
39681 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
39682 is a character device instead of a block device.
39684 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
39686 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
39687 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
39688 FreeBSD. Check if a device is a character device. Use
39689 DIOCGMEDIASIZE to get the size.
39690 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
39691 support for FreeBSD.
39692 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
39693 is a character device instead of a block device. Add support for
39694 FreeBSD device names.
39696 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
39697 a character device instead of a block device.
39698 (grub_util_check_char_device): New function.
39700 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
39701 a character device instead of a block device.
39703 * include/grub/util/getroot.h (grub_util_check_char_device): New
39706 2009-04-11 David S. Miller <davem@davemloft.net>
39708 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
39710 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
39711 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
39712 function, if present.
39713 (__bswapdi2): Likewise.
39715 * include/grub/sparc64/ieee1275/boot.h: New file.
39716 * boot/sparc64/ieee1275/boot.S: Likewise.
39717 * boot/sparc64/ieee1275/diskboot.S: Likewise.
39719 * kern/misc.c (grub_ltoa): New function.
39720 (grub_vsprintf): Use it to format 'long' integers.
39722 2009-04-10 David S. Miller <davem@davemloft.net>
39724 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
39725 slots are of type grub_ieee1275_cell_t.
39726 (grub_nand_read): Likewise.
39727 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
39728 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
39729 macros are used to compare values in arg/ret block of the call.
39730 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39731 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
39732 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
39733 grub_ieee1275_instance_to_path, grub_ieee1275_write,
39734 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
39735 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
39736 grub_ieee1275_close, grub_ieee1275_set_property,
39737 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
39738 grub_ieee1275_cell_t.
39739 * kern/ieee1275/openfw.c (grub_map): Likewise.
39740 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
39741 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
39743 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
39744 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
39745 (grub_devalias_iterate): Likewise.
39747 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
39751 * fs/ufs.c (INODE_NBLOCKS): new definition
39752 (struct grub_ufs_dirent): added fields for non-BSD dirents
39753 (grub_ufs_get_file_block): fixed double indirect handling
39754 (grub_ufs_lookup_symlink): use more robust way to determine whether
39756 (grub_ufs_find_file): support for non-BSD dirents
39757 (grub_ufs_dir): support for non-BSD dirents
39759 2009-04-10 Bean <bean123ch@gnail.com>
39761 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
39762 attribute, otherwise the size would be wrong for i386 platform.
39764 * include/grub/pci.h (grub_pci_read_word): New inline function.
39765 (grub_pci_read_byte): Likewise.
39766 (grub_pci_write): Likewise.
39767 (grub_pci_write_word): Likewise.
39768 (grub_pci_write_byte): Likewise.
39770 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
39772 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
39773 (find_framebuf): Scan pci to locate the frame buffer address.
39775 * commands/efi/fixvideo.c: New file.
39777 * commands/efi/loadbios.c: Likewise.
39779 * commands/memrw.c: Likewise.
39781 * util/grub-dumpbios.in: Likewise.
39783 * conf/common.rmk (grub-dumpbios): New utility.
39784 (pkglib_MODULES): New module memrw.mod.
39785 (memrw_mod_SOURCE): New macro.
39786 (memrw_mod_CFLAGS): Likewise.
39787 (memrw_mod_LDFLAGS): Likewise.
39789 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
39791 (loadbios_mod_SOURCE): New macro.
39792 (loadbios_mod_CFLAGS): Likewise.
39793 (loadbios_mod_LDFLAGS): Likewise.
39794 (fixvideo_mod_SOURCE): Likewise.
39795 (fixvideo_mod_CFLAGS): Likewise.
39796 (fixvideo_mod_LDFLAGS): Likewise.
39798 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
39800 (loadbios_mod_SOURCE): New macro.
39801 (loadbios_mod_CFLAGS): Likewise.
39802 (loadbios_mod_LDFLAGS): Likewise.
39803 (fixvideo_mod_SOURCE): Likewise.
39804 (fixvideo_mod_CFLAGS): Likewise.
39805 (fixvideo_mod_LDFLAGS): Likewise.
39807 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
39809 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
39811 2009-04-07 David S. Miller <davem@davemloft.net>
39813 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
39814 support for R_SPARC_OLO10 relocations. Fix compile warning for
39815 R_SPARC_WDISP30 case.
39816 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
39818 2009-04-06 Pavel Roskin <proski@gnu.org>
39820 * include/grub/misc.h (ARRAY_SIZE): New macro.
39821 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
39823 * loader/i386/linux.c (allocate_pages): Use free_pages().
39824 (grub_linux_unload): Don't use free_pages().
39825 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
39826 wrong index. Treat all other modes as text modes.
39827 (grub_cmd_linux): Initialize vid_mode unconditionally to
39828 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
39830 * commands/help.c (print_command_help): Use cmd->prio, not
39831 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
39833 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
39837 * parttool/pcpart.c: new file
39838 * commands/parttool.c: likewise
39839 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
39840 (parttool_mod_SOURCES): new variable
39841 (parttool_mod_CFLAGS): likewise
39842 (parttool_mod_LDFLAGS): likewise
39843 (pcpart_mod_SOURCES): likewise
39844 (pcpart_mod_CFLAGS): likewise
39845 (pcpart_mod_LDFLAGS): likewise
39846 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
39847 and parttool/pcpart.c
39848 * conf/i386-efi.rmk: likewise
39849 * conf/i386-ieee1275.rmk: likewise
39850 * conf/i386-pc.rmk: likewise
39851 * conf/powerpc-ieee1275.rmk: likewise
39852 * conf/sparc64-ieee1275.rmk: likewise
39853 * conf/x86_64-ieee1275.rmk: likewise
39855 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39857 Support for mtime and further expandability of dir command
39859 * include/grub/lib/datetime.h: moved to ...
39860 * include/grub/datetime.h: ... moved here and added
39861 declaration of grub_unixtime2datetime. All users updated
39862 * include/grub/fs.h: new syntax for dir and mtime functions in
39864 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
39865 and GRUB_FSHELP_FLAGS_MASK
39866 * commands/ls.c (grub_ls_list_files): Write mtime in long format
39867 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
39868 (grub_ext2_mtime): new function
39869 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
39870 (grub_hfsplus_mtime): new function
39871 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
39872 (GRUB_UFS_ATTR_FILE): likewise
39873 (GRUB_UFS_ATTR_LNK): likewise
39874 (struct grub_ufs_sblock): new fields mtime
39875 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
39877 (grub_ufs_dir): mtime support
39878 (grub_ufs_mtime): new function
39879 * fs/affs.c (grub_affs_dir): use new dir syntax
39880 * fs/afs.c (grub_afs_dir): likewise
39881 * fs/cpio.c (grub_cpio_dir): likewise
39882 * fs/fat.c (grub_fat_find_dir): likewise
39883 * fs/hfs.c (grub_hfs_dir): likewise
39884 * fs/iso9660.c (grub_iso9660_dir): likewise
39885 * fs/jfs.c (grub_jfs_dir): likewise
39886 * fs/minix.c (grub_minix_dir): likewise
39887 * fs/ntfs.c (grub_ntfs_dir): likewise
39888 * fs/reiserfs.c (grub_reiserfs_dir): likewise
39889 * fs/sfs.c (grub_sfs_dir): likewise
39890 * fs/xfs.c (grub_xfs_dir): likewise
39891 * util/hostfs.c (grub_hostfs_dir): likewise
39892 * lib/datetime.c: moved to ...
39893 * normal/datetime.c: ... moved here
39894 (grub_unixtime2datetime): new function
39895 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
39896 * normal/completion.c (iterate_dir): use new dir syntax
39897 * normal/misc.c (grub_normal_print_device_info): tell the
39898 last modification time of a volume
39899 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
39900 * conf/common.rmk: added lib/datetime.c to ls.mod
39901 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
39902 (normal_mod_SOURCES): likewise
39903 (datetime_mod_SOURCES): Removed lib/datetime.c
39904 * conf/i386-efi.rmk: likewise
39905 * conf/i386-ieee1275.rmk: likewise
39906 * conf/i386-pc.rmk: likewise
39907 * conf/powerpc-ieee1275.rmk: likewise
39908 * conf/sparc64-ieee1275.rmk: likewise
39909 * conf/x86_64-efi.rmk: likewise
39911 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
39913 Trim trailing spaces in FAT label and support mtools-like labels
39915 * fs/fat.c (grub_fat_iterate_dir): New function based
39916 on grub_fat_find_dir
39917 (grub_fat_find_dir): use grub_fat_iterate_dir
39918 (grub_fat_label): likewise
39920 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
39922 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
39924 remove extraneous kernel_elf_HEADERS
39926 2009-04-04 Bean <bean123ch@gnail.com>
39928 * include/grub/util/misc.h: Add dummy function fsync for mingw.
39930 * util/misc.c: Likewise.
39932 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39934 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
39935 instead of grub_printf.
39937 2009-04-03 Robert Millan <rmh@aybabtu.com>
39939 * loader/i386/linux.c (grub_linux_setup_video): Fill
39940 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
39941 values from `mode info' structure instead of hardcoded
39944 2009-04-01 Pavel Roskin <proski@gnu.org>
39946 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
39948 * genmk.rb: Likewise.
39949 * configure.ac: Likewise.
39951 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
39953 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
39954 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
39956 2009-04-01 David S. Miller <davem@davemloft.net>
39958 * normal/sparc64/setjmp.S: Fix setjmp implementation.
39959 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
39960 (grub_setjmp): Mark with 'returns_twice' attribute.
39961 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
39962 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
39963 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
39965 2009-04-01 Robert Millan <rmh@aybabtu.com>
39967 Reapply fix from 2008-07-28 which was accidentally reverted; also
39968 perform the same fix to a similar check in same function.
39970 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39971 with the same number are found, just use issue a warning with
39972 grub_dprintf(), as this error has been reported to be non-fatal.
39974 2009-03-31 Pavel Roskin <proski@gnu.org>
39976 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
39977 for cross-compilation.
39979 2009-03-30 Robert Millan <rmh@aybabtu.com>
39981 Fix i386-ieee1275 build.
39983 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
39984 Remove declaration.
39986 2009-03-30 Pavel Roskin <proski@gnu.org>
39988 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
39989 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
39990 zero-terminated, rely only on the strlen value. Fix comparison
39991 of strings differing in length.
39993 2009-03-30 Robert Millan <rmh@aybabtu.com>
39995 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
39996 checking for abi version. Improve error messages on BIOS to notify
39997 user about `linux16' command.
39999 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
40003 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
40004 in case of collision
40005 * disk/scsi.c (grub_scsi_open): free scsi in case of error
40007 2009-03-29 Robert Millan <rmh@aybabtu.com>
40009 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
40010 set `vid_mode' accordingly.
40011 (grub_linux_boot): Process `vid_mode' and set video mode.
40013 2009-03-29 Robert Millan <rmh@aybabtu.com>
40015 * util/grub.d/10_linux.in (linux_entry): New function.
40016 Factorize generation of Linux boot entries.
40018 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
40020 Make the format of Environment Block plain text. The boot loader
40021 part is not tested well yet.
40023 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
40025 (envblk): Likewise.
40026 (usage): Remove "info" and "clear". Add "unset". Update the
40027 description of "set", as this does not delete variables any
40029 (create_envblk_file): Complete rewrite.
40030 (open_envblk_file): Likewise.
40031 (cmd_info): Removed.
40032 (cmd_list): Likewise.
40033 (cmd_set): Likewise.
40034 (cmd_clear): Likewise.
40035 (list_variables): New function.
40036 (write_envblk): Likewise.
40037 (set_variables): Likewise.
40038 (unset_variables): Likewise.
40039 (main): Complete rewrite.
40041 * commands/loadenv.c (buffer): Removed.
40042 (envblk): Likewise.
40043 (open_envblk_file): New function.
40044 (read_envblk_file): Complete rewrite.
40045 (grub_cmd_load_env): Likewise.
40046 (grub_cmd_list_env): Likewise.
40047 (struct blocklist): New struct.
40048 (free_blocklists): New function.
40049 (check_blocklists): Likewise.
40050 (write_blocklists): Likewise.
40051 (grub_cmd_save_env): Complete rewrite.
40053 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
40054 a plain text signature.
40055 (GRUB_ENVBLK_MAXLEN): Removed.
40056 (struct grub_envblk): Complete rewrite.
40057 (grub_envblk_find): Removed.
40058 (grub_envblk_insert): Likewise.
40059 (grub_envblk_open): New prototype.
40060 (grub_envblk_set): Likewise.
40061 (grub_envblk_delete): Put const to VALUE.
40062 (grub_envblk_iterate): Put const to NAME and VALUE.
40063 (grub_envblk_close): New prototype.
40064 (grub_envblk_buffer): New inline function.
40065 (grub_envblk_size): Likewise.
40067 * lib/envblk.c: Include grub/mm.h.
40068 (grub_env_find): Removed.
40069 (grub_envblk_open): New function.
40070 (grub_envblk_close): Likewise.
40071 (escaped_value_len): Likewise.
40072 (find_next_line): Likewise.
40073 (grub_envblk_insert): Removed.
40074 (grub_envblk_set): New function.
40075 (grub_envblk_delete): Complete rewrite.
40076 (grub_envblk_iterate): Likewise.
40078 2009-03-28 Robert Millan <rmh@aybabtu.com>
40080 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
40081 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
40082 variables. Use 16-bit loader.
40083 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
40085 * kern/i386/loader.S (grub_linux_boot): Rename to ...
40086 (grub_linux16_boot): ... this. Update all users.
40087 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
40088 (grub_linux_boot): ... this. Update all users.
40090 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
40091 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
40092 commands to `linux16' and `initrd16'.
40093 (GRUB_MOD_FINI(linux)): Rename to ...
40094 (GRUB_MOD_FINI(linux16)): ... this.
40096 2009-03-24 Pavel Roskin <proski@gnu.org>
40098 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
40099 not just for compilation.
40101 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
40103 Move multiboot helper out of kernel
40105 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
40106 `loader/i386/multiboot_helper.S'.
40107 * conf/i386-coreboot.rmk: Likewise
40108 * conf/i386-ieee1275.rmk: Likewise
40110 * kern/i386/loader.S: Move multiboot helpers from here...
40111 * loader/i386/multiboot_helper.S: ...moved here
40112 * include/grub/i386/loader.h: Move declarations of multiboot
40113 helpers from here...
40114 * include/grub/i386/multiboot.h: ...moved here
40115 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
40117 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40119 * kern/env.c (grub_env_context_open): Added an argument to specify
40120 whether a new context inherits exported variables from current
40121 one. This is useful when making a sandbox to interpret a config
40123 All callers updated.
40125 * include/grub/env.h (grub_env_context_open): Updated the prototype.
40127 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40129 * kern/env.c (grub_env_context_close): Fix memory leaks.
40131 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
40133 * normal/main.c (grub_normal_execute): Added an argument
40134 BATCH to specify if an interactive interface should be provided
40135 after reading a config file.
40136 All callers updated.
40137 (read_command_list): Prevent being executed twice.
40138 (read_fs_list): Likewise.
40140 * include/grub/normal.h (grub_normal_execute): Updated the
40143 2009-03-22 Pavel Roskin <proski@gno.org>
40145 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
40147 * kern/i386/pc/startup.S: Likewise.
40148 * kern/i386/efi/startup.S: Likewise.
40149 * kern/i386/ieee1275/startup.S: Likewise.
40150 * kern/i386/coreboot/startup.S: Likewise.
40151 * kern/x86_64/efi/startup.S: Likewise.
40153 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
40154 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
40155 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
40157 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
40159 Bugfixes in multiboot for bugs uncovered by solaris kernel.
40161 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
40163 Use vaddr of correct segment for entry_point.
40165 2009-03-21 Bean <bean123ch@gmail.com>
40167 * commands/blocklist.c: Add include file <grub/command.h>, remove
40168 <grub/normal.h> and <grub/arg.h>.
40169 (grub_cmd_blocklist): Use the new command interface.
40170 (GRUB_MOD_INIT): Likewise.
40171 (GRUB_MOD_FINI): Likewise.
40172 * commands/boot.c: Likewise.
40173 * commands/cat.c: Likewise.
40174 * commands/cmp.c: Likewise.
40175 * commands/configfile.c: Likewise.
40176 * commands/crc.c: Likewise.
40177 * commands/echo.c: Likewise.
40178 * commands/halt.c: Likewise.
40179 * commands/handler.c: Likewise.
40180 * commands/hdparm.c: Likewise.
40181 * commands/help.c: Likewise.
40182 * commands/hexdump.c: Likewise.
40183 * commands/loadenv.c: Likewise.
40184 * commands/ls.c: Likewise.
40185 * commands/lsmmap.c: Likewise.
40186 * commands/lspci.c: Likewise.
40187 * commands/loadenv.c: Likewise.
40188 * commands/read.c: Likewise.
40189 * commands/reboot.c: Likewise.
40190 * commands/search.c: Likewise.
40191 * commands/sleep.c: Likewise.
40192 * commands/test.c: Likewise.
40193 * commands/usbtest.c: Likewise.
40194 * commands/videotest.c: Likewise.
40195 * commands/i386/cpuid.c: Likewise.
40196 * commands/i386/pc/halt.c: Likewise.
40197 * commands/i386/pc/play.c: Likewise.
40198 * commands/i386/pc/pxecmd.c: Likewise.
40199 * commands/i386/pc/vbeinfo.c: Likewise.
40200 * commands/i386/pc/vbetest.c: Likewise.
40201 * commands/ieee1275/suspend.c: Likewise.
40202 * disk/loopback.c: Likewise.
40203 * font/font_cmd.c: Likewise.
40204 * hello/hello.c: Likewise.
40205 * loader/efi/appleloader.c: Likewise.
40206 * loader/efi/chainloader.c: Likewise.
40207 * loader/i386/bsd.c: Likewise.
40208 * loader/i386/efi/linux.c: Likewise.
40209 * loader/i386/ieee1275/linux.c: Likewise.
40210 * loader/i386/linux.c: Likewise.
40211 * loader/i386/pc/chainloader.c: Likewise.
40212 * loader/i386/pc/linux.c: Likewise.
40213 * loader/powerpc/ieee1275/linux.c: Likewise.
40214 * loader/multiboot_loader.c: Likewise.
40215 * term/gfxterm.c: Likewise.
40216 * term/i386/pc/serial.c: Likewise.
40217 * term/terminfo.c: Likewise.
40219 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
40220 * term/i386/pc/vga.c: Likewise.
40221 * video/readers/jpeg.c: Likewise.
40222 * video/readers/png.c: Likewise.
40223 * video/readers/tga.c: Likewise.
40225 * util/grub-fstest (cmd_loopback): Removed.
40226 (cmd_blocklist): Likewise.
40227 (cmd_ls): Likewise.
40228 (grub_register_command): Likewise.
40229 (grub_unregister_command): Likewise.
40230 (execute_command): Use grub_command_find to locate command and execute
40233 * include/grub/efi/chainloader.h: Removed.
40234 * loader/efi/chainloader_normal.c: Likewise.
40235 * loader/i386/bsd_normal.c: Likewise.
40236 * loader/i386/pc/chainloader_normal.c: Likewise.
40237 * loader/i386/pc/multiboot_normal.c: Likewise.
40238 * loader/linux_normal.c: Likewise.
40239 * loader/multiboot_loader_normal.c: Likewise.
40240 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
40242 * gencmdlist.sh: Scan new registration command grub_register_extcmd
40243 and grub_register_command_p1.
40245 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
40246 kern/command.c, lib/arg.c and commands/extcmd.c.
40247 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
40248 (minicmd_mod_SOURCES): New variable.
40249 (minicmd_mod_CFLAGS): Likewise.
40250 (minicmd_mod_LDFLAGS): Likewise.
40251 (extcmd_mod_SOURCES): Likewise.
40252 (extcmd_mod_CFLAGS): Likewise.
40253 (extcmd_mod_LDFLAGS): Likewise.
40254 (boot_mod_SOURCES): Removed.
40255 (boot_mod_CFLAGS): Likewise.
40256 (boot_mod_LDFLAGS): Likewise.
40258 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
40260 (kernel_img_HEADERS): Add command.h.
40261 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
40262 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
40264 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
40265 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
40266 remove the corresponding normal mode command.
40267 (normal_mod_SOURCES): Remove normal/arg.c.
40268 * conf/i386-coreboot.rmk: Likewise.
40269 * conf/i386-efi.rmk: Likewise.
40270 * conf/i386-ieee1275.rmk: Likewise.
40271 * conf/powerpc-ieee1275.rmk: Likewise.
40272 * conf/x86_64-efi.rmk: Likewise.
40274 * include/grub/arg.h: Move from here ...
40275 * include/grub/lib/arg.h: ... to here.
40277 * normal/arg.c: Move from here ...
40278 * lib/arg.c: ... to here.
40280 * commands/extcmd.c: New file.
40281 * commands/minicmd.c: Likewise.
40282 * include/grub/command.h: Likewise.
40283 * include/grub/extcmd.h: Likewise.
40284 * kern/command.c: Likewise.
40285 * kern/corecmd.c: Likewise.
40287 * kern/list.c (grub_list_iterate): Return int instead of void.
40288 (grub_list_insert): New function.
40289 (grub_prio_list_insert): Likewise.
40291 * kern/rescue.c (grub_rescue_command): Removed.
40292 (grub_rescue_command_list): Likewise.
40293 (grub_rescue_register_command): Likewise.
40294 (grub_rescue_unregister_command): Likewise.
40295 (grub_rescue_cmd_boot): Move to minicmd.c
40296 (grub_rescue_cmd_help): Likewise.
40297 (grub_rescue_cmd_info): Likewise.
40298 (grub_rescue_cmd_boot): Likewise.
40299 (grub_rescue_cmd_testload): Likewise.
40300 (grub_rescue_cmd_dump): Likewise.
40301 (grub_rescue_cmd_rmmod): Likewise.
40302 (grub_rescue_cmd_lsmod): Likewise.
40303 (grub_rescue_cmd_exit): Likewise.
40304 (grub_rescue_print_devices): Moved to corecmd.c.
40305 (grub_rescue_print_files): Likewise.
40306 (grub_rescue_cmd_ls): Likewise.
40307 (grub_rescue_cmd_insmod): Likewise.
40308 (grub_rescue_cmd_set): Likewise.
40309 (grub_rescue_cmd_unset): Likewise.
40310 (attempt_normal_mode): Use grub_command_find to get normal module.
40311 (grub_enter_rescue_mode): Use grub_register_core_commands to register
40312 commands, remove grub_rescue_register_command calls.
40314 * normal/command.c (grub_register_command): Removed.
40315 (grub_unregister_command): Likewise.
40316 (grub_command_find): Likewise.
40317 (grub_iterate_commands): Likewise.
40318 (rescue_command): Likewise.
40319 (export_command): Moved to corecmd.c.
40320 (set_command): Removed.
40321 (unset_command): Likewise.
40322 (insmod_command): Likewise.
40323 (rmmod_command): Likewise.
40324 (lsmod_command): Likewise.
40325 (grub_command_init): Likewise.
40327 * normal/completion.c (iterate_command): Use cmd->prio to check for
40329 (complete_arguments): Use grub_extcmd_t structure to find options.
40330 (grub_normal_do_completion): Change function grub_iterate_commands to
40331 grub_command_iterate.
40333 * normal/execute.c (grub_script_execute_cmd): No need to parse
40336 * normal/main.c (grub_dyncmd_dispatcher): New function.
40337 (read_command_list): Register unload commands as dyncmd.
40338 (grub_cmd_normal): Use new command interface, register rescue,
40339 unregister normal at entry, register normal, unregister rescue at exit.
40341 * include/grub/list.h (grub_list_test_t): New type.
40342 (grub_list_iterate): Return int instead of void.
40343 (grub_list_insert): New function.
40344 (GRUB_AS_NAMED_LIST_P): New macro.
40345 (GRUB_AS_PRIO_LIST): Likewise.
40346 (GRUB_AS_PRIO_LIST_P): Likewise.
40347 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
40348 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
40349 (grub_prio_list): New structure.
40350 (grub_prio_list_insert): New function.
40351 (grub_prio_list_remove): New inline function.
40353 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
40354 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
40355 (GRUB_COMMAND_FLAG_MENU): Likewise.
40356 (GRUB_COMMAND_FLAG_BOTH): Likewise.
40357 (GRUB_COMMAND_FLAG_TITLE): Likewise.
40358 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
40359 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
40360 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
40361 (grub_command): Likewise.
40362 (grub_register_command): Likewise.
40363 (grub_command_find): Likewise.
40364 (grub_iterate_commands): Likewise.
40365 (grub_command_init): Likewise.
40366 (grub_arg_parse): Likewise.
40367 (grub_arg_show_help): Likewise.
40369 * include/grub/rescue.h (grub_rescue_register_command): Removed.
40370 (grub_rescue_unregister_command): Likewise.
40372 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
40373 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
40374 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
40376 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
40377 grub_rescue_cmd_initrd.
40378 * include/grub/i386/loader.h: Likewise.
40379 * include/grub/x86_64/loader.h: Likewise.
40381 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
40383 2009-03-21 Bean <bean123ch@gmail.com>
40385 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
40386 instead of stat in mingw environment.
40388 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
40390 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
40392 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
40395 2009-03-21 Bean <bean123ch@gmail.com>
40397 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
40398 out of range error.
40400 2009-03-18 Michel Dänzer <michel@daenzer.net>
40402 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
40403 checking inode flags for EXT4_EXTENTS_FLAG.
40405 2009-03-18 Robert Millan <rmh@aybabtu.com>
40407 * loader/i386/linux.c: Include `<grub/video.h>' and
40408 `<grub/i386/pc/vbe.h>'..
40409 (grub_linux_setup_video): New function. Loosely based on the EFI one.
40410 (grub_linux32_boot): Attempt to configure video settings with
40411 grub_linux_setup_video().
40412 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
40413 to avoid grub_console_fini() which would step out of graphical mode
40416 2009-03-14 Robert Millan <rmh@aybabtu.com>
40418 Fix build on powerpc.
40419 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
40421 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
40423 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
40424 background image command.
40426 2009-03-12 Colin D Bennett <colin@gibibit.com>
40428 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
40429 (grub_gfxterm_putchar): Extract pairs of identical calls to
40430 draw_cursor out of conditional blocks.
40432 2009-03-11 Pavel Roskin <proski@gnu.org>
40434 * fs/hfs.c (grub_hfs_strncasecmp): New function.
40435 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
40437 2009-03-11 Robert Millan <rmh@aybabtu.com>
40439 * loader/i386/multiboot_elfxx.c
40440 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
40442 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
40444 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
40447 2009-03-11 Robert Millan <rmh@aybabtu.com>
40449 * loader/i386/multiboot.c (code_size): New variable.
40450 (grub_multiboot): Define offsets by adding to `code_size' rather
40451 than subtracting from `grub_multiboot_payload_size'. Provide
40452 4-byte alignment to MBI and others by increasing
40453 `boot_loader_name_length' appropriately.
40455 * loader/i386/multiboot_elfxx.c
40456 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
40458 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
40460 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
40463 2009-03-08 Robert Millan <rmh@aybabtu.com>
40465 Make loader/i386/linux.c usable on i386-pc again.
40467 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
40469 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
40472 2009-03-07 Bean <bean123ch@gmail.com>
40474 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
40477 2009-03-06 Robert Millan <rmh@aybabtu.com>
40479 Fix display issue on terminals with screen size other than 80x25
40480 (e.g. gfxterm with resolution higher than 640x480).
40482 * normal/main.c (grub_normal_init_page): Display title text in a
40483 position relative to the center of the terminal instead of relying
40484 on a hardcoded offset.
40486 2009-03-04 Robert Millan <rmh@aybabtu.com>
40488 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
40491 * Makefile.in (host_kernel): New variable.
40492 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
40493 scripts instead of just the windows one.
40494 * configure.ac: Initialize and AC_SUBST `host_kernel'.
40496 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40498 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
40500 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40501 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40502 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40504 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40505 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40507 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40509 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
40510 or if there's no space for the disk label and print the partition number on a
40513 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
40515 * util/misc.c: Include <time.h>.
40516 (grub_millisleep): New function.
40518 2009-03-04 Bean <bean123ch@gmail.com>
40520 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
40521 another option -mno-red-zone.
40523 * commands/handler.c: Change module description.
40525 * kern/handler.c: Add missing space at the end of description line.
40527 * kern/list.c: Likewise.
40529 2009-03-03 Robert Millan <rmh@aybabtu.com>
40531 Move more components to the relocation area, and fix mbi pointer
40532 handling to use the destination rather than the origin (thanks to
40533 Vladimir Serbinenko for spotting).
40535 * loader/i386/multiboot.c (mbi_dest): New variable.
40536 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
40537 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
40540 2009-03-01 Bean <bean123ch@gmail.com>
40542 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
40543 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
40544 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
40545 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
40547 * loader/i386/efi/linux.c (acpi_guid): New variable.
40548 (acpi_guid): Likewise.
40549 (EBDA_SEG_ADDR): New constant.
40550 (LOW_MEM_ADDR): Likewise.
40551 (FAKE_EBDA_SEG): Likewise.
40552 (fake_bios_data): New function.
40553 (grub_linux_boot): Call fake_bios_data.
40555 2009-03-01 Bean <bean123ch@gmail.com>
40557 * commands/terminal.c: Removed.
40559 * commands/handler.c: New file.
40561 * include/grub/list.h: Likewise.
40563 * include/grub/handler.h: Likewise.
40565 * kern/list.c: Likewise.
40567 * kern/handler.c: Likewise.
40569 * kern/term.h: Include header file <grub/handler.h>.
40570 (grub_term_input): Move next field to the beginning.
40571 (grub_term_output): Likewise.
40572 (grub_term_input_class): New variable.
40573 (grub_term_output_class): Likewise.
40574 (grub_term_register_input): Changed to inline function.
40575 (grub_term_register_output): Likewise.
40576 (grub_term_unregister_input): Likewise.
40577 (grub_term_unregister_output): Likewise.
40578 (grub_term_set_current_input): Likewise.
40579 (grub_term_set_current_output): Likewise.
40580 (grub_term_get_current_input): Likewise.
40581 (grub_term_get_current_output): Likewise.
40582 (grub_term_iterate_input): Removed.
40583 (grub_term_iterate_output): Likewise.
40585 * kern/term.c (grub_term_list_input): Removed.
40586 (grub_term_list_output): Likewise.
40587 (grub_term_input_class): New variable.
40588 (grub_term_output_class): Likewise.
40589 (grub_cur_term_input): Change variable as macro.
40590 (grub_cur_term_output): Likewise.
40591 (grub_term_register_input): Removed.
40592 (grub_term_register_output): Likewise.
40593 (grub_term_unregister_input): Likewise.
40594 (grub_term_unregister_output): Likewise.
40595 (grub_term_set_current_input): Likewise.
40596 (grub_term_set_current_output): Likewise.
40597 (grub_term_iterate_input): Likewise.
40598 (grub_term_iterate_output): Likewise.
40599 (grub_term_get_current_input): Likewise.
40600 (grub_term_get_current_output): Likewise.
40602 * util/grub-editenv.c: Include header file <grub/handler.h>.
40603 (grub_term_get_current_input): Removed.
40604 (grub_term_get_current_output): Likewise.
40605 (grub_term_input_class): New variable.
40606 (grub_term_output_class): Likewise.
40608 * util/grub-fstest.c (grub_term_get_current_input): Removed.
40609 (grub_term_get_current_output): Likewise.
40610 (grub_term_input_class): New variable.
40611 (grub_term_output_class): Likewise.
40613 * util/grub-probe.c (grub_term_get_current_input): Removed.
40614 (grub_term_get_current_output): Likewise.
40615 (grub_term_input_class): New variable.
40616 (grub_term_output_class): Likewise.
40618 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
40619 (grub_term_get_current_output): Likewise.
40620 (grub_term_input_class): New variable.
40621 (grub_term_output_class): Likewise.
40623 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
40624 (terminal_mod_SOURCES): Likewise.
40625 (terminal_mod_CFLAGS): Likewise.
40626 (terminal_mod_LDFLAGS): Likewise.
40628 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
40630 (kernel_img_SOURCES): Add list.c and handler.c.
40631 (kernel_img_HEADERS): Add list.h and handler.h.
40633 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40635 (kernel_mod_SOURCES): Add list.c and handler.c.
40636 (kernel_mod_HEADERS): Add list.h and handler.h.
40638 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
40640 (kernel_elf_SOURCES): Add list.c and handler.c.
40641 (kernel_elf_HEADERS): Add list.h and handler.h.
40643 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40645 (kernel_elf_SOURCES): Add list.c and handler.c.
40646 (kernel_elf_HEADERS): Add list.h and handler.h.
40648 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
40650 (kernel_mod_SOURCES): Add list.c and handler.c.
40651 (kernel_mod_HEADERS): Add list.h and handler.h.
40653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
40655 (kernel_elf_SOURCES): Add list.c and handler.c.
40656 (kernel_elf_HEADERS): Add list.h and handler.h.
40658 2009-02-27 Robert Millan <rmh@aybabtu.com>
40660 Factorize elf32 / elf64 code in Multiboot loader. This will
40661 prevent it from getting out of sync again.
40663 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
40664 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
40665 grub_multiboot_load_elf64): Move from here ...
40666 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
40667 grub_multiboot_load_elf): ... to here (new file).
40669 2009-02-27 Robert Millan <rmh@aybabtu.com>
40671 * util/grub.d/10_linux.in: Rename "single-user mode" to
40674 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
40676 Don't leak in SCSI code.
40677 * disk/scsi.c (grub_scsi_close): free `scsi'.
40679 2009-02-27 Robert Millan <rmh@aybabtu.com>
40681 * loader/i386/pc/multiboot.c: Move from here ...
40682 * loader/i386/multiboot.c: ... to here. Update all users.
40684 2009-02-27 Robert Millan <rmh@aybabtu.com>
40686 Patch from Alexandre Bique <bique.alexandre@gmail.com>
40687 * util/i386/pc/grub-setup.c (setup): Fix directory path.
40689 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
40691 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
40694 2009-02-27 Robert Millan <rmh@aybabtu.com>
40696 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
40697 `0x' qualifier as 0 when base is specified as parameter).
40699 2009-02-24 Bean <bean123ch@gmail.com>
40701 * configure.ac: Check for -mcmodel=large in x86_64 target.
40703 * include/grub/efi/api.h (efi_call_10): New macro.
40704 (efi_wrap_10): New function.
40706 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
40707 (GRUB_PE32_REL_BASED_HIGH): Likewise.
40708 (GRUB_PE32_REL_BASED_LOW): Likewise.
40709 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
40710 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
40711 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
40712 (GRUB_PE32_REL_BASED_SECTION): Likewise.
40713 (GRUB_PE32_REL_BASED_REL): Likewise.
40714 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
40715 (GRUB_PE32_REL_BASED_DIR64): Likewise.
40716 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
40718 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
40721 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
40722 (efi_wrap_10): New function.
40724 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
40726 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
40727 MB/MBP model (NV chipset).
40728 (devdata_devs): Add devpath_5 to the list.
40730 * load/i386/efi/linux.c (video_base): Remove variable.
40731 (RGB_MASK): New macro.
40732 (RGB_MAGIC): Likewise.
40733 (LINE_MIN): Likewise.
40734 (LINE_MAX): Likewise.
40735 (FBTEST_STEP): Likewise.
40736 (FBTEST_COUNT): Likewise.
40737 (fb_list): New variable.
40738 (grub_find_video_card): Remove function.
40739 (find_framebuf): New function.
40740 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
40743 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
40744 problem for x86_64.
40746 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
40748 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
40750 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
40753 2009-02-22 Robert Millan <rmh@aybabtu.com>
40755 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
40756 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
40757 in our relocation, instead of using it directly from heap. Also
40758 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
40760 2009-02-21 Robert Millan <rmh@aybabtu.com>
40762 Implement USB keyboard support (based on patch by Marco Gerards)
40764 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
40765 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
40766 (usb_keyboard_mod_LDFLAGS): New variables.
40768 * term/usb_keyboard.c: New file.
40770 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
40772 Corrected wrong declaration
40774 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
40776 2009-02-14 Christian Franke <franke@computer.org>
40778 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
40779 (grub_lspci_iter): Print class code and programming interface byte.
40781 2009-02-14 Christian Franke <franke@computer.org>
40783 * gendistlist.sh: Ignore `.svn' directories.
40785 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
40787 * fs/fat.c: Add 2009 to Copyright line.
40789 2009-02-14 Christian Franke <franke@computer.org>
40791 * commands/hdparm.c: New file. Provides `hdparm' command
40792 which sends ATA commands via grub_disk_ata_pass_through ().
40794 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
40796 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
40797 and <grub/cpu/io.h> to include/grub/ata.h.
40798 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
40799 (GRUB_CDROM_SECTOR_SIZE): Remove.
40800 (GRUB_ATA_*): Move to include/grub/ata.h.
40801 (GRUB_ATAPI_*): Likewise.
40802 (enum grub_ata_commands): Likewise.
40803 (enum grub_ata_timeout_milliseconds): Likewise.
40804 (struct grub_ata_device): Likewise.
40805 (grub_ata_regset): Likewise.
40806 (grub_ata_regget): Likewise.
40807 (grub_ata_regset2): Likewise.
40808 (grub_ata_regget2): Likewise.
40809 (grub_ata_check_ready): Likewise.
40810 (grub_ata_wait_not_busy): Remove static, exported in
40811 include/grub/ata.h.
40812 (grub_ata_wait_drq): Likewise.
40813 (grub_ata_pio_read): Likewise.
40815 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
40816 function for hdparm.mod.
40818 * include/grub/ata.h: New file, contains declarations from
40820 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
40822 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
40823 (grub_disk_ata_pass_through): New exported variable.
40825 * kern/disk.c (grub_disk_ata_pass_through): New variable.
40827 2009-02-13 Colin D Bennett <colin@gibibit.com>
40829 Support multiple fallback entries, and provide an API to support
40830 executing default+fallback menu entries. Renamed the `terminal' menu
40833 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
40834 variable declaration.
40835 (grub_menu_execute_callback): New structure declaration.
40836 (grub_menu_execute_callback_t): New typedef.
40837 (grub_menu_execute_with_fallback): New function declaration.
40838 (grub_menu_get_entry): Likewise.
40839 (grub_menu_get_timeout): Likewise.
40840 (grub_menu_set_timeout): Likewise.
40842 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
40844 * normal/menu.c (grub_wait_after_message): Moved to
40845 `normal/menu_text.c'.
40846 (draw_border): Likewise.
40847 (print_message): Likewise.
40848 (print_entry): Likewise.
40849 (print_entries): Likewise.
40850 (grub_menu_init_page): Likewise.
40851 (get_entry_number): Likewise.
40852 (print_timeout): Likewise.
40853 (run_menu): Likewise.
40854 (grub_menu_execute_entry): Likewise.
40855 (show_text_menu): Likewise.
40856 (get_and_remove_first_entry_number): New function.
40857 (grub_menu_execute_with_fallback): Likewise.
40858 (get_entry): Renamed to ...
40859 (grub_menu_get_entry): .. this and made it global.
40860 (get_timeout): Renamed to ...
40861 (grub_menu_get_timeout): ... this and made it global.
40862 (set_timeout): Renamed to ...
40863 (grub_menu_set_timeout): ... this and made it global.
40864 (grub_normal_terminal_menu_viewer): Renamed to ...
40865 (grub_normal_text_menu_viewer): ... this.
40867 * normal/menu_text.c: New file. Extracted text-menu-specific code
40868 from normal/menu.c.
40870 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
40871 (normal_mod_SOURCES): Likewise.
40873 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40874 (normal_mod_SOURCES): Likewise.
40876 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40877 (normal_mod_SOURCES): Likewise.
40879 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
40880 (normal_mod_SOURCES): Likewise.
40882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40883 (normal_mod_SOURCES): Likewise.
40885 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40886 (normal_mod_SOURCES): Likewise.
40888 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40889 (normal_mod_SOURCES): Likewise.
40891 2009-02-11 Robert Millan <rmh@aybabtu.com>
40893 * util/grub.d/00_header.in: Update old reference to `font' command.
40895 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
40897 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
40899 Based on patch from Javier Martín.
40901 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
40903 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
40904 to avoid false positives with FAT.
40905 (grub_fstest_SOURCES): Likewise.
40906 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40907 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40909 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
40910 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40911 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40913 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
40915 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
40916 bpb.version_specific.fat12_or_fat16.fstype and
40917 bpb.version_specific.fat32.fstype.
40919 2009-02-08 Robert Millan <rmh@aybabtu.com>
40921 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
40923 2009-02-08 Robert Millan <rmh@aybabtu.com>
40925 * Makefile.in (host_os, host_cpu): New variables.
40926 (target_os): Remove. Update all users.
40928 2009-02-08 Marco Gerards <marco@gnu.org>
40930 * Makefile.in (enable_grub_emu_usb): New variable.
40931 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
40932 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
40933 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
40934 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
40935 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
40936 `usbtest.mod' and `usbms.mod'.
40937 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
40938 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
40939 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
40940 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
40941 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
40944 * disk/usbms.c: New file.
40946 * include/grub/usb.h: Likewise.
40948 * include/grub/usbtrans.h: Likewise.
40950 * include/grub/usbdesc.h: Likewise.
40952 * bus/usb/usbtrans.c: Likewise.
40954 * bus/usb/ohci.c: Likewise.
40956 * bus/usb/uhci.c: Likewise.
40958 * bus/usb/usbhub.c: Likewise.
40960 * bus/usb/usb.c: Likewise.
40962 * commands/usbtest.c: Likewise.
40964 * util/usb.c: Likewise.
40966 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
40968 * configure.ac: Test for libusb presence.
40970 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
40972 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
40974 * kern/mm.c: Add more comments.
40976 2009-02-08 Robert Millan <rmh@aybabtu.com>
40978 Patch from Javier Martín.
40979 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
40980 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
40982 2009-02-08 Robert Millan <rmh@aybabtu.com>
40984 * fs/cpio.c: Split tar functionality to ...
40985 * fs/tar.c: ... here (new file). Update all users.
40987 2009-02-07 Robert Millan <rmh@aybabtu.com>
40989 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
40990 backward-incompatible features.
40992 Based on patch from Javier Martín, with some adjustments.
40994 2009-02-07 Michael Scherer <misc@mandriva.org>
40996 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
40998 2009-02-07 Robert Millan <rmh@aybabtu.com>
41000 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
41001 position of `disk/lvm.c' to ensure grub_init_all() always picks it
41002 after the RAID stuff.
41004 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
41006 Fixes problem when running vbetest command as reported by
41007 Vladimir Serbinenko <phcoder@gmail.com>.
41009 * (grub_vbe_set_video_mode): Fixed problem with text modes.
41011 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
41013 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
41014 /dev/md/NpN style mdraid devices.
41016 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41018 * util/unifont2pff.rb: Remove.
41020 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41022 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
41025 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
41027 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
41028 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41029 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41030 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
41031 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41032 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41033 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41035 2009-02-02 Christian Franke <franke@computer.org>
41037 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
41039 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
41041 * INSTALL: Note that we now require at least autoconf 2.59 and
41042 that LZO is optional.
41044 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41046 Base on patch on bug #24154 created by Tomas Tintera
41047 <trosos@seznam.cz>.
41049 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
41051 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
41053 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
41054 <bero@arklinux.org>.
41056 * normal/parser.y (script_init): Add missing semicolon.
41058 2009-01-31 Colin D Bennett <colin@gibibit.com>
41060 * normal/main.c: Add include to grub/menu_viewer.h.
41061 (free_menu_entry_classes): Added.
41062 (grub_normal_menu_addentry): Added class property handling.
41063 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
41064 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
41066 * normal/menu_viewer.c: New file.
41068 * normal/menu.c (run_menu_entry): Renamed to ...
41069 (grub_menu_execute_entry): ... this and made it as global.
41070 (grub_menu_run): Renamed to ...
41071 (show_text_menu): ... this and made it local.
41072 (show_text_menu): Adapt to new function names.
41073 (grub_normal_terminal_menu_viewer): New global variable.
41075 * include/grub/menu.h: New file.
41077 * include/grub/menu_viewer.h: New file.
41079 * include/grub/normal.h: Added include to grub/menu.h.
41080 (grub_menu_entry): Moved to include/grub/menu.h.
41081 (grub_menu_entry_t): Likewise.
41082 (grub_menu): Likewise.
41083 (grub_menu_t): Likewise.
41084 (grub_normal_terminal_menu_viewer): Added.
41085 (grub_menu_execute_entry): Likewise.
41086 (grub_menu_run): Removed.
41088 * DISTLIST: Added include/grub/menu.h.
41089 Added include/grub/menu_viewer.h.
41090 Added normal/menu_viewer.c.
41092 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
41094 * normal/execute.c (grub_script_execute_menuentry): Changed to use
41095 arglist for menutitle arguments.
41097 * normal/main.c (grub_normal_menu_addentry): Likewise.
41099 * normal/parser.y (menuentry): Likewise.
41101 * normal/script.c (grub_script_create_cmdmenu): Likewise.
41103 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
41104 (grub_script_create_cmdmenu): Likewise.
41106 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
41108 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
41111 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
41113 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
41115 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
41117 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41119 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41121 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
41123 2009-01-30 Christian Franke <franke@computer.org>
41125 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
41126 in option help text.
41128 2009-01-27 Pavel Roskin <proski@gnu.org>
41130 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
41132 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41134 * commands/lsmmap.c: Add include to grub/machine/memory.h.
41136 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
41138 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
41139 unregister function.
41141 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
41143 * disk/scsi.c (grub_scsi_read): Fix sign problem.
41145 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
41147 * util/grub-mkfont.c (usage): Fix typo.
41149 * util/elf/grub-mkimage.c (load_modules): Fix warning.
41151 2009-01-26 Daniel Mierswa <impulze@impulze.org>
41153 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
41155 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
41157 * kern/misc.c (grub_strcasecmp): New function.
41158 (grub_strcasecmp): Use grub_size_t instead of int for length.
41160 * include/grub/misc.h: Update function prototypes.
41162 2009-01-26 Robert Millan <rmh@aybabtu.com>
41164 * configure.ac: Fix cross-compilation check.
41166 2009-01-22 Christian Franke <franke@computer.org>
41168 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
41169 (precision) digit string. Allow `.format2' without `format1' (width).
41170 Limit input chars for `%s' output to `format2' if specified. This is
41171 compatible with standard printf ().
41173 2009-01-22 Christian Franke <franke@computer.org>
41175 * disk/ata.c (grub_ata_wait_status): Replace by ...
41176 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
41177 other status bits may be invalid while BSY is asserted.
41178 (grub_ata_check_ready): New function.
41179 (grub_ata_cmd): Removed.
41180 (grub_ata_wait_drq): New function.
41181 (grub_ata_strncpy): Remove inline.
41182 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
41183 and error check now done by grub_ata_wait_drq ().
41184 (grub_ata_pio_write): Likewise.
41185 (grub_atapi_identify): Set DEV before check for !BSY. Use
41186 grub_ata_wait_drq () to wait for data.
41187 (grub_ata_device_initialize): Add status register check to
41188 detect missing SATA slave devices. Add debug messages.
41189 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
41190 (grub_atapi_packet): Set DEV before check for !BSY. Replace
41191 transfer loop by grub_ata_pio_write ().
41192 (grub_ata_identify): Set DEV before check for !BSY. Use
41193 grub_ata_wait_drq () to wait for data.
41194 (grub_ata_setaddress): Set DEV before check for !BSY.
41195 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
41196 read/write in one loop. Fix invalid command on write. Fix incomplete
41197 command on (size % batch) == 0. Add missing error check after write of
41198 last block. Add debug messages.
41199 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
41201 2009-01-19 Christian Franke <franke@computer.org>
41203 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
41204 (GRUB_ATAPI_IREASON_*): Likewise.
41205 (grub_ata_pio_write): Fix timeout error return.
41206 (grub_atapi_identify): Add grub_ata_wait () after cmd.
41207 (grub_atapi_wait_drq): New function.
41208 (grub_atapi_packet): New parameter `size'.
41209 Use grub_atapi_wait_drq () and direct write instead of
41210 grub_ata_pio_write ().
41211 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
41212 reads the number of bytes requested by the device for each DRQ
41214 (grub_atapi_write): Remove old implementation, return not
41215 implemented instead.
41217 2009-01-19 Christian Franke <franke@computer.org>
41219 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
41220 of 512 to calculate data size.
41221 (grub_scsi_read12): Likewise.
41222 (grub_scsi_write10): Likewise.
41223 (grub_scsi_write12): Likewise.
41224 (grub_scsi_read): Adjust size according to blocksize.
41225 Add checks for invalid blocksize and unaligned transfer.
41227 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
41229 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
41231 * term/gfxterm.c (write_char): Fix background rendering for wide
41234 2009-01-19 Robert Millan <rmh@aybabtu.com>
41236 * config.guess: Update to latest version from config git.
41237 * config.sub: Likewise.
41239 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
41241 * Makefile.in: Change font compilation to use new grub-mkfont instead
41244 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
41245 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41246 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41247 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41248 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41249 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41250 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41251 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41252 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41254 2009-01-16 Christian Franke <franke@computer.org>
41256 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
41257 (enum grub_ata_timeout_milliseconds): New enum.
41258 (grub_ata_wait_status): Add parameter milliseconds.
41259 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
41260 recovery from timed-out commands.
41261 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
41262 return grub_errno instead of REG_ERROR.
41263 (grub_ata_pio_write): Add parameter milliseconds.
41264 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
41265 Pass milliseconds to grub_ata_wait_status () and
41266 grub_ata_pio_read ().
41267 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
41268 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
41269 grub_ata_wait_status (). Fix IDENTIFY timeout check.
41270 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
41271 It is not suitable for device detection, because DEV bit is ignored,
41272 the command may run too long, and not all devices set the signature
41274 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
41275 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
41276 Fix device selection, DEV bit must be set first to address the registers
41277 of the correct device.
41278 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
41279 grub_ata_pio_read/write ().
41280 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
41281 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
41283 2009-01-13 Carles Pina i Estany <carles@pina.cat>
41285 * util/grub-editenv.c (main): Use fseeko(), not fseek().
41287 2009-01-13 Bean <bean123ch@gmail.com>
41289 * util/grub-mkfont.c (write_font): forget to remove some debug code.
41291 2009-01-13 Bean <bean123ch@gmail.com>
41293 * Makefile.in: (enable_grub_mkfont): New variable.
41294 (freetype_cflags): Likewise.
41295 (freetype_libs): Likewise.
41297 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
41298 (grub_mkfont_SOURCES): New variable.
41299 (grub_mkfont_CFLAGS): Likewise.
41300 (grub_mkfont_LDFLAGS): Likewise.
41302 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
41303 library if `--enable-grub-mkfont' is requested.
41304 (enable_grub_mkfont): New variable.
41305 (freetype_cflags): Likewise.
41306 (freetype_libs): Likewise.
41308 * util/grub-mkfont.c: New file.
41310 2009-01-12 Christian Franke <franke@computer.org>
41312 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
41313 mode check. Fix setting of compat_use[].
41315 2009-01-10 Robert Millan <rmh@aybabtu.com>
41317 Update a few copyright years which we forgot to do in 2008 (only for
41318 files whose changes made in 2008 were copyright-significant)
41320 * Makefile.in: Add 2008 to Copyright line.
41321 * disk/ieee1275/ofdisk.c: Likewise.
41322 * disk/efi/efidisk.c: Likewise.
41323 * kern/dl.c: Likewise.
41324 * kern/sparc64/ieee1275/init.c: Likewise.
41325 * kern/mm.c: Likewise.
41326 * kern/efi/mm.c: Likewise.
41327 * boot/i386/pc/boot.S: Likewise.
41328 * genfslist.sh: Likewise.
41329 * fs/iso9660.c: Likewise.
41330 * fs/hfs.c: Likewise.
41331 * fs/jfs.c: Likewise.
41332 * fs/minix.c: Likewise.
41333 * fs/ufs.c: Likewise.
41334 * gensymlist.sh.in: Likewise.
41335 * genkernsyms.sh.in: Likewise.
41336 * include/grub/misc.h: Likewise.
41337 * include/grub/types.h: Likewise.
41338 * include/grub/symbol.h: Likewise.
41339 * include/grub/elf.h: Likewise.
41340 * include/grub/kernel.h: Likewise.
41341 * include/grub/disk.h: Likewise.
41342 * include/grub/dl.h: Likewise.
41343 * include/grub/i386/linux.h: Likewise.
41344 * include/grub/i386/pc/biosdisk.h: Likewise.
41345 * include/grub/efi/api.h: Likewise.
41346 * include/grub/efi/pe32.h: Likewise.
41347 * include/grub/util/misc.h: Likewise.
41348 * normal/execute.c: Likewise.
41349 * normal/arg.c: Likewise.
41350 * normal/completion.c: Likewise.
41351 * normal/lexer.c: Likewise.
41352 * normal/parser.y: Likewise.
41353 * normal/misc.c: Likewise.
41354 * commands/i386/pc/vbeinfo.c: Likewise.
41355 * commands/hexdump.c: Likewise.
41356 * commands/terminal.c: Likewise.
41357 * commands/ls.c: Likewise.
41358 * commands/help.c: Likewise.
41359 * partmap/pc.c: Likewise.
41360 * loader/efi/chainloader.c: Likewise.
41361 * loader/multiboot_loader.c: Likewise.
41362 * loader/i386/pc/multiboot2.c: Likewise.
41363 * term/efi/console.c: Likewise.
41364 * term/i386/pc/serial.c: Likewise.
41365 * util/lvm.c: Likewise.
41366 * util/console.c: Likewise.
41367 * util/i386/efi/grub-mkimage.c: Likewise.
41368 * util/raid.c: Likewise.
41370 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
41372 * commands/videotest.c: Removed include to grub/machine/memory.h.
41374 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
41375 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
41376 (video_mod_SOURCES): Removed.
41377 (video_mod_CFLAGS): Likewise.
41378 (video_mod_LDFLAGS): Likewise.
41379 (gfxterm_mod_SOURCES): Likewise.
41380 (gfxterm_mod_CFLAGS): Likewise.
41381 (gfxterm_mod_LDFLAGS): Likewise.
41382 (videotest_mod_SOURCES): Likewise.
41383 (videotest_mod_CFLAGS): Likewise.
41384 (videotest_mod_LDFLAGS): Likewise.
41385 (bitmap_mod_SOURCES): Likewise.
41386 (bitmap_mod_CFLAGS): Likewise.
41387 (bitmap_mod_LDFLAGS): Likewise.
41388 (tga_mod_SOURCES): Likewise.
41389 (tga_mod_CFLAGS): Likewise.
41390 (tga_mod_LDFLAGS): Likewise.
41391 (jpeg_mod_SOURCES): Likewise.
41392 (jpeg_mod_CFLAGS): Likewise.
41393 (jpeg_mod_LDFLAGS): Likewise.
41394 (png_mod_SOURCES): Likewise.
41395 (png_mod_CFLAGS): Likewise.
41396 (png_mod_LDFLAGS): Likewise.
41398 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
41399 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
41400 (video_mod_SOURCES): Added.
41401 (video_mod_CFLAGS): Likewise.
41402 (video_mod_LDFLAGS): Likewise.
41403 (videotest_mod_SOURCES): Likewise.
41404 (videotest_mod_CFLAGS): Likewise.
41405 (videotest_mod_LDFLAGS): Likewise.
41406 (bitmap_mod_SOURCES): Likewise.
41407 (bitmap_mod_CFLAGS): Likewise.
41408 (bitmap_mod_LDFLAGS): Likewise.
41409 (tga_mod_SOURCES): Likewise.
41410 (tga_mod_CFLAGS): Likewise.
41411 (tga_mod_LDFLAGS): Likewise.
41412 (jpeg_mod_SOURCES): Likewise.
41413 (jpeg_mod_CFLAGS): Likewise.
41414 (jpeg_mod_LDFLAGS): Likewise.
41415 (png_mod_SOURCES): Likewise.
41416 (png_mod_CFLAGS): Likewise.
41417 (png_mod_LDFLAGS): Likewise.
41418 (gfxterm_mod_SOURCES): Likewise.
41419 (gfxterm_mod_CFLAGS): Likewise.
41420 (gfxterm_mod_LDFLAGS): Likewise.
41422 * term/gfxterm.c: Removed include to grub/machine/memory.h,
41423 grub/machine/console.h.
41425 2009-01-04 Jerone Young <jerone@gmail.com>
41427 Make on screen instructions clearer
41429 Based on patch created by Jidanni <jidanni@jidanni.org>
41431 * normal/menu.c: print clearer instructions on the screen
41433 2009-01-02 Colin D Bennett <colin@gibibit.com>
41437 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
41438 build system and fixed gfxterm.c to work with different sized fonts.
41440 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
41442 * configure: Re-generated.
41444 * DISTLIST: Removed font/manager.c.
41446 Added font/font_cmd.c.
41448 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
41451 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
41453 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
41455 * kern/term.c: Changed users of grub_utf8_to_ucs4.
41457 * normal/menu.c: Likewise.
41459 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
41460 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
41462 * include/grub/font.h: Replaced with new file.
41464 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
41465 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
41466 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
41467 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
41468 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
41469 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
41470 fg_red, fg_green, fg_blue, fg_alpha.
41471 (grub_video_adapter): Removed blit_glyph.
41472 (grub_video_blit_glyph): Removed.
41474 * font/manager.c: Removed file.
41476 * font/font.c: New file.
41478 * font/font_cmd.c: Likewise.
41480 * video/video.c (grub_video_blit_glyph): Removed.
41482 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
41483 (grub_video_vbe_map_rgba): Likewise.
41484 (grub_video_vbe_unmap_color_int): Likewise.
41485 (grub_video_vbe_blit_glyph): Removed.
41486 (grub_video_vbe_adapter): Removed blit_glyph.
41488 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
41489 (get_pixel): Likewise.
41490 (set_pixel): Likewise.
41492 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
41494 * term/gfxterm.c: Adapted to new font engine.
41496 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
41498 * term/i386/pc/vga.c: Likewise.
41500 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
41502 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
41504 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41506 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
41508 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
41510 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
41512 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
41514 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
41516 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
41518 * util/grub.d/00_header.in: Changed to use new loadfont command.
41520 * util/grub-mkconfig_lib.in: Changed font extension.
41522 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
41524 * util/getroot.c (grub_util_get_grub_dev): Add support for
41525 /dev/md/dNNpNN style partitionable mdraid devices.
41527 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
41529 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
41530 at a time limit of the PXE TFTP API correctly.
41531 (grub_pxefs_close): Likewise.
41533 2008-11-29 Robert Millan <rmh@aybabtu.com>
41535 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
41536 grub_ata_device_initialize() calls.
41538 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
41540 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
41542 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
41544 2008-11-28 Robert Millan <rmh@aybabtu.com>
41546 Fix build on powerpc-ieee1275. Based on patch created by
41547 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
41548 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41549 `kern/ieee1275/mmap.c'.
41550 * include/grub/powerpc/ieee1275/memory.h: New file.
41552 Provide grub-install on coreboot.
41553 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
41554 (grub_install_SOURCES): New variable.
41555 * util/i386/pc/grub-install.in: Add a few condition checks to make it
41556 usable on coreboot.
41558 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
41560 * util/grub-fstest.c (grub_term_get_current_input): Change return type
41561 to `grub_term_input_t'.
41562 (grub_term_get_current_output): Change return type to
41563 `grub_term_output_t'.
41565 2008-11-22 Robert Millan <rmh@aybabtu.com>
41567 Fix breakage on coreboot due to declaration mismatch.
41568 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
41569 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
41570 grub_vga_text_cls().
41572 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
41573 comments. Avoid copying one more byte than necessary (just in case).
41575 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
41576 to 0x200000 (avoids trouble with some OFW implementations, and matches
41577 with the one in Yaboot).
41578 Reported by Manoel Abranches
41580 2008-11-20 Robert Millan <rmh@aybabtu.com>
41582 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
41583 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
41585 * util/grub-mkconfig_lib.in (grub_warn): New function.
41586 (convert_system_path_to_grub_path): Use grub_warn() when issuing
41587 warnings, to obtain consistent formatting.
41588 * util/grub.d/00_header.in: Likewise.
41589 * util/update-grub_lib.in: Likewise.
41591 * loader/i386/linux.c (allocate_pages): Fix a warning.
41592 Move comment text to `#error' stanza.
41594 Harmonize ieee1275's grub_available_iterate() with the generic
41595 grub_machine_mmap_iterate() interface (fixes a recently-introduced
41596 build problem on i386-ieee1275):
41597 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
41598 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
41599 parameter `type'. Update all users of this function.
41600 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
41601 `kern/ieee1275/mmap.c'.
41602 * kern/ieee1275/init.c
41603 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
41605 (grub_machine_mmap_iterate): ... this.
41606 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
41607 return type to `grub_err_t'. Update all implementations of this
41608 function prototype.
41609 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
41612 Add `lsmmap' command (lists firmware-provided memory map):
41613 * commands/lsmmap.c: New file.
41614 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
41615 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
41617 * conf/powerpc-ieee1275.rmk: Likewise.
41618 * conf/i386-coreboot.rmk: Likewise.
41619 * conf/i386-ieee1275.rmk: Likewise.
41621 2008-11-19 Robert Millan <rmh@aybabtu.com>
41623 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
41624 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
41625 constraints to initrd allocation (based on code from
41626 loader/i386/pc/linux.c). Without them, initrd was allocated too high
41627 for Linux to find it.
41629 2008-11-14 Robert Millan <rmh@aybabtu.com>
41631 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
41632 order to cope with duplicate slashes.
41634 2008-11-14 Robert Millan <rmh@aybabtu.com>
41636 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
41637 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
41638 don't want to mess with lower memory, because it is used in the Linux
41641 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
41642 an appropriate place in lower memory, between 0x10000 and 0x90000,
41643 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
41644 is in our heap (probably as a result of it being corrupted during
41645 decompression). Add #error instance with comment to explain why this
41646 loader isn't currently usable on PC/BIOS.
41648 2008-11-14 Robert Millan <rmh@aybabtu.com>
41650 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
41651 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
41653 2008-11-12 Robert Millan <rmh@aybabtu.com>
41655 Make loader/i386/linux.c buildable on i386-pc (although disabled).
41657 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
41658 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
41660 * include/grub/i386/pc/memory.h: ... to here.
41662 2008-11-12 Robert Millan <rmh@aybabtu.com>
41664 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
41667 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
41668 (grub_console_cur_color, grub_console_real_putchar)
41669 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41670 (grub_console_setcolorstate, grub_console_setcolor)
41671 (grub_console_getcolor): Move from here ...
41672 * include/grub/i386/vga_common.h: ... to here (new file).
41674 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
41675 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
41676 `<grub/i386/io.h>'.
41677 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
41678 `<grub/i386/vga_common.h>'.
41680 2008-11-12 Robert Millan <rmh@aybabtu.com>
41682 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
41683 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
41684 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
41686 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41687 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
41689 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
41690 grub_console_init() with call to grub_vga_text_init().
41691 (grub_machine_fini): Replace call to
41692 grub_console_fini() with call to grub_vga_text_fini() and
41693 grub_at_keyboard_fini().
41695 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
41696 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
41697 (grub_console_setcolorstate, grub_console_setcolor)
41698 (grub_console_getcolor): New function prototypes.
41700 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
41701 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
41702 (grub_vga_text_setcursor): Static-ize.
41703 (grub_vga_text_term): New structure.
41704 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
41706 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
41707 (grub_console_cur_color, grub_console_standard_color)
41708 (grub_console_normal_color, grub_console_highlight_color)
41709 (map_char, grub_console_putchar, grub_console_getcharwidth)
41710 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
41711 (grub_console_getcolor): Move from here ...
41712 * term/i386/vga_common.c: ... to here (same function names).
41714 2008-11-12 Robert Millan <rmh@aybabtu.com>
41716 Use newly-added Multiboot support in coreboot.
41718 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
41719 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
41721 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
41722 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
41723 (codestart): Store the MBI in `startup_multiboot_info' when we're
41724 being loaded using Multiboot.
41726 * kern/i386/coreboot/init.c (grub_machine_init): Move
41727 grub_at_keyboard_init() call to beginning of function (useful for
41728 debugging). Call grub_machine_mmap_init() before attempting to use
41729 grub_machine_mmap_iterate().
41730 (grub_lower_mem, grub_upper_mem): Move from here ...
41731 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
41734 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
41735 function prototype.
41737 2008-11-12 Robert Millan <rmh@aybabtu.com>
41739 Fix a regression introduced by the at_keyboard.mod split. Because
41740 some terminals are default on some platforms and non-default on
41741 others, the first terminal being registered determines which is
41742 going to be default.
41744 * kern/term.c (grub_term_register_input): If this is the first
41745 terminal being registered, set it as the current one.
41746 (grub_term_register_output): Likewise.
41748 * term/efi/console.c (grub_console_init): Do not call
41749 grub_term_set_current_output() or grub_term_set_current_input().
41750 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
41751 * term/i386/pc/console.c (grub_console_init): Likewise.
41752 (grub_console_fini): Do not call grub_term_set_current_input()
41753 (but leave grub_term_set_current_output() to restore text mode).
41755 2008-11-10 Robert Millan <rmh@aybabtu.com>
41757 * util/grub.d/00_header.in: Add backward compatibility check for
41758 versions of terminal.mod that don't understand `terminal_input' or
41761 2008-11-09 Robert Millan <rmh@aybabtu.com>
41763 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
41764 `terminal_input' / `terminal_output', not `terminal'.
41766 2008-11-08 Robert Millan <rmh@aybabtu.com>
41768 * Makefile.in (include_DATA): Fix srcdir=. assumption.
41769 (DISTCLEANFILES): Add `build_env.mk'.
41771 2008-11-08 Robert Millan <rmh@aybabtu.com>
41773 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
41774 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41775 members. Update all users.
41776 * util/console.c (grub_ncurses_term): Split in ...
41777 (grub_ncurses_term_input): ... this, and ...
41778 (grub_ncurses_term_output): ... this. Update all users.
41779 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
41781 2008-11-08 Robert Millan <rmh@aybabtu.com>
41783 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
41784 (PKGDATA): Add $(pkgdata_SRCDIR).
41785 (pkglib_BUILDDIR): New variable.
41786 (pkgdata_SRCDIR): New variable.
41787 (build_env.mk): New target.
41788 (include_DATA): New variable.
41789 (install-local): Install $(include_DATA) files in $(includedir).
41791 2008-11-07 Pavel Roskin <proski@gnu.org>
41793 * gendistlist.sh: Use C locale for sorting to ensure consistent
41794 output on all systems.
41796 * util/grub.d/00_header.in: Remove incorrect space before
41799 2008-11-07 Robert Millan <rmh@aybabtu.com>
41801 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
41803 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
41804 * loader/multiboot_loader.c (find_multi_boot2_header): New function
41805 (based on find_multi_boot1_header).
41806 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
41807 using find_multi_boot2_header(), and abort if neither Multiboot or
41808 Multiboot headers were found.
41810 2008-11-07 Robert Millan <rmh@aybabtu.com>
41812 Modularize at_keyboard.mod:
41814 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
41815 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
41816 (at_keyboard_mod_LDFLAGS): New variables.
41818 Actual terminal split:
41820 * include/grub/term.h (struct grub_term): Split in ...
41821 (struct grub_term_input): ... this, and ...
41822 (struct grub_term_output): ... this. Update all users.
41823 (grub_term_set_current): Split in ...
41824 (grub_term_set_current_input): ... this, and ...
41825 (grub_term_set_current_output): ... this.
41826 (grub_term_get_current): Split in ...
41827 (grub_term_get_current_input): ... this, and ...
41828 (grub_term_get_current_output): ... this.
41829 (grub_term_register): Split in ...
41830 (grub_term_register_input): ... this, and ...
41831 (grub_term_register_output): ... this.
41832 (grub_term_unregister): Split in ...
41833 (grub_term_unregister_input): ... this, and ...
41834 (grub_term_unregister_output): ... this.
41835 (grub_term_iterate): Split in ...
41836 (grub_term_iterate_input): ... this, and ...
41837 (grub_term_iterate_output): ... this.
41839 * kern/term.c (grub_term_list): Split in ...
41840 (grub_term_list_input): ... this, and ...
41841 (grub_term_list_output): ... this. Update all users.
41842 (grub_cur_term): Split in ...
41843 (grub_cur_term_input): ... this, and ...
41844 (grub_cur_term_output): ... this. Update all users.
41845 (grub_term_set_current): Split in ...
41846 (grub_term_set_current_input): ... this, and ...
41847 (grub_term_set_current_output): ... this.
41848 (grub_term_get_current): Split in ...
41849 (grub_term_get_current_input): ... this, and ...
41850 (grub_term_get_current_output): ... this.
41851 (grub_term_register): Split in ...
41852 (grub_term_register_input): ... this, and ...
41853 (grub_term_register_output): ... this.
41854 (grub_term_unregister): Split in ...
41855 (grub_term_unregister_input): ... this, and ...
41856 (grub_term_unregister_output): ... this.
41857 (grub_term_iterate): Split in ...
41858 (grub_term_iterate_input): ... this, and ...
41859 (grub_term_iterate_output): ... this.
41861 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
41862 a check for input and one for output (and only attempt to get keys
41863 from user when input works).
41865 * util/grub-probe.c (grub_term_get_current): Split in ...
41866 (grub_term_get_current_input): ... this, and ...
41867 (grub_term_get_current_output): ... this.
41868 * util/grub-fstest.c: Likewise.
41869 * util/i386/pc/grub-setup.c: Likewise.
41870 * util/grub-editenv.c: Likewise.
41872 Portability adjustments:
41874 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
41875 `term/i386/pc/at_keyboard.c'.
41876 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
41877 grub_keyboard_controller_init() (now handled by terminal .init).
41878 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
41879 grub_at_keyboard_init().
41880 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
41881 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
41882 at_keyboard.mod via input terminal interface).
41883 * include/grub/i386/coreboot/console.h: Convert into a stub for
41884 `<grub/i386/pc/console.h>'.
41886 Migrate full terminals to new API:
41888 * term/efi/console.c (grub_console_term): Split into ...
41889 (grub_console_term_input): ... this, and ...
41890 (grub_console_term_output): ... this. Update all users.
41891 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
41892 (grub_ofconsole_init): Split into ...
41893 (grub_ofconsole_init_input): ... this, and ...
41894 (grub_ofconsole_init_output): ... this.
41895 (grub_ofconsole_term): Split into ...
41896 (grub_ofconsole_term_input): ... this, and ...
41897 (grub_ofconsole_term_output): ... this. Update all users.
41898 * term/i386/pc/serial.c (grub_serial_term): Split into ...
41899 (grub_serial_term_input): ... this, and ...
41900 (grub_serial_term_output): ... this. Update all users.
41901 * term/i386/pc/console.c (grub_console_term): Split into ...
41902 (grub_console_term_input): ... this, and ...
41903 (grub_console_term_output): ... this. Update all users.
41904 (grub_console_term_input): Only enable it on PC/BIOS platform.
41905 (grub_console_init): Remove grub_keyboard_controller_init() call.
41907 Migrate input terminals to new API:
41909 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
41910 `i386' and `i386/pc' to enable build on x86_64 (this driver is
41911 i386-specific anyway).
41912 (grub_console_checkkey): Rename to ...
41913 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
41915 (grub_keyboard_controller_orig): New variable.
41916 (grub_console_getkey): Rename to ...
41917 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
41919 (grub_keyboard_controller_init): Static-ize. Save original
41920 controller value so that it can be restored ...
41921 (grub_keyboard_controller_fini): ... here (new function).
41922 (grub_at_keyboard_term): New structure.
41923 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
41926 Migrate output terminals to new API:
41928 * term/i386/pc/vga.c (grub_vga_term): Change type to
41929 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41930 members. Update all users.
41931 * term/gfxterm.c (grub_video_term): Change type to
41932 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
41933 members. Update all users.
41934 * include/grub/i386/pc/console.h (grub_console_checkkey)
41935 (grub_console_getkey): Do not export (no longer needed by gfxterm,
41938 Migrate `terminal' command and userland tools to new API:
41940 * commands/terminal.c (grub_cmd_terminal): Split into ...
41941 (grub_cmd_terminal_input): ... this, and ...
41942 (grub_cmd_terminal_output): ... this.
41943 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
41944 `terminal_input' and `terminal_output'.
41945 * util/grub.d/00_header.in: Adjust `terminal' calls to new
41946 `terminal_input' / `terminal_output' API.
41947 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
41948 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
41949 provided ${GRUB_TERMINAL}, convert it).
41951 2008-11-04 Robert Millan <rmh@aybabtu.com>
41953 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
41955 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
41957 2008-11-03 Bean <bean123ch@gmail.com>
41959 * kern/elf.c (grub_elf32_load): Revert to previous code.
41960 (grub_elf64_load): Likewise.
41962 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
41964 2008-11-01 Robert Millan <rmh@aybabtu.com>
41966 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
41967 (TARGET_CPPFLAGS): Likewise.
41968 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
41970 2008-11-01 Carles Pina i Estany <carles@pina.cat>
41972 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
41974 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
41976 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
41977 addition of objects until the code is not going to be able to fail.
41979 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
41981 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
41982 (add a missing NULL check, and correct them by moving the pointer
41983 operations after the actual check).
41985 2008-10-29 Robert Millan <rmh@aybabtu.com>
41987 * util/i386/pc/grub-install.in: Handle empty string as output from
41988 make_system_path_relative_to_its_root().
41990 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
41992 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
41993 circular metadata worst case scenario. If the metadata is circular
41994 then copy the wrap in place.
41995 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
41996 project lib/format_text/layout.h
41997 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
41999 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
42001 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
42003 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
42005 * util/update-grub_lib.in: Mention filename in warning message.
42007 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
42009 * NEWS: Update for rename of update-grub to grub-mkconfig.
42011 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
42013 * util/update-grub_lib.in: Copy to ...
42014 * util/grub-mkconfig_lib.in: ... this. Update all users.
42015 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
42016 * util/update-grub.in: Rename to ...
42017 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
42018 option. Add `--output' option to allow users to specify the generated
42019 configuration file. Default to stdout.
42020 (update_grub_dir): Rename to ...
42021 (grub_mkconfig_dir): ... this.
42022 (grub_cfg): Default to an empty string.
42023 * conf/common.rmk (update-grub): Rename to ...
42024 (grub-mkconfig): ... this.
42025 (update-grub_lib): Copy to ...
42026 (grub-mkconfig_lib): ... this.
42027 (update-grub_SCRIPTS): Copy to ...
42028 (grub-mkconfig_SCRIPTS): ... this. Update all users.
42029 (update-grub_DATA): Rename to ...
42030 (grub-mkconfig_DATA): ... this.
42032 2008-09-28 Robert Millan <rmh@aybabtu.com>
42034 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
42035 to `modified'. Add the real `created' field.
42036 (grub_iso9660_uuid): Use `modified' rather than `created' for
42037 constructing the UUID.
42039 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
42041 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
42042 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
42044 2008-09-28 Bean <bean123ch@gmail.com>
42046 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
42047 Thanks to Christian Franke for finding this bug.
42049 2008-09-25 Robert Millan <rmh@aybabtu.com>
42051 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
42052 instances of grub_util_get_disk_name() (see previous commit).
42054 2008-09-25 Robert Millan <rmh@aybabtu.com>
42056 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
42057 `util/i386/get_disk_name.c'.
42058 * conf/i386-efi.rmk: Likewise.
42059 * conf/x86_64-efi.rmk: Likewise.
42060 * conf/i386-coreboot.rmk: Likewise.
42061 * conf/i386-ieee1275.rmk: Likewise.
42062 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
42063 `util/ieee1275/get_disk_name.c'.
42064 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
42065 * util/ieee1275/get_disk_name.c: Remove file.
42066 * util/i386/get_disk_name.c: Remove file.
42067 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
42068 "hd%d" for device.map entries, rather than using
42069 grub_util_get_disk_name().
42071 2008-09-24 Carles Pina i Estany <carles@pina.cat>
42073 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
42075 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
42077 2008-09-24 Carles Pina i Estany <carles@pina.cat>
42079 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
42081 (GRUB_TERM_PPAGE): Changed to 0x4900.
42083 2008-09-24 Robert Millan <rmh@aybabtu.com>
42085 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
42086 macros (they were i386-pc specific).
42087 * include/grub/sparc64/ieee1275/console.h: Likewise.
42088 * include/grub/efi/console.h: Likewise.
42090 2008-09-22 Bean <bean123ch@gmail.com>
42092 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
42093 resident and in attribute list.
42095 * include/grub/ntfs.h (BMP_LEN): Removed.
42097 2008-09-22 Bean <bean123ch@gmail.com>
42099 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
42100 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
42102 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
42103 error occurs, as grub_disk_open will call grub_disk_close, which will
42104 call p->close (scsi).
42106 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
42108 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
42109 (AC_PREREQ): Bumped to 2.59.
42110 (AC_TRY_COMPILE): Replace obsolete macro with ...
42111 (AC_COMPILE_IFELSE): ... this.
42112 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
42113 (AC_LINK_IFELSE): ... this.
42115 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
42117 * autogen.sh: Add a call to `gendistlist.sh'.
42119 2008-09-19 Christian Franke <franke@computer.org>
42121 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
42122 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
42123 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
42124 Export __enable_execute_stack() to modules.
42125 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
42128 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
42130 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
42133 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
42135 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
42136 #include <grub/util/hostdisk.h>.
42138 2008-09-08 Robert Millan <rmh@aybabtu.com>
42140 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
42141 segments when their filesz is zero (grub_file_read() interprets
42142 zero-size as "read until EOF", which results in memory corruption).
42143 Use `lowest_segment' rather than 0 for calculating the current
42144 segment load address.
42146 2008-09-08 Robert Millan <rmh@aybabtu.com>
42148 * util/hostdisk.c (open_device): Replace a grub_util_info() call
42149 with grub_dprintf("hostdisk", ...), as it was so verbose that it
42150 clobbered useful information.
42152 2008-09-08 Robert Millan <rmh@aybabtu.com>
42154 * include/grub/util/biosdisk.h: Move to ...
42155 * include/grub/util/hostdisk.h: ... here. Update all users.
42156 * util/biosdisk.c: Move to ...
42157 * util/hostdisk.c: ... here. Update all users.
42159 2008-09-07 Robert Millan <rmh@aybabtu.com>
42161 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
42163 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
42164 and length can be stored directly in the `mbi->mmap_addr' and
42165 `mbi->mmap_length' struct fields.
42167 2008-09-07 Robert Millan <rmh@aybabtu.com>
42169 * conf/i386.rmk: New file. Provides declaration for building
42171 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
42172 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
42174 Include `conf/i386.mk'.
42175 * conf/i386-efi.rmk: Likewise.
42176 * conf/x86_64-efi.rmk: Likewise.
42177 * conf/i386-coreboot.rmk: Likewise.
42178 * conf/i386-ieee1275.rmk: Likewise.
42180 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
42182 Based on patch created by Colin D Bennett <colin@gibibit.com>.
42183 Adds optimization support for BGR based modes.
42185 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
42186 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42187 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42188 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42189 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42190 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42191 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42192 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42193 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42194 (grub_video_i386_vbeblit_index_index): Likewise.
42195 (grub_video_i386_vbeblit_replace_directN): Added.
42196 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42197 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42198 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42199 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42200 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42201 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42202 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42203 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42204 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42205 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42206 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42207 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42208 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42210 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
42211 (grub_video_i386_vbefill_R8G8B8): Likewise.
42212 (grub_video_i386_vbefill_index): Likewise.
42213 (grub_video_i386_vbefill_direct32): Added.
42214 (grub_video_i386_vbefill_direct24): Likewise.
42215 (grub_video_i386_vbefill_direct16): Likewise.
42216 (grub_video_i386_vbefill_direct8): Likewise.
42218 * include/grub/video.h (grub_video_blit_format): Removed
42219 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
42220 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
42221 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
42222 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
42223 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
42225 * video/video.c (grub_video_get_blit_format): Updated to use new
42226 blit formats. Added handling for 16 bit color modes.
42228 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
42230 (common_blitter): Updated to use new blitters.
42232 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
42234 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
42235 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42236 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42237 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42238 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42239 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42240 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42241 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42242 (grub_video_i386_vbeblit_index_index): Likewise.
42243 (grub_video_i386_vbeblit_replace_directN): Added.
42244 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
42245 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
42246 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
42247 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
42248 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
42249 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
42250 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
42251 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
42252 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
42253 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
42254 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
42255 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
42256 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
42258 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
42259 (grub_video_i386_vbefill_R8G8B8): Likewise.
42260 (grub_video_i386_vbefill_index): Likewise.
42261 (grub_video_i386_vbefill_direct32): Added.
42262 (grub_video_i386_vbefill_direct24): Likewise.
42263 (grub_video_i386_vbefill_direct16): Likewise.
42264 (grub_video_i386_vbefill_direct8): Likewise.
42266 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
42269 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
42272 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
42275 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
42278 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
42280 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
42283 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
42285 * fs/iso9660.c (grub_iso9660_date): New structure.
42286 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
42287 (grub_iso9660_uuid): New function.
42289 2008-09-05 Bean <bean123ch@gmail.com>
42291 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
42293 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
42294 insensitive bit for names in Win32 and Win32 & DOS namespace.
42296 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
42298 * include/grub/types.h (LONG_MAX): Likewise.
42300 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
42302 * util/getroot.c: Include <config.h>.
42303 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
42304 add support for /dev/md/N devices and handle LVM double dash escaping.
42306 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
42308 * config.guess: Update to latest version from config git.
42309 * config.sub: Likewise.
42311 2008-09-03 Robert Millan <rmh@aybabtu.com>
42313 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
42314 `disk->total_sectors'.
42316 2008-09-01 Colin D Bennett <colin@gibibit.com>
42318 * include/grub/normal.h: Fixed incorrect comment for
42319 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
42321 2008-09-01 Colin D Bennett <colin@gibibit.com>
42323 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
42324 values with defines.
42326 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
42327 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
42328 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
42329 (GRUB_VBE_MODEATTR_COLOR): Likewise.
42330 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
42331 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
42332 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
42333 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
42334 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
42335 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
42336 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
42337 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
42338 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
42339 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
42340 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
42341 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
42342 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
42343 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
42344 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
42346 2008-08-31 Robert Millan <rmh@aybabtu.com>
42348 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
42350 (grub_multiboot): Fix a few warnings.
42352 2008-08-31 Robert Millan <rmh@aybabtu.com>
42354 * loader/i386/pc/multiboot.c: Update comment not to say that
42355 boot_device support is unimplemented.
42357 2008-08-31 Robert Millan <rmh@aybabtu.com>
42359 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
42360 or memory map support are unimplemented.
42362 2008-08-31 Colin D Bennett <colin@gibibit.com>
42364 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
42366 2008-08-31 Colin D Bennett <colin@gibibit.com>
42368 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
42369 total video memory in 'vbeinfo' output; show color format details for
42372 2008-08-30 Pavel Roskin <proski@gnu.org>
42374 * util/genmoddep.c: Remove for real this time.
42375 * DISTLIST: Remove util/genmoddep.c.
42377 2008-08-30 Robert Millan <rmh@aybabtu.com>
42379 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
42380 as required by Multiboot spec (it was already 4-byte aligned, but
42383 2008-08-29 Pavel Roskin <proski@gnu.org>
42385 * kern/powerpc/ieee1275/crt0.S: Rename to ...
42386 * kern/powerpc/ieee1275/startup.S: ... this.
42387 * conf/powerpc-ieee1275.rmk: Adjust for the above.
42388 * DISTLIST: Likewise.
42390 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
42391 grub/cpu/kernel.h. Add start label for consistency with other
42392 platforms. Add grub_prefix immediately after start. Add jump
42393 to the code after grub_prefix.
42394 * include/grub/powerpc/kernel.h: Provide valid values for
42395 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
42397 2008-08-29 Bean <bean123ch@gmail.com>
42399 * configure.ac: Change host_os to cygwin for mingw.
42400 (asprintf): New check for function.
42402 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
42403 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
42405 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
42406 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
42407 sync, sleep and grub_util_get_disk_size for mingw.
42409 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
42410 to get size in mingw.
42411 (open_device): Use flag O_BINARY if it's defined.
42412 (find_root_device): Add dummy code for mingw.
42414 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
42415 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
42416 (get_scsi_disk_name): Return 0 for mingw.
42418 * util/hostfs.c: #include <grub/util/misc.h>.
42419 (grub_hostfs_open): Use "rb" flag to open file, use
42420 grub_util_get_disk_size to get disk size for mingw.
42422 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
42423 (asprintf): New function if HAVE_ASPRINTF is not set.
42424 (sync): New function for mingw.
42426 (grub_util_get_disk_size): Likewise.
42428 2008-08-28 Pavel Roskin <proski@gnu.org>
42430 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
42433 2008-08-28 Robert Millan <rmh@aybabtu.com>
42435 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
42437 2008-08-28 Robert Millan <rmh@aybabtu.com>
42439 Change find_grub_drive() syntax so it doesn't prevent it from
42440 detecting NULL names as errors.
42442 * util/biosdisk.c (find_grub_drive): Move free slot search code
42444 (find_free_slot): ... to here.
42445 (read_device_map): Use find_free_slot() to search for free slots.
42447 2008-08-27 Marco Gerards <marco@gnu.org>
42449 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
42450 (scsi_mod_SOURCES): New variable.
42451 (scsi_mod_CFLAGS): Likewise
42452 (scsi_mod_LDFLAGS): Likewise.
42454 * disk/scsi.c: New file.
42456 * include/grub/scsi.h: Likewise.
42458 * include/grub/scsicmd.h: Likewise.
42460 * disk/ata.c: Include <grub/scsi.h>.
42461 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
42463 (grub_ata_iterate): Skip ATAPI devices.
42464 (grub_ata_open): Only handle ATAPI devices.
42465 (struct grub_atapi_read): Removed.
42466 (grub_atapi_readsector): Likewise.
42467 (grub_ata_read): No longer handle ATAPI devices.
42468 (grub_ata_write): Likewise.
42469 (grub_atapi_iterate): New function.
42470 (grub_atapi_read): Likewise.
42471 (grub_atapi_write): Likewise.
42472 (grub_atapi_open): Likewise.
42473 (grub_atapi_close): Likewise.
42474 (grub_atapi_dev): New variable.
42475 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
42476 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
42478 * include/grub/disk.h (enum grub_disk_dev_id): Add
42479 `GRUB_DISK_DEVICE_SCSI_ID'.
42481 2008-08-26 Robert Millan <rmh@aybabtu.com>
42483 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
42484 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
42487 2008-08-23 Bean <bean123ch@gmail.com>
42489 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
42490 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42491 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
42492 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
42494 (raid5rec_mod_SOURCES): New macro.
42495 (raid5rec_mod_CFLAGS): Likewise.
42496 (raid5rec_mod_LDFLAGS): Likewise.
42497 (raid6rec_mod_SOURCES): Likewise.
42498 (raid6rec_mod_CFLAGS): Likewise.
42499 (raid6rec_mod_LDFLAGS): Likewise.
42500 (mdraid_mod_SOURCES): Likewise.
42501 (mdraid_mod_CFLAGS): Likewise.
42502 (mdraid_mod_LDFLAGS): Likewise.
42503 (dm_nv_mod_SOURCES): Likewise.
42504 (dm_nv_mod_CFLAGS): Likewise.
42505 (dm_nv_mod_LDFLAGS): Likewise.
42507 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
42508 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
42509 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42511 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
42512 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
42514 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42516 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
42518 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42522 * disk/raid5_recover.c: New file.
42524 * disk/raid6_recover.c: Likewise.
42526 * disk/mdraid_linux.c: Likewise.
42528 * disk/dmraid_nvidia.c: Likewise.
42530 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
42533 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
42534 calculate the size of raid device.
42535 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
42536 different layout of raid5.
42537 (grub_raid_scan_device): Remove code specific to mdraid.
42538 (grub_raid_list): New variable.
42539 (free_array): New function.
42540 (grub_raid_register): Likewise.
42541 (grub_raid_unregister): Likewise.
42542 (grub_raid_rescan): Likewise.
42543 (GRUB_MOD_INIT): Don't iterate device here.
42544 (GRUB_MOD_FINI): Use free_array to release resource.
42546 * include/grub/raid.h: Remove macro and structure specific to mdraid.
42547 (grub_raid5_recover_func_t): New function variable type.
42548 (grub_raid6_recover_func_t): Likewise.
42549 (grub_raid5_recover_func): New variable.
42550 (grub_raid6_recover_func): Likewise.
42551 (grub_raid_register): New function.
42552 (grub_raid_unregister): Likewise.
42553 (grub_raid_rescan): Likewise.
42554 (grub_raid_block_xor): Likewise.
42556 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
42557 (CMD_CRC): New macro.
42559 (read_file): Handle device as well as file.
42560 (cmd_crc): New function.
42561 (fstest): Handle multiple disks.
42562 (options): Remove part, raw and long, add root and diskcount.
42563 (usage): Add crc, remove -p, -r, -l, add -r and -c.
42564 (main): Find the first non option entry and ignore subsequent options,
42565 add handling for the new options, support multiple disks.
42567 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
42569 2008-08-23 Bean <bean123ch@gmail.com>
42571 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
42573 * genfslist.sh: Ignore kernel.mod.
42575 * genpartmaplist.sh: Likewise.
42577 2008-08-23 Robert Millan <rmh@aybabtu.com>
42579 * util/getroot.c (find_root_device): Skip anything that starts with
42580 a dot, not just directories. This avoids things like /dev/.tmp.md0.
42582 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
42584 * util/update-grub.in (GRUB_GFXMODE): Export variable.
42585 * util/grub.d/00_header.in: Allow the administrator to change default
42586 gfxmode via ${GRUB_GFXMODE}.
42588 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
42590 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
42592 2008-08-21 Robert Millan <rmh@aybabtu.com>
42594 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
42596 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
42597 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
42599 2008-08-20 Carles Pina i Estany <carles@pina.cat>
42601 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
42602 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
42604 2008-08-19 Robert Millan <rmh@aybabtu.com>
42606 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
42607 (struct grub_virtual_screen): Remove `cursor_color'.
42608 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
42610 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
42612 2008-08-18 Robert Millan <rmh@aybabtu.com>
42614 Unify (identical) linux_normal.c files.
42615 * loader/i386/efi/linux_normal.c: Move from here ...
42616 * loader/linux_normal.c: ... to here. Update all users.
42617 * loader/i386/pc/linux_normal.c: Delete. Update all users.
42618 * loader/i386/ieee1275/linux_normal.c: Likewise.
42620 2008-08-18 Robert Millan <rmh@aybabtu.com>
42622 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
42623 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
42624 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
42625 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
42626 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
42628 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
42629 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
42630 (GRUB_LINUX_CL_END_OFFSET): ... to here.
42631 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
42632 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
42633 (GRUB_EFI_CL_END_OFFSET): Rename to ...
42634 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
42635 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
42636 Initialize `params->video_cursor_x' and `params->video_cursor_y'
42637 portably using grub_getxy().
42638 Replace `-EFI' with `-bzImage' in boot message.
42640 2008-08-17 Robert Millan <rmh@aybabtu.com>
42642 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
42644 2008-08-17 Robert Millan <rmh@aybabtu.com>
42646 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
42648 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
42649 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
42650 (grub_machine_mmap_iterate): New function declaration.
42651 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
42653 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
42656 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
42657 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
42658 Move e820 parsing from here ...
42659 * kern/i386/pc/mmap.c: New file.
42660 (grub_machine_mmap_iterate): ... to here.
42662 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
42663 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
42664 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
42665 (grub_available_iterate): Redeclare to return `void', and redeclare
42666 its hook to use grub_uint64_t as addr and size parameters, and rename
42668 (grub_machine_mmap_iterate): ... this. Update all users.
42670 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
42671 to make it more readable. Rename to ...
42672 (grub_machine_mmap_iterate): ... this.
42674 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
42675 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
42676 (grub_multiboot): Allocate an extra region after the payload, and fill
42677 it with a Multiboot memory map. Adjust a.out loader to calculate size
42678 with the extra space.
42679 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
42680 with the extra space.
42682 2008-08-17 Carles Pina i Estany <carles@pina.cat>
42684 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
42686 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
42688 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
42689 mdate-sh to the list `find' searches for.
42690 * DISTLIST: Regenerated.
42692 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
42694 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
42695 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
42696 genmoddep.awk, gensymlist.sh.in.
42697 (DISTDIRS): Add bus, docs, hook, lib.
42698 * DISTLIST: Regenerated.
42699 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
42701 2008-08-16 Robert Millan <rmh@aybabtu.com>
42703 * disk/raid.c (grub_raid_init): Handle/report errors set by
42704 grub_device_iterate().
42705 * disk/lvm.c (grub_lvm_init): Likewise.
42707 2008-08-15 Bean <bean123ch@gmail.com>
42709 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42711 (datetime_mod_SOURCES): New macro.
42712 (datetime_mod_CFLAGS): Likewise.
42713 (datetime_mod_LDFLAGS): Likewise.
42714 (date_mod_SOURCES): Likewise.
42715 (date_mod_CFLAGS): Likewise.
42716 (date_mod_LDFLAGS): Likewise.
42717 (datehook_mod_SOURCES): Likewise.
42718 (datehook_mod_CFLAGS): Likewise.
42719 (datehook_mod_LDFLAGS): Likewise.
42721 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42723 (datetime_mod_SOURCES): New macro.
42724 (datetime_mod_CFLAGS): Likewise.
42725 (datetime_mod_LDFLAGS): Likewise.
42726 (date_mod_SOURCES): Likewise.
42727 (date_mod_CFLAGS): Likewise.
42728 (date_mod_LDFLAGS): Likewise.
42729 (datehook_mod_SOURCES): Likewise.
42730 (datehook_mod_CFLAGS): Likewise.
42731 (datehook_mod_LDFLAGS): Likewise.
42733 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42735 (datetime_mod_SOURCES): New macro.
42736 (datetime_mod_CFLAGS): Likewise.
42737 (datetime_mod_LDFLAGS): Likewise.
42738 (date_mod_SOURCES): Likewise.
42739 (date_mod_CFLAGS): Likewise.
42740 (date_mod_LDFLAGS): Likewise.
42741 (datehook_mod_SOURCES): Likewise.
42742 (datehook_mod_CFLAGS): Likewise.
42743 (datehook_mod_LDFLAGS): Likewise.
42745 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42747 (datetime_mod_SOURCES): New macro.
42748 (datetime_mod_CFLAGS): Likewise.
42749 (datetime_mod_LDFLAGS): Likewise.
42750 (date_mod_SOURCES): Likewise.
42751 (date_mod_CFLAGS): Likewise.
42752 (date_mod_LDFLAGS): Likewise.
42753 (datehook_mod_SOURCES): Likewise.
42754 (datehook_mod_CFLAGS): Likewise.
42755 (datehook_mod_LDFLAGS): Likewise.
42757 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
42759 (datetime_mod_SOURCES): New macro.
42760 (datetime_mod_CFLAGS): Likewise.
42761 (datetime_mod_LDFLAGS): Likewise.
42762 (date_mod_SOURCES): Likewise.
42763 (date_mod_CFLAGS): Likewise.
42764 (date_mod_LDFLAGS): Likewise.
42765 (datehook_mod_SOURCES): Likewise.
42766 (datehook_mod_CFLAGS): Likewise.
42767 (datehook_mod_LDFLAGS): Likewise.
42769 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
42771 * commands/date.c: New file.
42773 * hook/datehook.c: Likewise.
42775 * include/grub/lib/datetime.h: Likewise.
42777 * include/grub/i386/cmos.h: Likewise.
42779 * lib/datetime.c: Likewise.
42781 * lib/i386/datetime.c: Likewise.
42783 * lib/efi/datetime.c: Likewise.
42785 2008-08-14 Robert Millan <rmh@aybabtu.com>
42787 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
42788 (grub_mkelfimage_SOURCES): New variable.
42789 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
42791 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
42792 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
42793 * conf/powerpc-ieee1275.rmk: Likewise.
42794 * conf/i386-ieee1275.rmk: Likewise.
42796 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
42797 * kern/i386/coreboot/init.c: Likewise.
42799 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
42800 with `<grub/cpu/kernel.h>'.
42801 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
42803 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
42804 * kern/i386/coreboot/startup.S: Likewise.
42806 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
42807 (GRUB_MOD_GAP): Remove.
42808 * include/grub/powerpc/kernel.h: New file.
42809 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
42810 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42811 * include/grub/i386/kernel.h: New file.
42812 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
42813 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
42814 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
42816 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
42818 Use --directory when invoking grub_mkimage.
42820 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
42821 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
42822 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
42823 and GRUB_KERNEL_CPU_PREFIX.
42825 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
42827 * include/grub/err.h (grub_err_printf): New function prototype.
42828 * util/misc.c (grub_err_printf): New function.
42829 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
42831 * kern/err.c (grub_print_error): Use grub_err_printf.
42833 2008-08-13 Robert Millan <rmh@aybabtu.com>
42835 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
42837 2008-08-13 Robert Millan <rmh@aybabtu.com>
42839 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
42842 2008-08-12 Robert Millan <rmh@aybabtu.com>
42844 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
42845 of the relocation code from here ...
42846 (grub_multiboot): ... to here.
42847 (forward_relocator, backward_relocator): Move from here ...
42848 * kern/i386/loader.S (grub_multiboot_forward_relocator)
42849 (grub_multiboot_backward_relocator): ... to here.
42850 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
42851 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
42852 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
42853 (grub_multiboot_forward_relocator_end)
42854 (grub_multiboot_backward_relocator)
42855 (grub_multiboot_backward_relocator_end): New variables.
42857 2008-08-12 Bean <bean123ch@gmail.com>
42859 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
42861 2008-08-11 Robert Millan <rmh@aybabtu.com>
42863 * kern/i386/linuxbios/startup.S: Move from here ...
42864 * kern/i386/coreboot/startup.S: ... to here.
42866 * kern/i386/linuxbios/init.c: Move from here ...
42867 * kern/i386/coreboot/init.c: ... to here.
42869 * kern/i386/linuxbios/table.c: Move from here ...
42870 * kern/i386/coreboot/mmap.c: ... to here.
42872 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
42874 2008-08-11 Robert Millan <rmh@aybabtu.com>
42876 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
42877 errors. Leave it to the upper layer to handle them.
42879 2008-08-09 Christian Franke <franke@computer.org>
42881 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
42882 * conf/common.rmk: Install `grub-pe2elf' only if requested.
42883 Install `grub.d/10_windows' only on Cygwin.
42884 * configure.ac: Add subst of `target_os'.
42885 Check `target_os' also before setting TARGET_OBJ2ELF.
42886 Add `--enable-grub-pe2elf'.
42888 2008-08-08 Robert Millan <rmh@aybabtu.com>
42890 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42891 (grub_last_time): Change type to grub_uint64_t.
42892 (grub_disk_open): Migrate code from to using grub_get_time_ms().
42893 (grub_disk_close): Likewise.
42895 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
42896 (run_menu): Migrate code from to using grub_get_time_ms().
42898 * util/misc.c (grub_get_time_ms): New function.
42900 2008-08-08 Marco Gerards <marco@gnu.org>
42902 * disk/ata.c (grub_ata_regget): Change return type to
42904 (grub_ata_regget2): Likewise.
42905 (grub_ata_wait_status): New function.
42906 (grub_ata_wait_busy): Removed function, updated all users to use
42907 `grub_ata_wait_status'.
42908 (grub_ata_wait_drq): Likewise.
42909 (grub_ata_cmd): New function.
42910 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
42912 (grub_ata_pio_write): Add error handling.
42913 (grub_atapi_identify): Likewise.
42914 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
42916 (grub_ata_identify): Use `grub_ata_cmd' and improve error
42917 handling. Actually use the detected registers. Reorder the
42918 detection logic such that it is easier to read.
42919 (grub_ata_pciinit): Do not assign the same ID to each controller.
42920 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
42922 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
42924 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
42926 2008-08-08 Marco Gerards <marco@gnu.org>
42930 2008-08-07 Bean <bean123ch@gmail.com>
42932 * include/grub/x86_64/pci.h: New file.
42934 2008-08-07 Christian Franke <franke@computer.org>
42936 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
42937 (TIMER2_GATE): Likewise.
42938 (grub_pit_wait): Add enable/disable of the timer2 gate
42939 bit of port 0x61. This fixes a possible infinite loop.
42941 2008-08-07 Bean <bean123ch@gmail.com>
42943 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
42944 kern/i386/tsc.c and kern/i386/pit.c.
42946 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
42949 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
42952 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
42954 2008-08-07 Bean <bean123ch@gmail.com>
42956 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
42958 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
42960 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
42961 multiple inclusion. Add #include <grub/types.h>.
42963 2008-08-06 Christian Franke <franke@computer.org>
42965 * conf/common.rmk: Build and install `10_windows'.
42966 * util/grub.d/10_windows.in: New script.
42968 2008-08-06 Pavel Roskin <proski@gnu.org>
42970 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
42972 2008-08-06 Robert Millan <rmh@aybabtu.com>
42974 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
42975 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
42977 2008-08-06 Bean <bean123ch@gmail.com>
42979 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
42980 (grub_pxefs_fs_int): Remove dummy definition.
42981 (grub_pxefs_open): Use data->block_size to store the current block
42983 (grub_pxefs_read): Use block size stored in data->block_size. As the
42984 value of grub_pxe_blksize can be changed after the file is opened.
42986 2008-08-06 Bean <bean123ch@gmail.com>
42988 * fs/i386/pc/pxe.c (curr_file): new variable.
42989 (grub_pxefs_open): Simply the handling of pxe file system. Don't
42990 require the dummy internal file system anymore.
42991 (grub_pxefs_read): Removed.
42992 (grub_pxefs_close): Likewise.
42993 (grub_pxefs_fs_int): Likewise.
42994 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
42995 connection when we switch file.
42996 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
42998 2008-08-06 Robert Millan <rmh@aybabtu.com>
43000 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
43002 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
43003 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
43005 * kern/i386/halt.c: New file.
43006 * kern/i386/reboot.c: Likewise.
43007 * include/grub/i386/reboot.h: Likewise.
43008 * include/grub/i386/halt.h: Likewise.
43010 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
43011 Include `<grub/cpu/halt.h>'.
43012 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
43013 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
43015 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
43016 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
43017 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
43018 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
43019 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
43020 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
43022 * include/grub/i386/at_keyboard.h: ... to here.
43024 2008-08-05 Robert Millan <rmh@aybabtu.com>
43026 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
43027 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
43028 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
43029 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43030 `kern/generic/millisleep.c'.
43032 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
43033 instead of grub_get_rtc().
43034 (grub_tsc_init): Initialize `tsc_boot_time'.
43036 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
43037 (grub_machine_init): Use grub_tsc_init() rather than
43038 installing an RTC-based handler via grub_install_get_time_ms().
43040 * kern/i386/pit.c: New file.
43041 * include/grub/i386/pit.h: Likewise.
43043 2008-08-05 Bean <bean123ch@gmail.com>
43045 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
43047 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
43048 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
43049 (pxe_mod_SOURCES): New macro.
43050 (pxe_mod_CFLAGS): Likewise.
43051 (pxe_mod_LDFLAGS): Likewise.
43052 (pxecmd_mod_SOURCES): Likewise.
43053 (pxecmd_mod_CFLAGS): Likewise.
43054 (pxecmd_mod_LDFLAGS): Likewise.
43056 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
43057 (grub_pxe_call): Likewise.
43059 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
43061 * commands/i386/pc/pxecmd.c: New file.
43063 * fs/i386/pc/pxe.c: Likewise.
43065 * include/grub/i386/pc/pxe.h: Likewise.
43067 2008-08-05 Bean <bean123ch@gmail.com>
43069 * util/console.c (grub_console_cur_color): New variable.
43070 (grub_console_standard_color): Likewise.
43071 (grub_console_normal_color): Likewise.
43072 (grub_console_highlight_color): Likewise.
43073 (color_map): Likewise.
43074 (use_color): Likewise.
43075 (NUM_COLORS): New macro.
43076 (grub_ncurses_setcolorstate): Handle color properly.
43077 (grub_ncurses_setcolor): Don't change color here, just remember the
43078 settings, color will be set in grub_ncurses_setcolorstate.
43079 (grub_ncurses_getcolor): New function.
43080 (grub_ncurses_init): Initialize color pairs.
43081 (grub_ncurses_term): New member grub_ncurses_getcolor.
43083 2008-08-05 Colin D Bennett <colin@gibibit.com>
43085 High resolution timer support. Implemented for x86 CPUs using TSC.
43086 Extracted generic grub_millisleep() so it's linked in only as needed.
43087 This requires a Pentium compatible CPU; if the RDTSC instruction is
43088 not supported, then it falls back on the generic grub_get_time_ms()
43089 implementation that uses the machine's RTC.
43091 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
43092 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
43093 `kern/generic/millisleep.c'.
43095 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
43096 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
43098 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
43099 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
43101 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43103 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
43104 `kern/generic/millisleep.c'.
43106 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
43108 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
43110 * kern/generic/rtc_get_time_ms.c: New file.
43112 * kern/generic/millisleep.c: New file.
43114 * kern/misc.c: Don't include
43115 <kern/time.h> anymore.
43116 (grub_millisleep_generic): Removed.
43118 * commands/sleep.c (grub_interruptible_millisleep): Uses
43119 grub_get_time_ms() instead of grub_get_rtc().
43121 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
43123 (grub_cpu_is_cpuid_supported): New inline function.
43124 (grub_cpu_is_tsc_supported): New inline function.
43125 (grub_tsc_init): New function prototype.
43126 (grub_tsc_get_time_ms): New function prototype.
43128 * kern/i386/tsc.c (grub_get_time_ms): New file.
43130 * include/grub/time.h: Include <grub/types.h.
43131 (grub_millisleep_generic): Removed.
43132 (grub_get_time_ms): New prototype.
43133 (grub_install_get_time_ms): New prototype.
43134 (grub_rtc_get_time_ms): New prototype.
43136 * kern/time.c (grub_get_time_ms): New function.
43137 (grub_install_get_time_ms): New function.
43139 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
43140 <grub/time.h> anymore.
43141 (grub_millisleep): Removed.
43142 (grub_machine_init): Call grub_tsc_init.
43144 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
43145 get_time_ms() implementation.
43147 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
43148 (ieee1275_get_time_ms): New function.
43149 (grub_machine_init): Install get_time_ms() implementation.
43151 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
43152 (grub_machine_init): Call grub_tsc_init().
43153 (grub_millisleep): Removed.
43155 * kern/ieee1275/init.c (grub_millisleep): Removed.
43156 (grub_machine_init): Install ieee1275_get_time_ms()
43158 (ieee1275_get_time_ms): New function.
43159 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
43162 2008-08-05 Marco Gerards <marco@gnu.org>
43164 * disk/ata.c: Include <grub/pci.h>.
43165 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
43166 (grub_ata_initialize): Rewritten.
43167 (grub_ata_device_initialize): New function.
43169 2008-08-04 Pavel Roskin <proski@gnu.org>
43171 * kern/main.c: Include grub/mm.h.
43173 2008-08-04 Robert Millan <rmh@aybabtu.com>
43175 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
43176 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
43177 corruption problem).
43179 2008-08-04 Robert Millan <rmh@aybabtu.com>
43181 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
43182 warnings introduced in my last commit.
43184 2008-08-03 Robert Millan <rmh@aybabtu.com>
43186 Make PCI available on all i386 architectures.
43188 * include/grub/i386/pc/pci.h: Move from here ...
43189 * include/grub/i386/pci.h: ... to here.
43191 * include/grub/i386/pc/pci.h: Remove.
43192 * include/grub/i386/efi/pci.h: Remove.
43193 * include/grub/x86_64/efi/pci.h: Remove.
43195 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
43196 `<grub/cpu/pci.h>'.
43198 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
43199 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
43200 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
43202 * conf/i386-ieee1275.rmk: Likewise.
43204 2008-08-03 Robert Millan <rmh@aybabtu.com>
43206 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
43207 (grub_console_setcursor): Make it possible to set cursor off.
43209 2008-08-03 Robert Millan <rmh@aybabtu.com>
43211 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
43212 of modules instead of assuming which platform provides what.
43213 * util/update-grub.in: Likewise.
43215 2008-08-03 Robert Millan <rmh@aybabtu.com>
43217 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
43218 instead of `grub_install_dos_part' to determine whether a drive needs
43219 to be prepended to prefix (`grub_install_dos_part' is not reliable,
43220 because it can be overridden when loading GRUB via Multiboot).
43222 2008-08-02 Robert Millan <rmh@aybabtu.com>
43224 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
43226 2008-08-02 Robert Millan <rmh@aybabtu.com>
43228 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
43229 of informational grub_dprintf() calls.
43231 2008-08-02 Robert Millan <rmh@aybabtu.com>
43233 * disk/memdisk.c (memdisk_size): Don't initialize.
43234 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
43236 * include/grub/i386/pc/kernel.h
43237 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
43238 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
43239 (grub_memdisk_image_size, grub_arch_memdisk_addr)
43240 (grub_arch_memdisk_size): Remove.
43242 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
43243 field (was only used to transfer a constant). Add `type' field to
43244 support multiple module types.
43245 (grub_module_iterate): New function.
43247 * kern/device.c (grub_device_open): Do not hide error messages
43248 when grub_disk_open() fails. Use grub_print_error() instead.
43250 * kern/i386/pc/init.c (grub_arch_modules_addr)
43251 (grub_arch_memdisk_size): Remove functions.
43252 (grub_arch_modules_addr): Return the module address in high memory
43253 (now that it isn't copied anymore).
43255 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
43256 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
43257 decompression routine (grub_total_module_size already includes that
43258 now). Don't copy modules back to low memory.
43260 * kern/main.c: Include `<grub/mm.h>'.
43261 (grub_load_modules): Split out (and use) ...
43262 (grub_module_iterate): ... this function, which iterates through
43263 module objects and runs a hook.
43264 Comment out grub_mm_init_region() call, as it would cause non-ELF
43265 modules to be overwritten.
43267 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
43268 the memdisk image in its own region, make it part of the module list.
43269 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
43270 (main): Parse --memdisk|-m option, and pass user-provided path as
43271 parameter to generate_image().
43272 (add_segments): Pass `memdisk_path' down to load_modules().
43273 (load_modules): Embed memdisk image in module section when requested.
43274 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
43275 `header.type' instead of `header.offset'.
43277 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
43278 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
43279 (memdisk_mod_LDFLAGS): New variables.
43280 * conf/i386-coreboot.rmk: Likewise.
43281 * conf/i386-ieee1275.rmk: Likewise.
43283 2008-08-02 Robert Millan <rmh@aybabtu.com>
43285 * loader/i386/pc/multiboot.c (playground, forward_relocator)
43286 (backward_relocator): New variables. Used to allocate and relocate
43287 the payload, respectively.
43288 (grub_multiboot_load_elf32): Load into heap instead of requested
43289 address, install the appropriate relocator code in each bound of
43290 the payload, and set the entry point such that
43291 grub_multiboot_real_boot() will jump to one of them.
43293 * kern/i386/loader.S (grub_multiboot_payload_size)
43294 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43295 (grub_multiboot_payload_entry_offset): New variables.
43296 (grub_multiboot_real_boot): Set cpu context to what the relocator
43297 expects, and jump to the relocator instead of the payload.
43299 * include/grub/i386/loader.h (grub_multiboot_payload_size)
43300 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
43301 (grub_multiboot_payload_entry_offset): Export.
43303 2008-08-01 Bean <bean123ch@gmail.com>
43305 * normal/menu_entry.c (editor_getline): Don't return the original
43306 string as result, as it will be released by lexer once it has done
43309 2008-08-01 Robert Millan <rmh@aybabtu.com>
43311 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
43312 within menuentries, not before them.
43313 util/grub.d/10_hurd.in: Likewise.
43315 2008-08-01 Bean <bean123ch@gmail.com>
43317 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
43318 (bufio_mod_SOURCES): New macro.
43319 (bufio_mod_CFLAGS): Likewise.
43320 (bufio_mod_LDFLAGS): Likewise.
43322 * include/grub/bufio.h: New file.
43324 * io/bufio.c: Likewise.
43326 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
43327 (grub_video_reader_png): Use grub_buffile_open to open file.
43329 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
43330 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
43332 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
43333 (grub_video_reader_tga): Use grub_buffile_open to open file.
43335 * font/manager.c: Include <grub/bufio.h>.
43336 (add_font): Use grub_buffile_open to open file.
43338 2008-07-31 Robert Millan <rmh@aybabtu.com>
43340 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
43341 ELF segments, use a macro for arbitrarily accessing any of them instead
43342 of preparing a pointer that allows access to one at a time.
43343 (grub_multiboot_load_elf64): Likewise.
43345 2008-07-31 Bean <bean123ch@gmail.com>
43347 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
43348 GRUB_KERNEL_MACHINE_DATA_END.
43350 2008-07-30 Robert Millan <rmh@aybabtu.com>
43352 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
43353 Increase from 0x50 to 0x60.
43354 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
43355 use UUIDs to identify the root drive for them. If that's not
43357 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
43358 check, for cross-disk installs.
43360 2008-07-30 Robert Millan <rmh@aybabtu.com>
43362 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
43363 is non-empty, use it to set the `prefix' environment variable instead
43364 of the usual approach.
43365 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
43366 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
43367 environment variable instead of dummy make_install_device().
43369 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
43370 (start): Insert a data section, with `grub_prefix' variable.
43371 * kern/i386/linuxbios/startup.S: Likewise.
43373 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
43374 New variable reference.
43375 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
43376 New macro. Defines offset of `grub_prefix' within startup.S (relative
43378 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
43379 section within startup.S (relative to `start').
43380 * include/grub/i386/coreboot/kernel.h: Likewise.
43382 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
43383 Overwrite grub_prefix with its contents, at the beginning of the
43385 (main): Understand -p|--prefix.
43387 2008-07-30 Robert Millan <rmh@aybabtu.com>
43389 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
43391 2008-07-30 Robert Millan <rmh@aybabtu.com>
43393 * term/i386/pc/vga_text.c (grub_console_cls): Use
43394 grub_console_gotoxy() to go back to beginning of the screen.
43395 Found by Patrick Georgi <patrick.georgi@coresystems.de>
43397 2008-07-29 Christian Franke <franke@computer.org>
43399 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
43400 Add conversion of emulated mount points on Cygwin.
43402 2008-07-29 Christian Franke <franke@computer.org>
43404 * util/update-grub.in: Add a check for admin
43406 Remove old `grub.cfg.new' before creation.
43407 Add `-f' to `mv' to handle the different filesystem
43408 semantics of Windows.
43410 2008-07-29 Bean <bean123ch@gmail.com>
43412 * normal/main.c (get_line): Fix buffer overflow bug.
43414 2008-07-28 Robert Millan <rmh@aybabtu.com>
43416 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
43417 (struct grub_apple_header): New struct. Describes the layout of
43418 the partmap header.
43419 (apple_partition_map_iterate): Check the header magic as well as the
43420 partition magic (which was already being checked).
43422 2008-07-28 Pavel Roskin <proski@gnu.org>
43424 * genmk.rb: Add a warning to the beginning of the output that
43425 it's a generated file and should not be edited.
43427 2008-07-28 Robert Millan <rmh@aybabtu.com>
43429 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
43430 with the same number are found, just use issue a warning with
43431 grub_dprintf(), as this error has been reported to be non-fatal.
43433 2008-07-27 Robert Millan <rmh@aybabtu.com>
43435 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
43438 2008-07-27 Bean <bean123ch@gmail.com>
43440 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
43441 (grub_fat_find_dir): Ignore case when comparing filename.
43443 2008-07-27 Bean <bean123ch@gmail.com>
43445 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
43446 smallino, as it's more descriptive, and i8count can be confused with
43447 the other field count.
43448 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
43451 2008-07-27 Bean <bean123ch@gmail.com>
43453 * commands/crc.c: New file.
43455 * lib/crc.c: Likewise.
43457 * include/grub/lib/crc.h: Likewise.
43459 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
43461 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
43462 (hexdump): Move this function to ...
43464 * lib/hexdump.c: ... here.
43466 * include/grub/hexdump.h: Renamed to ...
43468 * include/grub/lib/hexdump.h: ... this.
43470 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
43472 * util/grub-editenv.c: Likewise.
43474 * include/envblk.h: Renamed to ...
43476 * include/lib/envblk.h: ... this.
43478 * util/envblk.c: Renamed to ...
43480 * lib/envblk.c: ... this.
43482 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
43484 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
43485 (pkglib_MODULES): Add crc.mod.
43486 (hexdump_mod_SOURCES): Add lib/hexdump.c.
43487 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
43488 (crc_mod_SOURCES): New macro.
43489 (crc_mod_CFLAGS): Likewise.
43490 (crc_mod_LDFLAGS): Likewise.
43492 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
43494 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43496 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43498 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43500 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
43502 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
43504 * commands/help.c: Include <grub/term.h>.
43505 (TERM_WIDTH): Removed. Updated all users.
43507 2008-07-27 Pavel Roskin <proski@gnu.org>
43509 * util/getroot.c (find_root_device): Rephrase a comment to avoid
43510 spurious warnings about a comment within a comment.
43512 2008-07-25 Robert Millan <rmh@aybabtu.com>
43514 * util/getroot.c (find_root_device): Skip devices that match
43515 /dev/dm-[0-9]. This lets the real device be found for any type of
43516 abstraction (LVM, EVMS, RAID..).
43517 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
43518 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
43519 device is found first, find_root_device() will now skip it.
43521 2008-07-24 Pavel Roskin <proski@gnu.org>
43523 * include/grub/types.h: Use __builtin_bswap32() and
43524 __builtin_bswap64() with gcc 4.3 and newer.
43526 2008-07-24 Christian Franke <franke@computer.org>
43528 * util/i386/pc/grub-install.in: If `--debug' is specified,
43529 pass `--verbose' to grub-setup.
43530 Abort script if make_system_path_relative_to_its_root() fails.
43532 2008-07-24 Bean <bean123ch@gmail.com>
43534 * configure.ac: Fixed a bug caused by the previous cygwin patch,
43535 variable `target_platform' should be `platform'.
43537 2008-07-24 Bean <bean123ch@gmail.com>
43539 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
43540 (grub_png_init_fixed_block): New function.
43541 (grub_png_decode_image_data): Handle fixed huffman code compression.
43543 2008-07-24 Bean <bean123ch@gmail.com>
43545 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
43546 (grub_pe2elf_SOURCES): New macro.
43547 (CLEANFILES): Add grub-pe2elf.
43549 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
43550 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
43551 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
43552 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
43553 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
43554 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
43555 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
43556 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
43557 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
43558 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
43559 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
43560 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
43561 (GRUB_PE32_DT_FUNCTION): Likewise.
43562 (GRUB_PE32_REL_I386_DIR32): Likewise.
43563 (GRUB_PE32_REL_I386_REL32): Likewise.
43564 (grub_pe32_symbol): New structure.
43565 (grub_pe32_reloc): Likewise.
43567 * util/grub-pe2elf.c: New file.
43569 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
43570 start symbol in non pc platform.
43572 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
43574 The following patches are from Christian Franke.
43576 * include/grub/dl.h: Remove .previous, gas supports this only
43579 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
43580 Remove .type, gas supports this only for ELF format.
43582 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
43583 nullbytes in symbol table. This fixes an infinite loop if table is
43586 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
43587 TARGET_IMG_LDFLAGS and EXEEXT.
43589 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
43590 TARGET_IMG_LDFLAGS_AC.
43591 (grub_CHECK_STACK_ARG_PROBE): New function.
43593 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
43595 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
43597 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
43598 to set TARGET_IMG_LD* accordingly.
43599 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
43600 Add call to grub_CHECK_STACK_ARG_PROBE.
43601 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
43603 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
43605 * genmk.rb: Add EXEEXT to CLEANFILES.
43607 2008-07-23 Robert Millan <rmh@aybabtu.com>
43609 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
43610 define the codes for arrows and lines used for the menu).
43611 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
43614 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
43615 fonts, because the latter are too slow.
43617 2008-07-21 Bean <bean123ch@gmail.com>
43619 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
43620 a20. Run keyboard test last, as it will cause macbook to halt.
43622 2008-07-18 Pavel Roskin <proski@gnu.org>
43624 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
43625 load foreign architecture modules correctly anyway. Keep
43626 support for loading host architecture modules, whether we
43627 compile them or not.
43629 2008-07-17 Pavel Roskin <proski@gnu.org>
43631 * configure.ac: Use -m32 or -m64 regardless of whether we had to
43632 change target_cpu. The compiler default can mismatch target_cpu
43635 * disk/efi/efidisk.c: Fix format warnings on x86_64.
43636 * kern/efi/efi.c: Likewise.
43638 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
43639 target compiler is functional.
43640 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
43643 * configure.ac: Default to efi platform for x86_64-apple. Allow
43644 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
43645 adjustments from the rest, only do them if target is not
43646 explicitly given. Merge other adjustments with the final sanity
43647 check. Remove an extraneous check for supported CPU. Be
43648 specific which CPU and which platform is not supported.
43650 * configure.ac: Default to pc platform for x86_64.
43652 2008-07-17 Robert Millan <rmh@aybabtu.com>
43654 Partial LinuxBIOS -> Coreboot rename.
43656 * conf/i386-linuxbios.rmk: Renamed to ...
43657 * conf/i386-coreboot.rmk: ... this.
43658 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
43659 * configure.ac: Accept "coreboot" as input platform (but maintain
43660 compatibility with "linuxbios").
43661 * include/grub/i386/linuxbios: Renamed to ...
43662 * include/grub/i386/coreboot: ... this.
43664 2008-07-17 Bean <bean123ch@gmail.com>
43666 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
43667 (appleldr_mod_SOURCE): New variable.
43668 (appleldr_mod_CFLAGS): Likewise.
43669 (appleldr_mod_LDFLAGS): Likewise.
43670 (pci_mod_SOURCES): Likewise.
43671 (pci_mod_CFLAGS): Likewise.
43672 (pci_mod_LDFLAGS): Likewise.
43673 (lspci_mod_SOURCES): Likewise.
43674 (lspci_mod_CFLAGS): Likewise.
43675 (lspci_mod_LDFLAGS): Likewise.
43677 * conf/x86_64-efi.rmk: New file.
43679 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
43681 (grub_efidisk_write): Likewise.
43683 * include/efi/api.h (efi_call_0): New macro.
43684 (efi_call_1): Likewise.
43685 (efi_call_2): Likewise.
43686 (efi_call_3): Likewise.
43687 (efi_call_4): Likewise.
43688 (efi_call_5): Likewise.
43689 (efi_call_6): Likewise.
43691 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
43692 grub_rescue_cmd_chainloader.
43694 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
43695 (grub_pe32_optional_header): Change some fields based on i386 or
43697 (GRUB_PE32_PE32_MAGIC): Likewise.
43699 * include/grub/efi/uga_draw.h: New file.
43701 * include/grub/elf.h (STN_ABS): New constant.
43702 (R_X86_64_NONE): Relocation constant for x86_64.
43703 (R_X86_64_64): Likewise.
43704 (R_X86_64_PC32): Likewise.
43705 (R_X86_64_GOT32): Likewise.
43706 (R_X86_64_PLT32): Likewise.
43707 (R_X86_64_COPY): Likewise.
43708 (R_X86_64_GLOB_DAT): Likewise.
43709 (R_X86_64_JUMP_SLOT): Likewise.
43710 (R_X86_64_RELATIVE): Likewise.
43711 (R_X86_64_GOTPCREL): Likewise.
43712 (R_X86_64_32): Likewise.
43713 (R_X86_64_32S): Likewise.
43714 (R_X86_64_16): Likewise.
43715 (R_X86_64_PC16): Likewise.
43716 (R_X86_64_8): Likewise.
43717 (R_X86_64_PC8): Likewise.
43719 * include/grub/i386/efi/pci.h: New file.
43721 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
43722 Change it value based on platform.
43723 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
43724 (GRUB_E820_RAM): Likewise.
43725 (GRUB_E820_RESERVED): Likewise.
43726 (GRUB_E820_ACPI): Likewise.
43727 (GRUB_E820_NVS): Likewise.
43728 (GRUB_E820_EXEC_CODE): Likewise.
43729 (GRUB_E820_MAX_ENTRY): Likewise.
43730 (grub_e820_mmap): New structure.
43731 (linux_kernel_header): Change the efi field according to different
43732 kernel version, also field from linux_kernel_header.
43734 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
43736 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
43737 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
43738 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
43739 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
43740 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
43741 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
43742 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
43743 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
43744 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
43745 (GRUB_PCI_ADDR_IO_MASK): Likewise.
43747 * include/grub/x86_64/efi/kernel.h: New file.
43749 * include/grub/x86_64/efi/loader.h: Likewise.
43751 * include/grub/x86_64/efi/machine.h: Likewise.
43753 * include/grub/x86_64/efi/pci.h: Likewise.
43755 * include/grub/x86_64/efi/time.h: Likewise.
43757 * include/grub/x86_64/linux.h: Likewise.
43759 * include/grub/x86_64/setjmp.h: Likewise.
43761 * include/grub/x86_64/time.h: Likewise.
43763 * include/grub/x86_64/types.h: Likewise.
43765 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
43766 GRUB_TARGET_SIZEOF_VOID_P.
43768 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
43769 (grub_efi_locate_handle): Likewise.
43770 (grub_efi_open_protocol): Likewise.
43771 (grub_efi_set_text_mode): Likewise.
43772 (grub_efi_stall): Likewise.
43773 (grub_exit): Likewise.
43774 (grub_reboot): Likewise.
43775 (grub_halt): Likewise.
43776 (grub_efi_exit_boot_services): Likewise.
43777 (grub_get_rtc): Likewise.
43779 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
43780 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
43781 (grub_efi_allocate_pages): Wrap efi calls.
43782 (grub_efi_free_pages): Wrap efi calls.
43783 (grub_efi_get_memory_map): Wrap efi calls.
43785 * kern/x86_64/dl.c: New file.
43787 * kern/x86_64/efi/callwrap.S: Likewise.
43789 * kern/x86_64/efi/startup.S: Likewise.
43791 * loader/efi/appleloader.c: Likewise.
43793 * loader/efi/chainloader.c (cmdline): New variable.
43794 (grub_chainloader_unload): Wrap efi calls.
43795 (grub_chainloader_boot): Likewise.
43796 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
43799 * loader/efi/chainloader_normal.c (chainloader_command):
43800 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
43803 * loader/i386/efi/linux.c (allocate_pages): Change allocation
43805 (grub_e820_add_region): New function.
43806 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
43808 (grub_find_video_card): New function.
43809 (grub_linux_setup_video): New function.
43810 (grub_rescue_cmd_linux): Probe for video information.
43812 * normal/x86_64/setjmp.S: New file.
43814 * term/efi/console.c (map_char): New function.
43815 (grub_console_putchar): Map unicode char.
43816 (grub_console_checkkey): Wrap efi calls.
43817 (grub_console_getkey): Likewise.
43818 (grub_console_getwh): Likewise.
43819 (grub_console_gotoxy): Likewise.
43820 (grub_console_cls): Likewise.
43821 (grub_console_setcolorstate): Likewise.
43822 (grub_console_setcursor): Likewise.
43824 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
43826 2008-07-16 Pavel Roskin <proski@gnu.org>
43828 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
43831 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
43832 pointer, not an integer. This fixes a warning and prevents
43833 precision loss on 64-bit systems.
43834 (relocate_addresses): Remove unneeded cast.
43836 2008-07-15 Pavel Roskin <proski@gnu.org>
43838 * kern/i386/ieee1275/init.c: Include grub/cache.h.
43840 * term/ieee1275/ofconsole.c: Disable code unused on i386.
43842 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
43843 Fix comparison between signed and unsigned.
43845 * include/grub/i386/ieee1275/console.h: Declare
43846 grub_console_init() and grub_console_fini().
43848 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
43849 It's empty and unused.
43851 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
43852 beginning to avoid warnings with some compilers.
43854 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
43855 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
43857 2008-07-14 Pavel Roskin <proski@gnu.org>
43859 * kern/env.c (grub_register_variable_hook): Don't copy empty
43860 string, it leaks memory. Pass "" to grub_env_set(), it should
43861 handle constant strings.
43863 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
43864 * commands/cmp.c (grub_cmd_cmp): Likewise.
43865 * kern/dl.c (grub_dl_flush_cache): Likewise.
43866 (grub_dl_load_core): Likewise.
43867 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
43868 (grub_elf64_load_phdrs): Likewise.
43870 2008-07-13 Pavel Roskin <proski@gnu.org>
43872 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
43873 between signed and unsigned.
43874 (LzmaEnc_Finish): Fix warning about an unused parameter.
43876 2008-07-13 Bean <bean123ch@gmail.com>
43878 * Makefile.in (enable_lzo): New rule.
43880 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
43882 * configure.ac (ENABLE_LZO): New option --enable-lzo.
43884 * boot/i386/pc/lnxboot.S: #include <config.h>.
43886 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
43887 its value according to the compression algorithm used, lzo or lzma.
43889 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
43890 compression algorithm according to configure macro.
43892 * kern/i386/pc/startup.S (codestart): Likewise.
43894 * kern/i386/pc/lzma_decode.S: New file.
43896 * include/grub/lib/LzFind.h: Likewise.
43898 * include/grub/lib/LzHash.h: Likewise.
43900 * include/grub/lib/LzmaDec.h: Likewise.
43902 * include/grub/lib/LzmaEnc.h: Likewise.
43904 * include/grub/lib/LzmaTypes.h: Likewise.
43906 * lib/LzFind.c: Likewise.
43908 * lib/LzmaDec.c: Likewise.
43910 * lib/LzmaEnc.c: Likewise.
43912 2008-07-13 Bean <bean123ch@gmail.com>
43914 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
43915 (grub_ext4_extent_header): New structure.
43916 (grub_ext4_extent): Likewise.
43917 (grub_ext4_extent_idx): Likewise.
43918 (grub_ext4_find_leaf): New function.
43919 (grub_ext2_read_block): Handle extents.
43921 2008-07-12 Robert Millan <rmh@aybabtu.com>
43923 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
43925 2008-07-11 Robert Millan <rmh@aybabtu.com>
43927 * util/grub.d/40_custom.in: New file. Example on how to add custom
43928 entries to /etc/grub.d.
43929 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
43930 40_custom (implicitly, by merging all the grub.d rules).
43932 2008-07-11 Pavel Roskin <proski@gnu.org>
43934 * commands/read.c (grub_getline): Fix invalid memory access.
43935 Don't add newline to the variable value.
43937 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
43938 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
43939 (serial_hw_get_port): Check validity of the port number.
43940 (grub_cmd_serial): Check return value of serial_hw_get_port().
43942 2008-07-07 Pavel Roskin <proski@gnu.org>
43944 * boot/i386/pc/diskboot.S (notification_string): Replace
43945 "Loading kernel" with just "loading". This is shorter, less
43946 confusing and saves a few bytes for possible future changes.
43948 2008-07-05 Pavel Roskin <proski@gnu.org>
43950 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
43951 size for ATAPI devices, they are undefined. Output sector
43952 number in decimal form.
43954 * disk/ata.c: Use named constants for status bits.
43956 2008-07-04 Pavel Roskin <proski@gnu.org>
43958 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
43959 grub_addr_t before casting it to the void pointer to fix a
43960 warning. Non-addressable regions are discarded earlier.
43961 (grub_arch_modules_addr): Cast _end to grub_addr_t.
43962 * kern/i386/linuxbios/table.c: Include grub/misc.h.
43963 (check_signature): Don't shadow table_header.
43964 (grub_linuxbios_table_iterate): Cast numeric constants to
43965 grub_linuxbios_table_header_t.
43966 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
43969 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
43972 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
43973 pointer, which can cause warnings. Support 64-bit addresses.
43975 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
43976 of sizeof(long). This fixes PowerPC image generation on x86_64.
43978 2008-07-04 Robert Millan <rmh@aybabtu.com>
43980 This fixes a performance issue when pc & gpt partmap iterators
43981 didn't abort iteration even after our hook found what it was
43982 looking for (often causing expensive probes of non-existent drives).
43984 Some callers relied on previous buggy behaviour, since they would
43985 raise an error when their own hooks caused early abortion of its
43988 * kern/device.c (grub_device_open): Improve error message.
43989 * disk/lvm.c (grub_lvm_open): Likewise.
43990 * disk/raid.c (grub_raid_open): Likewise.
43992 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
43993 when hook requests it, independently of grub_errno.
43994 (pc_partition_map_probe): Do not fail when find_func() caused
43995 early abortion of pc_partition_map_iterate().
43997 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
43998 when hook requests it, independently of grub_errno.
43999 (gpt_partition_map_probe): Do not fail when find_func() caused
44000 early abortion of gpt_partition_map_iterate().
44002 * kern/partition.c (grub_partition_iterate): Abort parent iteration
44003 when hook requests it, independently of grub_errno. Do not fail when
44004 part_map_iterate_hook() caused early abortion of p->iterate().
44006 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
44007 when grub_partition_iterate() returned with non-zero.
44009 2008-07-03 Pavel Roskin <proski@gnu.org>
44011 * disk/ata.c (grub_ata_pio_write): Check status before writing,
44012 like we do in grub_ata_pio_read().
44013 (grub_ata_readwrite): Always write individual sectors. Fix the
44014 sector count for the remainder.
44015 (grub_ata_write): Enable writing to ATA devices. Correctly
44016 report error for ATAPI devices.
44018 2008-07-02 Pavel Roskin <proski@gnu.org>
44020 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
44023 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
44024 for every read sector, we already increment it for the whole
44025 batch. This fixes reading more than 256 sectors at once.
44027 * util/grub-editenv.c (cmd_info): Cast argument to long
44028 explicitly. ptrdiff_t reduces to int on i386.
44030 * util/grub-editenv.c (main): Be specific which parameter is
44033 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
44034 (memdisk): Make memdisk_orig_addr a pointer.
44036 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
44037 for file offsets, use grub_off_t instead. Fix printf format
44040 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
44041 there. Real unexpected warnings should not drown in the noise
44042 about known problems.
44044 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
44045 grub_disk_addr_t for memory addresses.
44047 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
44048 explicitly to fix a warning.
44050 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
44052 * Makefile.in (MODULE_LDFLAGS): New variable.
44053 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
44054 the linker accepts --build-id=none.
44055 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
44057 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
44059 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
44060 those in Linux XFS code. Provide a way to access 64-bit parent
44062 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
44063 the end of struct grub_xfs_dir_header.
44065 2008-07-02 Bean <bean123ch@gmail.com>
44067 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
44068 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44069 and GRUB_IEEE1275_FLAG_NO_ANSI.
44071 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
44072 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
44073 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
44075 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
44076 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
44078 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
44079 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
44081 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
44082 esc sequence on non ANSI terminal.
44083 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
44085 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
44088 2008-07-02 Bean <bean123ch@gmail.com>
44090 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
44091 (grub_editenv_SOURCES): New variable.
44092 (pkglib_MODULES): Add loadenv.mod.
44093 (loadenv_mod_SOURCES): New variable.
44094 (loadenv_mod_CFLAGS): Likewise.
44095 (loadenv_mod_LDFLAGS): Likewise.
44097 * include/grub/envblk.h: New file.
44099 * util/envblk.c: New file.
44101 * util/grub-editenv.c: New file.
44103 * commands/loadenv.c: New file.
44105 2008-07-01 Pavel Roskin <proski@gnu.org>
44107 * include/multiboot2.h (struct multiboot_tag_module): Use char,
44108 not unsigned char. This fixes warnings and is consistent with
44111 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
44113 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
44115 * term/tparm.c (analyze): Always set *popcount.
44117 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
44118 cast to fix a warning.
44120 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
44121 cast to suppress a warning.
44123 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
44124 grub_fshelp_read_file() expects.
44126 * fs/fat.c: Fix UUID calculation on big-endian systems. We
44127 write uuid as a 32-bit value in CPU byte order, so declare and
44130 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
44131 long if the format specifier expects it.
44132 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
44133 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44134 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
44135 long to fix a warning.
44136 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
44137 grub_dprintf() arguments to fix warnings.
44139 2008-06-30 Pavel Roskin <proski@gnu.org>
44141 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
44142 install_bsd_part immediately before core.img is embedded or
44143 modified on disk. This fixes core.img verification if core.img
44144 cannot be embedded.
44146 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
44147 core_path to calculate the blocklist.
44148 Patch from Javier Martín <lordhabbit@gmail.com>
44150 2008-06-29 Robert Millan <rmh@aybabtu.com>
44152 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
44153 block to disk block.
44154 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
44155 Patch from Niels Böhm <bitbucket@arcor.de>
44157 2008-06-29 Robert Millan <rmh@aybabtu.com>
44159 * util/update-grub_lib.in (font_path): Search for fonts in
44160 /boot/grub first, which is more likely to be readable (we aren't
44161 deciding where fonts live, just looking for them).
44163 2008-06-26 Pavel Roskin <proski@gnu.org>
44165 * util/biosdisk.c (read_device_map): Don't leave dead map
44166 entries for devices failing stat() check.
44168 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
44169 core_path_dev for the core.img path on the target device.
44171 2008-06-26 Robert Millan <rmh@aybabtu.com>
44173 * disk/fs_uuid.c: New file.
44174 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
44175 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
44176 (fs_uuid_mod_LDFLAGS): New variables.
44177 * include/grub/disk.h (grub_disk_dev_id): Add
44178 `GRUB_DISK_DEVICE_UUID_ID'.
44179 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
44180 implement iterate().
44182 2008-06-26 Robert Millan <rmh@aybabtu.com>
44184 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
44185 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
44186 Linux image includes no initrd.
44188 2008-06-21 Javier Martín <lordhabbit@gmail.com>
44190 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
44191 call to resolve the core image location that effectively appended the
44194 2008-06-21 Robert Millan <rmh@aybabtu.com>
44196 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
44199 * util/grub.d/10_hurd.in: ... to here ...
44200 * util/grub.d/10_linux.in: ... and here.
44202 2008-06-19 Robert Millan <rmh@aybabtu.com>
44204 * kern/main.c (grub_main): Export `prefix' variable immediately
44205 after it has been set by grub_machine_set_prefix().
44207 2008-06-19 Robert Millan <rmh@aybabtu.com>
44209 * commands/search.c (search_label, search_fs_uuid, search_file): Print
44210 search result when not saving to variable, not the other way around.
44211 When saving to variable, abort iteration as soon as a match is found.
44213 2008-06-19 Robert Millan <rmh@aybabtu.com>
44215 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
44216 check for partition that provides /boot/grub. Its logic is flawed,
44217 as it prevents prepare_grub_to_access_device() from being called
44220 2008-06-19 Robert Millan <rmh@aybabtu.com>
44222 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
44223 "insmod" command directly when abstraction modules are needed,
44224 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
44225 since it had already been processed).
44227 2008-06-19 Pavel Roskin <proski@gnu.org>
44229 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
44230 changed. This is needed in case GRUB_LIBDIR changes.
44231 * conf/i386-ieee1275.rmk: Likewise.
44232 * conf/i386-linuxbios.rmk: Likewise.
44233 * conf/i386-pc.rmk: Likewise.
44234 * conf/powerpc-ieee1275.rmk: Likewise.
44236 2008-06-18 Pavel Roskin <proski@gnu.org>
44238 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
44239 kernel_elf_symlist.c to symlist.c for consistency with other
44240 architectures. Update all users.
44241 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
44243 2008-06-18 Robert Millan <rmh@aybabtu.com>
44245 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
44248 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
44249 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
44250 a RAID device, run setup() for all members independently on whether
44251 LVM abstraction is being used.
44252 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
44253 If grub-mkimage has set `*install_dos_part == -2', don't override this
44255 Perform *install_dos_part adjustments independently on whether
44256 we're embedding or not.
44257 Clarify error message when image is too big for embedding.
44258 Remove duplicate *install_dos_part stanza.
44260 2008-06-17 Robert Millan <rmh@aybabtu.com>
44262 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
44263 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
44265 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
44266 values in grub_ofconsole_normal_color and
44267 grub_ofconsole_highlight_color (they're not directly related to
44268 background and foreground).
44269 (grub_ofconsole_setcolorstate): Extract background and foreground
44270 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
44272 2008-06-17 Robert Millan <rmh@aybabtu.com>
44274 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
44275 /boot/grub for the check in last commit, not /boot (they could be
44276 different partitions).
44278 2008-06-16 Robert Millan <rmh@aybabtu.com>
44280 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
44281 asked to setup access for the same partition that provides /boot,
44282 don't bother using UUIDs since our root already has the value we
44285 2008-06-16 Robert Millan <rmh@aybabtu.com>
44287 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
44289 Patch from Sven Mueller <sven@debian.org>.
44291 2008-06-16 Robert Millan <rmh@aybabtu.com>
44293 * util/update-grub.in: Check for $EUID instead of $UID.
44294 Reported by Vincent Zweije.
44296 2008-06-16 Bean <bean123ch@gmail.com>
44298 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
44299 (grub_ext2_read_block): Likewise.
44300 (grub_ext2_read_inode): Likewise.
44301 (grub_ext2_mount): Likewise.
44302 (grub_ext2_close): Likewise.
44303 (grub_ext3_get_journal): Removed.
44305 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
44306 (grub_reiserfs_read_symlink): Likewise.
44307 (grub_reiserfs_mount): Likewise.
44308 (grub_reiserfs_open): Likewise.
44309 (grub_reiserfs_read): Likewise.
44310 (grub_reiserfs_close): Likewise.
44311 (grub_reiserfs_get_journal): Removed.
44313 * fs/fshelp.c (grub_fshelp_read): Removed.
44314 (grub_fshelp_map_block): Likewise.
44316 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
44317 (grub_fshelp_journal): Likewise.
44318 (grub_fshelp_read): Likewise.
44319 (grub_fshelp_map_block): Likewise.
44321 2008-06-16 Pavel Roskin <proski@gnu.org>
44323 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
44324 floating point anymore.
44325 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
44327 2008-06-15 Pavel Roskin <proski@gnu.org>
44329 * commands/ls.c (grub_ls_list_files): Use integer calculations
44330 for human readable format, avoid floating point use.
44331 * kern/misc.c (grub_ftoa): Remove.
44332 (grub_vsprintf): Remove floating point support.
44334 2008-06-15 Robert Millan <rmh@aybabtu.com>
44336 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
44338 Reported by Max Vozeler.
44340 2008-06-15 Robert Millan <rmh@aybabtu.com>
44342 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
44343 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
44345 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
44346 the beginning of the prefix.
44348 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
44349 It is assumed that if we have a memdisk, grub-mkimage has set
44350 grub_prefix to include the "(memdisk)" drive in it.
44352 2008-06-15 Robert Millan <rmh@aybabtu.com>
44354 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
44355 Initialize keyboard controller after registering the terminal, so that
44356 grub_printf() can be called from grub_keyboard_controller_init().
44358 2008-06-15 Robert Millan <rmh@aybabtu.com>
44360 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
44361 extent-btree which is written as big endian on disk.
44362 Reported by Alain Greppin <al@chilibi.org>.
44364 2008-06-14 Robert Millan <rmh@aybabtu.com>
44366 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
44367 * util/i386/pc/grub-install.in (modules): Likewise.
44369 2008-06-13 Pavel Roskin <proski@gnu.org>
44371 * commands/ls.c (grub_ls_list_files): Fix format warnings.
44373 2008-06-13 Bean <bean123ch@gmail.com>
44375 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
44377 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
44379 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
44380 to indicate sparse block.
44382 2008-06-12 Pavel Roskin <proski@gnu.org>
44384 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
44385 number, grub_fshelp_read() does it for us.
44387 * fs/fshelp.c (grub_fshelp_read): New function. Implement
44388 linear disk read with journal translation.
44389 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
44390 * include/grub/fshelp.h: Declare grub_fshelp_read().
44392 2008-06-09 Pavel Roskin <proski@gnu.org>
44394 * fs/minix.c (grub_minix_mount): Handle error reading
44397 2008-06-08 Robert Millan <rmh@aybabtu.com>
44399 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
44400 don't append the RAID prefix afterwards.
44401 Reported by Clint Adams.
44403 2008-06-08 Robert Millan <rmh@aybabtu.com>
44405 Based on description from Pavel:
44406 * kern/disk.c (grub_disk_check_range): Rename to ...
44407 (grub_disk_adjust_range): ... this. Add a comment explaining the
44408 tasks performed by this function.
44410 2008-06-08 Robert Millan <rmh@aybabtu.com>
44412 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
44413 `num_serial' (for consistency with other variables).
44414 (struct grub_ntfs_data): Add `uuid' member.
44415 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
44416 (grub_ntfs_uuid): New function.
44417 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
44419 2008-06-07 Pavel Roskin <proski@gnu.org>
44421 * util/biosdisk.c (open_device): Revert last change to the
44422 function, it broke installation. The sector needs to be
44423 different dependent on which device is opened.
44425 2008-06-06 Robert Millan <rmh@aybabtu.com>
44427 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
44428 rest of GRUB, and breakage doesn't happen if its value were modified.
44430 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44431 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
44432 a constant (same value).
44433 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
44434 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
44436 2008-06-06 Robert Millan <rmh@aybabtu.com>
44438 * util/biosdisk.c (open_device): Do not modify sector offset when
44439 accessing a partition. kern/disk.c already handles this for us.
44441 2008-06-06 Robert Millan <rmh@aybabtu.com>
44443 * util/grub-emu.c (grub_machine_init): Move code in this function from
44445 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
44446 segfault in case grub_printf() is called).
44448 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
44449 grub_probe. Update all users not to explicitly add it again.
44450 (grub_device): New variable; contains corresponding device for grubdir.
44451 (fs_module, partmap_module, devabstraction_module): Pass
44452 `--device ${grub_device}' to grub_probe to avoid traversing /dev
44455 2008-06-05 Robert Millan <rmh@aybabtu.com>
44457 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
44458 is found, print it (same layout as with labels).
44460 2008-06-04 Robert Millan <rmh@aybabtu.com>
44462 * util/biosdisk.c (get_drive): Rename to ...
44463 (find_grub_drive): ... this. Update all users.
44465 (get_os_disk): Rename to ...
44466 (convert_system_partition_to_system_disk): ... this. Update all users.
44468 (find_drive): Rename to ...
44469 (find_system_device): ... this. Update all users.
44471 2008-06-04 Robert Millan <rmh@aybabtu.com>
44473 * util/biosdisk.c (get_os_disk): Handle IDA devices.
44474 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44475 (make_device_map): Likewise.
44477 2008-06-01 Robert Millan <rmh@aybabtu.com>
44479 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
44480 before dereferencing it.
44482 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
44483 union with fat12/fat16-specific ones. Add some new fields, including
44484 `num_serial' for both versions.
44485 (struct grub_fat_data): Add `uuid' member.
44486 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
44487 names. Initialize `data->uuid' using `num_serial'.
44488 (grub_fat_uuid): New function.
44489 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
44491 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
44492 (grub_reiserfs_uuid): New function.
44493 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
44496 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
44497 (grub_xfs_uuid): New function.
44498 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
44500 2008-06-01 Robert Millan <rmh@aybabtu.com>
44502 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
44503 code that is backward compatible with pre-uuid search command.
44505 2008-05-31 Robert Millan <rmh@aybabtu.com>
44507 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
44508 floppies after everything else, to ensure floppy drive isn't accessed
44509 unnecessarily (patch from Bean).
44511 2008-05-31 Robert Millan <rmh@aybabtu.com>
44513 * commands/search.c (search_label, search_fs_uuid, search_file): Do
44514 not print device names when we were asked to set a variable.
44516 2008-05-31 Robert Millan <rmh@aybabtu.com>
44518 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
44519 using "cursor-on" and "cursor-off" commands (understood at least by
44520 the Open Firmware flavour on OLPC).
44522 2008-05-31 Michael Gorven <michael@gorven.za.net>
44524 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
44525 on and off sequences.
44527 2008-05-31 Robert Millan <rmh@aybabtu.com>
44529 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
44530 * util/update-grub.in: Likewise.
44532 2008-05-30 Pavel Roskin <proski@gnu.org>
44534 * util/biosdisk.c (linux_find_partition): Simplify logic and
44535 make the code more universal. Keep special processing for
44536 devfs, but use a simple rule for all other devices. If the
44537 device ends with a number, append 'p' and the partition number.
44538 Otherwise, append only the partition number.
44540 2008-05-30 Robert Millan <rmh@aybabtu.com>
44542 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
44543 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
44544 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
44545 the `root' parameter to Linux.
44547 2008-05-30 Robert Millan <rmh@aybabtu.com>
44549 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
44550 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
44551 --fs_uuid with --fs-uuid.
44552 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
44553 all filesystems support them).
44555 2008-05-30 Robert Millan <rmh@aybabtu.com>
44557 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
44558 grub_printf() flags, since we're printing in units of 2 bytes.
44560 2008-05-30 Robert Millan <rmh@aybabtu.com>
44562 * util/grub.d/00_header.in: Remove obsolete comment referencing
44563 convert_system_path_to_grub_path().
44564 * util/update-grub.in: Likewise.
44565 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
44566 (convert_system_path_to_grub_path): Add a warning message explaining
44567 that this function is deprecated. Rely on is_path_readable_by_grub()
44568 for the readability checks.
44569 (font_path): Use is_path_readable_by_grub() for the readability
44570 check rather than convert_system_path_to_grub_path().
44572 2008-05-30 Robert Millan <rmh@aybabtu.com>
44574 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
44575 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
44576 converting it first.
44577 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
44578 grub.cfg for access to font file, and afterwards call it again to set
44581 2008-05-30 Robert Millan <rmh@aybabtu.com>
44583 * commands/search.c (options): Add --fs_uuid option.
44584 (search_fs_uuid): New function.
44585 (grub_cmd_search): Fix --set argument passing.
44586 Use search_fs_uuid() when requested via --fs_uuid.
44587 (grub_search_init): Update help message.
44588 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
44589 and redeclare it as an array of 16-bit words.
44590 (grub_ext2_uuid): New function.
44591 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
44592 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
44593 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
44594 (GRUB_DEVICE_BOOT_UUID): New variables.
44595 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
44596 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
44598 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
44599 just assume `root' variable has the right value.
44600 * util/grub.d/10_linux.in: Likewise.
44601 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
44603 (main): Recognise `-t fs_uuid' argument.
44605 2008-05-30 Robert Millan <rmh@aybabtu.com>
44607 * util/biosdisk.c (map): Redefine structure to hold information
44608 about GRUB drive name.
44609 (get_drive): Reimplement without assuming (and verifying) BIOS-like
44611 (call_hook): Remove.
44612 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
44613 member. Assume drive has partitions.
44614 (grub_util_biosdisk_open): Access device names via `.device' struct
44616 (open_device): Likewise.
44617 (find_drive): Likewise.
44618 (read_device_map): Adjust map[] usage to match the new struct
44619 definition. Don't check for duplicates (still possible, but not cheap
44621 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
44622 (make_device_name): Remove assumption of BIOS-like drive names.
44624 2008-05-30 Pavel Roskin <proski@gnu.org>
44626 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
44627 compiling execute.c doesn't need grub_script.tab.h anymore.
44628 (normal/command.c_DEPENDENCIES): Likewise.
44629 (normal/function.c_DEPENDENCIES): Likewise.
44630 * conf/i386-ieee1275.rmk: Likewise.
44631 * conf/i386-linuxbios.rmk: Likewise.
44632 * conf/i386-pc.rmk: Likewise.
44633 * conf/powerpc-ieee1275.rmk: Likewise.
44634 * conf/sparc64-ieee1275.rmk: Likewise.
44636 2008-05-29 Pavel Roskin <proski@gnu.org>
44638 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
44639 when scanning metadata for volume group name.
44641 * include/grub/script.h: Don't include grub_script.tab.h. It's
44642 a generated file, which may only be included from the files with
44643 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
44644 use union YYSTYPE, as the later allows forward declaration.
44645 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
44647 2008-05-29 Robert Millan <rmh@aybabtu.com>
44649 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
44650 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
44651 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
44652 (grub_console_checkkey): Add grub_dprintf() call to report unknown
44655 2008-05-29 Robert Millan <rmh@aybabtu.com>
44657 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
44658 control key combinations.
44660 2008-05-29 Robert Millan <rmh@aybabtu.com>
44662 * util/powerpc/ieee1275/grub-install.in: Move from here ...
44663 * util/ieee1275/grub-install.in: ... to here.
44664 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
44665 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
44666 (grub_install_SOURCES): Likewise.
44668 2008-05-29 Robert Millan <rmh@aybabtu.com>
44670 * fs/affs.c: Update copyright year.
44671 * fs/ext2.c: Likewise.
44672 * fs/fshelp.c: Likewise.
44673 * fs/hfsplus.c: Likewise.
44674 * fs/ntfs.c: Likewise.
44675 * fs/xfs.c: Likewise.
44676 * include/grub/fshelp.h: Likewise.
44677 * util/grub-mkdevicemap.c: Likewise.
44679 2008-05-28 Robert Millan <rmh@aybabtu.com>
44681 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
44682 might need to be fatfs to support some firmware implementations
44685 2008-05-28 Robert Millan <rmh@aybabtu.com>
44687 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
44689 * util/grub-mkdevicemap.c (get_mmc_disk_name)
44690 (make_device_map): Likewise.
44692 2008-05-20 Bean <bean123ch@gmail.com>
44694 * fs/fshelp.c (grub_fshelp_map_block): New function.
44695 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
44696 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
44698 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
44699 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
44700 (grub_fshelp_journal): New structure.
44701 (grub_fshelp_map_block): New function prototype.
44702 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
44703 (grub_fshelp_map_block): Likewise.
44705 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
44706 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
44707 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
44708 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
44709 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
44710 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
44711 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
44712 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
44713 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
44714 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
44715 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
44716 (grub_ext2_sblock): New members for journal support.
44717 (grub_ext3_journal_header): New structure.
44718 (grub_ext3_journal_revoke_header): Likewise.
44719 (grub_ext3_journal_block_tag): Likewise.
44720 (grub_ext3_journal_sblock): Likewise.
44721 (grub_fshelp_node): New members logfile and journal.
44722 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
44723 grub_fshelp_map_block to get real block number.
44724 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
44726 (grub_ext2_read_inode): Likewise.
44727 (grub_ext3_get_journal): New function.
44728 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
44729 (grub_ext2_close): Release memory used by journal.
44731 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
44732 (REISERFS_MAGIC_DESC_BLOCK): New macro.
44733 (grub_reiserfs_transaction_header): Renamed to
44734 grub_reiserfs_description_block, replace field data with real_blocks.
44735 (grub_reiserfs_commit_block): New structure.
44736 (grub_reiserfs_data): New member journal.
44737 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
44739 (grub_reiserfs_read_symlink): Likewise.
44740 (grub_reiserfs_iterate_dir): Likewise.
44741 (grub_reiserfs_open): Likewise.
44742 (grub_reiserfs_read): Likewise.
44743 (grub_reiserfs_get_journal): New function.
44744 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
44745 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
44746 using grub_reiserfs_get_journal.
44747 (grub_reiserfs_close): Release memory used by journal.
44749 * fs/affs.c (grub_affs_read_block): Change block type to
44750 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
44752 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
44754 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
44756 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
44758 * fs/udf.c (grub_udf_read_block): Change block type to
44759 grub_disk_addr_t. Use type cast to avoid warning.
44761 * fs/xfs.c (grub_xfs_read_block): Likewise.
44763 2008-05-16 Christian Franke <franke@computer.org>
44765 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
44766 to ensure that break with ESC will always work.
44767 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
44768 Remove ESC from keyboard queue.
44770 2008-05-16 Christian Franke <franke@computer.org>
44772 * util/biosdisk.c: [__CYGWIN__] Add includes.
44773 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
44774 (get_os_disk): Move variable declarations to OS specific
44775 parts to avoid warning.
44776 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
44777 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
44778 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
44780 * util/getroot.c: [__CYGWIN__] Add includes.
44781 (strip_extra_slashes): Fix "/" case.
44782 [__CYGWIN__] (get_win32_path): New function.
44783 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
44784 [__CYGWIN__] (find_root_device): Disable.
44785 [__CYGWIN__] (get_bootsec_serial): New function.
44786 [__CYGWIN__] (find_cygwin_root_device): Likewise.
44787 [__linux__] (grub_guess_root_device): Add early returns to simplify
44789 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
44790 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
44791 check for Linux only.
44793 2008-05-15 Bean <bean123ch@gmail.com>
44795 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
44796 keyboard hang problem in apple's intel mac.
44798 2008-05-09 Robert Millan <rmh@aybabtu.com>
44800 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
44802 * util/grub-mkdevicemap.c (get_virtio_disk_name)
44803 (make_device_map): Likewise.
44804 Reported by Aurelien Jarno <aurel32@debian.org>
44806 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
44808 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
44809 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
44810 (make_device_map): Output entries for xvd type disks.
44812 2008-05-07 Robert Millan <rmh@aybabtu.com>
44814 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
44816 * util/grub-mkdevicemap.c (get_cciss_disk_name)
44817 (make_device_map): Likewise.
44818 Reported by Roland Dreier <rdreier@cisco.com>
44820 2008-05-07 Robert Millan <rmh@aybabtu.com>
44822 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
44823 grub_strstr() call. Correct a few mistakes in failure path handling.
44825 2008-05-06 Robert Millan <rmh@aybabtu.com>
44827 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
44828 Do not print a trailing slash (therefore, the root directory is an
44830 (convert_system_path_to_grub_path): Do not remove trailing slash
44831 from make_system_path_relative_to_its_root() output.
44833 * util/i386/pc/grub-install.in: Add trailing slash to output from
44834 make_system_path_relative_to_its_root().
44836 2008-05-06 Robert Millan <rmh@aybabtu.com>
44838 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
44839 ensures that output lines aren't intermangled with those sent to
44840 stderr (via grub_util_info()).
44841 * util/grub-probe.c (grub_refresh): Likewise.
44842 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
44844 2008-05-05 Christian Franke <franke@computer.org>
44846 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
44847 Add Cygwin device names.
44848 (get_ide_disk_name) [__CYGWIN__]: Likewise.
44849 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
44850 (check_device): Return error instead of success on empty name.
44851 (make_device_map): Move label inside linux specific code to
44852 prevent compiler warning.
44854 2008-04-30 Robert Millan <rmh@aybabtu.com>
44856 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
44857 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
44859 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
44861 2008-04-29 Robert Millan <rmh@aybabtu.com>
44863 * docs/grub.cfg: New file (example GRUB configuration).
44865 2008-04-26 Robert Millan <rmh@aybabtu.com>
44867 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
44868 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
44869 and `disk/ieee1275/nand.c'.
44871 2008-04-25 Bean <bean123ch@gmail.com>
44873 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
44876 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
44877 change the buffer size to 4096 for cdrom device.
44879 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
44881 (_linux_mod_SOURCES): New variable.
44882 (_linux_mod_CFLAGS): Likewise.
44883 (_linux_mod_LDFLAGS): Likewise.
44884 (linux_mod_SOURCES): Likewise.
44885 (linux_mod_CFLAGS): Likewise.
44886 (linux_mod_LDFLAGS): Likewise.
44887 (nand_mod_SOURCES): Likewise.
44888 (nand_mod_CFLAGS): Likewise.
44889 (nand_mod_LDFLAGS): Likewise.
44891 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
44892 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
44893 type property. (nand device in olpc don't have this property)
44895 * include/grub/disk.h (grub_disk_dev_id): New macro
44896 GRUB_DISK_DEVICE_NAND_ID.
44898 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
44899 function prototype.
44900 (grub_rescue_cmd_initrd): Likewise.
44902 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
44903 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
44904 ofw_cif_handler and ofw_idt, adjust padding number.
44906 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
44907 GRUB_MACHINE_IEEE1275 is defined.
44909 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
44910 Use NESTED_FUNC_ATTR attribute on the hook parameter.
44912 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
44913 on nested function heap_init.
44914 (grub_upper_mem): New variable for i386-ieee1275.
44915 (grub_get_extended_memory): New function for i386-ieee1275.
44916 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
44918 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
44919 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
44922 * loader/i386/ieee1275/linux.c: New file.
44924 * loader/i386/ieee1275/linux_normal.c: New file.
44926 * disk/ieee1275/nand.c: New file.
44928 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
44930 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
44932 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
44934 2008-04-18 Robert Millan <rmh@aybabtu.com>
44936 Restructures early code path on ieee1275 to unify grub_main() as
44937 the first C function that is executed in every platform.
44939 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
44940 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
44942 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
44943 * kern/ieee1275/cmain.c (cmain): Rename to ...
44944 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
44945 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
44948 2008-04-18 Robert Millan <rmh@aybabtu.com>
44950 * util/update-grub.in: Fix syntax error when setting
44951 `GRUB_PRELOAD_MODULES'.
44952 Reported by Stephane Chazelas <stephane@artesyncp.com>
44954 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
44956 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
44957 section into account, newer toolchains generate unique build ids
44958 * configure.ac: remove the test for --build-id=none acceptance,
44959 we want build ids to be preserved
44960 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
44961 far from other sections don't cause the raw binary images grow
44964 2008-04-15 Robert Millan <rmh@aybabtu.com>
44966 * disk/lvm.c: Update copyright year.
44967 * kern/misc.c: Likewise.
44969 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44971 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
44972 there is no memory left for physical volume name.
44974 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
44976 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
44977 volume name mapping to support bigger than 9 character names properly.
44979 2008-04-13 Robert Millan <rmh@aybabtu.com>
44981 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
44982 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
44984 2008-04-13 Christian Franke <franke@computer.org>
44986 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
44987 to create a floppy emulation boot CD when non emulation mode
44989 Enable Joliet CD filesystem extension.
44991 2008-04-13 Robert Millan <rmh@aybabtu.com>
44993 * kern/misc.c (grub_strncat): Fix off-by-one error.
44994 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
44996 * kern/env.c (grub_env_context_close): Clear current context, not
44998 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
45000 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
45002 2008-04-13 Robert Millan <rmh@aybabtu.com>
45004 Improve robustness when handling LVM.
45006 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
45007 (and leave `*p' unmodified).
45008 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
45010 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
45011 iterating through it.
45012 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
45014 (grub_lvm_scan_device): Check the return value (and fail gracefully
45015 when due) on each grub_lvm_getvalue() or grub_strstr() call.
45016 Don't assume `vg->pvs != NULL' when iterating through it.
45018 2008-04-13 Robert Millan <rmh@aybabtu.com>
45020 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
45021 * genmk.rb (partmap): New variable.
45022 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
45023 (#{partmap}): New target rule.
45024 * genpartmaplist.sh: New file.
45025 * Makefile.in (pkglib_DATA): Add partmap.lst.
45026 (partmap.lst): New target rule.
45027 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
45028 modules (including all partition maps), instead of preloading them.
45030 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
45032 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
45033 `linux-boot-prober' (if installed) to detect other operating
45034 systems which are installed on the computer and add them to
45036 * conf/common.rmk: Build and install 30_os-prober.
45038 2008-04-12 Robert Millan <rmh@aybabtu.com>
45040 * kern/powerpc/ieee1275/init.c: Move from here ...
45041 * kern/ieee1275/init.c: ... to here. Update all users.
45043 * kern/powerpc/ieee1275/cmain.c: Move from here ...
45044 * kern/ieee1275/cmain.c: ... to here. Update all users.
45046 * kern/powerpc/ieee1275/openfw.c: Move from here ...
45047 * kern/ieee1275/openfw.c: ... to here. Update all users.
45049 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
45050 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
45052 2008-04-10 Pavel Roskin <proski@gnu.org>
45054 * configure.ac: Always use "_cv_" in cache variables for
45055 compatibility with Autoconf 2.62.
45057 2008-04-07 Robert Millan <rmh@aybabtu.com>
45059 Revert grub/machine/init.h addition by Pavel (since it breaks on
45060 i386-ieee1275 and others):
45061 * util/i386/pc/misc.c: Remove grub/machine/init.h.
45062 * util/powerpc/ieee1275/misc.c: Likewise.
45064 2008-04-07 Robert Millan <rmh@aybabtu.com>
45066 * util/grub-probe.c (probe): Improve error message.
45068 2008-04-07 Robert Millan <rmh@aybabtu.com>
45070 * util/biosdisk.c (read_device_map): Skip devices that don't exist
45071 (this prevents the presence of a bogus entry from ruining the whole
45074 2008-04-06 Pavel Roskin <proski@gnu.org>
45076 * util/biosdisk.c: Include grub/util/biosdisk.h.
45077 * util/grub-fstest.c (execute_command): Make static.
45078 * util/grub-mkdevicemap.c (check_device): Likewise.
45079 * util/i386/pc/misc.c: Include grub/machine/init.h.
45080 * util/powerpc/ieee1275/misc.c: Likewise.
45081 * util/lvm.c: Include grub/util/lvm.h.
45082 * util/misc.c: Include grub/kernel.h, grub/misc.h and
45084 * util/raid.c: Include grub/util/raid.h.
45085 (grub_util_getdiskname): Make static.
45087 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
45088 grub_hostfs_fini(), as they are called from grub_init_all() and
45089 grub_fini_all() respectively. This fixes an infinite loop in
45090 grub-fstest due to double registration of hostfs.
45091 Reported by Christian Franke <Christian.Franke@t-online.de>
45093 2008-04-05 Pavel Roskin <proski@gnu.org>
45095 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
45096 all 8 functions. Otherwise, probe function 0 only.
45098 2008-04-04 Pavel Roskin <proski@gnu.org>
45100 * commands/lspci.c (grub_lspci_iter): Print the bus number
45103 * commands/lspci.c (grub_pci_classes): Fix typos.
45104 (grub_lspci_iter): Don't print func twice. Print vendor ID
45105 before device ID, as it's normally done.
45107 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
45108 Fix signedness warnings.
45109 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
45111 * util/ieee1275/get_disk_name.c: Include config.h so that
45112 _GNU_SOURCE is defined and getline() is declared. Mark an
45113 unused argument as such. Fix a signedness warning.
45115 2008-04-02 Pavel Roskin <proski@gnu.org>
45117 * genkernsyms.sh.in: Use more robust assignments for CC and
45118 srcdir. Quote srcdir.
45119 * gensymlist.sh.in: Likewise. Assert at the compile time that
45120 the symbol table is not empty.
45122 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
45123 * fs/cpio.c (grub_cpio_read): Likewise.
45125 2008-04-01 Pavel Roskin <proski@gnu.org>
45127 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
45128 * disk/host.c (grub_host_open): Likewise.
45129 * disk/loopback.c (grub_loopback_open): Likewise.
45130 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
45131 disk->id as in disk/host.c, not a multi-character constant.
45133 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
45134 later is obsolete, potentially dangerous and sets a bad example.
45135 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
45136 * util/misc.c (grub_util_get_image_size): Likewise.
45138 * disk/loopback.c (options): Improve help for "--partitions".
45140 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
45141 options to align them with the short options, e.g. "echo -e".
45143 2008-03-31 Bean <bean123ch@gmail.com>
45145 * video/reader/png.c (grub_png_data): New member is_16bit and
45147 (grub_png_decode_image_header): Detect 16 bit png image.
45148 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
45149 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
45150 (grub_video_reader_png): Release memory occupied by image_data.
45152 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
45154 (grub_nfs_mount): Skip the test for sector per cluster.
45156 * include/grub/ntfs.h (MAX_SPC): Removed.
45158 2008-03-31 Bean <bean123ch@gmail.com>
45160 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
45161 (grub_probe_SOURCES): Add fs/afs.c.
45162 (grub_fstest_SOURCES): Likewise.
45163 (afs_mod_SOURCES): New variable.
45164 (afs_mod_CFLAGS): Likewise.
45165 (afs_mod_LDFLAGS): Likewise.
45167 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
45168 (grub_emu_SOURCES): Likewise.
45170 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45172 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45174 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45176 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45178 * fs/afs.c: New file.
45180 2008-03-30 Pavel Roskin <proski@gnu.org>
45182 * disk/host.c: Include grub/misc.h to fix a warning.
45183 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
45184 warnings about implicit declarations.
45186 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
45188 * include/grub/i386/loader.h: Change declaration of
45189 grub_linux_boot() to match what grub_loader_set() expects.
45190 * util/getroot.c (grub_guess_root_device): Return const char* to
45192 * util/grub-probe.c (probe): Fix a warning about uninitialized
45193 abstraction_name variable.
45194 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
45195 second argument as unused to fix a warning.
45197 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
45198 missing grub_error() call.
45200 * util/update-grub_lib.in: Define datarootdir, since Autoconf
45201 2.60 and newer uses it to define datadir.
45203 * commands/sleep.c: Fix warning about implicit declaration.
45204 * disk/memdisk.c: Likewise.
45205 * loader/aout.c: Likewise.
45206 * loader/i386/bsd_normal.c: Likewise.
45207 * util/grub-probe.c: Likewise.
45209 * commands/i386/cpuid.c (has_longmode): Make static.
45210 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
45211 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
45213 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
45214 GDT. This is more robust, as %ds can change.
45215 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
45216 calling real_to_prot().
45217 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
45219 2008-03-28 Pavel Roskin <proski@gnu.org>
45221 * kern/i386/pc/startup.S: Assert that uncompressed functions
45222 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
45223 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
45224 code, as they push parts of the code (error handlers) beyond
45225 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
45226 code as correctness and size.
45228 2008-03-28 Pavel Roskin <proski@gnu.org>
45230 * kern/i386/pc/startup.S
45231 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
45232 data block address to the real mode, keep offset minimal. This
45233 works around a bug in AWARD BIOS on old Athlon systems, which
45234 makes CD detection hang.
45236 2008-03-26 Pavel Roskin <proski@gnu.org>
45238 * normal/color.c (grub_parse_color_name_pair): Make `name' a
45240 * include/grub/normal.h: Add grub_parse_color_name_pair()
45243 2008-03-24 Bean <bean123ch@gmail.com>
45245 * disk/i386/pc/biosdisk.c (cd_start): Removed.
45246 (cd_count): Removed.
45247 (cd_drive): New variable.
45248 (grub_biosdisk_get_drive): Don't check for (cdN) device.
45249 (grub_biosdisk_call_hook): Likewise.
45250 (grub_biosdisk_iterate): Change cdrom detection method.
45251 (grub_biosdisk_open): Replace cd_start with cd_drive.
45252 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
45253 detect cdrom device.
45255 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
45257 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
45258 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
45259 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
45260 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
45261 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
45262 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
45263 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
45264 (grub_biosdisk_cdrp): New structure.
45265 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
45267 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
45269 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
45272 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
45275 2008-03-20 Robert Millan <rmh@aybabtu.com>
45277 Remove 2 TiB limit in ata.mod.
45278 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
45279 (grub_ata_dumpinfo): Print sector count with 0x%llx.
45280 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
45281 grub_uint64_t instead of grub_uint32_t.
45283 2008-03-05 Bean <bean123ch@gmail.com>
45285 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
45286 (grub_multiboot): Set boot device.
45288 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
45290 2008-03-02 Bean <bean123ch@gmail.com>
45292 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
45295 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
45297 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
45300 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
45303 * docs/fdl.texi: New file.
45305 * docs/mdate-sh: New file. Copied from gnulib.
45306 * docs/texinfo.tex: Likewise.
45308 * config.guess: Updated from gnulib.
45309 * install-sh: Likewise.
45311 2008-02-28 Robert Millan <rmh@aybabtu.com>
45313 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
45314 (aout_mod_SOURCES): New variable.
45315 (aout_mod_CFLAGS): Likewise.
45316 (aout_mod_LDFLAGS): Likewise.
45318 * conf/i386-ieee1275.rmk: Likewise.
45320 2008-02-28 Robert Millan <rmh@aybabtu.com>
45322 * util/update-grub.in: Reorganise terminal validity check. Accept
45323 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
45324 Based on suggestion by Franklin PIAT.
45326 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
45328 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
45330 * util/getroot.c (grub_util_check_block_device): New function that
45331 returns the given argument if it is a block device and returns NULL else.
45332 * util/grub-probe.c (argument_is_device): New variable.
45333 (probe): Promote device_name from a variable to an argument. Receive
45334 device_name from grub_util_check_block_device() if path is NULL and from
45335 grub_guess_root_device() else. Do not free() device_name anymore.
45336 (options): Introduce new parameter '-d, --device'.
45337 (main): Add description of the new parameter to the help screen.
45338 Rename path variable to argument. Set argument_is_device if the '-d'
45339 option is given. Pass argument to probe() depending on
45340 argument_is_device.
45342 2008-02-24 Bean <bean123ch@gmail.com>
45344 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
45345 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
45346 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
45347 (GRUB_ISO9660_VOLDESC_PART): Likewise.
45348 (GRUB_ISO9660_VOLDESC_END): Likewise.
45349 (grub_iso9660_primary_voldesc): New member escape.
45350 (grub_iso9660_data): New member joliet.
45351 (grub_iso9660_convert_string): New function.
45352 (grub_iso9660_mount): Detect joliet extension.
45353 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
45354 (grub_iso9660_iso9660_label): Likewise.
45356 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
45357 (grub_setup_SOURCES): Add fs/udf.c.
45358 (grub_fstest_SOURCES): Likewise.
45359 (udf_mod_SOURCES): New variable.
45360 (udf_mod_CFLAGS): Likewise.
45361 (udf_mod_LDFLAGS): Likewise.
45363 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
45364 (grub_emu_SOURCES): Likewise.
45366 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45368 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45370 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45374 * fs/udf.c: New file.
45376 2008-02-24 Robert Millan <rmh@aybabtu.com>
45378 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
45379 (normal/lexer.c_DEPENDENCIES): New variables.
45380 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45381 (normal/lexer.c_DEPENDENCIES): Likewise.
45382 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
45383 (normal/lexer.c_DEPENDENCIES): Likewise.
45384 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
45385 (normal/lexer.c_DEPENDENCIES): Likewise.
45386 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45387 (normal/lexer.c_DEPENDENCIES): Likewise.
45388 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
45389 (normal/lexer.c_DEPENDENCIES): Likewise.
45391 2008-02-23 Robert Millan <rmh@aybabtu.com>
45393 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
45394 since they were intended to be in hex. This didn't break previously
45395 because of a bug in gpt_partition_map_iterate() (see below).
45397 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
45398 when checking the validity of GPT header.
45399 Remove `partno', since it always provides the same information as `i'.
45401 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
45403 * include/grub/efi/time.h: Fix a wrong comment.
45405 2008-02-19 Pavel Roskin <proski@gnu.org>
45407 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
45410 2008-02-19 Bean <bean123ch@gmail.com>
45412 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
45413 (aout_mod_SOURCES): New variable.
45414 (aout_mod_CFLAGS): Likewise.
45415 (aout_mod_LDFLAGS): Likewise.
45416 (_bsd_mod_SOURCES): New variable.
45417 (_bsd_mod_CFLAGS): Likewise.
45418 (_bsd_mod_LDFLAGS): Likewise.
45419 (bsd_mod_SOURCES): New variable.
45420 (bsd_mod_CFLAGS): Likewise.
45421 (bsd_mod_LDFLAGS): Likewise.
45423 * include/grub/aout.h: New file.
45425 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
45427 * include/grub/i386/bsd.h: New file.
45429 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
45432 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
45433 function is called, so that it's possible to change it inside the hook.
45434 (grub_elf64_load): Likewise.
45435 (grub_elf_file): Don't close the file if elf header is not found.
45436 (grub_elf_close): Close the file if grub_elf_file fails (The new
45437 grub_elf_file won't close it).
45438 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
45439 (grub_elf64_size): Likewise.
45441 * kern/i386/loader.S (grub_unix_real_boot): New function.
45443 * loader/aout.c: New file.
45445 * loader/i386/bsd.c: New file.
45447 * loader/i386/bsd_normal.c: New file.
45449 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
45451 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
45452 can test other formats.
45454 2008-02-19 Robert Millan <rmh@aybabtu.com>
45456 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
45457 (grub_gpt_partition_type_empty): Redefine with macro from
45458 `<grub/gpt_partition.h>'.
45459 (gpt_partition_map_iterate): Adjust partition type comparison.
45461 Export `entry' as partmap-specific `part.data' struct.
45462 (grub_gpt_header, grub_gpt_partentry): Move from here ...
45464 * include/grub/gpt_partition.h (grub_gpt_header)
45465 (grub_gpt_partentry): ... to here (new file).
45467 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
45469 (grub_gpt_partition_type_bios_boot): New const variable, defined
45470 with macro from `<grub/gpt_partition.h>'.
45472 (setup): Replace `first_start' with `embed_region', which keeps
45473 track of the embed region (and is partmap-agnostic).
45475 Replace find_first_partition_start() with find_usable_region(),
45476 which finds a usable region for embedding using partmap-specific
45477 knowledge (supports PC/MSDOS and GPT).
45479 Fix all assumptions that the embed region start at sector 1, using
45480 `embed_region.start' from now on. Similarly, use `embed_region.end'
45481 rather than `first_start' to calculate available size.
45483 In grub_util_info() message, replace "into after the MBR" with an
45484 indication of the specific sector our embed region starts at.
45486 2008-02-19 Robert Millan <rmh@aybabtu.com>
45488 * DISTLIST: Replace `commands/ieee1275/halt.c' and
45489 `commands/ieee1275/reboot.c' with `commands/halt.c' and
45490 `commands/reboot.c'.
45491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45492 (halt_mod_SOURCES): Likewise.
45493 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
45494 (halt_mod_SOURCES): Likewise.
45496 2008-02-17 Christian Franke <franke@computer.org>
45498 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
45500 2008-02-17 Robert Millan <rmh@aybabtu.com>
45502 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45503 set `first_start' to 0 for non-PC/MSDOS partition maps.
45505 2008-02-16 Robert Millan <rmh@aybabtu.com>
45507 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
45508 do not assume partition map is PC/MSDOS before performing checks that
45509 are specific to that layout.
45511 2008-02-13 Robert Millan <rmh@aybabtu.com>
45513 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
45514 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
45515 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
45517 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
45519 * configure.ac: Only a cosmetic change on the handling of
45520 -fno-stack-protector.
45522 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
45524 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
45525 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
45527 (grub_install_SOURCES): Add halt.mod and reboot.mod.
45528 (halt_mod_SOURCES): New variable.
45529 (halt_mod_CFLAGS): Likewise.
45530 (halt_mod_LDFLAGS): Likewise.
45531 (reboot_mod_SOURCES): Likewise.
45532 (reboot_mod_CFLAGS): Likewise.
45533 (reboot_mod_LDFLAGS): Likewise.
45535 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
45536 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
45538 (halt_mod_SOURCES): Likewise.
45539 (reboot_mod_SOURCES): Likewise.
45541 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
45542 commands/i386/pc/reboot.c by commands/reboot.c.
45543 (reboot_mod_SOURCES): Likewise.
45545 * commands/i386/pc/reboot.c: merge this file ...
45547 * commands/ieee1275/reboot.c: ... and this file ...
45549 * commands/reboot.c: ... to this file.
45550 Add some precompiler directive to include the correct header for
45553 * commands/ieee1275/halt.c: move this file ...
45555 * commands/halt.c: ... to here.
45556 Add some precompiler directive to include the correct header for
45559 * include/grub/efi/efi.h (grub_reboot): New function declaration.
45560 (grub_halt): Likewise.
45562 * kern/efi/efi.c (grub_reboot): New function.
45563 (grub_halt): Likewise.
45565 2008-02-12 Robert Millan <rmh@aybabtu.com>
45567 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
45568 /dev (like it is done for /dev/mapper). This doesn't provide support
45569 for EVMS, but at least it is now easy to identify the problem when it
45572 2008-02-11 Robert Millan <rmh@aybabtu.com>
45574 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
45575 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
45576 comparing it with -1, not 0.
45578 2008-02-10 Robert Millan <rmh@aybabtu.com>
45580 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
45582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45583 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
45585 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
45586 `disk/lvm.c' to the end of the list.
45587 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45588 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45590 2008-02-10 Robert Millan <rmh@aybabtu.com>
45592 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
45593 grub_print_error() instead. This will let user know why we're entering
45595 Based on suggestions from Sam Morris.
45597 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
45599 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
45600 on remaining N args, instead of "--" arg N times.
45602 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
45604 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
45605 (fill_with_default_glyph): Changed to use unknown_glyph for fill
45606 pattern for unknown glyphs.
45608 2008-02-09 Robert Millan <rmh@aybabtu.com>
45610 * configure.ac: Probe for `help2man'.
45611 * Makefile.in (builddir): New variable.
45612 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
45613 or otherwise add a few flags/options to it.
45614 (install-local): For every executable utility or script that is
45615 installed, invoke $(HELP2MAN) to install a manpage based on --help
45618 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
45619 that it doesn't prevent --help from working in build tree.
45621 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
45622 with `bug-grub@gnu.org'.
45623 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
45624 * util/update-grub.in (usage): New function.
45625 Implement proper argument check, with support for --help and --version
45626 (as well as existing -y).
45628 2008-02-09 Christian Franke <franke@computer.org>
45630 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
45631 avoid overwriting previous output.
45632 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
45634 2008-02-09 Robert Millan <rmh@aybabtu.com>
45636 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
45639 2008-02-09 Robert Millan <rmh@aybabtu.com>
45641 * commands/sleep.c: New file.
45642 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
45643 (sleep_mod_SOURCES): New variable.
45644 (sleep_mod_CFLAGS): Likewise.
45645 (sleep_mod_LDFLAGS): Likewise.
45647 2008-02-09 Robert Millan <rmh@aybabtu.com>
45649 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
45650 situations in which we can deduce the RAID size and the superblock
45653 2008-02-09 Robert Millan <rmh@aybabtu.com>
45655 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
45656 and return a grub_diskmemberlist_t composed of LVM physical volumes.
45657 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
45659 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
45660 and return a grub_diskmemberlist_t composed of physical array members.
45661 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
45663 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
45665 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
45666 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
45667 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
45669 * util/grub-probe.c (probe): Move partmap probing code from here ...
45670 (probe_partmap): ... to here.
45671 (probe): Use probe_partmap() once for the disk we're probing, and
45672 additionally, when such disk contains a memberlist() struct member,
45673 once for each disk that is contained in the structure returned by
45676 2008-02-09 Robert Millan <rmh@aybabtu.com>
45678 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
45679 environment variable to 'all' in order to obtain debug output from
45681 * util/i386/pc/grub-setup.c (main): Likewise.
45683 2008-02-08 Robert Millan <rmh@aybabtu.com>
45685 * disk/raid.c (grub_raid_scan_device): Check for
45686 `array->device[sb.this_disk.number]' rather than for
45687 `array->device[sb.this_disk.number]->name', since the latter is not
45688 guaranteed to be accessible.
45690 2008-02-08 Robert Millan <rmh@aybabtu.com>
45692 * disk/raid.c: Update copyright.
45693 * fs/cpio.c: Likewise.
45694 * include/grub/raid.h: Likewise.
45695 * loader/i386/pc/multiboot.c: Likewise.
45696 * util/hostfs.c: Likewise.
45698 2008-02-08 Robert Millan <rmh@aybabtu.com>
45700 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
45701 to a grub_disk_t array.
45702 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
45704 (grub_raid_scan_device): Replace `device[x].name' accesses with
45705 `device[x]->name'. Simplify initialization of `array->device[x]'.
45707 2008-02-08 Robert Millan <rmh@aybabtu.com>
45709 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
45710 grub_dprintf() calls.
45711 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
45714 2008-02-07 Christian Franke <franke@computer.org>
45716 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
45717 instead of fseek and ftell to support large files.
45718 (grub_hostfs_read): Likewise.
45720 2008-02-07 Robert Millan <rmh@aybabtu.com>
45722 Patch from Jeroen Dekkers.
45723 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
45724 failure, since successfully reading all array members might not be
45727 2008-02-06 Robert Millan <rmh@aybabtu.com>
45729 * util/grub-probe.c (probe): Simplify partmap probing (with the
45730 assumption that the first word up to the underscore equals to
45733 2008-02-06 Christian Franke <franke@computer.org>
45735 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
45736 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
45737 last block of a cpio or tar stream.
45738 Check for "TRAILER!!!" instead of any empty data
45739 block to detect last block of a cpio stream.
45740 (grub_cpio_dir): Fix constness of variable np.
45741 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
45742 cpio or tar trailer is detected. This fixes a crash
45743 on open of a non existing file.
45745 2008-02-05 Bean <bean123ch@gmail.com>
45747 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
45749 (grub_multiboot_load_elf64): Likewise.
45750 (grub_multiboot): Initialize mbi structure.
45752 * util/grub-fstest.c: Don't include unused header file script.h.
45754 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
45756 (grub_fstest_SOURCES): Likewise.
45758 2008-02-05 Robert Millan <rmh@aybabtu.com>
45760 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
45761 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
45762 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
45763 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
45765 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
45766 (translation_table): Replace hardcoded values with macros
45767 provided by `<grub/term.h>'.
45769 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
45770 (keyboard_map): Correct/add a few values, with macros provided
45771 by `<grub/term.h>'.
45772 (keyboard_map_shift): Zero values that don't differ from their
45773 `keyboard_map' equivalents.
45774 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
45775 Discard the second scan code that is always sent by Caps lock.
45776 Only use `keyboard_map_shift' when it provides a non-zero value,
45777 otherwise fallback to `keyboard_map'.
45779 2008-02-04 Bean <bean123ch@gmail.com>
45781 * Makefile.in (enable_grub_fstest): New variable.
45783 * conf/common.rmk (grub_fstest_init.lst): New rule.
45784 (grub_fstest_init.h): Likewise.
45785 (grub_fstest_init.c): Likewise.
45786 (util/grub-fstest.c_DEPENDENCIES): New variable.
45787 (grub_fstest_SOURCES): Likewise.
45789 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
45791 * util/grub-fstest.c: New file.
45793 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45795 Make grub-setup handle a separate root device.
45797 * util/i386/pc/grub-setup.c (setup): Always open the root device,
45798 so that the root device can be compared with the destination
45800 When embedding the core image, if the root and destination devices
45801 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
45803 When not embedding, set ROOT_DRIVE to 0xFF.
45805 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45807 Add support for having a grub directory in a different drive. This
45808 is still only the data handling part.
45810 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
45811 (codestart): Save %dh in GRUB_ROOT_DRIVE.
45812 (grub_root_drive): New variable.
45814 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
45815 instead of GRUB_BOOT_DRIVE to construct a device name. Set
45816 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
45819 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
45821 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
45823 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
45825 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
45826 is bogus, because PXE booting does not specify any drive
45829 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
45830 am not sure if this is really correct.
45832 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
45833 is always identical to the boot drive when booting from a CD.
45835 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
45837 (root_drive): New variable.
45838 (real_start): Unconditionally set %dh to ROOT_DRIVE.
45839 (setup_sectors): Push %dx right after popping it, because %dh will
45841 (copy_buffer): Restore %dx.
45843 2008-02-03 Robert Millan <rmh@aybabtu.com>
45845 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
45846 use `cdboot.img' for cdrom images.
45848 2008-02-03 Robert Millan <rmh@aybabtu.com>
45850 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
45851 only setup gfxterm when `font' command has succeeded.
45853 2008-02-03 Robert Millan <rmh@aybabtu.com>
45855 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
45856 (grub_rescue_cmd_multiboot_loader)
45857 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
45859 2008-02-03 Pavel Roskin <proski@gnu.org>
45861 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
45862 %edx and %esi from stack only after grub_gate_a20() is called.
45863 grub_gate_a20() clobbers %edx.
45865 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
45867 * configure.ac (AC_INIT): Bumped to 1.96.
45869 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
45870 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
45871 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
45872 video/readers/png.c.
45874 2008-02-03 Bean <bean123ch@gmail.com>
45876 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
45877 (cdboot_img_SOURCES): New variable.
45878 (cdboot_img_ASFLAGS): New variable.
45879 (cdboot_img_LDFLAGS): New variable.
45881 * boot/i386/pc/cdboot.S: New file.
45883 * disk/i386/pc/biosdisk.c (cd_start): New variable.
45884 (cd_count): Likewise.
45885 (grub_biosdisk_get_drive): Add support for cd device.
45886 (grub_biosdisk_call_hook): Likewise.
45887 (grub_biosdisk_iterate): Likewise.
45888 (grub_biosdisk_open): Likewise.
45889 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
45890 (grub_biosdisk_rw): Support reading from cd device.
45891 (GRUB_MOD_INIT): Iterate cd devices.
45893 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
45894 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
45895 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
45897 * kern/i386/pc/init.c (make_install_device): Check for cd device.
45899 2008-02-02 Robert Millan <rmh@aybabtu.com>
45901 * commands/read.c: New file.
45902 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
45903 (read_mod_SOURCES): New variable.
45904 (read_mod_CFLAGS): Likewise.
45905 (read_mod_LDFLAGS): Likewise.
45907 2008-02-02 Robert Millan <rmh@aybabtu.com>
45909 * normal/main.c (grub_normal_execute): Check for `menu->size' when
45910 determining whether menu has to be displayed.
45912 2008-02-02 Marco Gerards <marco@gnu.org>
45914 * bus/pci.c: New file.
45916 * include/grub/pci.h: Likewise.
45918 * include/grub/i386/pc/pci.h: Likewise.
45920 * commands/lspci.c: Likewise.
45922 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
45924 (pci_mod_SOURCES): New variable.
45925 (pci_mod_CFLAGS): Likewise.
45926 (pci_mod_LDFLAGS): Likewise.
45927 (lspci_mod_SOURCES): Likewise.
45928 (lspci_mod_CFLAGS): Likewise.
45929 (lspci_mod_LDFLAGS): Likewise.
45931 2008-02-02 Bean <bean123ch@gmail.com>
45933 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
45934 (grub_ufs_get_file_block): Fix indirect block calculation problem.
45936 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
45937 (grub_xfs_btree_node): New structure.
45938 (grub_xfs_btree_root): New structure.
45939 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
45940 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
45941 (GRUB_XFS_EXTENT_BLOCK): Likewise.
45942 (GRUB_XFS_EXTENT_SIZE): Likewise.
45943 (grub_xfs_read_block): Support btree format type.
45944 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
45945 Use directory block as basic unit.
45947 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
45949 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
45950 __attribute__ ((__regparm__ (1))).
45952 2008-02-01 Robert Millan <rmh@aybabtu.com>
45954 Correct a mistake in previous commit.
45956 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
45958 (normal/command.c_DEPENDENCIES): New variable.
45960 2008-02-01 Robert Millan <rmh@aybabtu.com>
45962 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
45964 (normal/command.c_DEPENDENCIES): New variable.
45965 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
45966 * conf/i386-ieee1275.rmk: Likewise.
45967 * conf/i386-linuxbios.rmk: Likewise.
45968 * conf/i386-pc.rmk: Likewise.
45969 * conf/sparc64-ieee1275.rmk: Likewise.
45970 * conf/powerpc-ieee1275.rmk: Likewise.
45971 (grub_emu_SOURCES): Add `fs/fshelp.c'.
45973 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
45975 2008-02-01 Robert Millan <rmh@aybabtu.com>
45977 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
45978 call at beginning of function.
45980 2008-01-31 Pavel Roskin <proski@gnu.org>
45982 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
45983 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
45984 (grub_mkrescue_SOURCES): Likewise.
45985 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
45987 2008-01-30 Robert Millan <rmh@aybabtu.com>
45989 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
45990 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
45991 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
45992 (grub_probe_SOURCES): ... to here.
45994 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
45995 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
45996 * conf/i386-ieee1275.rmk: Likewise.
45997 * conf/i386-linuxbios.rmk: Likewise.
45998 * conf/powerpc-ieee1275.rmk: Likewise.
46000 2008-01-30 Tristan Gingold <gingold@free.fr>
46002 * kern/rescue.c: Silently accept empty lines.
46004 2008-01-29 Bean <bean123ch@gmail.com>
46006 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
46007 (real_code_2): Code cleanup and change comment style.
46008 (move_memory): Avoid using 32-bit address mode.
46010 2008-01-29 Bean <bean123ch@gmail.com>
46012 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
46013 (png_mod_SOURCES): New variable.
46014 (png_mod_CFLAGS): Likewise.
46015 (png_mod_LDFLAGS): Likewise.
46017 * video/readers/png.c: New file.
46019 2008-01-28 Robert Millan <rmh@aybabtu.com>
46021 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
46022 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
46023 `ifndef GRUB_MOD_GAP' hack.
46024 * util/elf/grub-mkimage.c (add_segments): Likewise.
46026 2008-01-27 Robert Millan <rmh@aybabtu.com>
46028 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
46029 `GRUB_MOD_GAP' for platforms in which it's not defined.
46030 * util/elf/grub-mkimage.c (add_segments): Likewise.
46032 2008-01-27 Robert Millan <rmh@aybabtu.com>
46034 Get grub-emu to build again (including parallel builds).
46036 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
46038 (util/grub-emu.c_DEPENDENCIES): ... this, ...
46039 (normal/execute.c_DEPENDENCIES): ... this, ...
46040 (grub-emu_DEPENDENCIES): ... and this.
46042 * conf/i386-efi.rmk: Likewise.
46043 * conf/i386-linuxbios.rmk: Likewise.
46044 * conf/i386-ieee1275.rmk: Likewise.
46045 * conf/powerpc-ieee1275.rmk: Likewise.
46046 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
46048 2008-01-27 Robert Millan <rmh@aybabtu.com>
46050 * NEWS: Add a few items.
46052 2008-01-27 Robert Millan <rmh@aybabtu.com>
46054 Fix parallel builds with grub-emu. Based on earlier commit for
46055 grub-probe and grub-setup.
46057 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46058 (util/grub-emu.c_DEPENDENCIES): ... this.
46059 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46060 (util/grub-emu.c_DEPENDENCIES): ... this.
46061 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46062 (util/grub-emu.c_DEPENDENCIES): ... this.
46063 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46064 (util/grub-emu.c_DEPENDENCIES): ... this.
46065 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
46066 (util/grub-emu.c_DEPENDENCIES): ... this.
46068 2008-01-27 Pavel Roskin <proski@gnu.org>
46070 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
46071 to create a gap between _end and the modules added to the image
46072 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
46073 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
46074 * util/elf/grub-mkimage.c (add_segments): Likewise.
46076 2008-01-26 Pavel Roskin <proski@gnu.org>
46078 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
46079 just return an error.
46081 2008-01-26 Bean <bean123ch@gmail.com>
46083 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
46084 (grub_reiserfs_get_item): Save offset of the next item.
46085 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
46087 2008-01-25 Robert Millan <rmh@aybabtu.com>
46089 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
46090 make all filesystem sources appear together (possibly fixing omissions
46092 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46093 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46094 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46097 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
46099 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
46100 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46101 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
46102 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
46104 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
46105 (probe): Add a sanity check to make sure of our ability to read
46106 requested files when probing for filesystem type.
46108 * genmk.rb: Update copyright year (2007).
46110 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
46111 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
46112 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
46113 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
46114 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
46115 : Remove function prototypes.
46117 2008-01-25 Robert Millan <rmh@aybabtu.com>
46119 Revert my previous commits (based on wrong assumption of how grub_errno
46122 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
46123 * kern/file.c (grub_file_open): Likewise.
46125 2008-01-24 Pavel Roskin <proski@gnu.org>
46127 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
46128 that hang if GRUB tries to setup colors.
46129 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
46130 colors for firmwares that don't support it.
46131 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
46132 Recognize Open Hack'Ware, set flags to work around its
46135 2008-01-24 Robert Millan <rmh@aybabtu.com>
46137 * kern/file.c (grub_file_open): Do not account previous failures of
46138 unrelated functions when grub_errno is checked for.
46139 Reported by Oleg Strikov.
46141 2008-01-24 Bean <bean123ch@gmail.com>
46143 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
46144 (grub_ufs_sblock): New member volume name.
46145 (grub_ufs_find_file): Fix string copy bug.
46146 (grub_ufs_label): Implement this function properly.
46148 * fs/hfs.c (grub_hfs_cnid_type): New enum.
46149 (grub_hfs_iterate_records): Use the correct file number for extents
46150 and catalog file. Fix problem in next index calculation.
46151 (grub_hfs_find_node): Replace recursive function call with loop.
46152 (grub_hfs_iterate_dir): Replace recursive function call with loop.
46154 2008-01-23 Robert Millan <rmh@aybabtu.com>
46156 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
46157 `<grub/symbol.h>' and `<grub/multiboot.h>'.
46158 (grub_multiboot2_real_boot): New function prototype.
46160 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
46161 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
46163 * kern/i386/ieee1275/init.c (grub_os_area_addr)
46164 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
46166 2008-01-23 Robert Millan <rmh@aybabtu.com>
46168 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
46169 #ifdef'ed out grub_printf().
46171 2008-01-23 Robert Millan <rmh@aybabtu.com>
46173 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
46174 grub_dprintf calls, since they make "debug=all" mode unusable.
46175 (grub_console_checkkey): Likewise.
46177 2008-01-23 Robert Millan <rmh@aybabtu.com>
46179 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
46180 `term/i386/pc/at_keyboard.c'.
46181 (pkglib_MODULES): Add `serial.mod'.
46182 (serial_mod_SOURCES): New variable.
46183 (serial_mod_CFLAGS): Likewise.
46184 (serial_mod_LDFLAGS): Likewise.
46186 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
46187 `<grub/powerpc/ieee1275/console.h>'.
46188 (grub_keyboard_controller_init): New function prototype.
46189 (grub_console_checkkey): Likewise.
46190 (grub_console_getkey): Likewise.
46192 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
46195 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
46196 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
46198 2008-01-23 Robert Millan <rmh@aybabtu.com>
46200 * kern/i386/pc/init.c (make_install_device): When memdisk image is
46201 present, "(memdisk)/boot/grub" becomes the default prefix.
46203 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
46204 a memdisk tarball with all the modules. Add --overlay=DIR option that
46205 allows users to overlay additional files into the image.
46207 2008-01-23 Robert Millan <rmh@aybabtu.com>
46209 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
46210 and `machine/memory.h'.
46211 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
46212 (_multiboot_mod_SOURCES): New variable.
46213 (_multiboot_mod_CFLAGS): Likewise.
46214 (_multiboot_mod_LDFLAGS): Likewise.
46215 (multiboot_mod_SOURCES): Likewise.
46216 (multiboot_mod_CFLAGS): Likewise.
46217 (multiboot_mod_LDFLAGS): Likewise.
46219 * include/grub/i386/ieee1275/loader.h: New file.
46221 * include/grub/i386/ieee1275/machine.h: Likewise.
46223 * include/grub/i386/ieee1275/memory.h: Likewise.
46225 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
46226 variable declaration.
46227 (grub_os_area_size): Likewise.
46229 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
46230 (grub_lower_mem, grub_upper_mem): New variables.
46231 (grub_stop_floppy): New function (just to make
46232 grub_multiboot2_real_boot() happy).
46234 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
46235 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
46236 (grub_stop): New function.
46237 Include `"../realmode.S"' and `"../loader.S"'.
46239 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
46240 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
46242 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
46243 rely on grub_multiboot2_real_boot() for final boot.
46245 2008-01-22 Robert Millan <rmh@aybabtu.com>
46247 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
46248 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
46249 device that doesn't look like an SD card.
46250 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
46251 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
46252 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
46253 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
46256 2008-01-22 Robert Millan <rmh@aybabtu.com>
46258 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
46259 avoid claiming over our own code.
46261 2008-01-22 Bean <bean123ch@gmail.com>
46263 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
46264 (jpeg_mod_SOURCES): New variable.
46265 (jpeg_mod_CFLAGS): Likewise.
46266 (jpeg_mod_LDFLAGS): Likewise.
46268 * video/readers/jpeg.c : New file.
46270 2008-01-22 Bean <bean123ch@gmail.com>
46272 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
46273 there are no more items.
46275 2008-01-21 Robert Millan <rmh@aybabtu.com>
46277 * kern/mm.c (grub_mm_init_region): Improve debug message.
46279 2008-01-21 Robert Millan <rmh@aybabtu.com>
46281 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
46282 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
46284 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
46286 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
46287 Indicates start of upper memory.
46288 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
46289 (generate_image): Abort when image size is big enough to corrupt
46292 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
46293 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
46294 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46295 instead of hardcoding 0xA0000.
46296 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
46297 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
46298 instead of hardcoding 0xA0000.
46300 2008-01-21 Robert Millan <rmh@aybabtu.com>
46302 * disk/memdisk.c (memdisk_size): New variable.
46303 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
46305 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
46306 image to dynamic memory.
46307 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
46308 `memdisk_size'. Free memdisk block.
46310 2008-01-21 Robert Millan <rmh@aybabtu.com>
46312 Fix detection of very small filesystems (like tar).
46314 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
46315 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
46316 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
46317 a problem with this disk).
46319 2008-01-21 Robert Millan <rmh@aybabtu.com>
46321 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
46322 on grub_biosdisk_rw_standard() error.
46324 2008-01-21 Robert Millan <rmh@aybabtu.com>
46326 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
46328 * kern/elf.c: Likewise.
46329 * kern/ieee1275/ieee1275.c: Likewise.
46330 * kern/powerpc/ieee1275/openfw.c: Likewise.
46331 * term/ieee1275/ofconsole.c: Likewise.
46333 2008-01-21 Robert Millan <rmh@aybabtu.com>
46335 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
46337 * include/grub/kernel.h (grub_arch_memdisk_addr)
46338 (grub_arch_memdisk_size): Moved from here ...
46340 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
46341 (grub_arch_memdisk_size): ... to here.
46343 2008-01-21 Robert Millan <rmh@aybabtu.com>
46345 Mostly based on bugfix from Bean.
46347 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
46348 attribute with hook() parameter.
46349 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
46351 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
46352 attribute with hook() parameter.
46353 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
46356 2008-01-21 Robert Millan <rmh@aybabtu.com>
46358 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
46359 (pkglib_MODULES): Add `memdisk.mod'.
46360 (memdisk_mod_SOURCES): New variable.
46361 (memdisk_mod_CFLAGS): Likewise.
46362 (memdisk_mod_LDFLAGS): Likewise.
46364 * disk/memdisk.c: New file.
46366 * include/grub/disk.h (grub_disk_dev_id): Add
46367 `GRUB_DISK_DEVICE_MEMDISK_ID'.
46369 * include/grub/i386/pc/kernel.h
46370 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
46371 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
46372 (grub_kernel_image_size): New variable declaration.
46373 (grub_total_module_size): Likewise.
46374 (grub_memdisk_image_size): Likewise.
46376 * include/grub/i386/pc/memory.h
46377 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
46379 * include/grub/kernel.h: Include `<grub/symbol.h>'.
46380 (grub_arch_memdisk_addr): New variable declaration.
46381 (grub_arch_memdisk_size): Likewise.
46383 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
46384 (grub_arch_memdisk_size): Likewise.
46386 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
46387 (codestart): Replace hardcoded `0x100000' with
46388 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
46390 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
46391 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
46392 not NULL, append the contents of the file it refers to, at the end of
46393 the compressed kernel image. Initialize `grub_memdisk_image_size'
46394 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
46395 (options): Add "memdisk"|'m' option.
46396 (main): Parse --memdisk|-m option, and pass user-provided path as
46397 parameter to generate_image().
46399 2008-01-20 Robert Millan <rmh@aybabtu.com>
46401 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
46402 grub_dprintf() calls from here ...
46403 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
46405 2008-01-20 Robert Millan <rmh@aybabtu.com>
46407 Fix detection of "real mode" when /options/real-mode? doesn't exist.
46409 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
46411 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
46412 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
46413 `GRUB_IEEE1275_FLAG_REAL_MODE'.
46414 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
46416 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
46417 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
46419 2008-01-19 Robert Millan <rmh@aybabtu.com>
46421 Get rid of confusing function (superseded by
46422 `grub_ieee1275_get_integer_property')
46423 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
46425 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
46427 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
46428 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
46429 in native endianness from grub_ieee1275_get_integer_property().
46431 2008-01-19 Robert Millan <rmh@aybabtu.com>
46433 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
46434 command after "shut-down", since implementations differ on which
46435 the command for halt is.
46437 2008-01-19 Robert Millan <rmh@aybabtu.com>
46439 * include/grub/i386/linuxbios/console.h: Add header protection.
46440 (grub_keyboard_controller_init): New function prototype.
46441 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
46442 (KEYBOARD_COMMAND_READ): Likewise.
46443 (KEYBOARD_COMMAND_WRITE): Likewise.
46444 (KEYBOARD_SCANCODE_SET1): Likewise.
46445 (grub_keyboard_controller_write): New function.
46446 (grub_keyboard_controller_read): Likewise.
46447 (grub_keyboard_controller_init): Likewise.
46449 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
46450 (grub_console_init): On coreboot/LinuxBIOS, call
46451 grub_keyboard_controller_init().
46453 2008-01-19 Robert Millan <rmh@aybabtu.com>
46455 PowerPC changes provided by Pavel Roskin.
46457 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
46458 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
46459 don't rely on cmain() doing it.
46460 * kern/i386/ieee1275/startup.S (_start): Store %eax in
46461 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
46463 2008-01-16 Robert Millan <rmh@aybabtu.com>
46465 * include/grub/i386/linuxbios/memory.h
46466 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
46467 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
46468 receive `table_header' as argument. Instead, probe for it in the
46469 known memory ranges where it can be present.
46470 (grub_available_iterate): Do not pass a fixed `table_header' address
46471 to grub_linuxbios_table_iterate().
46473 2008-01-15 Robert Millan <rmh@aybabtu.com>
46475 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
46476 * conf/i386-ieee1275.rmk: New file.
46477 * include/grub/i386/ieee1275/console.h: Likewise.
46478 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
46479 * include/grub/i386/ieee1275/kernel.h: Likewise.
46480 * include/grub/i386/ieee1275/time.h: Likewise.
46481 * kern/i386/ieee1275/init.c: Likewise.
46482 * kern/i386/ieee1275/startup.S: Likewise.
46484 2008-01-15 Robert Millan <rmh@aybabtu.com>
46486 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
46487 when pointers are 32-bit (but still do set it to one when they are
46490 2008-01-15 Robert Millan <rmh@aybabtu.com>
46492 * include/grub/ieee1275/ieee1275.h
46493 (grub_ieee1275_get_integer_property): New function prototype.
46495 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
46496 (grub_ieee1275_get_integer_property): New function. Wraps around
46497 grub_ieee1275_get_property() to handle endianness.
46499 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
46500 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
46502 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
46503 (grub_map): Likewise.
46504 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
46506 2008-01-15 Bean <bean123ch@gmail.com>
46508 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
46509 (grub_script_execute_cmdline): Reset grub_errno.
46511 * normal/main.c (read_config_file): Reset grub_errno.
46513 * normal/parse.y (script_init): New.
46514 (script): Move function and menuentry here.
46516 (command): Add delimiter at the end of command.
46517 (commands): Adjust to match the new command.
46518 (commandblock): Remove grub_script_lexer_record_start.
46519 (menuentry): Add grub_script_lexer_record_start, use the new commands.
46520 (if): Use the new commands.
46522 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
46524 2008-01-15 Robert Millan <rmh@aybabtu.com>
46526 * normal/menu.c (run_menu): Move timeout message from here ...
46527 (print_timeout): ... to here.
46528 (run_menu): Use print_timeout() once during initial draw to print
46529 the whole message, and again in every clock tick to update only
46530 the number of seconds.
46532 2008-01-15 Robert Millan <rmh@aybabtu.com>
46534 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
46535 actual size of `available' from grub_ieee1275_get_property(), and
46536 restrict parsing to that bound.
46538 2008-01-15 Christian Franke <franke@computer.org>
46540 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
46541 (argp_program_version): Remove variable.
46542 (argp_program_bug_address): Likewise.
46543 (options): Convert from struct argp_option to struct option.
46544 (struct arguments): Remove.
46545 (parse_opt): Remove.
46546 (usage): New function.
46547 (main): Replace struct args members by simple variables.
46548 Replace argp_parse() by getopt_long().
46549 Add switch to evaluate options.
46550 Add missing "(...)" around root_dev in prefix string.
46552 2008-01-14 Robert Millan <rmh@aybabtu.com>
46554 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
46555 for grub_ieee1275_exit(), in order to improve portability.
46557 2008-01-14 Robert Millan <rmh@aybabtu.com>
46559 * util/grub.d/10_linux.in (prefix): Define.
46560 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
46562 2008-01-13 Pavel Roskin <proski@gnu.org>
46564 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
46565 grub_errno if no errors have been detected.
46567 2008-01-12 Robert Millan <rmh@aybabtu.com>
46569 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
46570 (grub_util_get_dev_abstraction): New function prototype.
46572 * util/getroot.c: Include `<grub/util/getroot.h>'
46573 (grub_util_get_grub_dev): Move detection of abstraction type to ...
46574 (grub_util_get_dev_abstraction): ... here (new function).
46576 * util/grub-probe.c: Convert PRINT_* to an enum. Add
46577 `PRINT_ABSTRACTION'.
46578 (probe): Probe for abstraction type when requested.
46579 (main): Understand `--target=abstraction'.
46581 * util/i386/efi/grub-install.in: Add abstraction module to core
46582 image when it is found to be necessary.
46583 * util/i386/pc/grub-install.in: Likewise.
46584 * util/powerpc/ieee1275/grub-install.in: Likewise.
46586 * util/update-grub_lib.in (font_path): Return system path without
46587 converting to GRUB path.
46588 * util/update-grub.in: Convert system path returned by font_path()
46589 to a GRUB path. Use `grub-probe -t abstraction' to determine what
46590 abstraction module is needed for loading fonts (if any). Export
46591 that as `GRUB_PRELOAD_MODULES'.
46592 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
46595 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
46597 Remove some unused code from reiserfs.
46599 * fs/reiserfs.c (struct grub_reiserfs_key)
46600 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
46601 (struct grub_reiserfs_node_body): Removed.
46602 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46604 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46606 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46608 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
46610 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
46612 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
46614 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46615 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46616 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
46618 2008-01-10 Robert Millan <rmh@aybabtu.com>
46620 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
46621 Determines if a file is garbage left by packaging systems, etc.
46622 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
46623 for processing /etc/grub.d scripts.
46624 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
46625 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
46626 as a condition for processing Linux images.
46628 2008-01-10 Pavel Roskin <proski@gnu.org>
46630 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
46631 to compile reiserfs.c on PowerPC.
46633 2008-01-10 Robert Millan <rmh@aybabtu.com>
46635 * kern/device.c (grub_device_iterate): Do not abort device iteration
46636 when one of the devices cannot be opened.
46637 * kern/disk.c (grub_disk_open): Do not account previous failures of
46638 unrelated functions when grub_errno is checked for.
46640 2008-01-08 Robert Millan <rmh@aybabtu.com>
46642 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
46643 `! grub_linux_is_bzimage', change order of address comparison to make
46644 it more intuitive, and improve "too big zImage" error message.
46646 2008-01-08 Robert Millan <rmh@aybabtu.com>
46648 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
46649 `$(update-grub_DATA)'.
46650 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
46653 2008-01-07 Robert Millan <rmh@aybabtu.com>
46655 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
46656 which instruction is modified by grub-setup during installation
46657 (since it wasn't obvious by only looking at this file).
46659 2008-01-07 Robert Millan <rmh@aybabtu.com>
46661 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
46662 listing actual TODO items.
46664 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46666 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
46668 (grub_reiserfs_get_key_offset): Likewise.
46669 (grub_reiserfs_set_key_offset): Likewise.
46670 (grub_reiserfs_set_key_type): Likewise.
46671 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
46673 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
46674 better to remove the bitfield version completely.
46676 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46678 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
46679 allocated from the heap, due to the fshelp implementation.
46680 (grub_reiserfs_dir): Free NODE, due to the same reason.
46682 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46684 Mostly from Vincent Pelletier:
46686 * fs/reiserfs.c: New file.
46688 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
46689 (reiserfs_mod_SOURCES): New variable.
46690 (reiserfs_mod_CFLAGS): Likewise.
46691 (reiserfs_mod_LDFLAGS): Likewise.
46693 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
46694 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
46695 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
46698 2008-01-06 Robert Millan <rmh@aybabtu.com>
46700 * normal/color.c: Remove `<grub/env.h>'.
46702 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
46704 * include/grub/normal.h: Include <grub/env.h>.
46706 2008-01-05 Robert Millan <rmh@aybabtu.com>
46708 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
46709 usage example with `(hd0,1)'.
46710 Reported by Samuel Thibault.
46712 2008-01-05 Robert Millan <rmh@aybabtu.com>
46714 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
46715 (grub_linux_boot_zimage): Rename to ...
46716 (grub_linux_boot): ... this.
46717 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
46718 (grub_linux_boot_zimage): Conditionalize zImage copy.
46720 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
46721 (grub_linux_boot_bzimage): Remove prototype.
46722 (grub_linux_boot_zimage): Rename to ...
46723 (grub_linux_boot): ... this.
46725 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
46726 (grub_linux_boot): Remove function.
46728 2008-01-05 Robert Millan <rmh@aybabtu.com>
46730 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
46731 (grub_env_write_color_highlight): Likewise.
46732 (grub_wait_after_message): Likewise.
46734 * normal/color.c: New file.
46736 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46737 (normal_mod_DEPENDENCIES): Likewise.
46739 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46740 (normal_mod_DEPENDENCIES): Likewise.
46742 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46743 (normal_mod_DEPENDENCIES): Likewise.
46745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
46746 (normal_mod_DEPENDENCIES): Likewise.
46748 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
46749 for waiting after a message is printed.
46750 * normal/main.c (read_config_file): Likewise.
46751 (grub_normal_init): Register grub_env_write_color_normal() and
46752 grub_env_write_color_highlight() hooks. Mark `color_normal' and
46753 `color_highlight' variables as global.
46755 * normal/menu.c (grub_wait_after_message): New function.
46756 (grub_color_menu_normal): New variable. Replaces ...
46757 (GRUB_COLOR_MENU_NORMAL): ... this macro.
46758 (grub_color_menu_highlight): New variable. Replaces ...
46759 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
46760 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
46761 `GRUB_TERM_COLOR_STANDARD'.
46762 (print_message): Use `grub_setcolorstate' to reload colors. Rename
46763 `normal_code' and `highlight_code' to `old_color_normal' and
46764 `old_color_highlight', respectively.
46765 (grub_menu_init_page): Update colors when drawing the menu, based on
46766 `menu_color_normal' and `menu_color_highlight' variables.
46767 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
46768 a message is printed.
46770 2008-01-05 Robert Millan <rmh@aybabtu.com>
46772 * kern/env.c (grub_env_context_open): Propagate hooks for global
46773 variables to new context.
46775 * kern/main.c (grub_set_root_dev): Export `root' variable.
46777 2008-01-05 Robert Millan <rmh@aybabtu.com>
46779 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
46780 discs unconditionally, since udev and others have options to provide
46783 2008-01-05 Robert Millan <rmh@aybabtu.com>
46785 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
46787 2008-01-04 Christian Franke <franke@computer.org>
46789 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
46792 2008-01-03 Pavel Roskin <proski@gnu.org>
46794 * kern/i386/linuxbios/init.c: Put "void" to all function
46795 declarations with no arguments.
46796 * kern/powerpc/ieee1275/init.c: Likewise.
46797 * term/i386/pc/at_keyboard.c: Likewise.
46798 * term/i386/pc/vga_text.c: Likewise.
46799 * util/grub-mkdevicemap.c: Likewise.
46801 2008-01-02 Robert Millan <rmh@aybabtu.com>
46803 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
46804 message when loaded image is out of bounds.
46805 (grub_multiboot_load_elf64): Likewise.
46807 2008-01-02 Pavel Roskin <proski@gnu.org>
46809 * util/grub.d/10_linux.in: Try version without ".old" when
46810 looking for initrd. It's better to use initrd from the newer
46811 kernel of the same version than no initrd at all.
46813 2008-01-01 Robert Millan <rmh@aybabtu.com>
46815 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
46817 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
46819 * include/grub/video.h: Added grub_video_unmap_color and
46820 grub_video_get_active_render_target.
46821 (grub_video_adapter): Added unmap_color and get_active_render_target.
46823 * video/video.c: Added grub_video_unmap_color and
46824 grub_video_get_active_render_target.
46825 (grub_video_get_info): Changed method to accept NULL pointer as an
46826 argument to allow detection of active video adapter.
46828 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
46829 grub_video_vbe_unmap_color_int.
46830 Added grub_video_vbe_unmap_color and
46831 grub_video_vbe_get_active_render_target.
46832 (grub_video_vbe_adapter): Added unmap_color and
46833 get_active_render_target.
46835 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
46836 with grub_video_vbe_unmap_color_int.
46838 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
46839 (DEFAULT_NORMAL_COLOR): Likewise.
46840 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
46841 (DEFAULT_FG_COLOR): Removed.
46842 (DEFAULT_BG_COLOR): Likewise.
46843 (DEFAULT_CURSOR_COLOR): Changed value.
46844 (grub_virtual_screen): Added standard_color_setting,
46845 normal_color_setting, highlight_color_setting and term_color.
46846 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
46847 (bitmap_width): Added.
46848 (bitmap_height): Likewise.
46849 (bitmap): Likewise.
46850 (set_term_color): Likewise.
46851 (grub_virtual_screen_setup): Changed to use new terminal coloring
46853 (grub_gfxterm_init): Added init for bitmap.
46854 (grub_gfxterm_fini): Added destroy for bitmap.
46855 (redraw_screen_rect): Updated to use background bitmap and new
46857 (scroll_up): Added optimization for case when there is no bitmap.
46858 (grub_gfxterm_cls): Fixed to use correct background color.
46859 (grub_virtual_screen_setcolorstate): Changed to use new terminal
46861 (grub_virtual_screen_setcolor): Likewise.
46862 (grub_virtual_screen_getcolor): Added.
46863 (grub_gfxterm_background_image_cmd): Likewise.
46864 (grub_video_term): Added setcolor and getcolor.
46865 (MOD_INIT): Added registration of background_image command.
46866 (MOD_TERM): Added unregistration for background_image command.
46868 2007-12-30 Pavel Roskin <proski@gnu.org>
46870 * loader/multiboot_loader.c: Fix multiboot command
46871 unregistration. Fix all typos in the word "multiboot".
46873 2007-12-29 Pavel Roskin <proski@gnu.org>
46875 * util/grub.d/10_linux.in: Refactor search for initrd. Add
46876 support for initrd names used in Fedora.
46878 2007-12-26 Bean <bean123ch@gmail.com>
46880 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
46881 (cpio_mod_SOURCES): New variable.
46882 (cpio_mod_CFLAGS): Likewise.
46883 (cpio_mod_LDFLAGS): Likewise.
46885 * fs/cpio.c: New file.
46887 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
46889 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
46891 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
46893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46895 2007-12-25 Robert Millan <rmh@aybabtu.com>
46897 * include/grub/term.h (struct grub_term): Add `getcolor' function.
46898 (grub_getcolor): New function.
46900 * kern/term.c (grub_getcolor): New function.
46901 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
46902 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
46903 (print_entry): Set normal and highlight colors to
46904 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
46905 respectively, before printing and restore them to old
46907 (grub_menu_init_page): Likewise. Fill an additional colored space
46908 that would otherwise be left blank.
46910 * term/efi/console.c (grub_console_getcolor): New function.
46911 (struct grub_console_term.getcolor): New variable.
46912 * term/i386/pc/console.c (grub_console_getcolor): New function.
46913 (struct grub_console_term.getcolor): New variable.
46914 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
46915 (struct grub_console_term.getcolor): New variable.
46917 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
46918 (struct grub_console_term.setcolor): Remove variable.
46919 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
46920 (struct grub_console_term.setcolor): Remove variable.
46921 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
46922 (struct grub_console_term.setcolor): Remove variable.
46923 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
46924 (struct grub_console_term.setcolor): Remove variable.
46926 2007-12-25 Robert Millan <rmh@aybabtu.com>
46928 * configure.ac: Search for possible unifont.hex locations, and
46929 define UNIFONT_HEX if found.
46931 * Makefile.in (UNIFONT_HEX): Define variable.
46932 (DATA): Rename to ...
46933 (PKGLIB): ... this. Update all users.
46934 (PKGDATA): New variable.
46935 (pkgdata_IMAGES): Rename to ...
46936 (pkglib_IMAGES): ... this. Update all users.
46937 (pkgdata_MODULES): Rename to ...
46938 (pkglib_MODULES): ... this. Update all users.
46939 (pkgdata_PROGRAMS): Rename to ...
46940 (pkglib_PROGRAMS): ... this. Update all users.
46941 (pkgdata_DATA): Rename to ...
46942 (pkglib_DATA): ... this. Update all users.
46943 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
46944 (unicode.pff, ascii.pff): New rules.
46945 (all-local): Add `$(PKGDATA)' dependency.
46946 (install-local): Process `$(PKGDATA)'.
46948 * util/update-grub_lib.in (font_path): Search for *.pff files in
46949 a few more locations, including `${pkgdata}'.
46951 2007-12-23 Robert Millan <rmh@aybabtu.com>
46953 Patch from Bean <bean123ch@gmail.com>:
46954 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
46957 2007-12-21 Bean <bean123ch@gmail.com>
46959 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
46960 (ntfscomp_mod_SOURCES): New variable.
46961 (ntfscomp_mod_CFLAGS): Likewise.
46962 (ntfscomp_mod_LDFLAGS): Likewise.
46964 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
46965 (grub_probe_SOURCES): Likewise.
46966 (grub_emu_SOURCES): Likewise.
46968 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46969 (grub_emu_SOURCES): Likewise.
46971 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46972 (grub_emu_SOURCES): Likewise.
46974 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
46975 (grub_emu_SOURCES): Likewise.
46977 * fs/ntfs.c (grub_ntfscomp_func): New variable.
46978 (read_run_list): Renamed to grub_ntfs_read_run_list.
46979 (decomp_nextvcn): Moved to ntfscomp.c.
46980 (decomp_getch): Likewise.
46981 (decomp_get16): Likewise.
46982 (decomp_block): Likewise.
46983 (read_block): Likewise.
46984 (read_data): Partially moved to ntfscomp.c.
46985 (fixup): Change unsigned to grub_uint16_t.
46986 (read_mft): Change unsigned long to grub_uint32_t.
46987 (read_attr): Likewise.
46988 (read_data): Likewise.
46989 (read_run_data): Likewise.
46990 (read_run_list): Likewise.
46991 (read_mft): Likewise.
46993 * fs/ntfscomp.c: New file.
46995 * include/grub/ntfs.h: New file.
46997 2007-12-16 Robert Millan <rmh@aybabtu.com>
46999 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
47000 IDE disk check, since Linux is known to support 20 IDE disks.
47001 Reported by Colin Watson.
47003 2007-12-15 Bean <bean123ch@gmail.com>
47005 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
47006 (lnxboot_img_SOURCES): New variable.
47007 (lnxboot_img_ASFLAGS): Likewise.
47008 (lnxboot_img_LDFLAGS): Likewise.
47010 * boot/i386/pc/lnxboot.S: New file.
47012 2007-11-24 Pavel Roskin <proski@gnu.org>
47014 * configure.ac: Test if '--build-id=none' is supported by the
47015 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
47016 objcopy to generate incorrect binary files (binutils
47017 2.17.50.0.18-1 as shipped by Fedora 8).
47018 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
47019 linking, so that build ID doesn't break the test.
47021 2007-11-24 Pavel Roskin <proski@gnu.org>
47023 * include/grub/i386/time.h: use "void" in the argument list
47024 of grub_cpu_idle().
47025 * include/grub/powerpc/time.h: Likewise.
47026 * include/grub/sparc64/time.h: Likewise.
47028 2007-11-18 Christian Franke <franke@computer.org>
47030 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
47031 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
47032 This fixes the problem that function keys did not work in grub-emu.
47034 2007-11-18 Christian Franke <franke@computer.org>
47036 * disk/host.c (grub_host_open): Remove attribute unused from
47037 name parameter. Add check for "host". This fixes the problem
47038 that grub-emu does not find partitions.
47040 2007-11-18 Christian Franke <franke@computer.org>
47042 * util/hostfs.c (is_dir): New function.
47043 (grub_hostfs_dir): Handle missing dirent.d_type case.
47044 (grub_hostfs_read): Add missing fseek().
47045 (grub_hostfs_label): Clear label pointer. This fixes a crash
47046 of grub-emu on "ls (host)".
47048 2007-11-18 Christian Franke <franke@computer.org>
47050 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
47051 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
47052 to 64 bit boundary by default.
47054 2007-11-18 Bean <bean123ch@gmail.com>
47056 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
47057 (hexdump_mod_SOURCES): New variable.
47058 (hexdump_mod_CFLAGS): Likewise.
47059 (hexdump_mod_LDFLAGS): Likewise.
47061 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47063 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47065 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
47069 * include/grub/hexdump.h: New file.
47071 * commands/hexdump.c: New file.
47073 2007-11-10 Robert Millan <rmh@aybabtu.com>
47075 * commands/i386/pc/play.c (beep_off): Switch order of arguments
47076 in grub_outb() calls.
47077 (beep_on): Likewise.
47079 2007-11-10 Christian Franke <franke@computer.org>
47081 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
47082 (grub_menu_run): Likewise.
47084 2007-11-10 Robert Millan <rmh@aybabtu.com>
47086 * include/grub/i386/efi/machine.h: New file.
47087 * include/grub/i386/linuxbios/machine.h: Likewise.
47088 * include/grub/i386/pc/machine.h: Likewise.
47089 * include/grub/powerpc/ieee1275/machine.h: Likewise.
47090 * include/grub/sparc64/ieee1275/machine.h: Likewise.
47092 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
47093 (serial_hw_io_addr): New variable.
47094 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
47095 instead of `(unsigned short *) 0x400'.
47097 2007-11-10 Bean <bean123ch@gmail.com>
47099 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
47101 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47103 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
47104 (vga_mod_SOURCES): Added.
47105 (vga_mod_CFLAGS): Likewise.
47106 (vga_mod_LDFLAGS): Likewise.
47108 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
47110 (set_map_mask): Likewise.
47111 (set_read_map): Likewise.
47112 (set_read_address): Likewise.
47113 (vga_font): Removed variable.
47114 (get_vga_glyph): Removed function.
47115 (invalidate_char): Likewise.
47116 (write_char): Changed to use grub_font_get_glyph() for font
47118 (grub_vga_putchar): Likewise.
47119 (grub_vga_getcharwidth): Likewise.
47121 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
47123 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
47125 (pxeboot_img_LDFLAGS): Likewise.
47126 (diskboot_img_LDFLAGS): Likewise.
47127 (kernel_img_LDFLAGS): Likewise.
47129 2007-11-06 Robert Millan <rmh@aybabtu.com>
47131 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
47132 in grub_outb() calls.
47133 (serial_hw_init): Likewise.
47135 2007-11-05 Robert Millan <rmh@aybabtu.com>
47137 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
47138 spaces. Skip non-regular files.
47140 2007-11-05 Robert Millan <rmh@aybabtu.com>
47142 * kern/disk.c (grub_disk_firmware_fini)
47143 (grub_disk_firmware_is_tainted): New variables.
47145 * include/grub/disk.h (grub_disk_firmware_fini)
47146 (grub_disk_firmware_is_tainted): Likewise.
47148 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
47149 (grub_disk_biosdisk_fini): ... to here.
47150 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
47151 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
47152 is set. Register grub_disk_biosdisk_fini() in
47153 `grub_disk_firmware_fini'.
47155 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
47156 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
47157 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
47158 to finish existing firmware disk interface.
47160 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
47161 (ata_mod_SOURCES): New variable.
47162 (ata_mod_CFLAGS): Likewise.
47163 (ata_mod_LDFLAGS): Likewise.
47165 2007-11-05 Robert Millan <rmh@aybabtu.com>
47167 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
47168 (grub_ata_wait): Reimplement using grub_millisleep().
47170 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
47171 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
47173 2007-11-03 Marco Gerards <marco@gnu.org>
47175 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
47176 (CRTC_ADDR_PORT): New macro.
47177 (CRTC_DATA_PORT): Likewise.
47178 (CRTC_CURSOR): Likewise.
47179 (CRTC_CURSOR_ADDR_HIGH): Likewise.
47180 (CRTC_CURSOR_ADDR_LOW): Likewise.
47181 (update_cursor): New function.
47182 (grub_console_real_putchar): Call `update_cursor'.
47183 (grub_console_gotoxy): Likewise.
47184 (grub_console_cls): Set the default color when clearing the
47186 (grub_console_setcursor): Implemented.
47188 2007-11-03 Marco Gerards <marco@gnu.org>
47190 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
47192 (grub_ata_pio_write): Likewise.
47194 (grub_atapi_identify): Wait after issuing an ATA command.
47195 (grub_atapi_packet): Likewise.
47196 (grub_ata_identify): Likewise.
47197 (grub_ata_readwrite): Likewise.
47199 2007-11-03 Marco Gerards <marco@gnu.org>
47201 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
47202 (grub_ata_pio_write): Likewise.
47203 (grub_ata_readwrite): Use `grub_error', instead of
47204 returning `grub_errno'.
47206 2007-11-03 Marco Gerards <marco@gnu.org>
47208 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
47209 grub_ata_pio_write once for every single sector, instead of for
47212 2007-10-31 Robert Millan <rmh@aybabtu.com>
47214 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
47216 * conf/i386-linuxbios.rmk: New file.
47218 * kern/i386/pc/hardware.c: Likewise.
47219 * term/i386/pc/at_keyboard.c: Likewise.
47220 * term/i386/pc/vga_text.c: Likewise.
47222 * include/grub/i386/linuxbios/boot.h: Likewise.
47223 * include/grub/i386/linuxbios/console.h: Likewise.
47224 * include/grub/i386/linuxbios/init.h: Likewise.
47225 * include/grub/i386/linuxbios/kernel.h: Likewise.
47226 * include/grub/i386/linuxbios/loader.h: Likewise.
47227 * include/grub/i386/linuxbios/memory.h: Likewise.
47228 * include/grub/i386/linuxbios/serial.h: Likewise.
47229 * include/grub/i386/linuxbios/time.h: Likewise.
47231 * kern/i386/linuxbios/init.c: Likewise.
47232 * kern/i386/linuxbios/startup.S: Likewise.
47233 * kern/i386/linuxbios/table.c: Likewise.
47235 2007-10-31 Marco Gerards <marco@gnu.org>
47237 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
47238 (ata_mod_SOURCES): New variable.
47239 (ata_mod_CFLAGS): Likewise.
47240 (ata_mod_LDFLAGS): Likewise.
47242 * disk/ata.c: New file.
47244 * include/grub/disk.h (grub_disk_dev_id): Add
47245 `GRUB_DISK_DEV_ATA_ID'.
47247 2007-10-31 Robert Millan <rmh@aybabtu.com>
47249 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
47250 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
47252 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
47253 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
47255 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
47258 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
47260 2007-10-27 Robert Millan <rmh@aybabtu.com>
47262 * include/grub/types.h (ULONG_MAX): Define macro.
47264 2007-10-22 Robert Millan <rmh@aybabtu.com>
47266 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
47268 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
47270 2007-10-22 Robert Millan <rmh@aybabtu.com>
47272 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
47273 (pkgdata_MODULES): Add `biosdisk.mod'.
47274 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
47277 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
47278 (grub_biosdisk_init): Replace with ...
47279 (GRUB_MOD_INIT(biosdisk)): ... this.
47280 (grub_biosdisk_fini): Replace with ...
47281 (GRUB_MOD_FINI(biosdisk)): ... this.
47283 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
47284 (grub_machine_init): Remove call to grub_biosdisk_init().
47285 (grub_machine_fini): Remove call to grub_machine_fini().
47287 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
47289 2007-10-22 Robert Millan <rmh@aybabtu.com>
47291 * include/grub/time.h: New file.
47292 * include/grub/i386/time.h: Likewise.
47293 * include/grub/powerpc/time.h: Likewise.
47294 * include/grub/sparc64/time.h: Likewise.
47296 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
47298 (KERNEL_MACHINE_TIME_HEADER): ... this.
47299 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47301 (KERNEL_MACHINE_TIME_HEADER): ... this.
47302 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
47304 (KERNEL_MACHINE_TIME_HEADER): ... this.
47306 * kern/i386/efi/init.c: Include `<grub/time.h>'.
47307 (grub_millisleep): New function.
47308 * kern/i386/pc/init.c: Include `<grub/time.h>'.
47309 (grub_millisleep): New function.
47310 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
47311 Remove `grub/machine/time.h' include.
47312 (grub_millisleep): New function.
47313 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
47314 Remove `grub/machine/time.h' include.
47315 (grub_millisleep): New function.
47317 * include/grub/misc.h (grub_div_roundup): New function.
47319 * kern/misc.c: Include `<grub/time.h>'.
47320 (grub_millisleep_generic): New function.
47322 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
47324 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
47326 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
47327 `machine/time.h'. Add `time.h'.
47328 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
47330 2007-10-21 Robert Millan <rmh@aybabtu.com>
47332 * include/grub/misc.h (grub_max): New function.
47334 2007-10-21 Robert Millan <rmh@aybabtu.com>
47336 * util/misc.c (grub_util_info): Call fflush() before returning.
47338 2007-10-20 Robert Millan <rmh@aybabtu.com>
47340 * genmk.rb (Image): Copy `extra_flags' from here ...
47341 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
47343 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
47344 to `argc' and `args' arguments.
47346 2007-10-17 Robert Millan <rmh@aybabtu.com>
47348 * kern/i386/loader.S: New file.
47350 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
47351 * kern/i386/loader.S (grub_linux_prot_size)... to here.
47352 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
47353 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
47354 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
47355 * kern/i386/loader.S (grub_linux_real_addr)... to here.
47356 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
47357 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
47358 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
47359 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
47360 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
47361 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
47362 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
47363 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
47365 * kern/i386/realmode.S: New file.
47367 * kern/i386/pc/startup.S (protstack): Moved from here ...
47368 * kern/i386/realmode.S (protstack)... to here.
47369 * kern/i386/pc/startup.S (gdt): Moved from here ...
47370 * kern/i386/realmode.S (gdt)... to here.
47371 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
47372 * kern/i386/realmode.S (prot_to_real)... to here.
47374 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
47375 `kern/i386/realmode.S'.
47377 2007-10-17 Robert Millan <rmh@aybabtu.com>
47379 * include/grub/i386/loader.h: New file.
47381 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
47382 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47383 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47384 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47385 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
47386 * include/grub/i386/loader.h (grub_linux_prot_size)
47387 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
47388 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
47389 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
47390 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
47392 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
47394 2007-10-15 Robert Millan <rmh@aybabtu.com>
47396 * normal/misc.c (grub_normal_print_device_info): Do not probe for
47397 filesystem when dev->disk is unset.
47398 Do probe for filesystem even when dev->disk->has_partitions is set.
47399 In case a filesystem is found, always report it.
47400 In case it isn't, if dev->disk->has_partitions is set, report that
47401 a partition table was found instead of reporting that no filesystem
47402 could be identified.
47404 2007-10-12 Robert Millan <rmh@aybabtu.com>
47406 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
47407 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
47409 * include/grub/types.h (grub_host_to_target16): New macro.
47410 (grub_host_to_target32): Likewise.
47411 (grub_host_to_target64): Likewise.
47412 (grub_target_to_host16): Likewise.
47413 (grub_target_to_host32): Likewise.
47414 (grub_target_to_host64): Likewise.
47416 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
47417 Renamed from to ...
47418 (GRUB_MOD_ALIGN): ...this. Update all users.
47420 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
47421 grub_host_to_target32.
47422 Replace grub_be_to_cpu32 with grub_target_to_host32.
47423 (load_modules): Likewise.
47424 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
47425 Replace grub_be_to_cpu32 with grub_target_to_host32.
47426 Replace grub_cpu_to_be16 with grub_host_to_target16.
47427 Replace grub_cpu_to_be32 grub_host_to_target32.
47429 2007-10-12 Robert Millan <rmh@aybabtu.com>
47431 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
47432 * util/elf/grub-mkimage.c: ... here.
47434 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
47435 `util/powerpc/ieee1275/grub-mkimage.c'.
47437 2007-10-07 Robert Millan <rmh@aybabtu.com>
47439 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
47440 and make it easier to figure out.
47441 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
47442 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
47443 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
47444 leave us with less than HEAP_MIN_SIZE total heap.
47445 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
47447 2007-10-03 Robert Millan <rmh@aybabtu.com>
47449 * include/grub/i386/io.h: New file.
47450 * commands/i386/pc/play.c (inb): Removed.
47452 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47454 * term/i386/pc/serial.c (inb): Removed.
47456 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47458 * term/i386/pc/vga.c (inb): Removed.
47460 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
47463 2007-10-02 Robert Millan <rmh@aybabtu.com>
47465 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
47466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47467 Reported by Marcin Kurek.
47469 2007-09-07 Robert Millan <rmh@aybabtu.com>
47471 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
47472 SmartFirmware version updates (as released by Sven Luther), and avoid
47473 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
47474 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
47477 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47479 From Hitoshi Ozeki:
47480 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
47481 when merging two regions.
47483 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47485 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
47486 * normal/completion.c (grub_normal_do_completion): Likewise.
47487 Reported by Hitoshi Ozeki.
47489 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47491 Do not use devices at boot in chainloading.
47493 * loader/i386/pc/chainloader.c (boot_drive): New variable.
47494 (boot_part_addr): Likewise.
47495 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
47496 with BOOT_DRIVE and BOOT_PART_ADDR.
47497 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
47498 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
47500 2007-08-29 Robert Millan <rmh@aybabtu.com>
47502 Patch from Simon Peter <dn.tlp@gmx.net>:
47503 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
47504 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
47505 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
47506 util/i386/pc/grub-setup.c_DEPENDENCIES.
47507 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
47508 util/grub-probe.c_DEPENDENCIES.
47509 * conf/powerpc-ieee1275.rmk: Likewise.
47511 2007-08-28 Robert Millan <rmh@aybabtu.com>
47513 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
47514 to tell grub-mkdevicemap how to name devices.
47515 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
47518 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
47519 util/i386/get_disk_name.c.
47520 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
47521 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
47522 util/ieee1275/get_disk_name.c.
47524 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
47526 * DISTLIST: Add util/i386/get_disk_name.c and
47527 util/ieee1275/get_disk_name.c.
47529 * util/grub-mkdevicemap.c: Replace device naming logic with
47530 grub_util_get_disk_name() calls.
47532 2007-08-20 Robert Millan <rmh@aybabtu.com>
47534 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
47535 (so that it works for both plural and singular quantities).
47537 2007-08-05 Robert Millan <rmh@aybabtu.com>
47539 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
47540 so that [xz] isn't taken into account when determining order.
47542 2007-08-02 Marco Gerards <marco@gnu.org>
47544 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
47545 `include/multiboot2.h', `include/grub/elfload.h',
47546 `include/multiboot.h', `include/grub/multiboot.h',
47547 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
47548 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
47549 `kern/elf.c', `loader/multiboot_loader.c',
47550 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
47551 `loader/i386/pc/multiboot2.c',
47552 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
47553 `util/i386/pc/grub-mkrescue.in'. Remove
47554 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
47555 `include/grub/i386/pc/util/biosdisk.h' and
47556 `include/grub/powerpc/ieee1275/multiboot.h'.
47558 2007-08-02 Bean <bean123ch@gmail.com>
47560 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
47561 (ntfs_mod_SOURCES): New variable.
47562 (ntfs_mod_CFLAGS): Likewise.
47563 (ntfs_mod_LDFLAGS): Likewise.
47565 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
47566 (grub_probe_SOURCES): Likewise.
47567 (grub_emu_SOURCES): Likewise.
47569 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47570 (grub_emu_SOURCES): Likewise.
47572 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
47573 (grub_emu_SOURCES): Likewise.
47575 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
47577 * fs/ntfs.c: New file.
47579 2007-08-02 Bean <bean123ch@gmail.com>
47581 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
47583 * file.h (grub_file): Likewise.
47585 * fshelp.h (grub_fshelp_read_file): Likewise.
47587 * util/i386/pc/grub-setup.c (setup): Likewise.
47588 (save_first_sector): Likewise.
47589 (save_blocklists): Likewise.
47591 * fs/affs.c (grub_affs_read_file): Likewise.
47593 * fs/ext2.c (grub_ext2_read_file): Likewise.
47595 * fs/fat.c (grub_fat_read_data): Likewise.
47597 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
47599 * fs/hfs.c (grub_hfs_read_file): Likewise.
47601 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47603 * fs/jfs.c (grub_jfs_read_file): Likewise.
47605 * fs/minix.c (grub_minix_read_file): Likewise.
47607 * fs/sfs.c (grub_sfs_read_file): Likewise.
47609 * fs/ufs.c (grub_ufs_read_file): Likewise.
47611 * fs/xfs.c (grub_xfs_read_file): Likewise.
47613 * command/blocklist.c (read_blocklist): Likewise.
47614 (print_blocklist): Likewise.
47616 2007-08-02 Marco Gerards <marco@gnu.org>
47618 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
47621 * disk/host.c: New file.
47623 * util/hostfs.c: Likewise.
47625 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
47626 return `GRUB_ERR_BAD_FS'.
47627 * fs/sfs.c (grub_sfs_mount): Likewise.
47628 * fs/xfs.c (grub_xfs_mount): Likewise.
47630 * include/grub/disk.h (enum grub_disk_dev_id): Add
47631 `GRUB_DISK_DEVICE_HOST_ID'.
47633 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
47635 2007-07-24 Jerone Young <jerone@gmail.com>
47637 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
47638 modules for compilation.
47639 * conf/powerpc-ieee1275.rmk: Likewise.
47641 * include/multiboot.h: Move multiboot definitions to one file. Rename
47642 many definitions to not get grub specific.
47643 * include/multiboot2.h: Create header with multiboot 2 definitions.
47644 * include/grub/multiboot.h: Header for grub specific function
47645 prototypes and definitions.
47646 * include/grub/multiboot2.h: Likewise.
47647 * include/grub/multiboot_loader.h: Likewise.
47648 * include/grub/i386/pc/multiboot.h: Removed.
47649 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
47651 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
47652 and 2 to allow for one multiboot and module commands.
47653 * loader/multiboot2.c: Add multiboot2 functionality.
47654 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
47655 and definition names.
47656 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
47658 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
47659 ieee1275 specific multiboot2 code.
47661 * kern/i386/pc/startup.S: Change headers and definition names for
47662 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
47664 2007-07-22 Robert Millan <rmh@aybabtu.com>
47666 * geninitheader.sh: Process file specified in first parameter rather
47667 than hardcoding grub_modules_init.lst.
47668 * geninit.sh: Likewise. Also, construct header name dynamically rather
47669 than hardcoding grub_modules_init.h.
47671 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
47672 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
47673 grub_probe_init.[ch] and grub_setup_init.[ch].
47675 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
47676 grub_modules_init.h with grub_emu_init.h.
47677 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
47678 grub_probe_init.[ch] files.
47679 * conf/i386-efi.rmk: Likewise.
47680 * conf/i386-pc.rmk: Likewise.
47681 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
47682 grub_setup_init.[ch] files.
47684 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
47685 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
47686 to initialize modules rather than a list of hardcoded functions.
47687 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
47688 grub_init_all() to initialize modules rather than a list of hardcoded
47691 2007-07-22 Robert Millan <rmh@aybabtu.com>
47693 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
47694 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
47696 2007-07-22 Robert Millan <rmh@aybabtu.com>
47698 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
47699 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
47700 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
47701 flag when running on SmartFirmware.
47702 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
47703 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
47706 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
47707 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
47708 rather than decreasing it.
47710 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
47711 there's not enough space to do it, fail in the same way as when it
47712 can't be done because there are no partitions.
47714 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
47715 when nvsetenv failed.
47717 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47719 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
47720 because this rule is automatically generated.
47721 (grub-mkrescue): Removed for the same reason as above.
47723 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
47725 Migrate to GNU General Public License Version 3.
47727 * COPYING: Replaced with the plain text version of GPLv3.
47729 * config.guess: Updated from gnulib.
47730 * config.sub: Likewise.
47732 * geninit.sh: Output a GPLv3 copyright notice.
47733 * geninitheader.sh: Likewise.
47734 * genmodsrc.sh: Likewise.
47735 * gensymlist.sh.in: Likewise.
47737 * boot/i386/pc/boot.S: Upgraded to GPLv3.
47738 * boot/i386/pc/diskboot.S: Likewise.
47739 * boot/i386/pc/pxeboot.S: Likewise.
47740 * commands/blocklist.c: Likewise.
47741 * commands/boot.c: Likewise.
47742 * commands/cat.c: Likewise.
47743 * commands/cmp.c: Likewise.
47744 * commands/configfile.c: Likewise.
47745 * commands/echo.c: Likewise.
47746 * commands/help.c: Likewise.
47747 * commands/ls.c: Likewise.
47748 * commands/search.c: Likewise.
47749 * commands/terminal.c: Likewise.
47750 * commands/test.c: Likewise.
47751 * commands/videotest.c: Likewise.
47752 * commands/i386/cpuid.c: Likewise.
47753 * commands/i386/pc/halt.c: Likewise.
47754 * commands/i386/pc/play.c: Likewise.
47755 * commands/i386/pc/reboot.c: Likewise.
47756 * commands/i386/pc/vbeinfo.c: Likewise.
47757 * commands/i386/pc/vbetest.c: Likewise.
47758 * commands/ieee1275/halt.c: Likewise.
47759 * commands/ieee1275/reboot.c: Likewise.
47760 * commands/ieee1275/suspend.c: Likewise.
47761 * disk/loopback.c: Likewise.
47762 * disk/lvm.c: Likewise.
47763 * disk/raid.c: Likewise.
47764 * disk/efi/efidisk.c: Likewise.
47765 * disk/i386/pc/biosdisk.c: Likewise.
47766 * disk/ieee1275/ofdisk.c: Likewise.
47767 * font/manager.c: Likewise.
47768 * fs/affs.c: Likewise.
47769 * fs/ext2.c: Likewise.
47770 * fs/fat.c: Likewise.
47771 * fs/fshelp.c: Likewise.
47772 * fs/hfs.c: Likewise.
47773 * fs/hfsplus.c: Likewise.
47774 * fs/iso9660.c: Likewise.
47775 * fs/jfs.c: Likewise.
47776 * fs/minix.c: Likewise.
47777 * fs/sfs.c: Likewise.
47778 * fs/ufs.c: Likewise.
47779 * fs/xfs.c: Likewise.
47780 * hello/hello.c: Likewise.
47781 * include/grub/acorn_filecore.h: Likewise.
47782 * include/grub/arg.h: Likewise.
47783 * include/grub/bitmap.h: Likewise.
47784 * include/grub/boot.h: Likewise.
47785 * include/grub/cache.h: Likewise.
47786 * include/grub/device.h: Likewise.
47787 * include/grub/disk.h: Likewise.
47788 * include/grub/dl.h: Likewise.
47789 * include/grub/elfload.h: Likewise.
47790 * include/grub/env.h: Likewise.
47791 * include/grub/err.h: Likewise.
47792 * include/grub/file.h: Likewise.
47793 * include/grub/font.h: Likewise.
47794 * include/grub/fs.h: Likewise.
47795 * include/grub/fshelp.h: Likewise.
47796 * include/grub/gzio.h: Likewise.
47797 * include/grub/hfs.h: Likewise.
47798 * include/grub/kernel.h: Likewise.
47799 * include/grub/loader.h: Likewise.
47800 * include/grub/lvm.h: Likewise.
47801 * include/grub/misc.h: Likewise.
47802 * include/grub/mm.h: Likewise.
47803 * include/grub/net.h: Likewise.
47804 * include/grub/normal.h: Likewise.
47805 * include/grub/parser.h: Likewise.
47806 * include/grub/partition.h: Likewise.
47807 * include/grub/pc_partition.h: Likewise.
47808 * include/grub/raid.h: Likewise.
47809 * include/grub/rescue.h: Likewise.
47810 * include/grub/script.h: Likewise.
47811 * include/grub/setjmp.h: Likewise.
47812 * include/grub/symbol.h: Likewise.
47813 * include/grub/term.h: Likewise.
47814 * include/grub/terminfo.h: Likewise.
47815 * include/grub/tparm.h: Likewise.
47816 * include/grub/types.h: Likewise.
47817 * include/grub/video.h: Likewise.
47818 * include/grub/efi/api.h: Likewise.
47819 * include/grub/efi/chainloader.h: Likewise.
47820 * include/grub/efi/console.h: Likewise.
47821 * include/grub/efi/console_control.h: Likewise.
47822 * include/grub/efi/disk.h: Likewise.
47823 * include/grub/efi/efi.h: Likewise.
47824 * include/grub/efi/pe32.h: Likewise.
47825 * include/grub/efi/time.h: Likewise.
47826 * include/grub/i386/linux.h: Likewise.
47827 * include/grub/i386/setjmp.h: Likewise.
47828 * include/grub/i386/types.h: Likewise.
47829 * include/grub/i386/efi/kernel.h: Likewise.
47830 * include/grub/i386/efi/loader.h: Likewise.
47831 * include/grub/i386/efi/time.h: Likewise.
47832 * include/grub/i386/pc/biosdisk.h: Likewise.
47833 * include/grub/i386/pc/boot.h: Likewise.
47834 * include/grub/i386/pc/chainloader.h: Likewise.
47835 * include/grub/i386/pc/console.h: Likewise.
47836 * include/grub/i386/pc/init.h: Likewise.
47837 * include/grub/i386/pc/kernel.h: Likewise.
47838 * include/grub/i386/pc/loader.h: Likewise.
47839 * include/grub/i386/pc/memory.h: Likewise.
47840 * include/grub/i386/pc/multiboot.h: Likewise.
47841 * include/grub/i386/pc/serial.h: Likewise.
47842 * include/grub/i386/pc/time.h: Likewise.
47843 * include/grub/i386/pc/vbe.h: Likewise.
47844 * include/grub/i386/pc/vbeblit.h: Likewise.
47845 * include/grub/i386/pc/vbefill.h: Likewise.
47846 * include/grub/i386/pc/vbeutil.h: Likewise.
47847 * include/grub/i386/pc/vga.h: Likewise.
47848 * include/grub/ieee1275/ieee1275.h: Likewise.
47849 * include/grub/ieee1275/ofdisk.h: Likewise.
47850 * include/grub/powerpc/libgcc.h: Likewise.
47851 * include/grub/powerpc/setjmp.h: Likewise.
47852 * include/grub/powerpc/types.h: Likewise.
47853 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
47854 * include/grub/powerpc/ieee1275/console.h: Likewise.
47855 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
47856 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
47857 * include/grub/powerpc/ieee1275/loader.h: Likewise.
47858 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
47859 * include/grub/powerpc/ieee1275/time.h: Likewise.
47860 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
47861 * include/grub/sparc64/libgcc.h: Likewise.
47862 * include/grub/sparc64/setjmp.h: Likewise.
47863 * include/grub/sparc64/types.h: Likewise.
47864 * include/grub/sparc64/ieee1275/console.h: Likewise.
47865 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47866 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47867 * include/grub/sparc64/ieee1275/time.h: Likewise.
47868 * include/grub/util/biosdisk.h: Likewise.
47869 * include/grub/util/getroot.h: Likewise.
47870 * include/grub/util/lvm.h: Likewise.
47871 * include/grub/util/misc.h: Likewise.
47872 * include/grub/util/raid.h: Likewise.
47873 * include/grub/util/resolve.h: Likewise.
47874 * io/gzio.c: Likewise.
47875 * kern/device.c: Likewise.
47876 * kern/disk.c: Likewise.
47877 * kern/dl.c: Likewise.
47878 * kern/elf.c: Likewise.
47879 * kern/env.c: Likewise.
47880 * kern/err.c: Likewise.
47881 * kern/file.c: Likewise.
47882 * kern/fs.c: Likewise.
47883 * kern/loader.c: Likewise.
47884 * kern/main.c: Likewise.
47885 * kern/misc.c: Likewise.
47886 * kern/mm.c: Likewise.
47887 * kern/parser.c: Likewise.
47888 * kern/partition.c: Likewise.
47889 * kern/rescue.c: Likewise.
47890 * kern/term.c: Likewise.
47891 * kern/efi/efi.c: Likewise.
47892 * kern/efi/init.c: Likewise.
47893 * kern/efi/mm.c: Likewise.
47894 * kern/i386/dl.c: Likewise.
47895 * kern/i386/efi/init.c: Likewise.
47896 * kern/i386/efi/startup.S: Likewise.
47897 * kern/i386/pc/init.c: Likewise.
47898 * kern/i386/pc/lzo1x.S: Likewise.
47899 * kern/i386/pc/startup.S: Likewise.
47900 * kern/ieee1275/ieee1275.c: Likewise.
47901 * kern/powerpc/cache.S: Likewise.
47902 * kern/powerpc/dl.c: Likewise.
47903 * kern/powerpc/ieee1275/cmain.c: Likewise.
47904 * kern/powerpc/ieee1275/crt0.S: Likewise.
47905 * kern/powerpc/ieee1275/init.c: Likewise.
47906 * kern/powerpc/ieee1275/openfw.c: Likewise.
47907 * kern/sparc64/cache.S: Likewise.
47908 * kern/sparc64/dl.c: Likewise.
47909 * kern/sparc64/ieee1275/init.c: Likewise.
47910 * kern/sparc64/ieee1275/openfw.c: Likewise.
47911 * loader/efi/chainloader.c: Likewise.
47912 * loader/efi/chainloader_normal.c: Likewise.
47913 * loader/i386/efi/linux.c: Likewise.
47914 * loader/i386/efi/linux_normal.c: Likewise.
47915 * loader/i386/pc/chainloader.c: Likewise.
47916 * loader/i386/pc/chainloader_normal.c: Likewise.
47917 * loader/i386/pc/linux.c: Likewise.
47918 * loader/i386/pc/linux_normal.c: Likewise.
47919 * loader/i386/pc/multiboot.c: Likewise.
47920 * loader/i386/pc/multiboot_normal.c: Likewise.
47921 * loader/powerpc/ieee1275/linux.c: Likewise.
47922 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47923 * normal/arg.c: Likewise.
47924 * normal/cmdline.c: Likewise.
47925 * normal/command.c: Likewise.
47926 * normal/completion.c: Likewise.
47927 * normal/execute.c: Likewise.
47928 * normal/function.c: Likewise.
47929 * normal/lexer.c: Likewise.
47930 * normal/main.c: Likewise.
47931 * normal/menu.c: Likewise.
47932 * normal/menu_entry.c: Likewise.
47933 * normal/misc.c: Likewise.
47934 * normal/parser.y: Likewise.
47935 * normal/script.c: Likewise.
47936 * normal/i386/setjmp.S: Likewise.
47937 * normal/powerpc/setjmp.S: Likewise.
47938 * normal/sparc64/setjmp.S: Likewise.
47939 * partmap/acorn.c: Likewise.
47940 * partmap/amiga.c: Likewise.
47941 * partmap/apple.c: Likewise.
47942 * partmap/gpt.c: Likewise.
47943 * partmap/pc.c: Likewise.
47944 * partmap/sun.c: Likewise.
47945 * term/gfxterm.c: Likewise.
47946 * term/terminfo.c: Likewise.
47947 * term/efi/console.c: Likewise.
47948 * term/i386/pc/console.c: Likewise.
47949 * term/i386/pc/serial.c: Likewise.
47950 * term/i386/pc/vesafb.c: Likewise.
47951 * term/i386/pc/vga.c: Likewise.
47952 * term/ieee1275/ofconsole.c: Likewise.
47953 * util/biosdisk.c: Likewise.
47954 * util/console.c: Likewise.
47955 * util/genmoddep.c: Likewise.
47956 * util/getroot.c: Likewise.
47957 * util/grub-emu.c: Likewise.
47958 * util/grub-mkdevicemap.c: Likewise.
47959 * util/grub-probe.c: Likewise.
47960 * util/lvm.c: Likewise.
47961 * util/misc.c: Likewise.
47962 * util/raid.c: Likewise.
47963 * util/resolve.c: Likewise.
47964 * util/update-grub.in: Likewise.
47965 * util/update-grub_lib.in: Likewise.
47966 * util/grub.d/00_header.in: Likewise.
47967 * util/grub.d/10_hurd.in: Likewise.
47968 * util/grub.d/10_linux.in: Likewise.
47969 * util/i386/efi/grub-install.in: Likewise.
47970 * util/i386/efi/grub-mkimage.c: Likewise.
47971 * util/i386/pc/grub-install.in: Likewise.
47972 * util/i386/pc/grub-mkimage.c: Likewise.
47973 * util/i386/pc/grub-mkrescue.in: Likewise.
47974 * util/i386/pc/grub-setup.c: Likewise.
47975 * util/i386/pc/misc.c: Likewise.
47976 * util/powerpc/ieee1275/grub-install.in: Likewise.
47977 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
47978 * util/powerpc/ieee1275/misc.c: Likewise.
47979 * video/bitmap.c: Likewise.
47980 * video/video.c: Likewise.
47981 * video/i386/pc/vbe.c: Likewise.
47982 * video/i386/pc/vbeblit.c: Likewise.
47983 * video/i386/pc/vbefill.c: Likewise.
47984 * video/i386/pc/vbeutil.c: Likewise.
47985 * video/readers/tga.c: Likewise.
47987 2007-07-02 Robert Millan <rmh@aybabtu.com>
47989 * conf/i386-efi.rmk: Replace obsolete reference to
47990 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
47991 with util/getroot.c.
47992 * conf/powerpc-ieee1275.rmk: Likewise.
47993 * conf/sparc64-ieee1275.rmk: Likewise.
47995 * util/grub-emu.c (main): Fix unchecked pointer handling.
47997 2007-07-02 Robert Millan <rmh@aybabtu.com>
47999 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
48000 invocation to fail, in order to support partition-less media.
48002 * util/i386/pc/grub-install.in: Likewise.
48004 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
48005 which fs or partmap modules are needed (akin to its sister scripts).
48007 Also use grub-probe to get rid of unportable /proc/mounts check.
48009 Print the same informational message that the other scripts do, before
48012 2007-06-23 Robert Millan <rmh@aybabtu.com>
48014 * util/update-grub_lib.in (font_path): New function. Determine whether
48015 a font file can be found and, if so, echo the GRUB path to it.
48017 * util/update-grub.in: Handle multiple terminals depending on user
48018 input, platform availability and font file presence. Propagate
48019 variables of our findings to /etc/grub.d/ children.
48021 * util/grub.d/00_header.in: Handle multiple terminals, based on
48022 environment setup by update-grub.
48024 2007-06-23 Robert Millan <rmh@aybabtu.com>
48026 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
48028 2007-06-21 Robert Millan <rmh@aybabtu.com>
48030 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
48031 indicate end of data section in kernel image.
48032 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
48033 GRUB_KERNEL_MACHINE_DATA_END.
48035 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
48037 * kern/i386/efi/startup.S: Likewise.
48039 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
48040 during image generation. Implement --prefix option to override this
48042 * util/i386/efi/grub-mkimage.c: Likewise.
48044 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
48045 code to make path relative to its root into a separate function.
48047 * util/i386/pc/grub-install.in: Use newly provided
48048 make_system_path_relative_to_its_root() to convert ${grubdir}, then
48049 pass the result to grub-install --prefix.
48051 2007-06-13 Robert Millan <rmh@aybabtu.com>
48053 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
48054 DEFAULT_DEVICE_MAP.
48055 * util/grub-emu.c: Use above definitions from misc.h instead of
48057 * util/grub-mkdevicemap.c: Likewise.
48058 * util/i386/pc/grub-setup.c: Likewise.
48059 * util/grub-probe.c: Likewise.
48060 (probe): Abort with grub_util_error() when either
48061 grub_guess_root_device or grub_util_get_grub_dev fails.
48063 2007-06-12 Robert Millan <rmh@aybabtu.com>
48065 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
48066 "pager" assignment.
48067 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
48069 * util/grub-probe.c (probe): Likewise for "drive_name".
48071 2007-06-11 Robert Millan <rmh@aybabtu.com>
48073 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
48074 not just the cdrom one.
48076 2007-06-11 Robert Millan <rmh@aybabtu.com>
48078 * util/i386/pc/grub-mkrescue.in: Add "set -e".
48079 Add --pkglibdir=DIR option to override pkglibdir.
48080 Mention --image-type=TYPE in help output.
48081 Fix --grub-mkimage (it was a no-op).
48082 Abort gracefully when no parameter is given.
48084 2007-06-11 Robert Millan <rmh@aybabtu.com>
48086 * util/i386/pc/grub-mkrescue.in: New file.
48087 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
48088 * Makefile.in: Handle bin_SCRIPTS.
48090 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
48092 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
48093 list of video modes.
48095 2007-06-06 Robert Millan <rmh@aybabtu.com>
48097 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
48098 file doesn't exist, or if it is in a filesystem grub can't read.
48100 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
48101 not abort if GRUB_DRIVE could not be defined. Rearrange generated
48102 header comment to fit in 80 columns when the variables are resolved.
48104 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
48105 could be identified by update-grub. Remove redundant check for
48106 unifont.pff existence (since convert_system_path_to_grub_path now
48109 2007-06-04 Robert Millan <rmh@aybabtu.com>
48111 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
48113 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
48115 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
48117 2007-06-04 Robert Millan <rmh@aybabtu.com>
48119 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
48121 * include/grub/partition.h: Declare grub_apple_partition_map_init and
48122 grub_apple_partition_map_fini.
48125 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
48126 to access >2 TiB disks).
48128 Print disk->total_sectors with %llu instead of %lu, since this
48129 variable is always 64-bit (prevents wrong disk size from being displayed
48130 on either >2 TiB disk or big-endian CPU).
48132 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
48133 into a generic case that supports all (sane) partition maps.
48135 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
48138 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
48139 and grub_apple_partition_map_fini() after that.
48141 2007-06-01 Robert Millan <rmh@aybabtu.com>
48143 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
48145 * util/grub.d/00_header.in: Only enable gfxterm when
48146 convert_system_path_to_grub_path() succeeds.
48148 2007-05-20 Robert Millan <rmh@aybabtu.com>
48150 * util/update-grub_lib.in: New file.
48151 * DISTLIST: Add update-grub_lib.in.
48152 * conf/common.rmk: Generate update-grub_lib and install it in
48154 * Makefile.in: Add install routine for $(lib_DATA).
48156 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
48157 function provided by update-grub_lib to support arbitrary paths of
48159 * util/update-grub.in: Use convert_system_path_to_grub_path() to
48160 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
48162 2007-05-19 Robert Millan <rmh@aybabtu.com>
48164 * commands/i386/cpuid.c: New module.
48165 * DISTLIST: Add it.
48166 * conf/i386-efi.rmk: Enable cpuid.mod.
48167 * conf/i386-pc.rmk: Likewise.
48169 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48171 * kern/disk.c (grub_disk_read): Check return value of
48174 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
48176 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
48178 * disk/raid.c (grub_raid_open): Likewise.
48180 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48182 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
48183 stack instead of on the heap.
48185 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
48186 before doing a read on it.
48188 * configure.ac: Only use -fno-stack-protector for the target
48191 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
48193 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
48194 __attribute_ ((unused)) to mode_type argument.
48196 * util/getroot.c (grub_guess_root_device): Fix #endif.
48198 * kern/misc.c (memcmp): Fix prototype.
48200 * include/grub/partition.h [GRUB_UTIL]
48201 (grub_gpt_partition_map_init): Add prototype.
48202 (grub_gpt_partition_map_fini): Likewise.
48204 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
48205 at the right place.
48207 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
48208 (grub_fat_read_data): Likewise.
48209 (grub_fat_find_dir): Likewise.
48211 * font/manager.c (find_glyph): Make table a const.
48212 (grub_font_get_glyph): Remove bitmap from if statement.
48214 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
48216 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
48217 code, first search for device in /dev/mapper, then in /dev.
48218 (grub_util_get_grub_dev): New function.
48219 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
48221 * util/grub-probe.c (probe): Remove check for RAID, call
48222 grub_util_get_grub_dev() instead of
48223 grub_util_biosdisk_get_grub_dev().
48224 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
48225 grub_util_biosdisk_get_grub_dev().
48226 * util/i386/pc/grub-setup.c (main): Likewise.
48228 2007-05-16 Robert Millan <rmh@aybabtu.com>
48230 * DISTLIST: Update for the latest changes.
48231 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
48232 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
48233 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
48234 grub/util/biosdisk.h.
48235 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
48236 grub/util/biosdisk.h.
48238 2007-05-16 Robert Millan <rmh@aybabtu.com>
48240 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
48242 2007-05-16 Robert Millan <rmh@aybabtu.com>
48244 * util/i386/efi/grub-install.in: New.
48245 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
48246 newly added grub-install.
48247 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
48249 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
48250 grub/util/biosdisk.h.
48251 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
48252 grub/util/biosdisk.h.
48254 2007-05-16 Robert Millan <rmh@aybabtu.com>
48256 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
48257 * include/grub/util/biosdisk.h: ... here.
48258 * util/i386/pc/biosdisk.c: Moved to ...
48259 * util/biosdisk.c: ... here.
48260 * util/i386/pc/getroot.c: Moved to ...
48261 * util/getroot.c: ... here.
48262 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
48263 * util/grub-mkdevicemap.c: ... here.
48264 * util/i386/pc/grub-probe.c: Moved to ...
48265 * util/grub-probe.c: ... here.
48267 2007-05-15 Robert Millan <rmh@aybabtu.com>
48269 * util/update-grub.in: Remove duplicated line in grub.cfg header
48272 2007-05-13 Robert Millan <rmh@aybabtu.com>
48274 * util/update-grub.in: Fix a few assumptions about the devices holding
48275 /, /boot and /boot/grub being the same.
48276 * util/grub.d/00_header.in: Likewise.
48277 * util/grub.d/10_hurd.in: Likewise.
48278 * util/grub.d/10_linux.in: Likewise.
48280 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
48281 patterns. Use that to define the `.old' suffix as older than `'.
48283 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
48285 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
48286 the grub.cfg header message.
48288 2007-05-11 Robert Millan <rmh@aybabtu.com>
48290 * util/update-grub.in: Create device.map if it doesn't already exist,
48291 before attempting to run grub-probe.
48292 Check for grub-probe and grub-mkdevicemap with the same code
48293 grub-install is using.
48296 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
48298 * Makefile.in: Add the datarootdir autoconf variable.
48300 2007-05-09 Robert Millan <rmh@aybabtu.com>
48302 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
48303 fail gracefully if dev->disk->partition == NULL.
48305 2007-05-07 Robert Millan <rmh@aybabtu.com>
48307 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
48308 determine partition map module.
48309 * util/i386/pc/grub-install.in: Use this feature to decide which
48310 partition module to load, instead of hardcoding pc and gpt.
48312 2007-05-07 Robert Millan <rmh@aybabtu.com>
48314 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
48315 source directory differs from build directory.
48317 2007-05-05 Robert Millan <rmh@aybabtu.com>
48319 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
48322 2007-05-05 Robert Millan <rmh@aybabtu.com>
48324 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
48326 2007-05-05 Robert Millan <rmh@aybabtu.com>
48328 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
48329 command-line arguments via ${GRUB_CMDLINE_LINUX}.
48331 2007-05-05 Robert Millan <rmh@aybabtu.com>
48333 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
48334 (grub_probe_SOURCES): Likewise.
48335 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
48336 GPT and initialize dos_part and bsd_part accordingly.
48337 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
48339 (main): Activate gpt module for use during partition identification,
48340 and deactivate it afterwards.
48341 * util/i386/pc/grub-install.in: Add gpt module to core.img.
48342 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
48343 partition identification, and deactivate it afterwards.
48345 2007-05-05 Robert Millan <rmh@aybabtu.com>
48347 * term/i386/pc/console.c (grub_console_fini): Call
48348 grub_term_set_current() before grub_term_unregister().
48350 2007-05-04 Robert Millan <rmh@aybabtu.com>
48352 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
48353 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
48354 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
48355 and update-grub_DATA.
48356 * conf/common.rmk: Build and install update-grub components.
48357 * conf/common.mk: Regenerate.
48358 * util/update-grub.in: New. Core of update-grub.
48359 * util/grub.d/00_header.in: New. Generates grub.cfg header.
48360 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
48361 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
48362 * util/grub.d/README: New. Document grub.d directory layout.
48364 2007-05-01 Robert Millan <rmh@aybabtu.com>
48366 * util/grub-emu.c: Move initialization functions
48367 grub_util_biosdisk_init() and grub_init_all() before
48368 grub_util_biosdisk_get_grub_dev(), which relies on them.
48370 2007-04-19 Robert Millan <rmh@aybabtu.com>
48372 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
48375 2007-04-18 Jerone Young <jerone@gmail.com>
48377 * kernel/elf.c: Add missing parenthesis for conditional statement
48380 2007-04-10 Jerone Young <jerone@gmail.com>
48382 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
48383 continue on and look for device node with real device name.
48385 2007-04-10 Jerone Young <jerone@gmail.com>
48387 * configure.ac: Add argument for autoconf to use transformation
48389 * Makefile.in: Add autoconf package transformation code.
48390 * util/i386/pc/grub-install.in: Likewise.
48391 * util/powerpc/ieee1275/grub-install.in: Likewise.
48393 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48395 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
48396 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
48397 (EXT2_REVISION): Likewise.
48398 (EXT2_INODE_SIZE): Likewise.
48399 (struct grub_ext2_block_group): Added a missing member
48401 (grub_ext2_read_inode): Divide by the inode size in a superblock
48402 instead of 128 to obtain INODES_PER_BLOCK.
48403 Use the macro EXT2_INODE_SIZE instead of directly using
48404 SBLOCK->INODE_SIZE.
48406 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48408 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
48409 superblock instead of the structure size to compute an
48410 offset. This fixes the problem that GRUB could not read a
48411 filesystem when inode size is different from 128-byte.
48413 2007-03-05 Marco Gerards <marco@gnu.org>
48415 * normal/main.c (read_config_file): When "menu" is not set, create
48416 an initial context.
48418 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48420 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
48421 (HEAP_LIMIT): New macro.
48422 (grub_claim_heap): Claim memory up to `heaplimit'.
48424 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
48426 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
48427 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
48428 (_start): Likewise.
48429 (grub_arch_modules_addr): Return address after `_end'.
48430 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
48431 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
48432 (add_segments): Calculate `_end' from phdr size and location.
48433 (ALIGN_UP): Moved to ...
48434 * include/grub/misc.h: here.
48435 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
48437 (GRUB_IEEE1275_MODULE_BASE): Removed.
48439 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48441 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
48444 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48446 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
48448 (grub_elf64_load_hook_t): Likewise.
48449 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
48452 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
48454 * kern/mm.c: Update copyright.
48455 (grub_mm_debug): Correct syntax error.
48456 (grub_mm_dump_free): New function.
48457 (grub_debug_free): Call `grub_free'.
48458 * include/grub/mm.h: Update copyright.
48459 (grub_mm_dump_free): Add declaration.
48461 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48463 * include/grub/ieee1275/ieee1275.h: Update copyright.
48464 * kern/powerpc/ieee1275/init.c: Likewise.
48465 * kern/powerpc/ieee1275/openfw.c: Likewise.
48467 * loader/powerpc/ieee1275/linux.c: Likewise.
48468 * include/grub/elfload.h: Likewise.
48469 * kern/elf.c: Likewise.
48470 (grub_elf32_load): Pass `base' and `size' parameters. Update all
48472 (grub_elf64_load): Likewise.
48473 (grub_elf32_load_segment): Move to a nested function.
48474 (grub_elf64_load_segment): Likewise.
48476 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
48478 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
48480 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
48481 (grub_heap_len): Likewise.
48482 (HEAP_SIZE): New macro.
48483 (grub_claim_heap): New function.
48484 (grub_machine_init): Don't claim heap directly. Call
48486 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
48487 (grub_available_iterate): New function.
48489 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
48491 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
48492 * configure.ac: Use it for testing the HOST and TARGET compilers.
48494 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
48496 * Makefile.in (enable_grub_emu): New variable.
48497 * configure.ac (--enable-grub-emu): New option.
48498 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
48499 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
48500 * conf/i386-pc.rmk: Likewise.
48501 * conf/powerpc-ieee1275.rmk: Likewise.
48502 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
48504 2006-12-12 Marco Gerards <marco@gnu.org>
48506 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
48508 * kern/env.c (grub_env_unset): Don't free the member `value' when
48509 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
48512 * normal/main.c (current_menu): Removed.
48513 (free_menu): Unset the `menu' environment variable.
48514 (grub_normal_menu_addentry): Make use of the environment variable
48515 `menu', instead of using the global `current_menu'. Allocate
48516 memory for the sourcecode of this entry.
48517 (read_config_file): New argument `nested', changed all callers.
48518 Only in the case of a new context, initialize a new menu. Set the
48519 `menu' environment variable.
48520 (grub_normal_execute): Don't set and unset the environment
48521 variable `menu' here anymore. Only free the menu when leaving the
48524 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
48527 2006-12-11 Marco Gerards <marco@gnu.org>
48529 * normal/menu_entry.c (run): Fix off by one bug so the last line
48530 is executed. Move the loader check to outside the loop.
48532 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
48534 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
48536 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
48538 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
48539 the number of sectors. Reported by Andrey Shuvikov
48540 <mr_hyro@yahoo.com>.
48542 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
48544 * kern/disk.c (grub_disk_read): When there is a read error, always
48545 try to read only the necessary data.
48547 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
48549 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
48551 [GRUB_UTIL] (grub_raid_fini): Likewise.
48552 [GRUB_UTIL] (grub_lvm_init): Likewise.
48553 [GRUB_UTIL] (grub_lvm_fini): Likewise.
48554 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
48555 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
48556 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
48557 and grub_raid_fini().
48559 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48561 * include/grub/types.h (__unused): Rename to UNUSED.
48562 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
48563 (grub_elf64_size): Likewise.
48565 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48567 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
48568 grub_error_push and grub_error_pop in the error-handling path.
48569 (grub_elf32_load_segment): Only call grub_file_read with non-zero
48572 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
48574 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
48575 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48577 (kernel_elf_SOURCES): Likewise.
48578 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
48579 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
48580 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48581 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
48582 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
48583 (elf_mod_SOURCES): New variable.
48584 (elf_mod_CFLAGS): Likewise.
48585 (elf_mod_LDFLAGS): Likewise.
48586 * include/grub/types.h (__unused): New macro.
48587 * include/grub/elfload.h: New file.
48588 * kern/elf.c: Likewise.
48589 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
48590 (ELF32_LOADMASK): New macro.
48591 (ELF64_LOADMASK): Likewise.
48592 (vmlinux): Removed.
48593 (grub_linux_load32): New function.
48594 (grub_linux_load64): Likewise.
48595 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
48596 Use grub_elf_t instead of grub_file_t.
48598 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
48600 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
48601 `catch_result' to struct set_color_args.
48603 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
48605 * normal/menu.c: Include grub/script.h.
48606 * normal/menu_entry.c: Likewise.
48607 * include/grub/normal.h: Do not include grub/script.h.
48609 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48611 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
48613 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48615 * kern/disk.c (grub_disk_open): Print debug messages when opening a
48617 (grub_disk_close): Print debug messages when closing a disk.
48618 (grub_disk_read): Print debug messages when disk read fails.
48619 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
48621 * kern/partition.c: Include misc.h.
48622 (grub_partition_iterate): Print debug messages when detecting
48625 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
48627 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
48629 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
48631 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
48633 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
48634 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
48636 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
48638 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
48639 instead of sizeof(lv). Patch by Michael Guntsche.
48641 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
48643 * disk/lvm.c: Rename VGS to VG_LIST.
48644 (grub_lvm_iterate): Change VGS->LV to VG-LV.
48645 (grub_lvm_open): Likewise.
48646 Thanks to Michael Guntsche for finding this bug.
48648 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
48650 * configure.ac (AC_INIT): Bumped to 1.95.
48652 2006-10-14 Robert Millan <rmh@aybabtu.com>
48654 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
48655 with "/dev/.static/dev/md".
48657 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48659 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
48660 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
48661 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
48662 DRIVE_NAME are always freed.
48664 * util/i386/pc/biosdisk.c (make_device_name): Add one into
48665 DOS_PART, as a DOS partition is counted from one instead of zero
48666 now. Reported by Robert Millan.
48668 2006-10-14 Robert Millan <rmh@aybabtu.com>
48670 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
48671 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
48672 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
48673 string returned by grub_guess_root_device.
48674 * util/i386/pc/grub-setup.c: Likewise.
48675 * util/i386/pc/grub-probefs.c: Likewise.
48677 * util/i386/pc/grub-probefs.c: Rename to ...
48678 * util/i386/pc/grub-probe.c: ... this.
48679 * DISTLIST: Remove grub-probefs, add grub-probe.
48680 * conf/i386-efi.rmk: Likewise.
48681 * conf/i386-pc.rmk: Likewise.
48682 * util/i386/pc/grub-install.in: Likewise.
48684 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
48685 choose which information we want to print.
48687 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
48689 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
48690 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
48691 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
48692 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
48693 video/readers/tga.c and video/i386/pc/vbeutil.c.
48695 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
48697 Added support for RAID and LVM.
48699 * disk/lvm.c: New file.
48700 * disk/raid.c: Likewise.
48701 * include/grub/lvm.h: Likewise.
48702 * include/grub/raid.h: Likewise.
48703 * include/grub/util/lvm.h: Likewise.
48704 * include/grub/util/raid.h: Likewise.
48705 * util/lvm.c: Likewise.
48706 * util/raid.c: Likewise.
48708 * include/grub/disk.h (grub_disk_dev_id): Add
48709 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
48710 (grub_disk_get_size): New prototype.
48711 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
48712 returns a partition.
48713 (grub_disk_get_size): New function.
48715 * kern/i386/pc/init.c (make_install_device): Copy the prefix
48716 verbatim if grub_install_dos_part is -2.
48718 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
48721 * util/i386/pc/grub-setup.c (setup): New argument
48722 MUST_EMBED. Force embedding of GRUB when the argument is
48723 true. Close FILE before returning.
48724 (main): Add support for RAID and LVM.
48726 * conf/common.rmk: Add RAID and LVM modules.
48727 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
48729 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
48731 * kern/misc.c (grub_strstr): New function.
48732 * include/grub/misc.h (grub_strstr): New prototype.
48734 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
48736 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
48738 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
48740 * kern/misc.c (grub_strtoull): Guess the base only if not
48743 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48745 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
48748 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48750 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
48752 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
48753 Remove `flags' argument. All callers changed.
48754 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
48755 (IEEE1275_IHANDLE_INVALID): New variable.
48756 (IEEE1275_CELL_INVALID): New variable.
48757 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
48758 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
48759 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
48760 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
48761 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
48762 codes from Open Firmware. All callers updated.
48763 (grub_ieee1275_next_property): Directly return Open Firmware return
48765 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
48766 Standardize error checking from `grub_ieee1275_get_property'.
48767 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
48768 `devalias' to `aliases'. Correct comments. Consolidate error paths.
48770 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
48772 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
48773 `instance_to_package_args' to `instance_to_path_args'.
48775 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
48776 `grub_ieee1275_chosen'.
48778 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
48779 `grub_ieee1275_interpret'.
48781 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
48783 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
48785 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
48787 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
48788 (__cmpdi): Likewise.
48790 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
48791 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
48794 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
48796 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
48797 to type `grub_ssize_t'.
48798 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
48800 2006-09-22 Marco Gerards <marco@gnu.org>
48802 * normal/script.c (grub_script_create_cmdmenu): Skip leading
48805 2006-09-22 Marco Gerards <marco@gnu.org>
48807 * commands/echo.c: New file.
48809 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
48811 * conf/common.rmk (echo_mod_SOURCES): New variable.
48812 (echo_mod_CFLAGS): Likewise.
48813 (echo_mod_LDFLAGS): Likewise.
48815 2006-09-22 Marco Gerards <marco@gnu.org>
48817 * normal/main.c (get_line): Malloc memory instead of using
48818 preallocated memory. Removed the arguments `cmdline' and
48819 `max_len'. Updated all callers.
48821 2006-09-22 Marco Gerards <marco@gnu.org>
48823 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
48824 (normal_mod_DEPENDENCIES): Likewise.
48826 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
48827 (normal_mod_DEPENDENCIES): Likewise.
48829 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
48831 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
48833 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
48835 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
48836 (normal_mod_DEPENDENCIES): Likewise.
48837 * conf/i386-pc.mk: Regenerate.
48838 * conf/i386-efi.mk: Likewise
48839 * conf/common.mk: Likewise.
48840 * conf/powerpc-ieee1275.mk: Likewise.
48841 * conf/sparc64-ieee1275.mk: Likewise.
48843 2006-09-22 Robert Millan <rmh@aybabtu.com>
48845 Sync with i386 version.
48846 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
48847 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
48849 2006-09-21 Robert Millan <rmh@aybabtu.com>
48851 Import from GRUB Legacy (lib/device.c):
48852 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
48853 (init_device_map) [__linux__]: Add support for I2O devices.
48855 2006-09-14 Marco Gerards <marco@gnu.org>
48857 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
48860 2006-09-14 Robert Millan <rmh@aybabtu.com>
48862 * util/i386/pc/grub-install.in: Skip menu.lst when removing
48865 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
48867 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
48868 before adding it to device.map.
48870 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
48872 * genmk.rb: Let GCC generate dependencies the first time it
48873 compiles a file; using the -MD option.
48874 * conf/common.mk: Regenerate.
48875 * conf/i386-pc.mk: Likewise.
48876 * conf/i386-efi.mk: Likewise.
48877 * conf/powerpc-ieee1275.mk: Likewise.
48878 * conf/sparc64-ieee1275.mk: Likewise.
48880 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
48882 Move the prototypes of grub_setjmp and grub_longjmp to
48883 cpu/setjmp.h, so that each architecture may specify different
48886 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
48887 (grub_longjmp): Likewise.
48888 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
48889 (grub_longjmp): Likewise.
48890 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
48891 (grub_longjmp): Likewise.
48893 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
48894 [!GRUB_UTIL] (grub_longjmp): Removed.
48896 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
48898 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
48899 "color!" method does not return any value.
48901 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48903 * include/grub/bitmap.h: New file.
48905 * include/grub/i386/pc/vbeutil.h: Likewise.
48907 * video/bitmap.c: Likewise.
48909 * video/readers/tga.c: Likewise.
48911 * video/i386/pc/vbeutil.c: Likewise.
48913 * commands/videotest.c: Code cleanup and updated to reflect to new
48916 * term/gfxterm.c: Likewise.
48918 * video/video.c: Likewise.
48920 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
48921 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
48922 (bitmap_mod_SOURCES): New entry.
48923 (bitmap_mod_CFLAGS): Likewise.
48924 (bitmap_mod_LDFLAGS): Likewise.
48925 (tga_mod_SOURCES): Likewise.
48926 (tga_mod_CFLAGS): Likewise.
48927 (tga_mod_LDFLAGS): Likewise.
48929 * include/grub/video.h (grub_video_blit_operators): New enum type.
48930 (grub_video_render_target): Changed as forward declaration and moved
48931 actual definition to be video driver specific.
48932 (grub_video_adapter.blit_bitmap): Added blitting operator.
48933 (grub_video_adapter.blit_render_target): Likewise.
48934 (grub_video_blit_bitmap): Likewise.
48935 (grub_video_blit_render_target): Likewise.
48937 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
48938 driver specific render target definition.
48939 (grub_video_vbe_map_rgba): Added driver internal helper.
48940 (grub_video_vbe_unmap_color): Updated to use
48941 grub_video_i386_vbeblit_info.
48942 (grub_video_vbe_get_video_ptr): Likewise.
48944 * include/grub/i386/pc/vbeblit.h
48945 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
48946 grub_video_i386_vbeblit_info.
48947 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
48948 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
48949 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
48950 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
48951 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
48952 (grub_video_i386_vbeblit_index_index): Likewise.
48953 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
48954 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
48955 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
48956 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
48958 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
48961 * video/i386/pc/vbeblit.c: Updated to reflect changes on
48962 include/grub/i386/pc/vbeblit.h.
48964 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
48965 Updated to use grub_video_i386_vbeblit_info.
48966 (grub_video_i386_vbefill_R8G8B8): Likewise.
48967 (grub_video_i386_vbefill_index): Likewise.
48968 (grub_video_i386_vbefill): Added generic filler.
48970 * video/i386/pc/vbefill.c: Updated to reflect changes on
48971 include/grub/i386/pc/vbefill.h.
48973 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
48974 grub_video_i386_vbeblit_info.
48975 (grub_video_vbe_unmap_color): Likewise.
48976 (grub_video_vbe_blit_glyph): Likewise.
48977 (grub_video_vbe_scroll): Likewise.
48978 (grub_video_vbe_draw_pixel): Removed function.
48979 (grub_video_vbe_get_pixel): Likewise.
48980 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
48981 updated code to use it.
48982 (common_blitter): Added common blitter for render target and bitmap.
48983 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
48984 (grub_video_vbe_blit_render_target): Likewise.
48986 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
48988 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
48989 is in text mode if there is no console control protocol instance
48992 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
48994 * include/grub/video.h: Code cleanup.
48996 * include/grub/i386/pc/vbe.h: Likewise.
48998 * video/i386/pc/vbe.c: Likewise.
49000 * video/i386/pc/vbeblit.c: Likewise.
49002 * video/i386/pc/vbefill.c: Likewise.
49004 * video/video.c: Likewise. Also added more comments.
49006 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
49008 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
49009 (struct grub_biosdisk_dap): Likewise.
49011 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
49012 linkage settings for all functions.
49014 2006-07-12 Marco Gerards <marco@gnu.org>
49016 * configure.ac (--enable-mm-debug): Fix typo.
49018 * genkernsyms.sh.in: Use proper quoting for `CC'.
49020 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
49022 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
49023 (normal_mod_ASFLAGS): Remove "-m32".
49025 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
49027 * util/misc.c: Include config.h.
49028 [!HAVE_MEMALIGN]: Do not include malloc.h.
49029 (grub_memalign): Use posix_memalign, if present. Then, use
49030 memalign, if present. Otherwise, emit an error.
49032 * util/grub-emu.c: Do not include malloc.h.
49034 * include/grub/util/misc.h: Include unistd.h. This is required for
49035 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
49036 D. Eades III <hde@foobar-qux.org>.
49038 * configure.ac (AC_GNU_SOURCE): Added.
49039 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
49042 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
49044 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
49045 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
49047 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
49049 * include/grub/types.h (grub_host_addr_t): Rename to
49050 grub_target_addr_t.
49051 (grub_host_off_t): Rename to grub_target_off_t.
49052 (grub_host_size_t): Rename to grub_target_size_t.
49053 (grub_host_ssize_t): Rename to grub_target_ssize_t.
49054 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
49056 * include/grub/kernel.h (struct grub_module_header): Change type
49057 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
49058 (grub_module_info): Likewise.
49060 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49062 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
49063 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
49064 Velazquez <jesus.velazquez@gmail.com>.
49066 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
49068 Count partitions from 1 instead of 0 in the string representation
49069 of partitions. Still use 0-based internally.
49071 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
49072 (sun_partition_map_iterate): Use grub_partition_t instead of
49073 struct grub_partition *. Cast DESC->START_CYLINDER to
49074 grub_uint64_t after converting the endian.
49075 (sun_partition_map_probe): Subtract 1 for PARTNUM.
49076 (sun_partition_map_get_name): Add 1 to P->INDEX.
49078 * partmap/pc.c (grub_partition_parse): Subtract 1 for
49080 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
49082 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
49083 zero instead of one.
49084 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
49085 (gpt_partition_map_get_name): Add 1 into P->INDEX.
49087 * partmap/apple.c (apple_partition_map_iterate): Change the type
49088 of POS to unsigned.
49089 (apple_partition_map_probe): Subtract 1 for PARTNUM.
49090 (apple_partition_map_get_name): Add 1 into P->INDEX.
49092 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
49093 of POS to unsigned.
49094 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
49095 calculate the offset of a partition.
49096 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
49097 (amiga_partition_map_get_name): Add 1 into P->INDEX.
49099 * partmap/acorn.c (acorn_partition_map_find): Change the type of
49100 SECTOR to grub_disk_addr_t.
49101 (acorn_partition_map_iterate): Likewise.
49102 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
49103 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
49105 (acorn_partition_map_get_name): Add 1 into P->INDEX.
49107 * kern/i386/pc/init.c (make_install_device): Add 1 into
49108 GRUB_INSTALL_DOS_PART.
49110 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
49113 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49115 Clean up the code to support 64-bit addressing in disks and
49116 files. This change is not enough for filesystems yet.
49118 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
49119 type of "start" to grub_uint64_t.
49120 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
49121 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
49122 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
49125 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
49126 to grub_disk_addr_t.
49128 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
49131 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49133 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
49136 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
49138 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
49140 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
49142 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
49143 to grub_off_t, to detect an error from grub_file_seek.
49144 (grub_multiboot_load_elf32): Likewise.
49146 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
49147 maximum unsigned long value when an overflow is detected.
49148 (grub_strtoull): New function.
49149 (grub_divmod64): Likewise.
49150 (grub_lltoa): use grub_divmod64.
49152 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
49154 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
49155 the pointer to next character. Use grub_strtoull instead of
49157 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
49158 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
49161 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
49162 return value is signed.
49163 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
49164 test if OFFSET is less than zero, as OFFSET is unsigned now.
49166 * kern/disk.c (struct grub_disk_cache): Change the type of
49167 "sector" to grub_disk_addr_t.
49168 (grub_disk_cache_get_index): Change the type of SECTOR to
49169 grub_disk_addr_t. Calculate the hash with SECTOR casted to
49170 unsigned after shifting.
49171 (grub_disk_cache_invalidate): Change the type of SECTOR to
49173 (grub_disk_cache_unlock): Likewise.
49174 (grub_disk_cache_store): Likewise.
49175 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
49176 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
49177 grub_disk_addr_t and grub_uint64_t, respectively.
49178 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
49179 body, as the value of OFFSET is tweaked by
49180 grub_disk_check_range. Change the types of START_SECTOR, LEN and
49181 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
49183 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
49184 body, as the value of OFFSET is tweaked by
49185 grub_disk_check_range. Change the types of LEN and N to
49188 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
49189 and "saved_offset" to grub_off_t.
49190 (test_header): Cast BUF to char *.
49191 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
49193 (grub_gzio_read): Change the types of OFFSET and SIZE to
49194 grub_off_t and grub_size_t, respectively.
49196 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
49198 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
49199 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
49200 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
49201 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
49202 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
49204 * include/grub/types.h (grub_off_t): Unconditionally set to
49206 (grub_disk_addr_t): Changed to grub_uint64_t.
49208 * include/grub/partition.h (struct grub_partition): Change the
49209 types of "start", "len" and "offset" to grub_disk_addr_t,
49210 grub_uint64_t and grub_disk_addr_t, respectively.
49211 (grub_partition_get_start): Return grub_disk_addr_t.
49212 (grub_partition_get_len): Return grub_uint64_t.
49214 * include/grub/misc.h (grub_strtoull): New prototype.
49215 (grub_divmod64): Likewise.
49217 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
49218 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
49219 grub_off_t, respectively.
49220 All callers and references changed.
49222 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
49223 grub_size_t in "read".
49224 All callers and references changed.
49226 * include/grub/file.h (struct grub_file): Change the types of
49227 "offset" and "size" to grub_off_t and grub_off_t,
49228 respectively. Change the type of SECTOR to grub_disk_addr_t in
49230 (grub_file_read): Change the type of LEN to grub_size_t.
49231 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
49233 (grub_file_size): Return grub_off_t.
49234 (grub_file_tell): Likewise.
49235 All callers and references changed.
49237 * include/grub/disk.h (struct grub_disk_dev): Change the types of
49238 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
49240 (struct grub_disk): Change the type of "total_sectors" to
49241 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
49243 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
49244 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
49245 (grub_disk_write): Likewise.
49246 All callers and references changed.
49248 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
49249 char * for grub_strncmp to silence gcc.
49250 (grub_iso9660_mount): Likewise.
49251 (grub_iso9660_mount): Likewise.
49252 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
49254 (grub_iso9660_iterate_dir): Likewise.
49255 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
49257 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
49258 LEN to grub_disk_addr_t and grub_size_t, respectively.
49260 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
49262 * fs/jfs.c (grub_jfs_read_file): Likewise.
49264 * fs/minix.c (grub_jfs_read_file): Likewise.
49266 * fs/sfs.c (grub_jfs_read_file): Likewise.
49268 * fs/ufs.c (grub_jfs_read_file): Likewise.
49270 * fs/xfs.c (grub_jfs_read_file): Likewise.
49272 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
49273 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
49276 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
49277 BLKNR to -1 instead of returning GRUB_ERRNO.
49278 (grub_ext2_read_file): Change the types of SECTOR and
49279 LEN to grub_disk_addr_t and grub_size_t, respectively.
49281 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
49282 LEN to grub_disk_addr_t and grub_size_t, respectively.
49284 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
49287 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
49288 string. Do not cast SECTOR explicitly.
49290 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
49291 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
49292 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
49293 grub_disk_addr_t and grub_size_t, respectively. If the sector is
49294 over 2TB and LBA mode is not supported, raise an error.
49295 (get_safe_sectors): New function.
49296 (grub_biosdisk_read): Use get_safe_sectors.
49297 (grub_biosdisk_write): Likewise.
49299 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
49300 (grub_efidisk_write): Likewise.
49302 * disk/loopback.c (delete_loopback): Cosmetic changes.
49303 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
49305 (grub_loopback_open): Likewise.
49306 (grub_loopback_read): Likewise. Also, change the type of POS to
49307 grub_off_t, and fix the usage of grub_memset.
49309 * commands/i386/pc/play.c: Include grub/machine/time.h.
49311 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
49314 * commands/configfile.c: Include grub/env.h.
49316 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
49317 GRUB_ERRNO directly instead. Change the type of POS to
49318 grub_off_t. Follow the coding standard.
49320 * commands/blocklist.c: Include grub/partition.h.
49321 (grub_cmd_blocklist): Return an error if the underlying device is
49322 not a disk. Take the starting sector of a partition into account,
49323 if a partition is used.
49325 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
49327 (lba_mode): Support 64-bit addresses.
49328 (chs_mode): Likewise.
49329 (copy_buffer): Adapted to the new offsets of a length field and a
49331 (blocklist_default_start): Allocate 64-bit space.
49333 * boot/i386/pc/boot.S (force_lba): Removed.
49334 (boot_drive): Moved to under KERNEL_SECTOR.
49335 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
49337 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
49339 (lba_mode): Refactored to support a 64-bit address. More size
49341 (setup_sectors): Likewise.
49343 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
49345 * DISTLIST: Added include/grub/i386/linux.h. Removed
49346 include/grub/i386/pc/linux.h
49348 * configure.ac (AC_INIT): Bumped to 1.94.
49350 * config.guess: Updated from gnulib.
49351 * config.sub: Likewise.
49352 * install-sh: Likewise.
49353 * mkinstalldirs: Likewise.
49355 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49357 * conf/common.rmk (grub_modules_init.lst): Depended on
49358 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
49361 * genmk.rb (PModule::rule): Reverted the previous change.
49363 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
49365 * conf/common.rmk (grub_modules_init.lst): Depends on
49366 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
49367 that the target does not exist before producing.
49368 (grub_modules_init.h): Remove the target before generating.
49369 (grub_emu_init.c): Likewise.
49371 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
49373 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
49375 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
49376 for the target-specific tests. Make sure that we also have the
49377 up-to-date target variables for those tests.
49379 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49381 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
49382 (PModule::rule): Likewise.
49384 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
49386 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
49387 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
49388 target-specific flags should be prefixed.
49389 (PModule::rule): Likewise.
49391 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
49393 * configure.ac (CMP): Check if cmp is available explicitly.
49395 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
49397 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
49398 (target_cpu): New variable.
49399 (pkglibdir): Use target_cpu instead of host_cpu.
49401 * util/i386/pc/grub-install.in (host_cpu): Removed.
49402 (target_cpu): New variable.
49403 (pkglibdir): Use target_cpu instead of host_cpu.
49405 * util/genmoddep.c: Removed.
49407 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
49408 instead of GRUB_HOST_SIZEOF_VOID_P.
49409 * kern/dl.c: Likewise.
49411 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
49413 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49414 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49415 (GRUB_TARGET_SIZEOF_LONG): ... this.
49416 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49417 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49418 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49420 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49421 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49422 (GRUB_TARGET_SIZEOF_LONG): ... this.
49423 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49424 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49425 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
49427 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
49428 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
49429 (GRUB_TARGET_SIZEOF_LONG): ... this.
49430 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
49431 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
49433 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
49434 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
49435 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
49436 instead of GRUB_HOST_SIZEOF_LONG.
49437 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
49438 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
49439 GRUB_CPU_WORDS_BIGENDIAN.
49440 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
49441 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
49444 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
49445 (genmoddep_SOURCES): Likewise.
49446 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
49447 (genmoddep_SOURCES): Likewise.
49448 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
49449 (genmoddep_SOURCES): Likewise.
49450 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
49452 (genmoddep_SOURCES): Likewise.
49454 * genmoddep.awk: New file.
49456 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
49457 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
49458 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
49459 (PModule::rule): Likewise.
49460 (Program::rule): Likewise.
49461 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
49462 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
49465 * configure.ac: Rewritten intensively to use host and target
49466 instead of build and host, respectively.
49468 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
49469 (host_cpu): Removed.
49470 (target_cpu): New variable.
49471 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
49472 (BUILD_CC): Removed.
49473 (BUILD_CFLAGS): Likewise.
49474 (BUILD_CPPFLAGS): Likewise.
49475 (TARGET_CC): New variable.
49476 (TARGET_CFLAGS): Likewise.
49477 (TARGET_CPPFLAGS): Likewise.
49478 (TARGET_LDFLAGS): Likewise.
49480 (include): Use target_cpu instead of host_cpu.
49481 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
49483 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
49485 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
49487 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
49488 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
49489 field 'false' to 'exec_on_false'.
49490 (grub_script_create_cmdif): Renamed argument names to reflect above
49493 * normal/execute.c (grub_script_execute_cmdif): Likewise.
49495 * normal/script.c (grub_script_create_cmdif): Likewise.
49497 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
49499 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
49501 (grub_hfsplus_btree_recptr): Likewise.
49502 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
49503 FILEBLOCK both to pass a block number and store next block
49505 (grub_hfsplus_read_block): Rewritten heavily to support an extent
49506 overflow file correctly. Specify errors appropriately, because
49507 fshelp expects that GRUB_ERRNO is set when fails. Reuse
49508 grub_hfsplus_btree_recptr to get the pointer to a found key.
49509 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
49512 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
49514 (_linux_mod_SOURCES): New variable.
49515 (_linux_mod_CFLAGS): Likewise.
49516 (_linux_mod_LDFLAGS): Likewise.
49517 (linux_mod_SOURCES): Likewise.
49518 (linux_mod_CFLAGS): Likewise.
49519 (linux_mod_LDFLAGS): Likewise.
49521 * DISTLIST: Added loader/i386/efi/linux.c,
49522 loader/i386/efi/linux_normal.c and
49523 include/grub/i386/efi/loader.h.
49525 * loader/i386/efi/linux.c: New file.
49526 * loader/i386/efi/linux_normal.c: Likewise.
49527 * include/grub/i386/efi/loader.h: Likewise.
49529 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
49531 * commands/blocklist.c: New file.
49533 * DISTLIST: Added commands/blocklist.c.
49535 * term/efi/console.c (grub_console_highlight_color): Use a lighter
49536 color for the background, and a darker color for the foreground.
49537 (grub_console_checkkey): Return READ_KEY.
49538 (grub_console_cls): Set the background to
49539 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
49541 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
49543 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
49544 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
49546 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
49549 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
49550 BG. The spec is wrong again.
49552 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
49554 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
49556 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49557 commands/blocklist.c.
49558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49560 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
49561 (blocklist_mod_SOURCES): New variable.
49562 (blocklist_mod_CFLAGS): Likewise.
49563 (blocklist_mod_LDFLAGS): Likewise.
49565 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
49567 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
49569 (lba_mode): Use %eax more intensively to reduce the code size.
49571 2006-05-20 Marco Gerards <marco@gnu.org>
49573 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
49575 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
49577 (script): Accept leading newlines.
49578 (newlines): New rule to describe 0 or more newlines.
49579 (commands): Accept `command' with trailing newline. Fixed the
49580 order in which arguments were passed to `grub_script_add_cmd'.
49581 Accept commands separated by newlines.
49582 (function): Changed to accept newlines.
49583 (menuentry) Rewritten.
49585 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
49586 front of the list, instead of to the end.
49588 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
49590 * util/i386/pc/grub-install.in (bindir): New variable.
49591 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
49592 Shaver <lbgwjl@gmail.com>.
49594 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
49596 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
49597 grub/machine/linux.h
49598 * loader/i386/pc/linux.c: Likewise.
49600 * include/grub/i386/pc/linux.h: Moved to ...
49601 * include/grub/i386/linux.h: ... here.
49603 * include/grub/i386/linux.h (struct linux_kernel_params): New
49606 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
49608 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
49610 (grub_video_vbe_blit_glyph): Likewise.
49611 (grub_video_vbe_blit_bitmap): Likewise.
49612 (grub_video_vbe_blit_render_target): Likewise.
49614 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
49616 * configure.ac (--with-platform): Properly quote the square
49619 2006-05-08 Marco Gerards <marco@gnu.org>
49621 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
49623 (kernel_elf_HEADERS): ...to this. Updated all users.
49624 (grubof_symlist.c): Renamed from this...
49625 (kernel_elf_symlist.c): ...to this. Updated all users.
49626 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49627 (grubof_SOURCES): Renamed from this...
49628 (kernel_elf_SOURCES): ...to this.
49629 (grubof_HEADERS): Renamed from this...
49630 (kernel_elf_HEADERS): ...to this.
49631 (grubof_CFLAGS): Renamed from this...
49632 (kernel_elf_CFLAGS): ...to this.
49633 (grubof_ASFLAGS): Renamed from this...
49634 (kernel_elf_ASFLAGS): ...to this.
49635 (grubof_LDFLAGS): Renamed from this...
49636 (kernel_elf_LDFLAGS): ...to this.
49638 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
49640 (kernel_elf_HEADERS): ...to this. Updated all users.
49641 (grubof_symlist.c): Renamed from this...
49642 (kernel_elf_symlist.c): ...to this. Updated all users.
49643 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
49644 (grubof_SOURCES): Renamed from this...
49645 (kernel_elf_SOURCES): ...to this.
49646 (grubof_HEADERS): Renamed from this...
49647 (kernel_elf_HEADERS): ...to this.
49648 (grubof_CFLAGS): Renamed from this...
49649 (kernel_elf_CFLAGS): ...to this.
49650 (grubof_ASFLAGS): Renamed from this...
49651 (kernel_elf_ASFLAGS): ...to this.
49652 (grubof_LDFLAGS): Renamed from this...
49653 (kernel_elf_LDFLAGS): ...to this.
49655 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
49656 `kernel.elf' instead of `grubof'.
49658 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
49660 Add --with-platform to configure. Use pkglibdir instead of
49661 pkgdatadir. This is reported by Roger Leigh.
49663 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
49664 (host_vendor): Likewise.
49665 (host_os): Likewise.
49666 (pkgdatadir): Likewise.
49667 (platform): New variable.
49668 (pkglibdir): Likewise.
49669 Use PKGLIBDIR instead of PKGDATADIR.
49671 * util/i386/pc/grub-install.in (datadir): Removed.
49672 (host_vendor): Likewise.
49673 (host_os): Likewise.
49674 (pkgdatadir): Likewise.
49675 (platform): New variable.
49676 (pkglibdir): Likewise.
49677 Use PKGLIBDIR instead of PKGDATADIR.
49679 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
49680 instead of GRUB_DATADIR.
49682 * util/i386/pc/grub-mkimage.c (usage): Likewise.
49684 * util/i386/efi/grub-mkimage.c (usage): Likewise.
49687 * configure.ac (--with-platform): New option.
49688 Use PLATFORM instead of HOST_VENDOR to specify a platform.
49690 * Makefile.in: Include a makefile based on PLATFORM instead of
49692 (pkgdatadir): Not appended by the machine type.
49693 (pkglibdir): Appended by the machine type.
49694 (host_vendor): Removed.
49695 (platform): New variable.
49696 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
49697 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
49698 (uninstall): Likewise.
49700 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
49702 Use the environment context in the menu. Remove the commands
49703 "default" and "timeout", and use variables instead.
49705 * normal/menu.c: Include grub/env.h.
49706 (print_entry): Cast TITLE to silence gcc.
49707 (get_timeout): New function.
49708 (set_timeout): Likewise.
49709 (get_entry_number): Likewise.
49710 (run_menu): Use a default entry, a fallback entry and a timeout
49711 in the environment variables "default", "fallback" and
49712 "timeout". Also, tweak the default entry if it is not within the
49713 current menu entries.
49714 (grub_menu_run): Use a fallback entry in the environment variable
49717 * normal/main.c (read_config_file): Do not initialize
49718 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
49720 (grub_normal_execute): Use a data slot to store the menu.
49722 * include/grub/normal.h (struct grub_menu): Removed default_entry,
49723 fallback_entry and timeout.
49724 (struct grub_menu_list): Removed.
49725 (grub_menu_list_t): Likewise.
49726 (struct grub_context): Likewise.
49727 (grub_context_t): Likewise.
49728 (grub_context_get): Likewise.
49729 (grub_context_get_current_menu): Likewise.
49730 (grub_context_push_menu): Likewise.
49731 (grub_context_pop_menu): Likewise.
49732 (grub_default_init): Likewise.
49733 (grub_default_fini): Likewise.
49734 (grub_timeout_init): Likewise.
49735 (grub_timeout_fini): Likewise.
49737 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
49739 (normal_mod_SOURCES): Removed normal/context.c.
49741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
49742 commands/default.c, commands/timeout.c and normal/context.c.
49743 (normal_mod_SOURCES): Removed normal/context.c.
49745 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
49746 commands/timeout.c and normal/context.c.
49747 (normal_mod_SOURCES): Removed normal/context.c.
49749 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
49750 commands/default.c, commands/timeout.c and normal/context.c.
49751 (normal_mod_SOURCES): Removed normal/context.c.
49753 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
49755 (default_mod_SOURCES): Removed.
49756 (default_mod_CFLAGS): Likewise.
49757 (default_mod_LDFLAGS): Likewise.
49758 (timeout_mod_SOURCES): Removed.
49759 (timeout_mod_CFLAGS): Likewise.
49760 (timeout_mod_LDFLAGS): Likewise.
49762 * DISTLIST: Removed commands/default.c, commands/timeout.c and
49765 * commands/default.c: Removed.
49766 * commands/timeout.c: Likewise.
49767 * normal/context.c: Likewise.
49769 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
49771 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
49773 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
49775 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
49776 "next" to "prev" for readability.
49777 (struct grub_env_sorted_var): New struct.
49778 (grub_env_context): Renamed to ...
49779 (initial_context): ... this.
49780 (grub_env_var_context): Renamed to ...
49781 (current_context): ... this.
49782 (grub_env_find): Look only at CURRENT_CONTEXT.
49783 (grub_env_context_open): Rewritten to copy exported variables from
49785 (grub_env_context_close): Rewritten according to the new
49786 scheme. Also, add an assertion to prevent the initial context from
49788 (grub_env_insert): Removed the code for the sorted list.
49789 (grub_env_remove): Likewise.
49790 (grub_env_export): Simply mark the variable with
49791 GRUB_ENV_VAR_GLOBAL.
49792 (grub_env_set): A cosmetic change for naming consistency.
49793 (grub_env_get): Likewise.
49794 (grub_env_unset): Likewise.
49795 (grub_env_iterate): Rewritten to sort variables within this
49797 (grub_register_variable_hook): Fixed for naming consistency. Call
49798 grub_env_find again, only if NAME is not found at the first time.
49799 (mangle_data_slot_name): New function.
49800 (grub_env_set_data_slot): Likewise.
49801 (grub_env_get_data_slot): Likewise.
49802 (grub_env_unset_data_slot): Likewise.
49804 * include/grub/env.h (grub_env_var_type): New enum.
49805 (GRUB_ENV_VAR_LOCAL): New constant.
49806 (GRUB_ENV_VAR_GLOBAL): Likewise.
49807 (GRUB_ENV_VAR_DATA): Likewise.
49808 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
49810 (grub_env_set): Replace VAR with NAME for consistency.
49811 (grub_register_variable_hook): Likewise.
49812 (grub_env_export): Specify the name of the argument.
49813 (grub_env_set_data_slot): New prototype.
49814 (grub_env_get_data_slot): Likewise.
49815 (grub_env_unset_data_slot): Likewise.
49817 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49819 Extend the loader so that GRUB can accept a loader which comes
49820 back to GRUB when a loaded image exits. Also, this change adds
49821 support for a chainloader on EFI.
49823 * term/efi/console.c: Include grub/misc.h.
49824 (grub_console_checkkey): Display a scan code on the top for
49825 debugging. This will be removed once the EFI port gets stable.
49826 Correct the scan code mapping.
49828 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
49829 allocate memory from larger regions, in order to reduce the number
49830 of allocated regions. Otherwise, the MacOSX loader panics.
49831 (filter_memory_map): Avoid less than 1MB for compatibility with
49833 (add_memory_regions): Allocate from the tail of a region, if
49834 possible, to avoid allocating a region near to 1MB, for the MacOSX
49837 * kern/efi/init.c (grub_efi_set_prefix): Specify
49838 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
49840 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
49841 argument IMAGE_HANDLE and specify it to get a loaded image.
49842 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
49843 grub_efi_get_loaded_image.
49844 (grub_efi_get_filename): Divide the length by the size of
49846 (grub_efi_get_device_path): New function.
49847 (grub_efi_print_device_path): Print End Device Path nodes. Divide
49848 the length by the size of grub_efi_char16_t for a file path device
49851 * kern/loader.c (grub_loader_noreturn): New variable.
49852 (grub_loader_set): Accept a new argument NORETURN. Set
49853 GRUB_LOADER_NORETURN to NORETURN.
49854 All callers changed.
49855 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
49858 * include/grub/efi/efi.h (grub_efi_get_device_path): New
49860 (grub_efi_get_loaded_image): Take an argument to specify an image
49863 * include/grub/loader.h (grub_loader_set): Added one more argument
49866 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
49867 instead of grub_efi_open_protocol.
49868 (grub_efidisk_get_device_name): Likewise.
49869 (grub_efidisk_close): Print a newline.
49870 (grub_efidisk_get_device_handle): Fixed to use
49871 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
49872 GRUB_EFI_DEVICE_PATH_TYPE.
49874 * disk/efi/efidisk.c (device_path_guid): Moved to ...
49875 * kern/efi/efi.c (device_path_guid): ... here.
49877 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
49879 (kernel_mod_HEADERS): Added efi/disk.h.
49880 (_chain_mod_SOURCES): New variable.
49881 (_chain_mod_CFLAGS): Likewise.
49882 (_chain_mod_LDFLAGS): Likewise.
49883 (chain_mod_SOURCES): Likewise.
49884 (chain_mod_CFLAGS): Likewise.
49885 (chain_mod_LDFLAGS): Likewise.
49887 * DISTLIST: Added include/grub/efi/chainloader.h,
49888 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
49890 * include/grub/efi/chainloader.h: New file.
49891 * loader/efi/chainloader.c: Likewise.
49892 * loader/efi/chainloader_normal.c: Likewise.
49894 2006-04-30 Marco Gerards <marco@gnu.org>
49896 * commands/configfile.c (grub_cmd_source): New function.
49897 (GRUB_MOD_INIT): Register the commands `source' and `.'.
49898 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
49900 2006-04-30 Marco Gerards <marco@gnu.org>
49902 * normal/execute.c (grub_script_execute_cmd): Change the return
49903 type to `grub_err_t'. Correctly return the error.
49904 (grub_script_execute_cmdline): In case a command line is not a
49905 command or a function, try to interpret it as an assignment.
49907 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
49909 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
49910 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
49911 skip a node whose name is obviously invalid as UTF-16,
49912 i.e. contains a NUL character. Stop the iteration when the last
49913 directory entry is found. Instead of using the return value of
49914 grub_hfsplus_btree_iterate_node, store the value in RET and use
49915 it, because the iterator can be stopped by the last directory
49918 2006-04-30 Marco Gerards <marco@gnu.org>
49920 * include/grub/env.h (grub_env_export): New prototype. Reported
49921 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
49923 2006-04-30 Marco Gerards <marco@gnu.org>
49925 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
49926 size of the extents in a catalog file record.
49928 2006-04-29 Marco Gerards <marco@gnu.org>
49930 * commands/configfile.c (grub_cmd_configfile): Execute the
49931 configfile within its own context.
49933 * include/grub/env.h (grub_env_context_open): New prototype.
49934 (grub_env_context_close): Likewise.
49936 * kern/env.c (grub_env): Removed.
49937 (grub_env_sorted): Likewise.
49938 (grub_env_context): New variable.
49939 (grub_env_var_context): Likewise.
49940 (grub_env_find): Search both the active context and the global
49942 (grub_env_context_open): New function.
49943 (grub_env_context_close): Likewise.
49944 (grub_env_insert): Likewise.
49945 (grub_env_remove): Likewise.
49946 (grub_env_export): Likewise.
49947 (grub_env_set): Changed to use helper functions to avoid code
49949 (grub_env_iterate): Rewritten so both the current context and the
49950 global context are being used.
49952 * normal/command.c (export_command): New function.
49953 (grub_command_init): Register the `export' function.
49955 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
49957 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
49958 explicitly to suppress gcc's warnings.
49959 * fs/fat.c (grub_fat_find_dir): Likewise.
49960 (grub_fat_label): Likewise.
49961 * fs/xfs.c (grub_xfs_read_inode): Likewise.
49962 (grub_xfs_mount): Likewise.
49963 (grub_xfs_label): Likewise.
49964 * fs/affs.c (grub_affs_mount): Likewise.
49965 (grub_affs_label): Likewise.
49966 (grub_affs_iterate_dir): Likewise.
49967 * fs/sfs.c (grub_sfs_mount): Likewise.
49968 (grub_sfs_iterate_dir): Likewise.
49969 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
49970 * fs/hfs.c (grub_hfs_mount): Likewise.
49971 (grub_hfs_cmp_catkeys): Likewise.
49972 (grub_hfs_find_dir): Likewise.
49973 (grub_hfs_dir): Likewise.
49974 (grub_hfs_label): Likewise.
49975 * fs/jfs.c (grub_jfs_mount): Likewise.
49976 (grub_jfs_opendir): Likewise.
49977 (grub_jfs_getent): Likewise.
49978 (grub_jfs_lookup_symlink): Likewise.
49979 (grub_jfs_label): Likewise.
49980 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
49981 (grub_hfsplus_iterate_dir): Likewise.
49982 (grub_hfsplus_btree_iterate_node): Made static.
49984 * util/grub-emu.c (prefix): New variable.
49985 (grub_machine_set_prefix): New function.
49986 (main): Do not set the environment variable "prefix" here. Only
49987 set PREFIX, which is used later by grub_machine_set_prefix.
49989 * include/grub/video.h: Do not include grub/symbol.h.
49990 (grub_video_register): Not exported. This symbol is not defined in
49992 (grub_video_unregister): Likewise.
49993 (grub_video_iterate): Likewise.
49994 (grub_video_setup): Likewise.
49995 (grub_video_restore): Likewise.
49996 (grub_video_get_info): Likewise.
49997 (grub_video_get_blit_format): Likewise.
49998 (grub_video_set_palette): Likewise.
49999 (grub_video_get_palette): Likewise.
50000 (grub_video_set_viewport): Likewise.
50001 (grub_video_get_viewport): Likewise.
50002 (grub_video_map_color): Likewise.
50003 (grub_video_map_rgb): Likewise.
50004 (grub_video_map_rgba): Likewise.
50005 (grub_video_fill_rect): Likewise.
50006 (grub_video_blit_glyph): Likewise.
50007 (grub_video_blit_bitmap): Likewise.
50008 (grub_video_blit_render_target): Likewise.
50009 (grub_video_scroll): Likewise.
50010 (grub_video_swap_buffers): Likewise.
50011 (grub_video_create_render_target): Likewise.
50012 (grub_video_delete_render_target): Likewise.
50013 (grub_video_set_active_render_target): Likewise.
50015 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
50017 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
50019 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
50020 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50021 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50022 instead of $(srcdir)/genkernsyms.sh.
50024 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
50025 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50026 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50027 instead of $(srcdir)/genkernsyms.sh.
50029 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
50030 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50031 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50032 instead of $(srcdir)/genkernsyms.sh.
50034 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
50035 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
50036 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
50037 instead of $(srcdir)/genkernsyms.sh.
50039 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
50042 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
50044 (gensymlist.sh): New target.
50045 (genkernsyms.sh): Likewise.
50047 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
50048 genkernsyms.sh.in and gensymlist.sh.in.
50050 * genkernsyms.sh: Removed.
50051 * gensymlist.sh: Likewise.
50053 * genkernsyms.sh.in: New file.
50054 * gensymlist.sh.in: Likewise.
50056 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50058 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
50059 clobber "prefix", since we may have already set it manually.
50061 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
50063 * kern/misc.c (abort): New alias for grub_abort.
50065 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
50067 A new machine-specific function "grub_machine_set_prefix" is
50068 defined. This is called after loading modules, so that a prefix
50069 initialization can use modules. Also, this change adds an
50070 intensive debugging feature for the memory manager via the
50071 configure option "--enable-mm-debug".
50073 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
50076 * kern/sparc64/ieee1275/init.c (abort): Removed.
50077 (grub_stop): Likewise.
50078 (grub_exit): New function.
50079 (grub_set_prefix): Renamed to ...
50080 (grub_machine_set_prefix): ... this.
50081 (grub_machine_init): Do not call grub_set_prefix.
50083 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
50084 (grub_machine_set_prefix): ... this.
50085 (grub_machine_init): Do not call grub_set_prefix.
50087 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
50088 (grub_machine_init): Do not set the prefix here.
50090 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
50092 * kern/efi/init.c: Include grub/mm.h.
50093 (grub_efi_set_prefix): New function.
50095 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
50096 (grub_efi_get_filename): New function.
50097 (grub_print_device_path): Renamed to ...
50098 (grub_efi_print_device_path): ... this.
50100 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
50101 [MM_DEBUG] (grub_realloc): Likewise.
50102 [MM_DEBUG] (grub_free): Likewise.
50103 [MM_DEBUG] (grub_memalign): Likewise.
50104 [MM_DEBUG] (grub_mm_debug): New variable.
50105 [MM_DEBUG] (grub_debug_malloc): New function.
50106 [MM_DEBUG] (grub_debug_free): New function.
50107 [MM_DEBUG] (grub_debug_realloc): New function.
50108 [MM_DEBUG] (grub_debug_memalign): New function.
50110 * kern/misc.c (grub_abort): Print a newline to distinguish
50113 * kern/main.c (grub_main): Call grub_machine_set_prefix and
50114 grub_set_root_dev after loading modules. This is necessary when
50115 setting a prefix depends on modules.
50117 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
50118 (grub_efi_print_device_path): ... this.
50119 (grub_efi_get_filename): New prototype.
50120 (grub_efi_set_prefix): Likewise.
50122 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
50124 (grub_efidisk_get_device_handle): New prototype.
50125 (grub_efidisk_get_device_name): Likewise.
50127 * include/grub/mm.h: Include config.h.
50128 (MM_DEBUG): Removed.
50129 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
50130 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
50131 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
50132 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
50133 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
50134 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
50135 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
50136 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
50137 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
50139 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
50141 * disk/efi/efidisk.c: Include grub/partition.h.
50142 (iterate_child_devices): New function.
50143 (add_device): First, compare only last device path nodes, so that
50144 devices are sorted by the types.
50145 (grub_efidisk_get_device_handle): New function.
50146 (grub_efidisk_get_device_name): Likewise.
50148 * configure.ac (--enable-mm-debug): New option to enable the
50149 memory manager debugging feature. This makes the binary much
50150 bigger, so is disabled by default.
50152 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
50154 Use grub_abort instead of grub_stop, and grub_exit must be
50155 define in each architecture now. Also, this change adds support
50158 * util/i386/pc/grub-probefs.c: Include grub/term.h.
50159 (grub_getkey): New function.
50160 (grub_term_get_current): Likewise.
50162 * util/i386/pc/grub-setup.c: Include grub/term.h.
50163 (grub_getkey): New function.
50164 (grub_term_get_current): Likewise.
50166 * util/misc.c (grub_stop): Renamed to ...
50167 (grub_exit): ... this.
50169 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
50170 (grub_exit): ... this.
50171 (grub_machine_init): Use grub_abort instead of abort.
50172 (grub_stop): Removed.
50174 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
50177 * kern/i386/pc/startup.S (grub_exit): New function.
50178 (cold_reboot): New label.
50180 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
50181 (grub_efi_init): Call grub_efidisk_init.
50182 (grub_efi_fini): Call grub_efidisk_fini.
50184 * kern/efi/efi.c: Include grub/mm.h.
50185 (grub_efi_console_control_guid): Renamed to ...
50186 (console_control_guid): ... this.
50187 (grub_efi_loaded_image_guid): Renamed to ...
50188 (loaded_image_guid): ... this.
50189 (grub_efi_locate_handle): New function.
50190 (grub_efi_open_protocol): Likewise.
50191 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
50192 GRUB_EFI_CONSOLE_CONTROL_GUID.
50193 (grub_efi_exit): Removed.
50194 (grub_stop): Likewise.
50195 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
50196 (grub_exit): New function.
50197 (grub_print_device_path): Likewise.
50199 * kern/rescue.c (grub_rescue_cmd_exit): New function.
50200 (grub_enter_rescue_mode): Register "exit".
50202 * kern/misc.c (grub_real_dprintf): A cosmetic change.
50203 (grub_abort): New function.
50205 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
50207 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
50209 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
50211 * include/grub/efi/efi.h (grub_efi_exit): Removed.
50212 (grub_print_device_path): New prototype.
50213 (grub_efi_locate_handle): Likewise.
50214 (grub_efi_open_protocol): Likewise.
50216 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
50217 * disk/efi/efidisk.c: Likewise.
50219 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
50221 * include/grub/efi/console_control.h
50222 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
50224 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
50225 last 8 bytes as an array.
50226 (GRUB_EFI_DISK_IO_GUID): New macro.
50227 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
50228 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
50229 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
50231 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
50232 (struct grub_efi_device_path): Rename the member "sub_type" to
50234 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
50235 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
50236 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
50237 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
50238 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
50239 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
50240 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
50241 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
50242 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
50243 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
50244 (struct grub_efi_pci_device_path): New structure.
50245 (grub_efi_pci_device_path_t): New type.
50246 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
50247 (struct grub_efi_pccard_device_path): New structure.
50248 (grub_efi_pccard_device_path_t): New type.
50249 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
50250 (struct grub_efi_memory_mapped_device_path): New structure.
50251 (grub_efi_memory_mapped_device_path_t): New type.
50252 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
50253 (struct grub_efi_vendor_device_path): New structure.
50254 (grub_efi_vendor_device_path_t): New type.
50255 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
50256 (struct grub_efi_controller_device_path): New structure.
50257 (grub_efi_controller_device_path_t): New type.
50258 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
50259 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
50260 (struct grub_efi_acpi_device_path): New structure.
50261 (grub_efi_acpi_device_path_t): New type.
50262 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
50263 (struct grub_efi_expanded_acpi_device_path): New structure.
50264 (grub_efi_expanded_acpi_device_path_t): New type.
50265 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
50266 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
50267 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
50268 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
50269 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
50270 (struct grub_efi_atapi_device_path): New structure.
50271 (grub_efi_atapi_device_path_t): New type.
50272 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
50273 (struct grub_efi_fibre_channel_device_path): New structure.
50274 (grub_efi_fibre_channel_device_path_t): New type.
50275 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
50276 (struct grub_efi_1394_device_path): New structure.
50277 (grub_efi_1394_device_path_t): New type.
50278 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
50279 (struct grub_efi_usb_device_path): New structure.
50280 (grub_efi_usb_device_path_t): New type.
50281 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
50282 (struct grub_efi_usb_class_device_path): New structure.
50283 (grub_efi_usb_class_device_path_t): New type.
50284 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
50285 (struct grub_efi_i2o_device_path): New structure.
50286 (grub_efi_i2o_device_path_t): New type.
50287 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
50288 (struct grub_efi_mac_address_device_path): New structure.
50289 (grub_efi_mac_address_device_path_t): New type.
50290 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
50291 (struct grub_efi_ipv4_device_path): New structure.
50292 (grub_efi_ipv4_device_path_t): New type.
50293 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
50294 (struct grub_efi_ipv6_device_path): New structure.
50295 (grub_efi_ipv6_device_path_t): New type.
50296 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
50297 (struct grub_efi_infiniband_device_path): New structure.
50298 (grub_efi_infiniband_device_path_t): New type.
50299 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
50300 (struct grub_efi_uart_device_path): New structure.
50301 (grub_efi_uart_device_path_t): New type.
50302 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
50303 (struct grub_efi_vendor_messaging_device_path): New structure.
50304 (grub_efi_vendor_messaging_device_path_t): New type.
50305 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
50306 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
50307 (struct grub_efi_hard_drive_device_path): New structure.
50308 (grub_efi_hard_drive_device_path_t): New type.
50309 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
50310 (struct grub_efi_cdrom_device_path): New structure.
50311 (grub_efi_cdrom_device_path_t): New type.
50312 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
50313 (struct grub_efi_vendor_media_device_path): New structure.
50314 (grub_efi_vendor_media_device_path_t): New type.
50315 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
50316 (struct grub_efi_file_path_device_path): New structure.
50317 (grub_efi_file_path_device_path_t): New type.
50318 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
50319 (struct grub_efi_protocol_device_path): New structure.
50320 (grub_efi_protocol_device_path_t): New type.
50321 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
50322 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
50323 (struct grub_efi_bios_device_path): New structure.
50324 (grub_efi_bios_device_path_t): New type.
50325 (struct grub_efi_disk_io): New structure.
50326 (grub_efi_disk_io_t): New type.
50327 (struct grub_efi_block_io_media): New structure.
50328 (grub_efi_block_io_media_t): New type.
50329 (struct grub_efi_block_io): New structure.
50330 (grub_efi_block_io_t): New type.
50332 * include/grub/misc.h (grub_stop): Removed.
50333 (grub_exit): New prototype.
50334 (grub_abort): Likewise.
50336 * include/grub/disk.h (enum grub_disk_dev_id): Added
50337 GRUB_DISK_DEVICE_EFIDISK_ID.
50339 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
50340 disk/efi/efidisk.c.
50341 (kernel_syms.lst): Remove the target if an error occurs.
50343 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
50345 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
50346 as it was simply too buggy.
50348 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
50350 * kern/misc.c (grub_lltoa): New function.
50351 (grub_vsprintf): Added support for the long long suffix,
50354 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
50356 * Makefile.in (LDFLAGS): Add variable.
50357 (LD): Remove variable.
50358 * configure.ac: Add -m32 to LDFLAGS.
50359 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
50360 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
50361 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
50362 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
50363 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
50365 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
50366 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
50367 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
50369 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
50371 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
50372 length for unknown glyph.
50374 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50376 Add support for pre-loaded modules into the EFI port.
50378 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
50379 completely. Accept one more argument DIR. The caller has changed.
50381 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
50383 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
50384 (grub_efi_loaded_image_guid): New variable.
50385 (grub_efi_get_loaded_image): New function.
50386 (grub_arch_modules_addr): Likewise.
50388 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
50391 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
50392 (struct grub_efi_loaded_image): New structure.
50393 (grub_efi_loaded_image_t): New type.
50395 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
50397 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
50398 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
50399 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
50401 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
50403 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
50405 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
50407 * DISTLIST: Added include/grub/efi/console.h,
50408 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
50409 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50411 * include/grub/efi/console.h: New file.
50412 * include/grub/efi/time.h: Likewise.
50413 * include/grub/i386/efi/kernel.h: Likewise.
50414 * kern/efi/init.c: Likewise.
50415 * kern/efi/mm.c: Likewise.
50416 * term/efi/console.c: Likewise.
50418 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
50419 (grub_stop): Removed.
50420 (grub_get_rtc): Likewise.
50421 (grub_machine_init): Simply call grub_efi_init.
50422 (grub_machine_fini): Call grub_efi_fini.
50424 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
50425 (grub_efi_output_string): Removed.
50426 (grub_efi_stall): New function.
50427 (grub_stop): Likewise.
50428 (grub_get_rtc): Likewise.
50430 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
50431 (grub_efi_stall): New prototype.
50432 (grub_efi_allocate_pages): Likewise.
50433 (grub_efi_free_pages): Likewise.
50434 (grub_efi_get_memory_map): Likewise.
50435 (grub_efi_mm_init): Likewise.
50436 (grub_efi_mm_fini): Likewise.
50437 (grub_efi_init): Likewise.
50438 (grub_efi_fini): Likewise.
50440 * include/grub/i386/efi/time.h: Do not include
50441 grub/symbol.h. Include grub/efi/time.h.
50442 (GRUB_TICKS_PER_SECOND): Removed.
50443 (grub_get_rtc): Likewise.
50445 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
50446 Added padding. The EFI spec is buggy.
50447 (GRUB_EFI_BLACK): New macro.
50448 (GRUB_EFI_BLUE): Likewise.
50449 (GRUB_EFI_GREEN): Likewise.
50450 (GRUB_EFI_CYAN): Likewise.
50451 (GRUB_EFI_RED): Likewise.
50452 (GRUB_EFI_MAGENTA): Likewise.
50453 (GRUB_EFI_BROWN): Likewise.
50454 (GRUB_EFI_LIGHTGRAY): Likewise.
50455 (GRUB_EFI_BRIGHT): Likewise.
50456 (GRUB_EFI_DARKGRAY): Likewise.
50457 (GRUB_EFI_LIGHTBLUE): Likewise.
50458 (GRUB_EFI_LIGHTGREEN): Likewise.
50459 (GRUB_EFI_LIGHTCYAN): Likewise.
50460 (GRUB_EFI_LIGHTRED): Likewise.
50461 (GRUB_EFI_LIGHTMAGENTA): Likewise.
50462 (GRUB_EFI_YELLOW): Likewise.
50463 (GRUB_EFI_WHITE): Likewise.
50464 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
50465 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
50466 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
50467 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
50468 (GRUB_EFI_BACKGROUND_RED): Likewise.
50469 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
50470 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
50471 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
50472 (GRUB_EFI_TEXT_ATTR): Likewise.
50474 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
50475 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
50476 (kernel_mod_HEADERS): Added efi/time.h.
50478 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
50480 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
50481 include/grub/efi/api.h, include/grub/efi/console_control.h,
50482 include/grub/efi/efi.h, include/grub/efi/pe32.h,
50483 include/grub/i386/efi/time.h, kern/efi/efi.c,
50484 kern/i386/efi/init.c, kern/i386/efi/startup.S,
50485 and util/i386/efi/grub-mkimage.c.
50487 * Makefile.in (RMKFILES): Added i386-efi.rmk.
50489 * genmk.rb (PModule#rule): Do not export symbols if
50490 #{prefix}_EXPORTS is set to "no".
50492 * conf/i386-efi.mk: New file.
50493 * conf/i386-efi.rmk: Likewise.
50494 * include/grub/efi/api.h: Likewise.
50495 * include/grub/efi/console_control.h: Likewise.
50496 * include/grub/efi/efi.h: Likewise.
50497 * include/grub/efi/pe32.h: Likewise.
50498 * include/grub/i386/efi/time.h: Likewise.
50499 * kern/efi/efi.c: Likewise.
50500 * kern/i386/efi/init.c: Likewise.
50501 * kern/i386/efi/startup.S: Likewise.
50502 * util/i386/efi/grub-mkimage.c: Likewise.
50504 2006-04-17 Marco Gerards <marco@gnu.org>
50506 * include/grub/script.h: Include <grub/parser.h> and
50507 "grub_script.tab.h".
50508 (struct grub_lexer_param): New struct.
50509 (struct grub_parser_param): Likewise.
50510 (grub_script_create_arglist): Pass the state in an argument.
50511 (grub_script_add_arglist): Likewise.
50512 (grub_script_create_cmdline): Likewise.
50513 (grub_script_create_cmdblock): Likewise.
50514 (grub_script_create_cmdif): Likewise.
50515 (grub_script_create_cmdmenu): Likewise.
50516 (grub_script_add_cmd): Likewise.
50517 (grub_script_arg_add): Likewise.
50518 (grub_script_lexer_ref): Likewise.
50519 (grub_script_lexer_deref): Likewise.
50520 (grub_script_lexer_record_start): Likewise.
50521 (grub_script_lexer_record_stop): Likewise.
50522 (grub_script_mem_record): Likewise.
50523 (grub_script_mem_record_stop): Likewise.
50524 (grub_script_malloc): Likewise.
50525 (grub_script_yylex): Likewise.
50526 (grub_script_yyparse): Likewise.
50527 (grub_script_yyerror): Likewise.
50528 (grub_script_yylex): Likewise.
50529 (grub_script_lexer_init): Return the state.
50531 * normal/lexer.c (grub_script_lexer_state): Removed variable.
50532 (grub_script_lexer_done): Likewise.
50533 (grub_script_lexer_getline): Likewise.
50534 (grub_script_lexer_refs): Likewise.
50535 (script): Likewise.
50536 (newscript): Likewise.
50537 (record): Likewise.
50538 (recording): Likewise.
50539 (recordpos): Likewise.
50540 (recordlen): Likewise.
50541 (grub_script_lexer_init): Return the state instead of setting
50543 (grub_script_lexer_ref): Use the newly added argument for state
50544 instead of globals.
50545 (grub_script_lexer_deref): Likewise.
50546 (grub_script_lexer_record_start): Likewise.
50547 (grub_script_lexer_record_stop): Likewise.
50548 (recordchar): Likewise.
50549 (nextchar): Likewise.
50550 (grub_script_yylex2): Likewise.
50551 (grub_script_yylex): Likewise.
50552 (grub_script_yyerror): Likewise.
50554 * normal/parser.y (func_mem): Removed variable.
50555 (menu_entry): Likewise.
50557 (%lex-param): New parser option.
50558 (%parse-param): Likewise.
50559 (script): Always return the AST.
50560 (argument): Pass the state around.
50561 (arguments): Likewise.
50562 (grubcmd): Likewise.
50563 (commands): Likewise.
50564 (function): Likewise.
50565 (menuentry): Likewise.
50566 (if_statement): Likewise.
50569 * normal/script.c (grub_script_memused): Removed variable.
50570 (grub_script_parsed): Likewise.
50571 (grub_script_malloc): Added a state argument. Use that instead of
50573 (grub_script_mem_record): Likewise.
50574 (grub_script_mem_record_stop): Likewise.
50575 (grub_script_arg_add): Likewise.
50576 (grub_script_add_arglist): Likewise.
50577 (grub_script_create_cmdline): Likewise.
50578 (grub_script_create_cmdif): Likewise.
50579 (grub_script_create_cmdmenu): Likewise.
50580 (grub_script_add_cmd): Likewise.
50581 (grub_script_parse): Setup the state before calling the parser.
50583 2006-04-16 Marco Gerards <marco@gnu.org>
50585 * normal/command.c (grub_command_init): Remove the title command.
50587 * normal/lexer.c (grub_script_yylex): Renamed from this...
50588 (grub_script_yylex2): ... to this.
50589 (grub_script_yylex): New function. Temporary
50590 introduced to filter some tokens.
50591 (grub_script_yyerror): Print a newline.
50593 * normal/main.c (read_config_file): Output information about the
50594 lines that contain errors. Wait for a key after all lines have
50595 been processed. Don't return an empty menu.
50597 * normal/parser.y (func_mem): Don't initialize.
50598 (menu_entry): Likewise.
50599 (err): New variable.
50600 (script): Don't return anything when an error was encountered.
50601 (ws, returns): Removed rules.
50602 (argument): Disabled concatenated variable support.
50603 (arguments): Remove explicit separators.
50604 (grubcmd): Likewise.
50605 (function): Likewise.
50606 (menuentry): Likewise.
50608 (commands): Likewise. Add error handling.
50610 * normal/script.c (grub_script_create_cmdline): If
50611 `grub_script_parsed' is 0, assume the parser encountered an error.
50613 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
50615 * configure.ac: Add support for EFI. Fix the typo
50616 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
50618 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50620 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
50621 foreign multibyte characters should be shown correctly.
50623 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
50625 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
50627 (read_config_file): Made it to close file before returning.
50629 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
50631 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
50632 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
50633 video/i386/pc/vbefill.c.
50635 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
50636 video/i386/pc/vbefill.c.
50638 * include/grub/video.h (grub_video_blit_format): New enum.
50639 (grub_video_mode_info): Added new member blit_format.
50640 (grub_video_get_blit_format): New function prototype.
50642 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
50643 function prototype.
50644 (grub_video_vbe_map_rgb): Likewise.
50645 (grub_video_vbe_unmap_color): Likewise.
50647 * include/grub/i386/pc/vbeblit.h: New file.
50649 * include/grub/i386/pc/vbefill.h: New file.
50651 * video/video.c (grub_video_get_blit_format): New function.
50652 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
50653 (grub_video_vbe_map_rgb): Likewise.
50654 (grub_video_vbe_unmap_color): Likewise.
50656 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
50658 (grub_video_vbe_blit_render_target): Changed to use more optimized
50660 (grub_video_vbe_setup): Added detection for optimized settings.
50661 (grub_video_vbe_create_render_target): Likewise.
50663 * video/i386/pc/vbeblit.c: New file.
50665 * video/i386/pc/vbefill.c: New file.
50667 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
50669 * font/manager.c (grub_font_get_glyph): Removed font fixup from
50672 * util/unifont2pff.rb: ... and moved it to here. Improved argument
50673 parsing to support both hex and dec ranges. If filename was missing
50674 show usage information.
50676 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
50678 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
50679 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
50681 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
50682 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
50683 (video_mod_SOURCES): Added.
50684 (video_mod_CFLAGS): Likewise.
50685 (video_mod_LDFLAGS): Likewise.
50686 (gfxterm_mod_SOURCES): Likewise.
50687 (gfxterm_mod_CFLAGS): Likewise.
50688 (gfxterm_mod_LDFLAGS): Likewise.
50689 (videotest_mod_SOURCES): Likewise.
50690 (videotest_mod_CFLAGS): Likewise.
50691 (videotest_mod_LDFLAGS): Likewise.
50692 (vesafb_mod_SOURCES): Removed.
50693 (vesafb_mod_CFLAGS): Likewise.
50694 (vesafb_mod_LDFLAGS): Likewise.
50695 (vga_mod_SOURCES): Likewise.
50696 (vga_mod_CFLAGS): Likewise.
50697 (vga_mod_LDFLAGS): Likewise.
50699 * commands/videotest.c: New file.
50701 * font/manager.c (fill_with_default_glyph): Modified to use
50703 (grub_font_get_glyph): Likewise.
50704 (fontmanager): Renamed from this...
50705 (font_manager): ... to this.
50707 * include/grub/font.h (grub_font_glyph): Added new structure.
50708 (grub_font_get_glyph): Modified to use grub_font_glyph.
50710 * include/grub/misc.h (grub_abs): Added as inline function.
50712 * include/grub/video.h: New file.
50714 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
50715 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
50716 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
50717 (grub_vbe_get_controller_info): Renamed from this...
50718 (grub_vbe_bios_get_controller_info): ... to this.
50719 (grub_vbe_get_mode_info): Renamed from this...
50720 (grub_vbe_bios_get_mode_info): ... to this.
50721 (grub_vbe_set_mode): Renamed from this...
50722 (grub_vbe_bios_set_mode): ... to this.
50723 (grub_vbe_get_mode): Renamed from this...
50724 (grub_vbe_bios_get_mode): ... to this.
50725 (grub_vbe_set_memory_window): Renamed from this...
50726 (grub_vbe_bios_set_memory_window): ... to this.
50727 (grub_vbe_get_memory_window): Renamed from this...
50728 (grub_vbe_bios_get_memory_window): ... to this.
50729 (grub_vbe_set_scanline_length): Renamed from this...
50730 (grub_vbe_set_scanline_length): ... to this.
50731 (grub_vbe_get_scanline_length): Renamed from this...
50732 (grub_vbe_bios_get_scanline_length): ... to this.
50733 (grub_vbe_set_display_start): Renamed from this...
50734 (grub_vbe_bios_set_display_start): ... to this.
50735 (grub_vbe_get_display_start): Renamed from this...
50736 (grub_vbe_bios_get_display_start): ... to this.
50737 (grub_vbe_set_palette_data): Renamed from this...
50738 (grub_vbe_bios_set_palette_data): ... to this.
50739 (grub_vbe_set_pixel_rgb): Removed.
50740 (grub_vbe_set_pixel_index): Likewise.
50742 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
50744 (grub_vbe_bios_get_controller_info): ... to this.
50745 (grub_vbe_get_mode_info): Renamed from this...
50746 (grub_vbe_bios_get_mode_info): ... to this.
50747 (grub_vbe_set_mode): Renamed from this...
50748 (grub_vbe_bios_set_mode): ... to this.
50749 (grub_vbe_get_mode): Renamed from this...
50750 (grub_vbe_bios_get_mode): ... to this.
50751 (grub_vbe_set_memory_window): Renamed from this...
50752 (grub_vbe_bios_set_memory_window): ... to this.
50753 (grub_vbe_get_memory_window): Renamed from this...
50754 (grub_vbe_bios_get_memory_window): ... to this.
50755 (grub_vbe_set_scanline_length): Renamed from this...
50756 (grub_vbe_set_scanline_length): ... to this.
50757 (grub_vbe_get_scanline_length): Renamed from this...
50758 (grub_vbe_bios_get_scanline_length): ... to this.
50759 (grub_vbe_set_display_start): Renamed from this...
50760 (grub_vbe_bios_set_display_start): ... to this.
50761 (grub_vbe_get_display_start): Renamed from this...
50762 (grub_vbe_bios_get_display_start): ... to this.
50763 (grub_vbe_set_palette_data): Renamed from this...
50764 (grub_vbe_bios_set_palette_data): ... to this.
50765 (grub_vbe_bios_get_controller_info): Fixed problem with registers
50766 getting corrupted after calling it. Added more pushes and pops.
50767 (grub_vbe_bios_set_mode): Likewise.
50768 (grub_vbe_bios_get_mode): Likewise.
50769 (grub_vbe_bios_get_memory_window): Likewise.
50770 (grub_vbe_bios_set_scanline_length): Likewise.
50771 (grub_vbe_bios_get_scanline_length): Likewise.
50772 (grub_vbe_bios_get_display_start): Likewise.
50773 (grub_vbe_bios_set_palette_data): Likewise.
50775 * normal/cmdline.c (cl_set_pos): Refresh the screen.
50776 (cl_insert): Likewise.
50777 (cl_delete): Likewise.
50779 * term/gfxterm.c: New file.
50781 * term/i386/pc/vesafb.c: Removed file.
50783 * video/video.c: New file.
50785 * video/i386/pc/vbe.c (real2pm): Added new function.
50786 (grub_video_vbe_draw_pixel): Likewise.
50787 (grub_video_vbe_get_video_ptr): Likewise.
50788 (grub_video_vbe_get_pixel): Likewise
50789 (grub_video_vbe_init): Likewise.
50790 (grub_video_vbe_fini): Likewise.
50791 (grub_video_vbe_setup): Likewise.
50792 (grub_video_vbe_get_info): Likewise.
50793 (grub_video_vbe_set_palette): Likewise.
50794 (grub_video_vbe_get_palette): Likewise.
50795 (grub_video_vbe_set_viewport): Likewise.
50796 (grub_video_vbe_get_viewport): Likewise.
50797 (grub_video_vbe_map_color): Likewise.
50798 (grub_video_vbe_map_rgb): Likewise.
50799 (grub_video_vbe_map_rgba): Likewise.
50800 (grub_video_vbe_unmap_color): Likewise.
50801 (grub_video_vbe_fill_rect): Likewise.
50802 (grub_video_vbe_blit_glyph): Likewise.
50803 (grub_video_vbe_blit_bitmap): Likewise.
50804 (grub_video_vbe_blit_render_target): Likewise.
50805 (grub_video_vbe_scroll): Likewise.
50806 (grub_video_vbe_swap_buffers): Likewise.
50807 (grub_video_vbe_create_render_target): Likewise.
50808 (grub_video_vbe_delete_render_target): Likewise.
50809 (grub_video_vbe_set_active_render_target): Likewise.
50810 (grub_vbe_set_pixel_rgb): Remove function.
50811 (grub_vbe_set_pixel_index): Likewise.
50812 (index_color_mode): Remove static variable.
50813 (active_mode): Likewise.
50814 (framebuffer): Likewise.
50815 (bytes_per_scan_line): Likewise.
50816 (grub_video_vbe_adapter): Added new static variable.
50817 (framebuffer): Likewise.
50818 (render_target): Likewise.
50819 (initial_mode): Likewise.
50820 (mode_in_use): Likewise.
50821 (mode_list): Likewise.
50823 2006-03-10 Marco Gerards <marco@gnu.org>
50825 * configure.ac (AC_INIT): Bumped to 1.93.
50827 * DISTLIST: Added `include/grub/hfs.h'.
50829 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
50831 * boot/i386/pc/boot.S (general_error): Before looping, try INT
50832 18H, which might help the BIOS falling back to next boot media.
50834 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
50836 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
50837 Poe Chen <poe.poechen@gmail.com>.
50839 2006-01-17 Marco Gerards <marco@gnu.org>
50841 * include/grub/normal.h: Include <grub/script.h>.
50842 (grub_command_list): Removed struct.
50843 (grub_command_list_t): Removed type.
50844 (grub_menu_entry): Remove members `num' and `command_list'. Add
50845 members `commands' and `sourcecode'.
50846 * include/grub/script.h: Add inclusion guards.
50847 (grub_script_cmd_menuentry): New struct.
50848 (grub_script_execute_menuentry): New prototype.
50849 (grub_script_lexer_record_start): Likewise.
50850 (grub_script_lexer_record_stop): Likewise.
50851 * normal/execute.c (grub_script_execute_menuentry): New function.
50852 * normal/lexer.c (record, recording, recordpos, recordlen): New
50854 (grub_script_lexer_record_start): New function.
50855 (grub_script_lexer_record_stop): Likewise.
50856 (recordchar): Likewise.
50857 (nextchar): Likewise.
50858 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
50859 2048 as the buffer size. Add the tokens `menuentry' and `@'.
50860 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
50861 (current_menu): New variable.
50862 (free_menu): Mainly rewritten.
50863 (grub_normal_menu_addentry): New function.
50864 (read_config_file): Rewritten.
50865 * normal/menu.c (run_menu_entry): Mainly rewritten.
50866 * normal/menu_entry.c (make_screen): Rewritten the code to insert
50868 (run): Mainly rewritten.
50869 * normal/parser.y (menu_entry): New variable.
50870 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
50871 (menuentry): New rule.
50872 (command): Add `menuentry'.
50873 (if_statement): Allow additional returns before `fi'.
50874 * normal/script.c (grub_script_create_cmdmenu): New function.
50876 2006-01-03 Marco Gerards <marco@gnu.org>
50878 * INSTALL: GNU Bison is required.
50879 * configure.ac: Rewritten the test to detect Bison.
50880 * Makefile.in (YACC): New variable. Reported by Xun Sun
50881 <xun.sun.cn@gmail.com>.
50883 2006-01-03 Marco Gerards <marco@gnu.org>
50885 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
50886 the HFS+ filesystem to filesystem blocks.
50887 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
50888 GCC warning is silenced.
50890 2006-01-03 Marco Gerards <marco@gnu.org>
50892 * partmap/apple.c (apple_partition_map_iterate): Convert the data
50893 read from disk from big endian to host byte order.
50895 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
50897 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
50899 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
50900 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
50901 embedded HFS+ filesystem.
50902 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
50903 (grub_hfs_sblock): Move from here...
50904 * include/grub/hfs.h: To here... New file.
50905 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
50907 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
50909 (grub_hfsplus_volheader): Change type of member `magic' to
50911 (grub_hfsplus_data): Add new member `embedded_offset'.
50912 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
50914 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
50915 Calculate the offset.
50917 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50919 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
50921 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
50923 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50925 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
50926 ENV->NAME is NULL after allocating ENV->VALUE.
50928 2005-12-25 Marco Gerards <marco@gnu.org>
50930 * kern/env.c (grub_env_set): Rewritten the error handling code.
50932 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50934 * geninit.sh: Made more robust, and more portable.
50936 2005-12-25 Marco Gerards <marco@gnu.org>
50938 Add support for Apple HFS+ filesystems.
50940 * fs/hfsplus.c: New file.
50942 * DISTLIST: Added `fs/hfsplus.c'.
50944 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
50945 (hfsplus_mod_SOURCES): New variable.
50946 (hfsplus_mod_CFLAGS): Likewise.
50947 (hfsplus_mod_LDFLAGS): Likewise.
50948 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
50949 (grub_setup_SOURCES): Likewise.
50950 (grub_mkdevicemap_SOURCES): Likewise.
50951 (grub_emu_SOURCES): Likewise.
50952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50954 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
50956 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
50958 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
50960 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
50961 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
50962 include/grub/parser.h, include/grub/script.h, kern/parser.c,
50963 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
50964 normal/lexer.c, normal/parser.y, normal/script.c, and
50966 Removed kern/sparc64/cache.c.
50968 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
50969 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
50972 * configure.ac (AC_INIT): Bumped to 1.92.
50974 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
50976 * kern/err.c (grub_error_push): Added new function to support error
50978 (grub_error_pop): Likewise.
50979 (grub_error_stack_items): New local variable to support error stacks.
50980 (grub_error_stack_pos): Likewise.
50981 (grub_error_stack_assert): Likewise.
50982 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
50984 (grub_print_error): Added support to print errors from error stack.
50986 * include/grub/err.h (grub_error_push): Added function prototype.
50987 (grub_error_pop): Likewise.
50989 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
50991 * configure.ac: Accept `powerpc64' as host_cpu.
50992 (amd64): Rename to `biarch32'.
50994 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
50995 non-cacheline-aligned addresses.
50997 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
50998 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
50999 if `size' is non-zero.
51001 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
51003 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
51004 and `cd' to make sure the filename is not prefixed with a
51006 (pkgdata_MODULES): Add `gpt.mod'.
51007 (gpt_mod_SOURCES): New variable.
51008 (gpt_mod_CFLAGS): Likewise.
51009 (gpt_mod_LDFLAGS): Likewise.
51011 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
51013 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
51016 * partmap/gpt.c: New file.
51018 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
51019 GPT partition map is detected.
51021 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
51023 * commands/i386/pc/play.c: New file.
51024 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
51025 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
51028 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
51030 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
51031 ((unused))' to silence gcc warning.
51033 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
51035 * configure.ac: Correct `AC_PROG_YACC' test.
51037 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51039 * util/powerpc/ieee1275/grub-install.in: Run the mount point
51040 check before installing files.
51042 2005-11-22 Mike Small <smallm@panix.com>
51044 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
51045 number regex so multidigit numbers are recognized correctly.
51047 2005-11-22 Mike Small <smallm@panix.com>
51049 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
51050 debugging message before attempting to claim memory.
51051 (grub_rescue_cmd_initrd): Add a claim debugging message and try
51052 multiple addresses in case of failure.
51054 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51056 * term/tparm.c (get_space): Remove empty `if' statement.
51058 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
51060 * kern/parser.c (check_varstate): Rename `state' to 's'.
51062 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51064 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
51065 variable definitions to the beginning of each function. Sort stack
51067 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
51068 `buf' argument to `char *'.
51070 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
51072 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
51073 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
51074 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
51075 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51076 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51077 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51078 configfile.mod, search.mod, gzio.mod and test.mod.
51079 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51080 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51081 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51082 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51083 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51084 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51085 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51086 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51087 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51088 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51089 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51090 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51091 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51092 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51093 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51094 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51095 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51096 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51097 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51098 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51099 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51100 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51101 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
51103 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
51105 (pkgdata_MODULES): Add test.mod.
51107 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51109 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
51110 appending to variables with "+=".
51111 (PModule): Use full pathname to generate *.lst filenames.
51113 * Makefile.in: Fixed list rules moved from genmk.rb.
51114 (.DELETE_ON_ERROR): New special target.
51115 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
51117 * conf/i386-pc.rmk: Include conf/common.mk.
51118 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
51119 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
51120 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
51121 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
51122 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
51123 configfile.mod, search.mod, gzio.mod and test.mod.
51124 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
51125 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
51126 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
51127 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
51128 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
51129 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
51130 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
51131 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
51132 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
51133 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
51134 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51135 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51136 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
51137 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
51138 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
51139 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
51140 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51141 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
51142 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
51143 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
51144 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
51145 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
51146 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
51148 * conf/common.rmk: ... to here. New file.
51150 * conf/common.mk: New file.
51152 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
51154 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
51155 (grub_script.tab.c): ... here.
51157 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
51158 (grub_script.tab.c): ... here.
51160 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
51161 (grub_script.tab.c): ... here.
51163 * normal/command.c (grub_command_find): Fixed a memory leak of
51164 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
51166 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51168 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
51169 "@" which marks the start of a comment on ARM.
51170 (VARIABLE): Likewise.
51172 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51174 Add support for Linux/ADFS partition tables.
51176 * partmap/acorn.c: New file.
51178 * include/grub/acorn_filecore.h: Likewise.
51180 * DISTLIST: Added `partmap/acorn.c' and
51181 `include/grub/acorn_filecore.h'.
51183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51185 (pkgdata_MODULES): Add `acorn.mod'.
51186 (acorn_mod_SOURCES): New variable.
51187 (acorn_mod_CFLAGS): Likewise.
51189 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51191 (pkgdata_MODULES): Add `acorn.mod'.
51192 (acorn_mod_SOURCES): New variable.
51193 (acorn_mod_CFLAGS): Likewise.
51195 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
51196 (pkgdata_MODULES): Add `acorn.mod'.
51197 (acorn_mod_SOURCES): New variable.
51198 (acorn_mod_CFLAGS): Likewise.
51199 (acorn_mod_LDFLAGS): Likewise.
51201 * include/types.h (grub_disk_addr_t): New typedef.
51203 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
51205 * geninit.sh: New file.
51207 * geninitheader.sh: Likewise.
51209 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
51210 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
51211 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
51212 * commands/configfile.c (grub_configfile_init)
51213 (grub_configfile_fini): Likewise.
51214 * commands/default.c (grub_default_init, grub_default_fini):
51216 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
51217 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
51218 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
51219 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
51221 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
51222 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
51224 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
51225 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
51227 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
51229 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
51231 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
51232 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
51233 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
51234 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
51235 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
51236 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
51237 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
51238 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
51239 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
51240 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
51241 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
51242 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
51243 * partmap/amiga.c (grub_amiga_partition_map_init)
51244 (grub_amiga_partition_map_fini): Likewise.
51245 * partmap/apple.c (grub_apple_partition_map_init)
51246 (grub_apple_partition_map_fini): Likewise.
51247 * partmap/pc.c (grub_pc_partition_map_init)
51248 (grub_pc_partition_map_fini): Likewise.
51249 * partmap/sun.c (grub_sun_partition_map_init,
51250 grub_sun_partition_map_fini): Likewise.
51251 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
51254 * util/grub-emu.c: Include <grub_modules_init.h>.
51255 (main): Don't initialize and de-initialize any modules directly,
51256 use `grub_init_all' and `grub_fini_all' instead.
51258 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
51259 `grub_vesafb_mod_init'.
51260 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
51262 * term/i386/pc/vga.c (grub_vga_init): Renamed to
51263 `grub_vga_mod_init'. Updated all users.
51264 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
51266 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
51267 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
51270 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
51271 Generate a function to initialize the module in utilities.
51272 Updated all callers.
51273 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
51274 initialize the module in utilities. Updated all callers.
51276 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51278 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
51279 escape sequence and a literal ^L to clear the screen.
51281 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
51282 when returning from Open Firmware.
51284 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
51286 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
51287 (grub_ofconsole_height): Likewise.
51288 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
51289 manually insert a '\n'.
51290 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
51291 `grub_ofconsole_height'. Return early if these are already set.
51293 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
51295 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
51296 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
51297 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
51298 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
51299 and `normal/script.c'.
51300 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51301 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51302 (test_mod_SOURCES): New variable.
51303 (test_mod_CFLAGS): Likewise.
51304 (test_mod_LDFLAGS): Likewise.
51305 (pkgdata_MODULES): Add `test.mod'.
51306 (grub_script.tab.c): New rule.
51307 (grub_script.tab.h): Likewise.
51309 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
51311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51312 `commands/test.c', `normal/execute.c', `normal/lexer.c',
51313 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51314 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51315 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51316 (test_mod_SOURCES): New variable.
51317 (test_mod_CFLAGS): Likewise.
51318 (pkgdata_MODULES): Add `test.mod'.
51319 (grub_script.tab.c): New rule.
51320 (grub_script.tab.h): Likewise.
51322 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
51324 Add initial scripting support.
51326 * commands/test.c: New file.
51327 * include/grub/script.h: Likewise.
51328 * normal/execute.c: Likewise.
51329 * normal/function.c: Likewise.
51330 * normal/lexer.c: Likewise.
51331 * normal/parser.y: Likewise.
51332 * normal/script.c: Likewise.
51334 * configure.ac: Add `AC_PROG_YACC' test.
51336 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
51337 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
51338 `normal/function.c' and `normal/script.c'.
51339 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
51340 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
51341 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
51343 (pkgdata_MODULES): Add `test.mod'.
51344 (grub_script.tab.c): New rule.
51345 (grub_script.tab.h): Likewise.
51347 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
51349 * include/grub/normal.h (grub_test_init): New prototype.
51350 (grub_test_fini): Likewise.
51352 * normal/command.c: Include <grub/script.h>.
51353 (grub_command_execute): Rewritten.
51355 * util/grub-emu.c (main): Call `grub_test_init' and
51358 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51360 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
51362 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
51363 there are no pending characters.
51365 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51367 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
51368 `grub_strndup' to drop device arguments. Replace unnecessary
51369 `grub_strndup' with `grub_strdup'.
51371 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
51373 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
51374 `debug' environment variable has been set.
51376 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
51378 * Makefile.in (install-local): Use $(DATA).
51379 (uninstall): Likewise.
51380 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
51381 (sbin_UTILITIES): ... to here.
51382 (sbin_SCRIPTS): New variable.
51383 (grub_install_SOURCES): New variable.
51384 * util/powerpc/ieee1275/grub-install.in: New file.
51385 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
51387 (add_segments): Call `grub_util_get_path'.
51389 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
51391 From Timothy Baldwin:
51392 * commands/ls.c (grub_ls_list_files): Close FILE with
51394 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
51396 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
51398 * include/grub/parser.h: New file.
51400 * kern/parser.c: Likewise.
51402 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
51403 (grub_setup_SOURCES): Likewise.
51404 (grub_probefs_SOURCES): Likewise.
51405 (grub_emu_SOURCES): Likewise.
51406 (kernel_img_HEADERS): Add `parser.h'.
51408 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51409 (grub_emu_SOURCES): Add `kern/parser.c'.
51410 (grubof_SOURCES): Likewise.
51412 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
51413 (grubof_SOURCES): Add `kern/parser.c'.
51415 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
51417 * kern/misc.c (grub_split_cmdline): Removed function.
51419 * kern/rescue.c: Include <grub/parser.h>.
51420 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
51421 of `grub_split_cmdline'.
51423 * normal/command.c: Include <grub/parser.h>.
51424 (grub_command_execute): Use `grub_parser_split_cmdline' instead
51425 of `grub_split_cmdline'.
51427 * normal/completion.c: Include <grub/parser.h>.
51428 (cmdline_state): New variable.
51429 (iterate_dir): End the filename with a quote depending on the
51430 command line state.
51431 (get_state): new function.
51432 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
51433 split the arguments and determine the current argument. When the
51434 argument string is not quoted, escape all spaces.
51436 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51438 * normal/sparc64/setjmp.S: New file.
51440 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51442 * include/grub/sparc64/libgcc.h: New file.
51443 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
51444 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
51445 normal/sparc64/setjmp.c.
51447 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
51449 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
51450 * kern/sparc64/cache.S: New file.
51451 * kern/sparc64/cache.c: Removed.
51452 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
51453 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
51455 (COMMON_LDFLAGS): Add -melf64_sparc.
51456 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
51457 (grubof_SOURCES): Use cache.S instead of cache.c.
51458 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
51459 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
51460 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
51462 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
51463 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
51464 (linux_mod_CFLAGS): Commented out.
51465 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
51466 out because module isn't built.
51467 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
51468 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
51469 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
51470 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
51471 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
51472 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51473 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51474 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
51475 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
51476 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
51477 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
51478 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
51479 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
51480 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
51482 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
51484 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
51485 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
51486 longer, because HFS should not be used on PC.
51488 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51490 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
51491 consistently within the loop.
51493 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
51495 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
51496 directory can not be read.
51498 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51500 * configure.ac (AC_INIT): Increase the version number to 1.91.
51502 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
51503 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
51504 term/i386/pc/serial.c.
51506 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51508 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
51509 file size must be permitted.
51511 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
51512 between %ah and %al.
51514 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
51516 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
51518 Call the hook with a NUL-terminated filename.
51519 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
51522 * kern/term.c (cursor_state): New variable.
51523 (grub_term_set_current): Reset the cursor state on a new
51525 (grub_setcursor): Rewritten to use CURSOR_STATE.
51526 (grub_getcursor): New function.
51528 * include/grub/term.h (grub_getcursor): New prototype.
51530 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
51531 integers on ARM. Reported by Timothy Baldwin
51532 <T.E.Baldwin99@members.leeds.ac.uk>.
51534 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
51536 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
51538 (grub_sfs_dir): Likewise.
51540 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
51542 Add support for the SFS filesystem.
51544 * fs/sfs.c: New file.
51546 * DISTLIST: Added `fs/sfs.c'.
51548 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
51549 (grub_probefs_SOURCES): Likewise.
51550 (grub_emu_SOURCES): Likewise.
51551 (pkgdata_MODULES): Add `sfs.mod'.
51552 (sfs_mod_SOURCES): New variable.
51553 (sfs_mod_CFLAGS): Likewise.
51554 (sfs_mod_LDFLAGS): Likewise.
51556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
51557 (pkgdata_MODULES): Add `sfs.mod'.
51558 (sfs_mod_SOURCES): New variable.
51559 (sfs_mod_CFLAGS): Likewise.
51561 * util/grub-emu.c (main): Call `grub_sfs_init' and
51564 * include/grub/fs.h (grub_sfs_init): New prototype.
51565 (grub_sfs_fini): Likewise.
51567 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
51569 Add support for the AFFS filesystem.
51571 * fs/affs.c: New file.
51573 * DISTLIST: Added `fs/affs.c'.
51575 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
51576 (grub_probefs_SOURCES): Likewise.
51577 (grub_emu_SOURCES): Likewise.
51578 (pkgdata_MODULES): Add `affs.mod'.
51579 (affs_mod_SOURCES): New variable.
51580 (affs_mod_CFLAGS): Likewise.
51581 (affs_mod_LDFLAGS): Likewise.
51583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
51584 (pkgdata_MODULES): Add `affs.mod'.
51585 (affs_mod_SOURCES): New variable.
51586 (affs_mod_CFLAGS): Likewise.
51588 * util/grub-emu.c (main): Call `grub_affs_init' and
51591 * include/grub/fs.h (grub_affs_init): New prototype.
51592 (grub_affs_fini): Likewise.
51594 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51596 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
51598 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
51600 * configure.ac: Accept `x86_64' as host_cpu. In that case add
51603 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
51606 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
51607 (COMMON_LDFLAGS): New variable.
51608 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
51609 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
51610 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
51611 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
51612 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
51613 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
51614 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
51615 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
51616 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
51617 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
51618 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
51619 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
51620 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
51621 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
51622 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
51624 (normal_mod_ASFLAGS): Add `-m32'.
51626 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
51627 (grub_host_size_t, grub_host_ssize_t): New types.
51628 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
51629 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
51630 `GRUB_HOST_SIZEOF_VOID_P'.
51632 * include/grub/kernel.h (struct grub_module_header): Type of
51633 member offset changed to `grub_host_off_t'. Type of member size
51634 changed to `grub_host_size_t'.
51635 (struct grub_module_info): Type of member offset changed to
51636 `grub_host_off_t'. Type of member size changed to
51637 `grub_host_size_t'.
51639 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
51641 Make GRUB's kernel compliant to Multiboot Specification.
51643 * kern/i386/pc/startup.S (multiboot_header): New label.
51644 (multiboot_entry): Likewise.
51645 (multiboot_trampoline): Likewise.
51647 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
51648 Increased to 0x4A0.
51650 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
51651 put parentheses after a question mark.
51652 [!GRUB_UTIL] (my_mod): New variable.
51654 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
51656 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
51658 Adds support for the XFS filesystem. Btrees are not supported
51661 * fs/xfs.c: New file.
51663 * DISTLIST: Added `fs/xfs.c'.
51665 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
51666 (grub_probefs_SOURCES): Likewise.
51667 (grub_emu_SOURCES): Likewise.
51668 (pkgdata_MODULES): Add `xfs.mod'.
51669 (xfs_mod_SOURCES): New variable.
51670 (xfs_mod_CFLAGS): Likewise.
51672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
51673 (pkgdata_MODULES): Add `xfs.mod'.
51674 (xfs_mod_SOURCES): New variable.
51675 (xfs_mod_CFLAGS): Likewise.
51677 * util/grub-emu.c (main): Call `grub_xfs_init' and
51680 * include/grub/fs.h (grub_xfs_init): New prototype.
51681 (grub_xfs_fini): Likewise.
51684 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
51686 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
51687 color modes, allow greater than 16 colors to be configured as
51690 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
51692 * normal/completion.c (complete_arguments): Add the qualifier
51693 const into OPTIONS.
51695 From Omniflux <omniflux+lists@omniflux.com>:
51696 * include/grub/terminfo.h: New file.
51697 * include/grub/tparm.h: Likewise.
51698 * include/grub/i386/pc/serial.h: Likewise.
51699 * term/terminfo.c: Likewise.
51700 * term/tparm.c: Likewise.
51701 * term/i386/pc/serial.c: Likewise.
51702 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
51704 (terminfo_mod_SOURCES): New variable.
51705 (terminfo_mod_CFLAGS): Likewise.
51706 (serial_mod_SOURCES): Likewise.
51707 (serial_mod_CFLAGS): Likewise.
51709 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
51711 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
51712 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
51713 and kern/powerpc/ieee1275/cmain.c, respectively.
51715 * boot/powerpc/ieee1275/crt0.S: Moved to ...
51716 * kern/powerpc/ieee1275/crt0.S: ... here.
51718 * boot/powerpc/ieee1275/cmain.c: Moved to ...
51719 * kern/powerpc/ieee1275/cmain.c: ... here.
51721 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
51722 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
51723 instead of boot/powerpc/ieee1275/crt0.S and
51724 boot/powerpc/ieee1275/cmain.c, respectively.
51726 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
51727 sectors. It was not used anyway.
51729 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51731 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
51732 `unused parameter' warning.
51734 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
51736 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
51738 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
51741 2005-08-28 Marco Gerards <metgerards@student.han.nl>
51743 * include/grub/normal.h (enum grub_completion_type): Added
51744 `GRUB_COMPLETION_TYPE_ARGUMENT'.
51746 * normal/cmdline.c (print_completion): Handle
51747 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
51748 * normal/menu_entry.c (store_completion): Likewise.
51750 * normal/completion.c (complete_arguments): New function.
51751 (grub_normal_do_completion): Call `complete_arguments' when the
51752 current words start with a dash.
51754 2005-08-27 Marco Gerards <metgerards@student.han.nl>
51756 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
51757 `gzio.mod' instead of `io.mod').
51759 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
51761 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
51762 (DISTDIRS): Added io and video.
51763 Rewrite the search routine to make an output consistently.
51765 * DISTLIST: Added conf/sparc64-ieee1275.mk,
51766 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
51767 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
51768 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
51769 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
51770 util/powerpc/ieee1275/misc.c.
51772 * include/grub/gzio.h: New file.
51773 * io/gzio.c: Likewise.
51775 * kern/file.c (grub_file_close): Call grub_device_close only if
51776 FILE->DEVICE is not NULL.
51778 * include/grub/mm.h [!NULL] (NULL): New macro.
51780 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
51782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
51783 (pkgdata_MODULES): Added gzio.mod.
51784 (gzio_mod_SOURCES): New variable.
51785 (gzio_mod_CFLAGS): Likewise.
51787 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
51788 (pkgdata_MODULES): Added gzio.mod.
51789 (gzio_mod_SOURCES): New variable.
51790 (gzio_mod_CFLAGS): Likewise.
51792 * commands/cat.c: Include grub/gzio.h.
51793 (grub_cmd_cat): Use grub_gzfile_open instead of
51796 * commands/cmp.c: Include grub/gzio.h.
51797 (grub_cmd_cmp): Use grub_gzfile_open instead of
51800 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
51801 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
51803 (grub_rescue_cmd_module): Likewise.
51805 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51807 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
51808 kern/sparc64/ieee1275/init.c because it contains _start.
51809 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
51811 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
51813 * configure.ac: Add support for sparc64 host with ieee1275
51815 * configure: Generated from configure.ac.
51816 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
51818 (grub_ofdisk_read): Likewise.
51819 (grub_ofdisk_open): Use %p to print pointer values, and cast the
51820 pointers as (void *) to remove a warning.
51821 (grub_ofdisk_close): Likewise.
51822 (grub_ofdisk_read): Likewise.
51823 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
51824 returns, so make it return void to remove a warning.
51825 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
51826 Corresponding prototype change.
51827 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
51828 values, and cast the pointers as (void *) to remove a warning.
51829 (grub_mm_dump): Likewise.
51830 * conf/sparc64-ieee1275.mk: New file.
51831 * conf/sparc64-ieee1275.rmk: Likewise.
51832 * include/grub/sparc64/setjmp.h: Likewise.
51833 * include/grub/sparc64/types.h: Likewise.
51834 * include/grub/sparc64/ieee1275/console.h: Likewise.
51835 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
51836 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
51837 * include/grub/sparc64/ieee1275/time.h: Likewise.
51838 * kern/sparc64/cache.c: Likewise.
51839 * kern/sparc64/dl.c: Likewise.
51840 * kern/sparc64/ieee1275/init.c: Likewise.
51841 * kern/sparc64/ieee1275/openfw.c: Likewise.
51843 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51845 * util/console.c (grub_ncurses_putchar): If C is greater than
51846 0x7f, set C to a question mark.
51847 (grub_ncurses_getcharwidth): New function.
51848 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
51851 * normal/menu.c (print_entry): Made aware of Unicode. First,
51852 convert TITLE to UCS-4, and predict the cursor position by
51855 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
51857 * kern/misc.c (grub_utf16_to_utf8): Likewise.
51859 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51861 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
51862 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51865 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
51866 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
51867 grub_strcpy and grub_strlen. Take it into account that a space
51868 character is inserted as a delimiter.
51870 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51872 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
51873 invalid magic in the error.
51875 * commands/search.c: New file.
51877 * util/grub-emu.c (main): Call grub_search_init and
51880 * kern/rescue.c (grub_rescue_print_disks): Removed.
51881 (grub_rescue_print_devices): New function.
51882 (grub_rescue_cmd_ls): Use grub_device_iterate with
51883 grub_rescue_print_devices instead of grub_disk_dev_iterate with
51884 grub_rescue_print_disks.
51886 * kern/partition.c (grub_partition_iterate): Return the result of
51887 PARTMAP->ITERATE instead of GRUB_ERRNO.
51889 * kern/device.c: Include grub/partition.h.
51890 (grub_device_iterate): New function.
51892 * include/grub/partition.h (grub_partition_iterate): Return int
51893 instead of grub_err_t.
51895 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
51897 [GRUB_UTIL] (grub_search_fini): Likewise.
51899 * include/grub/device.h (grub_device_iterate): New prototype.
51901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51903 (pkgdata_MODULES): Added search.mod.
51904 (search_mod_SOURCES): New variable.
51905 (search_mod_CFLAGS): Likewise.
51907 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
51908 (pkgdata_MODULES): Added search.mod.
51909 (search_mod_SOURCES): New variable.
51910 (search_mod_CFLAGS): Likewise.
51912 * commands/ls.c (grub_ls_list_disks): Renamed to ...
51913 (grub_ls_list_devices): ... this, and use grub_device_iterate.
51914 All callers changed.
51916 * DISTLIST: Added commands/search.c.
51918 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
51920 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
51922 (grub_getcharwidth): New function.
51924 * kern/misc.c (grub_utf8_to_ucs4): New function.
51926 * include/grub/term.h (struct grub_term): Added a new member
51928 (grub_getcharwidth): New prototype.
51930 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
51932 * term/i386/pc/console.c (map_char): New function. Segregated from
51933 grub_console_putchar.
51934 (grub_console_putchar): Use map_char.
51935 (grub_console_getcharwidth): New function.
51936 (grub_console_term): Specified grub_console_getcharwidth as
51939 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
51940 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
51942 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
51944 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
51945 on grub_strtoul completely.
51946 (write_char): Declare local variables in the beginning of the
51948 (grub_vesafb_getcharwidth): New function.
51949 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
51952 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
51954 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
51955 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
51956 commands/i386/pc/vbetest.c.
51958 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
51959 call grub_vbe_get_controller_info again, because the returned
51960 information is volatile.
51961 (grub_vbe_set_video_mode): Mostly rewritten.
51962 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
51963 grub_vbe_status_t correctly.
51964 (grub_vbe_get_video_mode_info): Likewise.
51965 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
51966 several if statements.
51968 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
51969 * commands/i386/pc/vbeinfo.c: ... this.
51971 * commands/i386/pc/vbe_test.c: Renamed to ...
51972 * commands/i386/pc/vbetest.c: ... this.
51974 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
51976 (grub_cmd_vbeinfo): ... this. Save video modes before
51977 iterating. Skip a video mode, if it is not available, not enough
51978 information is given or it is monochrome. Show the memory
51979 model. Leave the interpretation of MODEVAR to grub_strtoul
51981 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
51982 (GRUB_MOD_FINI): Likewise.
51984 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
51985 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
51986 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
51987 duplicated grub_env_get. Leave the interpretation of MODEVAR to
51988 grub_strtoul completely.
51989 (real2pm): Removed.
51990 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
51991 (GRUB_MOD_FINI): Likewise.
51993 * normal/misc.c: Include grub/mm.h.
51995 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
51996 vbe_list_modes with vbetest.mod and vbeinfo.mod.
51997 (vbe_list_modes_mod_SOURCES): Removed.
51998 (vbe_list_modes_mod_CFLAGS): Likewise.
51999 (vbe_test_mod_SOURCES): Likewise.
52000 (vbe_test_mod_CFLAGS): Likewise.
52001 (vbeinfo_mod_SOURCES): New variable.
52002 (vbeinfo_mod_CFLAGS): Likewise.
52003 (vbetest_mod_SOURCES): Likewise.
52004 (vbetest_mod_CFLAGS): Likewise.
52006 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
52008 * normal/misc.c: New file.
52010 * DISTLIST: Added normal/misc.c.
52012 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
52013 DISK to HOOK. Call HOOK with DISK.
52014 * partmap/apple.c (apple_partition_map_iterate): Likewise.
52015 * partmap/pc.c (pc_partition_map_iterate): Likewise.
52016 * partmap/sun.c (sun_partition_map_iterate): Likewise.
52018 * normal/menu_entry.c (struct screen): Added a new member
52019 "completion_shown".
52020 (completion_buffer): New global variable.
52021 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
52022 (store_completion): New function.
52023 (complete): Likewise.
52024 (clear_completions): Likewise.
52025 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
52026 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
52027 a tab, call complete.
52029 * normal/completion.c (disk_dev): Removed.
52030 (print_simple_completion): Likewise.
52031 (print_partition_completion): Likewise.
52032 (print_func): New global variable.
52033 (add_completion): Do not take the arguments WHAT or PRINT any
52034 longer. Added a new argument TYPE. Instead of printing directly,
52035 call PRINT_FUNC if not NULL.
52036 All callers changed.
52037 (complete_device): Use a local variable DEV instead of
52038 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
52039 (grub_normal_do_completion): Take a new argument HOOK. Do not
52040 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
52041 empty string, return NULL instead.
52042 All callers changed.
52044 * normal/cmdline.c (print_completion): New function.
52046 * kern/partition.c (grub_partition_iterate): Add an argument DISK
52048 All callers changed.
52050 * kern/disk.c (grub_print_partinfo): Removed.
52052 * include/grub/partition.h (struct grub_partition_map): Add a new
52053 argument DISK into HOOK of ITERATE.
52054 (grub_partition_iterate): Add a new argument DISK to HOOK.
52056 * include/grub/normal.h (enum grub_completion_type): New enum.
52057 (grub_completion_type_t): New type.
52058 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
52059 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
52060 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
52061 (GRUB_COMPLETION_TYPE_FILE): Likewise.
52062 (grub_normal_do_completion): Added a new argument HOOK.
52063 (grub_normal_print_device_info): New prototype.
52065 * include/grub/disk.h (grub_print_partinfo): Removed.
52067 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
52068 (normal_mod_SOURCES): Likewise.
52069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
52070 (normal_mod_SOURCES): Likewise.
52072 * commands/ls.c (grub_ls_list_disks): Use
52073 grub_normal_print_device_info instead of grub_print_partinfo. Free
52075 (grub_ls_list_files): Use grub_normal_print_device_info instead of
52076 duplicating the code.
52078 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52080 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
52081 follow GCS more precisely.
52082 * commands/i386/pc/vbe_test.c: Likewise.
52083 * include/grub/i386/pc/vbe.h: Likewise.
52084 * term/i386/pc/vesafb.c: Likewise.
52085 * video/i386/pc/vbe.c: Likewise.
52087 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
52089 * DISTLIST: Added term/i386/pc/vesafb.c
52090 DISTLIST: Added video/i386/pc/vbe.c
52091 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
52092 DISTLIST: Added commands/i386/pc/vbe_test.c.
52093 * commands/i386/pc/vbe_list_modes.c: New file.
52094 * commands/i386/pc/vbe_test.c: Likewise.
52095 * term/i386/pc/vesafb.c: Likewise.
52096 * video/i386/pc/vbe.c: Likewise.
52097 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
52098 (grub_vbe_probe) Added prototype.
52099 (grub_vbe_set_video_mode) Likewise.
52100 (grub_vbe_get_video_mode) Likewise.
52101 (grub_vbe_get_video_mode_info) Likewise.
52102 (grub_vbe_set_pixel_rgb) Likewise.
52103 (grub_vbe_set_pixel_index) Likewise.
52104 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
52105 (pkgdata_MODULES): Added vesafb.mod.
52106 (pkgdata_MODULES): Added vbe_list_modes.mod.
52107 (pkgdata_MODULES): Added vbe_test.mod.
52108 (vbe_mod_SOURCES): Added.
52109 (vbe_mod_CFLAGS): Likewise.
52110 (vesafb_mod_SOURCES): Likewise.
52111 (vesafb_mod_CFLAGS): Likewise.
52112 (vbe_list_modes_mod_SOURCES): Likewise.
52113 (vbe_list_modes_mod_CFLAGS): Likewise.
52114 (vbe_test_mod_SOURCES): Likewise.
52115 (vbe_test_mod_CFLAGS): Likewise.
52117 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
52119 * normal/command.c (grub_command_execute): If INTERACTIVE is
52120 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
52121 CMDLINE. Disable the pager if INTERACTIVE is true.
52122 All callers are changed.
52124 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
52125 before reading a config file.
52126 * normal/main.c (read_config_file): Even if a command is not
52127 found, register it if it is within an entry.
52129 * util/grub-emu.c: Include sys/types.h and unistd.h.
52130 (options): Added --hold.
52131 (struct arguments): Added a new member "hold".
52132 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
52134 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
52135 cleared by a debugger, if it is not zero.
52137 * include/grub/normal.h (grub_command_execute): Add an argument
52140 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
52142 * DISTLIST: Added include/grub/i386/pc/vbe.h.
52144 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
52146 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
52147 program with another one, because the old one didn't detect a bug
52148 in gcc-3.4. Always use regparm 2, because the new test is still
52149 not enough for gcc-4.0. Someone must investigate a simple test
52150 case which detects a bug in gcc-4.0.
52152 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
52154 * DISTLIST: Added normal/completion.c.
52156 * normal/completion.c: New file.
52158 * term/i386/pc/console.c (grub_console_getwh): New function.
52159 (grub_console_term): Assign grub_console_getwh to getwh.
52161 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
52162 function is defined in normal/completion.c as
52163 grub_normal_do_completion.
52164 (grub_cmdline_get): Use grub_normal_do_completion instead of
52167 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
52168 returns non-zero, otherwise return 0.
52169 (grub_partition_iterate): First, probe the partition map. Then,
52170 call ITERATE only for this partition map.
52172 * kern/misc.c (grub_strncmp): Rewritten.
52174 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
52175 returns non-zero. Otherwise return 0.
52177 * include/grub/partition.h (grub_partition_map_iterate): Return
52178 int instead of void.
52180 * include/grub/normal.h (grub_normal_do_completion): New prototype.
52182 * include/grub/misc.h (grub_strncmp): Change the type of N to
52185 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
52188 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
52189 unsigned explicitly before comparing it with I.
52191 * kern/main.c (grub_env_write_root): Add the attribute unused into
52194 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52195 normal/completion.c.
52196 (normal_mod_SOURCES): Likewise.
52197 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
52198 (normal_mod_SOURCES): Likewise.
52200 * normal/command.c (grub_iterate_commands): If ITERATE returns
52201 non-zero, return one immediately.
52203 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
52205 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
52206 * kern/i386/pc/startup.S: Updated Global Descriptor table's
52208 (grub_vbe_get_controller_info): New function.
52209 (grub_vbe_get_mode_info): Likewise.
52210 (grub_vbe_set_mode): Likewise.
52211 (grub_vbe_get_mode): Likewise.
52212 (grub_vbe_set_memory_window): Likewise.
52213 (grub_vbe_get_memory_window): Likewise.
52214 (grub_vbe_set_scanline_length): Likewise.
52215 (grub_vbe_get_scanline_length): Likewise.
52216 (grub_vbe_set_display_start): Likewise.
52217 (grub_vbe_get_display_start): Likewise.
52218 (grub_vbe_set_palette_data): Likewise.
52219 * include/grub/i386/pc/vbe.h: New file.
52221 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52223 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52224 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
52225 * DISTLIST: Likewise.
52226 * kern/ieee1275/of.c: Moved to ...
52227 * kern/ieee1275/ieee1275.c: ... here.
52229 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52231 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
52232 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
52233 Pass 0 as `end' parameter to grub_strtoul().
52235 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
52237 * include/grub/powerpc/ieee1275/console.h: Do not include
52238 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
52240 (grub_console_cur_color): Remove i386-specific prototype.
52241 (grub_console_real_putchar): Likewise.
52242 (grub_console_checkkey): Likewise.
52243 (grub_console_getkey): Likewise.
52244 (grub_console_getxy): Likewise.
52245 (grub_console_gotoxy): Likewise.
52246 (grub_console_cls): Likewise.
52247 (grub_console_setcursor): Likewise.
52248 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
52249 Include <grub/machine/console.h>.
52250 * term/ieee1275/ofconsole.c: Likewise.
52252 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
52254 * Makefile.in (LIBLZO): New variable.
52256 * configure.ac: Check for LZO version 2.
52258 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
52259 lzo/lzo1x.h instead of lzo1x.h.
52261 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
52264 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
52265 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
52267 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
52268 copying the data from PARTITION to P.
52270 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52272 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
52273 negative, unload the module.
52275 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
52276 map is "pc_partition_map" but not "pc".
52277 (usage): Fix the description. The options are --boot-image and
52278 --core-image but not --boot-file or --core-file.
52279 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
52280 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
52283 * util/i386/pc/grub-install.in: Do not specify --boot-file or
52284 --core-file. Specify INSTALL_DEVICE as an argument.
52286 * util/console.c: Include config.h.
52287 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
52288 [HAVE_NCURSES_H]: Include ncurses.h.
52289 [HAVE_CURSES_H]: Include curses.h.
52290 [!A_NORMAL] (A_NORMAL): Defined as zero.
52291 [!A_STANDOUT] (A_STANDOUT): Likewise.
52293 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
52295 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
52297 * configure.ac: Check for curses libraries and headers.
52299 * Makefile.in (LIBCURSES): New variable.
52301 * genmk.rb (Script::rule): Set the executable bits.
52303 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
52304 name of the PC partition map is "pc_partition_map" but not "pc".
52306 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52308 * util/i386/pc/grub-install.in (grub_probefs): New variable.
52309 (modules): Likewise.
52310 (usage): Added descriptions for --modules and --grub-probefs.
52311 Handle --modules and --grub-probefs. Save the arguments in MODULES
52312 and GRUB_PROBEFS, respectively.
52313 Auto-detect a filesystem module against GRUBDIR. If the result is
52314 empty and modules are not specified explicitly, abort the
52315 installation. Add the result to MODULES.
52317 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
52318 disk/powerpc/ieee1275/ofdisk.c,
52319 include/grub/powerpc/ieee1275/init.h and
52320 term/powerpc/ieee1275/ofconsole.c.
52321 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
52322 term/ieee1275/ofconsole.c.
52324 * include/grub/powerpc/ieee1275/console.h: Resurrected.
52326 * COPYING: Upgraded to the latest version. Only the address of the
52327 FSF office has changed.
52329 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
52331 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
52332 kern/ieee1275.c with kern/ieee1275/of.c.
52334 * kern/ieee1275.c: Moved to ...
52335 * kern/ieee1275/of.c: ... here.
52337 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
52339 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
52342 * config.guess: Updated to the latest version from gnulib.
52343 * config.sub: Likewise.
52344 * install.sh: Likewise.
52345 * mkinstalldirs: Likewise.
52347 * include/grub/console.h: Removed. This file is arch-specific. Do
52348 not put this in include/grub.
52350 * include/grub/i386/pc/console.h: Resurrected.
52352 * util/console.c: Include grub/machine/console.h instead of
52354 * util/grub-emu.c: Likewise.
52356 2005-08-04 Marco Gerards <metgerards@student.han.nl>
52358 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
52361 From Vincent Pelletier <subdino2004@yahoo.fr>
52362 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
52363 Redefined to use grub_getwh.
52364 (grub_term): New member named getwh.
52365 (grub_getwh): New prototype.
52366 * kern/term.c (grub_getwh): New function.
52367 * term/i386/pc/console.c (grub_console_getwh): New function.
52368 (grub_console_term): New member `getwh'.
52369 * term/i386/pc/vga.c (grub_vga_getwh): New function.
52370 (grub_vga_term): New member `getwh'.
52371 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
52373 (grub_ofconsole_getw): New function.
52374 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
52375 (grub_ofconsole_term): New field named getwh and new initial
52378 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
52380 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
52381 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
52382 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
52383 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
52384 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
52385 of <grub/machine/ieee1275.h>.
52386 * commands/ieee1275/reboot.c: Likewise.
52387 * boot/powerpc/ieee1275/ieee1275.c: Move ...
52388 * kern/ieee1275.c: ... to here. All users updated. Change all
52389 parameter structs to use new type `grub_ieee1275_cell_t'.
52390 * term/powerpc/ieee1275/ofconsole.c: Move ...
52391 * term/ieee1275/ofconsole.c: ... to here. All users updated.
52392 * disk/powerpc/ieee1275/ofdisk.c: Move ...
52393 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
52394 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
52396 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
52397 Remove unused prototypes. All users updated.
52398 * include/grub/powerpc/ieee1275/console.h: Removed.
52399 * include/grub/powerpc/ieee1275/ieee1275.h: Define
52400 `grub_ieee1275_cell_t'.
52401 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
52402 Cast comparisons with -1 to the correct type.
52403 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
52404 type to match `grub_ieee1275_entry_fn'.
52406 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
52408 * DISTLIST: Added util/i386/pc/grub-probefs.c.
52410 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
52411 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
52413 (grub_probefs_SOURCES): New variable.
52415 * util/i386/pc/grub-probefs.c: New file.
52417 * util/i386/pc/grub-setup.c (main): Call
52418 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
52419 grub_hfs_init and grub_jfs_init to initialize the system. Call
52420 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
52421 grub_pc_partition_map_fini to finish the system.
52423 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
52425 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
52427 (grub_multiboot_load_elf32): Likewise.
52428 (grub_multiboot_is_elf64): Likewise.
52429 (grub_multiboot_load_elf64): Likewise.
52430 (grub_multiboot_load_elf): Likewise.
52431 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
52432 an ELF32 or ELF64 file.
52433 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
52435 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
52436 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
52437 NULL before calling FS->LABEL.
52438 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
52439 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
52440 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
52441 before calling FS->LABEL.
52443 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
52445 * util/i386/pc/grub-install.in (datadir): New variable.
52447 (pkgdatadir): New variable.
52448 (pkglibdir): Removed.
52450 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
52452 * DISTLIST: Added util/i386/pc/grub-install.in.
52454 * util/i386/pc/grub-install.in: New file.
52456 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
52457 (grub_install_SOURCES): Likewise.
52459 * genmk.rb: Added support for scripts.
52460 (Script): New class.
52461 (scripts): New variable.
52463 * Makefile.in (install-local): Install sbin_SCRIPTS by
52465 (uninstall): Remove sbin_SCRIPTS.
52467 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
52468 device, try to get a GRUB device by
52469 grub_util_biosdisk_get_grub_dev.
52472 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
52473 description for --device-map.
52475 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52477 Change the semantics of variable hooks. They now return strings
52478 instead of error values.
52480 * util/i386/pc/grub-setup.c: Include grub/env.h.
52481 (setup): Use grub_device_set_root instead of grub_env_set.
52483 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
52484 grub_env_get instead of grub_device_set_root and
52485 grub_device_get_root, respectively.
52487 * kern/main.c (grub_env_write_root): New function.
52488 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
52489 grub_env_set instead of grub_device_set_root.
52491 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
52493 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
52494 rather than calling ENV->WRITE_HOOK afterwards.
52495 (grub_env_get): Return the result of ENV->READ_HOOK rather than
52496 passing a pointer of a pointer.
52497 (grub_register_variable_hook): Change the types of "read_hook" and
52498 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
52500 Allocate the default empty string on the heap, because this string
52501 may be freed later.
52503 * kern/device.c: Include grub/env.h.
52504 (grub_device_set_root): Removed.
52505 (grub_device_get_root): Likewise.
52506 (grub_device_open): Use grub_env_get instead of
52507 grub_device_get_root.
52509 * include/grub/env.h (grub_env_read_hook_t): New type.
52510 (grub_env_write_hook_t): Likewise.
52511 (grub_env_var): Change the types of "read_hook" and "write_hook"
52512 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
52513 (grub_register_variable_hook): Likewise.
52515 * include/grub/device.h (grub_device_set_root): Removed.
52516 (grub_device_set_root): Likewise.
52518 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
52519 make sure that DIRNAME terminates with '/', so that
52520 grub_fat_find_dir will fail if PATH is not a directory.
52522 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
52524 Use the qualifier auto for print_files and print_files_long.
52525 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
52527 Put a newline only if there is no error.
52528 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
52531 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
52533 * kern/partition.c (grub_partition_probe): Initialize PART to
52534 NULL. Otherwise, when no partition map is registered, this returns
52537 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
52539 * partmap/apple.c (apple_partition_map_iterate): Check if POS
52540 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
52543 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
52545 * commands/ls.c (grub_ls_list_disks): Print the filesystem
52546 information on each device, if it does not have partitions. Print
52547 "Device" instead of "Disk", because this function is not specific
52550 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
52551 static to ensure that it is put on the memory rather than a
52554 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52556 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
52557 (grub_cat_init): Likewise.
52558 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
52559 (options): Likewise.
52560 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
52561 (grub_configfile_init): Likewise.
52562 * font/manager.c (GRUB_MOD_INIT): Likewise.
52563 * commands/help.c (GRUB_MOD_INIT): Likewise.
52564 (grub_help_init): Likewise.
52565 * normal/command.c (grub_command_init): Likewise.
52566 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
52567 * disk/loopback.c (grub_loop_init): Likewise.
52568 (GRUB_MOD_INIT): Likewise.
52569 * commands/ls.c (grub_ls_init): Likewise.
52570 (GRUB_MOD_INIT): Likewise.
52571 (options): Likewise.
52572 * commands/boot.c (grub_boot_init): Likewise.
52573 (GRUB_MOD_INIT): Likewise.
52574 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
52575 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
52576 (GRUB_MOD_INIT): Likewise.
52577 * commands/cmp.c (grub_cmp_init): Likewise.
52578 (GRUB_MOD_INIT): Likewise.
52580 * normal/arg.c: Use <> instead of "" to include header files.
52581 (SHORT_ARG_HELP): New macro.
52582 (SHORT_ARG_USAGE): Likewise.
52583 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
52584 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
52586 (find_short): Check if C is 'h' or 'u' explicitly.
52587 (grub_arg_show_help): Use space characters instead of tabs. Treat
52588 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
52589 are shown with --help and --usage only if they are not used for
52590 the command itself.
52591 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
52594 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
52595 const into "longarg". Change the type of "shortarg" to int.
52597 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52599 * boot/i386/pc/boot.S (boot_drive_check): New label.
52601 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
52604 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
52605 which do not pass a boot drive correctly. Copied from GRUB Legacy.
52607 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52609 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
52610 When turning off Gate A20, skip the check and return immediately,
52611 because this is not fatal usually.
52613 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
52615 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
52616 be 0x7C00 instead of 0x8000.
52618 * boot/i386/pc/pxeboot.S: Rewritten.
52620 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
52622 (gate_a20_check_state): Read a byte from 0x108000. Invert the
52625 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
52627 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
52628 robustness. This routine now supports a BIOS call and System
52629 Control Port A to modify the gate A20.
52631 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
52632 Increased to 0x440.
52634 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
52636 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
52637 device path and resulting ihandle.
52638 (grub_ofdisk_close): dprintf the ihandle being closed.
52639 (grub_ofdisk_read): dprintf function parameters.
52640 * kern/mm.c (grub_mm_init_region): Likewise.
52641 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
52642 (grub_linux_boot): dprintf the Linux entry point, initrd address and
52643 size, and boot arguments.
52644 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
52645 before loading into memory.
52646 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
52647 before loading into memory.
52649 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
52651 * kern/mm.c: Added much documentation.
52652 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
52653 8, set to 5 instead of 8.
52655 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52657 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
52659 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
52660 (grub_mkdevicemap_SOURCES): New variable.
52662 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
52663 lib/device.c of GRUB Legacy.
52665 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
52667 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
52668 instead of PATH is NULL.
52670 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
52672 * commands/cmp.c (BUFFER_SIZE): New macro.
52673 (grub_cmd_cmp): Close the right file at the right time. Compare
52674 only data just read. Don't report files of different size as
52675 identical. Dynamically allocate buffers. Move variable
52676 declarations at the beginning of function.
52678 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
52680 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
52683 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
52685 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
52686 when backspace is pressed at beginning of line.
52688 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
52690 * DISTLIST: Added genfslist.sh.
52692 * normal/main.c (fs_module_list): New variable.
52693 (autoload_fs_module): New function.
52694 (read_fs_list): Likewise.
52695 (grub_normal_execute): Call read_fs_list.
52697 * kern/fs.c (grub_fs_autoload_hook): New variable.
52698 (grub_fs_probe): Added support for auto-loading.
52700 * include/grub/normal.h (struct grub_fs_module_list): New struct.
52701 (grub_fs_module_list_t): New type.
52703 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
52704 (grub_fs_autoload_hook): New prototype.
52706 * genfslist.sh: New file.
52708 * genmk.rb: Added a rule to generate a filesystem list.
52710 2005-06-30 Marco Gerards <metgerards@student.han.nl>
52712 * configure.ac: Fix the test for cross-compiling.
52714 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
52715 define GRUB_UTIL anymore.
52717 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
52718 so this function works on other systems than just big endian.
52719 (load_modules): Likewise.
52720 (add_segments): Likewise.
52722 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
52724 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
52725 contains `l' modifier, get a long from va_arg().
52727 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
52729 * kern/mm.c (grub_free): If the next free block which is being
52730 merged is the first free block, set the first block to the block
52732 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
52734 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52736 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
52737 `grub_ieee1275_chosen'.
52739 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
52741 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
52742 (grub_ieee1275_chosen): New variable.
52743 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
52745 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
52746 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52747 Rename first argument to `phandle' for consistency.
52748 (grub_ieee1275_get_property_length): Likewise.
52749 (grub_ieee1275_next_property): Likewise. Change type of first argument
52750 to grub_ieee1275_phandle_t.
52751 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
52752 Move export next to declaration.
52753 (grub_ieee1275_chosen): New variable.
52754 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
52755 Correct cosmetic typo.
52756 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
52757 `grub_ieee1275_chosen'.
52758 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
52759 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
52760 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
52761 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
52762 `grub_ieee1275_chosen'.
52764 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
52766 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
52768 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
52769 /chosen/bootargs as "variable=value" pairs.
52771 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
52773 * include/grub/misc.h (grub_dprintf): New macro.
52774 (grub_real_dprintf): New prototype.
52775 (grub_strword): Likewise.
52776 (grub_iswordseparator): Likewise.
52777 * kern/misc.c (grub_real_dprintf): New function.
52778 (grub_strword): Likewise.
52779 (grub_iswordseparator): Likewise.
52781 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
52783 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
52784 (roundup): Remove macro.
52785 (grub_ieee1275_flags): Make static.
52786 (grub_ieee1275_realmode): Remove.
52787 (grub_ieee1275_test_flag): New function.
52788 (grub_ieee1275_set_flag): Likewise.
52789 (find_options): Rename to `grub_ieee1275_find_options'; update
52790 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
52791 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
52792 (cmain): New prototype.
52793 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
52794 `grub_ieee1275_flags' directly.
52795 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
52796 machine/biosdisk.h.
52797 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
52798 Don't include grub/machine/init.h.
52799 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
52800 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
52802 (grub_ieee1275_realmode): Likewise.
52803 (grub_ieee1275_flag): New enum.
52804 (grub_ieee1275_test_flag): New prototype.
52805 (grub_ieee1275_set_flag): New prototype.
52806 * include/grub/powerpc/ieee1275/init.h: Remove file.
52807 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
52808 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
52809 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
52810 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
52812 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
52813 `grub_ieee1275_test_flag'.
52814 (grub_ieee1275_encode_devname): Likewise.
52816 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
52818 * include/grub/powerpc/ieee1275/ieee1275.h
52819 (grub_ieee1275_encode_devname): New prototype.
52820 (grub_ieee1275_get_filename): Likewise.
52821 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
52823 (grub_set_prefix): Likewise.
52824 (grub_machine_init): Call grub_set_prefix.
52825 * kern/powerpc/ieee1275/openfw.c: Fix typos.
52826 (grub_parse_type): New enum.
52827 (grub_ieee1275_get_devargs): New function.
52828 (grub_ieee1275_get_devname): Likewise.
52829 (grub_ieee1275_parse_args): Likewise.
52830 (grub_ieee1275_get_filename): Likewise.
52831 (grub_ieee1275_encode_devname): Likewise.
52833 2005-03-30 Marco Gerards <metgerards@student.han.nl>
52835 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
52836 `grub_loader_unset'.
52838 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
52840 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
52841 instead of grub_ieee1275_interpret.
52842 (grub_halt_init): New function.
52843 (grub_halt_fini): Likewise.
52844 (GRUB_MOD_INIT): Correct message grammar.
52845 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
52846 instead of grub_ieee1275_interpret.
52847 (grub_reboot_init): New function.
52848 (grub_reboot_fini): Likewise.
52849 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
52850 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
52851 util/i386/pc/misc.c with commands/ieee1275/halt.c,
52852 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
52853 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
52855 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
52857 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
52859 (grub_halt): Likewise.
52860 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
52861 (cmain): Remove __attribute__((unused)).
52862 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
52863 (grub_heap_len): Likewise.
52864 (grub_machine_fini): New function.
52865 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
52866 (grub_halt): Likewise.
52867 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
52869 * util/powerpc/ieee1275/misc.c: New file.
52871 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
52873 * DISTLIST: New file.
52874 * gendistlist.sh: Likewise.
52876 * Makefile.in (COMMON_DISTFILES): Removed.
52877 (BOOT_DISTFILES): Likewise.
52878 (CONF_DISTFILES): Likewise.
52879 (DISK_DISTFILES): Likewise.
52880 (FS_DISTFILES): Likewise.
52881 (INCLUDE_DISTFILES): Likewise.
52882 (KERN_DISTFILES): Likewise.
52883 (LOADER_DISTFILES): Likewise.
52884 (TERM_DISTFILES): Likewise.
52885 (UTIL_DISTFILES): Likewise.
52886 (DISTFILES): Likewise.
52887 (uninstall): Uninstall files in $(pkgdata_DATA).
52888 (DISTLIST): New target.
52889 (distdir): Use the contents of the file DISTLIST to get a list of
52892 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
52894 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
52895 descriptor. This is ported from GRUB Legacy.
52897 * gencmdlist.sh: Added an extra semicolon to make it work with
52898 old sed versions. Reported by Robert Bihlmeyer
52899 <robbe@orcus.priv.at>.
52901 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
52903 Automatic loading of commands is supported.
52905 * normal/main.c (read_command_list): New function.
52906 (grub_normal_execute): Call read_command_list.
52908 * normal/command.c (grub_register_command): Return zero or CMD.
52909 Allocate CMD->NAME from the heap.
52910 Initialize CMD->MODULE_NAME to zero.
52911 Find the same name as well. If the same command is found and it is
52912 a dummy command, overwrite members. If it is not a dummy command,
52914 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
52915 (grub_command_find): If a dummy command is found, load a module
52916 and retry to find a command only once.
52918 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
52919 make sure that each command is loaded.
52921 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
52923 (struct grub_command): Remove const from the member `name'.
52924 Add a new member `module_name'.
52925 (grub_register_command): Return grub_command_t.
52927 * commands/help.c (grub_cmd_help): Call grub_command_find to make
52928 sure that each command is loaded.
52930 * genmk.rb (PModule::rule): Specify a module name without the
52931 suffix ".mod" to gencmdlist.sh.
52933 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52935 * gencmdlist.sh: New file.
52937 * genmk.rb (PModule::rule): Generate a rule for a command list.
52939 Generate command.lst from $(COMMANDFILES).
52941 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
52942 (DATA): Added $(pkgdata_DATA).
52943 (install-local): Install files in $(pkgdata_DATA).
52945 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
52947 * term/i386/pc/vga.c (debug_command): Removed.
52948 (GRUB_MOD_INIT): Do not register the command "debug".
52950 From Hollis Blanchard:
52951 * commands/configfile.c: New file.
52952 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
52953 commands/configfile.c.
52954 (pkgdata_MODULES): Added configfile.mod.
52955 (configfile_mod_SOURCES): New variable.
52956 (configfile_mod_CFLAGS): Likewise.
52957 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
52958 commands/configfile.c.
52959 (pkgdata_MODULES): Added configfile.mod.
52960 (configfile_mod_SOURCES): New variable.
52961 (configfile_mod_CFLAGS): Likewise.
52962 * util/grub-emu.c (main): Call grub_configfile_init and
52963 grub_configfile_fini.
52964 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
52966 [GRUB_UTIL] (grub_configfile_fini): Likewise.
52968 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52970 * normal/arg.c (grub_arg_show_help): Do not show the bug report
52973 * commands/help.c (grub_cmd_help): Do not print newlines after
52974 the last command in print_command_help.
52976 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
52978 * commands/default.h: New file.
52979 * commands/timeout.h: Likewise.
52980 * normal/context.c: Likewise.
52982 * util/misc.c: Do not include sys/times.h.
52983 Include sys/time.h and grub/machine/time.h.
52984 (grub_get_rtc): Rewritten with gettimeofday.
52986 * util/grub-emu.c (main): Call grub_default_init and
52987 grub_timeout_init before grub_normal_init, and call
52988 grub_timeout_fini and grub_default_fini after grub_main.
52990 * util/console.c (grub_ncurses_checkkey): Return the read
52993 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
52996 * normal/main.c (read_config_file): Push MENU. If this fails,
52997 print an error and wait for a user input.
52998 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
52999 If a menu is empty or an error occurs, pop MENU.
53000 (grub_normal_execute): Pop and free MENU after grub_menu_run
53003 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
53005 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
53007 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53009 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
53011 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
53014 * include/grub/normal.h (struct grub_menu_list): New struct.
53015 (grub_menu_list_t): New type.
53016 (struct grub_context): New struct.
53017 (grub_context_t): New type.
53018 (grub_register_command): Got rid of EXPORT_FUNC.
53019 (grub_unregister_command): Likewise.
53020 (grub_context_get): New prototype.
53021 (grub_context_get_current_menu): Likewise.
53022 (grub_context_push_menu): Likewise.
53023 (grub_context_pop_menu): Likewise.
53024 [GRUB_UTIL] (grub_default_init): Likewise.
53025 [GRUB_UTIL] (grub_default_fini): Likewise.
53026 [GRUB_UTIL] (grub_timeout_init): Likewise.
53027 [GRUB_UTIL] (grub_timeout_fini): Likewise.
53029 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
53030 commands/timeout.c and normal/context.c.
53031 (pkgdata_MODULES): Added default.mod and timeout.mod.
53032 (normal_mod_SOURCES): Added normal/context.c.
53033 (default_mod_SOURCES): New variable.
53034 (default_mod_CFLAGS): Likewise.
53035 (timeout_mod_SOURCES): Likewise.
53036 (timeout_mod_CFLAGS): Likewise.
53037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
53039 (pkgdata_MODULES): Added default.mod and timeout.mod.
53040 (normal_mod_SOURCES): Added normal/context.c.
53041 (default_mod_SOURCES): New variable.
53042 (default_mod_CFLAGS): Likewise.
53043 (timeout_mod_SOURCES): Likewise.
53044 (timeout_mod_CFLAGS): Likewise.
53046 * Makefile.in (all-local): Added $(MKFILES).
53048 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
53050 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
53051 (grub_emu_SOURCES): Likewise.
53052 (pkgdata_MODULES): Add `sun.mod'.
53053 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53056 (pkgdata_MODULES): Add `sun.mod'.
53057 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
53058 * include/grub/partition.h (grub_sun_partition_map_init): New
53060 (grub_sun_partition_map_fini): Likewise.
53061 * partmap/sun.c: New file.
53062 * util/grub-emu.c (main): Initialize and de-initialize the sun
53063 partitionmap support.
53065 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
53067 This implements an Emacs-like menu entry editor.
53069 * normal/menu_entry.c: New file.
53071 * util/console.c (grub_ncurses_putchar): Translate some Unicode
53072 characters to ASCII.
53073 (saved_char): New variable.
53074 (grub_ncurses_checkkey): Rewritten completely.
53075 (grub_ncurses_getkey): Likewise.
53076 (grub_ncurses_init): Call raw instead of cbreak.
53078 * normal/menu.c (print_entry): Do not put a space.
53079 (init_page): Renamed to ...
53080 (grub_menu_init_page): ... this. All callers changed.
53081 (edit_menu_entry): Removed.
53082 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
53084 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
53086 * kern/misc.c (grub_vprintf): Call grub_refresh.
53088 * normal/menu.c (DISP_LEFT): Renamed to ...
53089 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
53090 * normal/menu.c (DISP_UP): Renamed to ...
53091 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
53092 * normal/menu.c (DISP_RIGHT): Renamed to ...
53093 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
53094 * normal/menu.c (DISP_DOWN): Renamed to ...
53095 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
53096 * normal/menu.c (DISP_HLINE): Renamed to ...
53097 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
53098 * normal/menu.c (DISP_VLINE): Renamed to ...
53099 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
53100 * normal/menu.c (DISP_UL): Renamed to ...
53101 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
53102 * normal/menu.c (DISP_UR): Renamed to ...
53103 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
53104 * normal/menu.c (DISP_LL): Renamed to ...
53105 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
53106 * normal/menu.c (DISP_LR): Renamed to ...
53107 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
53108 * normal/menu.c (TERM_WIDTH): Renamed to ...
53109 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
53110 * normal/menu.c (TERM_HEIGHT): Renamed to ...
53111 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
53112 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
53113 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
53114 * normal/menu.c (TERM_MARGIN): Renamed to ...
53115 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
53116 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
53117 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
53118 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
53119 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
53120 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
53121 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
53122 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
53123 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
53124 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
53125 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
53126 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
53127 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
53128 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
53129 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
53130 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
53131 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
53132 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
53133 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
53134 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
53135 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
53136 All callers changed.
53138 * include/grub/normal.h: New prototype.
53140 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53141 normal/menu_entry.c.
53142 (normal_mod_SOURCES): Likewise.
53143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
53144 (normal_mod_SOURCES): Likewise.
53146 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
53148 * include/grub/normal.h (grub_halt_init): New prototype.
53149 (grub_halt_fini): Likewise.
53150 (grub_reboot_init): Likewise.
53151 (grub_reboot_fini): Likewise.
53153 * util/grub-emu.c: Include signal.h.
53154 (main_env): New global variable.
53155 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
53157 (grub_machine_fini): New function.
53158 (main): Call grub_halt_init and grub_reboot_init before
53159 grub_main, and grub_reboot_fini and grub_halt_fini after it.
53160 Call setjmp with MAIN_ENV to go back afterwards.
53161 Call grub_machine_fini right before return.
53163 * include/grub/util/misc.h: Include setjmp.h.
53164 (main_env): New prototype.
53166 * include/grub/kernel.h (grub_machine_fini): New prototype.
53167 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
53168 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
53170 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
53171 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
53172 * term/i386/pc/console.c (grub_console_fini): Likewise.
53174 * util/i386/pc/misc.c: New file.
53176 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
53177 util/i386/pc/misc.c, commands/i386/pc/halt.c and
53178 commands/i386/pc/reboot.c.
53180 2005-02-14 Guillem Jover <guillem@hadrons.org>
53182 * include/grub/dl.h (grub_dl_check_header): New prototype.
53183 (grub_arch_dl_check_header): Change return type to grub_err_t,
53184 remove size parameter and export function. Update all callers.
53185 * kern/dl.c (grub_dl_check_header): New function.
53186 (grub_dl_load_core): Use `grub_dl_check_header' instead of
53187 `grub_arch_dl_check_header'. Check ELF type. Check if sections
53188 are inside the core.
53189 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
53190 independent ELF header checks.
53191 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53192 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
53193 `grub_dl_check_header' instead of explicit checks. Check for the
53195 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
53196 `grub_dl_check_header' instead of explicit checks. Remove arch
53197 specific ELF header checks.
53199 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
53202 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
53204 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
53205 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
53207 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
53209 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
53210 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
53211 (part_map_iterate): Clear `grub_errno' and return 0 if
53212 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
53213 * partmap/amiga.c (amiga_partition_map_iterate): Return
53214 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
53215 * partmap/apple.c (apple_partition_map_iterate): Likewise.
53217 2005-02-01 Guillem Jover <guillem@hadrons.org>
53219 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
53222 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53224 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
53226 (grub_rescue_cmd_linux): New prototype.
53227 (grub_rescue_cmd_initrd): Likewise.
53228 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
53230 (grub_linux_release_mem): Release the memory for the initrd.
53231 (grub_load_linux): Renamed from this...
53232 (grub_rescue_cmd_linux): ...To this. Changed all callers.
53233 Changed `entry' not to be static. Loop over memory regions to
53234 find another one when the default fails.
53235 (grub_rescue_cmd_initrd): New function.
53236 (grub_linux_init): Remove function.
53237 (grub_linux_fini): Likewise.
53238 (GRUB_MOD_INIT): Register `initrd'.
53239 (GRUB_MOD_FINI): Unregister `initrd'.
53240 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
53242 (grub_linux_normal_fini): Likewise.
53243 (GRUB_MOD_INIT): Register `initrd'.
53244 (GRUB_MOD_FINI): Unregister `initrd'.
53246 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53248 * commands/help.c: New file.
53249 * normal/arg.c (show_help): Renamed to...
53250 (grub_arg_show_help): ... this.
53251 * commands/i386/pc/halt.c: New file.
53252 * commands/i386/pc/reboot.c: Likewise.
53253 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
53254 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
53255 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
53256 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
53258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53260 (pkgdata_MODULES): Add `help.mod'.
53261 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
53262 * grub/i386/pc/init.h (grub_reboot): New prototype.
53263 (grub_halt): Likewise.
53264 * include/grub/normal.h (grub_arg_show_help): New prototype.
53265 (grub_help_init): Likewise.
53266 (grub_help_fini): Likewise.
53267 * util/grub-emu.c (main): Initialize and deinitialize the help
53270 * normal/cmdline.c (grub_cmdline_get): Doc fix.
53272 * normal/command.c (grub_command_init): Fixed the description of
53273 the `set' and `unset' commands.
53275 2005-01-31 Marco Gerards <metgerards@student.han.nl>
53277 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
53279 * commands/ieee1275/halt.c: New file.
53280 * commands/ieee1275/reboot.c: Likewise.
53281 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
53282 `__attribute__ ((unused))'. Some GCS related fixed.
53283 (grub_suspend_init) [GRUB_UTIL]: Function removed.
53284 (grub_suspend_fini): Likewise.
53285 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
53287 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
53288 (halt_mod_CFLAGS): New variables.
53289 * include/grub/powerpc/ieee1275/ieee1275.h
53290 (grub_ieee1275_interpret): New prototype.
53292 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
53294 * include/grub/misc.h (memmove): New prototype.
53295 (memcpy): Likewise.
53297 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
53299 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
53300 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
53302 2005-01-22 Marco Gerards <metgerards@student.han.nl>
53304 * kern/misc.c (grub_strndup): Function rewritten.
53306 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
53308 * normal/menu.c (TERM_WIDTH): Macro redefined.
53309 (TERM_TOP_BORDER_Y): Likewise.
53310 (draw_border): Replaced while-loop by a for-loop. Make the number
53311 of lines consistent with the number of lines displayed in
53312 print_entries. Added a margin below the rectangle.
53313 (print_entry): Make the entry fit in the rectangle.
53314 (print_entries): Display the scroll arrows next to the right
53317 2005-01-21 Marco Gerards <metgerards@student.han.nl>
53319 * fs/minix.c (grub_minix_find_file): Reserve more space for
53320 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
53321 `grub_strncpy' to copy `path' into it.
53323 2005-01-21 Marco Gerards <metgerards@student.han.nl>
53325 Add the loopback device, a device via which files can be accessed
53328 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
53329 (pkgdata_MODULES): Add loopback.mod.
53330 (loopback_mod_SOURCES): New variable.
53331 (loopback_mod_CFLAGS): Likewise.
53332 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
53334 (pkgdata_MODULES): Add loopback.mod.
53335 (loopback_mod_SOURCES): New variable.
53336 (loopback_mod_CFLAGS): Likewise.
53337 * disk/loopback.c: new file.
53338 * include/grub/normal.h (grub_loop_init): New prototype.
53339 (grub_loop_fini): New prototype.
53340 * util/grub-emu.c (main): Initialize and de-initialize loopback
53342 * include/grub/disk.h (grub_disk_dev_id): Add
53343 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
53345 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
53347 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
53349 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
53350 (suspend_mod_SOURCES): New variable.
53351 (suspend_mod_CFLAGS): Likewise.
53352 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
53354 * commands/ieee1275/suspend.c: New file.
53356 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
53358 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
53359 ((unused))' to `__attribute__ ((used))'.
53360 (GRUB_MOD_FINI): Likewise.
53361 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
53362 * genmk.rb (PModule): Assign space to common symbols when linking
53365 2005-01-20 Marco Gerards <metgerards@student.han.nl>
53367 * include/grub/mm.h (grub_mm_init_region): Change the type of the
53368 `unsigned' arguments to `grub_size_t'.
53369 (grub_malloc): Likewise.
53370 (grub_realloc): Likewise.
53371 (grub_memalign): Likewise.
53372 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
53373 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
53374 * util/misc.c (grub_malloc): Likewise.
53375 (grub_realloc): Likewise.
53376 * kern/mm.c (get_header_from_pointer): Change the casts to
53377 `unsigned' into a cast to `grub_size_t'.
53379 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
53380 point to `currnode' when `currnode' is changed.
53382 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
53383 Schottelius <nico-linux@schottelius.org>.
53385 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
53387 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
53388 (note_path): Remove variable.
53389 (GRUB_IEEE1275_NOTE_NAME): New macro.
53390 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
53391 (grub_ieee1275_note_hdr): New structure.
53392 (grub_ieee1275_note_desc): Likewise.
53393 (grub_ieee1275_note): Likewise.
53394 (load_note): Remove `dir' argument. All callers updated. Remove
53395 `note_img' and `path'. Do not load a file from `note_path'.
53396 Initialize a struct grub_ieee1275_note and write that to `out'.
53397 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
53399 2005-01-05 Marco Gerards <metgerards@student.han.nl>
53401 * util/misc.c (grub_util_read_image): Revert last change. It
53402 called `grub_util_read_at', which seeks from the beginning of the
53405 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
53407 * TODO: Add note about endianness in grub-mkimage.
53408 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
53410 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
53411 (grub_mkimage_SOURCES): New target.
53412 * include/grub/kernel.h (grub_start_addr): Remove variable.
53413 (grub_end_addr): Likewise.
53414 (grub_total_module_size): Likewise.
53415 (grub_kernel_image_size): Likewise.
53416 (GRUB_MODULE_MAGIC): New constant.
53417 (grub_module_info): New structure.
53418 (grub_arch_modules_addr): New prototype.
53419 (grub_get_end_addr): Remove prototype.
53420 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
53421 * include/grub/powerpc/ieee1275/kernel.h: New file.
53422 * include/grub/util/misc.h (grub_util_get_fp_size): New
53424 (grub_util_read_at): Likewise.
53425 (grub_util_write_image_at): Likewise.
53426 * kern/main.c (grub_get_end_addr): Remove function.
53427 (grub_load_modules): Call grub_arch_modules_addr instead of using
53428 grub_end_addr. Look for a grub_module_info struct in memory. Use
53429 the grub_module_info fields instead of calling grub_get_end_addr
53430 as loop conditions. Move grub_add_unused_region code here.
53431 (grub_add_unused_region): Remove function.
53432 * kern/i386/pc/init.c: Include grub/cache.h.
53433 (grub_machine_init): Remove call to grub_get_end_addr. Remove
53434 one call to add_mem_region.
53435 (grub_arch_modules_addr): New function.
53436 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
53437 (grub_total_module_size): Likewise.
53438 Include grub/machine/kernel.h.
53439 (grub_arch_modules_addr): New function.
53440 * util/grub-emu.c (grub_end_addr): Remove variable.
53441 (grub_total_module_size): Likewise.
53442 (grub_arch_modules_addr): New function.
53443 * util/misc.c: Include unistd.h.
53444 (grub_util_get_fp_size): New function.
53445 (grub_util_read_at): Likewise.
53446 (grub_util_write_image_at): Likewise.
53447 (grub_util_read_image): Call grub_util_read_at.
53448 (grub_util_write_image): Call grub_util_write_image_at.
53449 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
53450 additional memory in kernel_img for a struct grub_module_info.
53451 Fill in that grub_module_info.
53452 * util/powerpc/ieee1275/grub-mkimage.c: New file.
53454 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53456 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
53458 * include/grub/powerpc/ieee1275/ieee1275.h
53459 (grub_ieee1275_milliseconds): New prototype.
53460 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
53462 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
53463 grub_ieee1275_milliseconds.
53465 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
53467 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
53469 (find_options): New function.
53470 (cmain): Call find_options.
53471 * include/grub/powerpc/ieee1275/ieee1275.h
53472 (grub_ieee1275_realmode): New extern variable.
53473 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
53474 grub_map if grub_ieee1275_realmode is false.
53476 2004-12-29 Marco Gerards <metgerards@student.han.nl>
53478 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
53479 lines are inserted and make it work like readline. Reported by
53480 Vincent Pelletier <subdino2004@yahoo.fr>.
53482 2004-12-28 Marco Gerards <metgerards@student.han.nl>
53484 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
53486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
53487 `kern/powerpc/cache.S'.
53489 2004-12-27 Marco Gerards <metgerards@student.han.nl>
53491 * genmk.rb: Handle the `Program' class in the main loop. Written
53492 by Johan Rydberg <jrydberg@gnu.org>.
53493 (Program): New class.
53494 (programs): New variable.
53495 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
53496 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
53497 instead of "grub/kernel.h". Include <grub/machine/init.h>.
53498 (help_arch): Function removed.
53499 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
53500 `powerpc/libgcc.h' and `loader.h'.
53501 (pkgdata_PROGRAMS): New variable.
53502 (sbin_UTILITIES): Variable removed.
53503 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
53504 (grubof_SOURCES): Variable re-defined so it only includes the
53505 core functionality.
53506 (grubof_CFLAGS): Remove `-DGRUBOF'.
53507 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
53508 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
53509 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
53510 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
53511 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
53512 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
53513 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
53514 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
53515 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
53516 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
53517 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
53518 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
53519 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
53520 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
53521 (pc_mod_CFLAGS): New variables.
53522 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
53523 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
53524 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
53525 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
53527 * include/grub/i386/pc/init.h (grub_os_area_addr)
53528 (rub_os_area_size): ... to here.
53529 * include/grub/powerpc/ieee1275/ieee1275.h
53530 (grub_ieee1275_entry_fn): Export symbol.
53531 * include/grub/powerpc/ieee1275/init.h: New file.
53532 * include/grub/powerpc/libgcc.h: Likewise.
53533 * include/grub/cache.h: Likewise.
53534 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
53535 <hollis@penguinppc.org>.
53536 * kern/dl.c: Include <grub/cache.h>.
53537 (grub_dl_flush_cache): New function.
53538 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
53540 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
53541 (grub_console_init): Removed prototypes.
53542 (grub_machine_init): Don't initialize the modules anymore.
53543 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
53545 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
53546 Macro undef removed.
53547 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
53548 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
53549 relocation `R_PPC_REL32'. Return an error when the relocation is
53551 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
53552 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
53553 * util/misc.c (grub_arch_sync_caches): Likewise.
53555 2004-12-19 Marco Gerards <metgerards@student.han.nl>
53557 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
53558 `symlist.c', add `grubof_symlist.c'.
53559 (symlist.c): Variable removed.
53560 (grubof_HEADERS): Variable added.
53561 (grubof_symlist.c): New target.
53562 (kernel_syms.lst): Use `grubof_HEADERS' instead of
53563 `kernel_img_HEADERS'.
53564 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
53565 * kern/powerpc/dl.c: New file.
53566 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
53568 (grub_arch_dl_relocate_symbols): Likewise.
53569 (grub_register_exported_symbols): Likewise.
53571 2004-12-13 Marco Gerards <metgerards@student.han.nl>
53573 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
53574 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
53575 to fail instead. Reported by Vincent Pelletier
53576 <subdino2004@yahoo.fr>.
53578 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
53579 it is not allocated. Reported by Vincent Pelletier
53580 <subdino2004@yahoo.fr>.
53582 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
53583 output so the output looks better.
53585 2004-12-04 Marco Gerards <metgerards@student.han.nl>
53587 Modulize the partition map support and add support for the amiga
53590 * commands/ls.c: Include <grub/partition.h> instead of
53591 <grub/machine/partition.h>.
53592 * kern/disk.c: Likewise.
53593 * kern/rescue.c: Likewise.
53594 * loader/i386/pc/chainloader.c: Likewise.
53595 * normal/cmdline.c: Likewise.
53596 * kern/powerpc/ieee1275/init.c: Likewise.
53597 (grub_machine_init): Call `grub_pc_partition_map_init',
53598 `grub_amiga_partition_map_init' and
53599 `grub_apple_partition_map_init'.
53600 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
53601 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
53602 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
53603 `partition.h' and `pc_partition.h'.
53604 (grub_setup_SOURCES): Remove
53605 `disk/i386/pc/partition.c'. Add `kern/partition.c',
53606 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53607 (grub_emu_SOURCES): Likewise.
53608 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
53609 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
53610 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
53611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53612 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
53613 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
53614 (grubof_SOURCES): Likewise.
53615 * disk/i386/pc/partition.c: File removed.
53616 * disk/powerpc/ieee1275/partition.c: Likewise.
53617 * include/grub/powerpc/ieee1275/partition.h: Likewise.
53618 * include/grub/i386/pc/partition.h: Likewise.
53619 * kern/partition.c: New file.
53620 * partmap/amiga.c: Likewise.
53621 * partmap/apple.c: Likewise.
53622 * partmap/pc.c: Likewise.
53623 * include/grub/partition.h: Likewise..
53624 * include/grub/pc_partition.h: Likewise.
53625 * util/grub-emu.c: Include <grub/partition.h> instead of
53626 <grub/machine/partition.h>.
53627 (main): Call `grub_pc_partition_map_init',
53628 `grub_amiga_partition_map_init' and
53629 `grub_apple_partition_map_init' and deinitialize afterwards.
53630 * util/i386/pc/biosdisk.c: Include `#include
53631 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53632 `<grub/machine/partition.h>'.
53633 * util/i386/pc/grub-setup.c: Likewise.
53634 * util/i386/pc/biosdisk.c: Likewise.
53635 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
53636 partition information in case of a PC partition.
53637 * util/i386/pc/grub-setup.c: Include `#include
53638 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
53639 `<grub/machine/partition.h>'.
53640 (setup): Only access the PC specific partition information in case
53643 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
53645 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
53646 (grub_longjmp): Likewise.
53647 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
53649 * normal/powerpc/setjmp.S: New file.
53650 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
53651 `normal/powerpc/setjmp.S'.
53652 (grubof_CFLAGS): Add `-DGRUBOF'.
53653 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
53654 [GRUB_UTIL && !GRUBOF].
53656 2004-11-16 Marco Gerards <metgerards@student.han.nl>
53658 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
53659 property named `name'. Correctly handle the error returned by
53660 `grub_ieee1275_finddevice' if a device can not be opened.
53662 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
53664 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
53665 `actual' for negativity.
53666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
53669 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53671 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
53672 (PAGE_OFFSET): New macro.
53673 (CRTC_ADDR_PORT): Likewise.
53674 (CRTC_DATA_PORT): Likewise.
53675 (START_ADDR_HIGH_REGISTER): Likewise.
53676 (START_ADDR_LOW_REGISTER): Likewise.
53677 (GRAPHICS_ADDR_PORT): Likewise.
53678 (GRAPHICS_DATA_PORT): Likewise.
53679 (READ_MAP_REGISTER): Likewise.
53680 (INPUT_STATUS1_REGISTER): Likewise.
53681 (INPUT_STATUS1_VERTR_BIT): Likewise.
53682 (page): New variable.
53683 (wait_vretrace): New function.
53684 (set_read_map): Likewise.
53685 (set_start_address): Likewise.
53686 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
53688 (check_vga_mem): Take the page into account.
53689 (write_char): Likewise.
53690 (write_cursor): Likewise.
53691 (scroll_up): Likewise. Copy the page to the page that is not
53692 shown and switch between both pages.
53693 (grub_vga_putchar): Fix off by one error.
53694 (grub_vga_cls): Wait for the vertical retrace. Take the page into
53697 2004-11-01 Marco Gerards <metgerards@student.han.nl>
53699 Add support for iso9660 (including rockridge).
53701 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53702 (iso9660_mod_SOURCES): New variable.
53703 (iso9660_mod_CFLAGS): Likewise.
53704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
53705 * include/grub/fs.h (grub_iso9660_init): New prototype.
53706 * util/grub-emu.c (main): Call `grub_iso9660_init'.
53707 * fs/iso9660.c: New file.
53709 * include/grub/misc.h (grub_strncat): New prototype.
53710 * kern/misc.c (grub_strncat): New function.
53712 * fs/hfs.c (grub_hfs_mount): Translate the error
53713 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
53714 * fs/jfs.c (grub_jfs_mount): Likewise.
53715 * fs/ufs.c (grub_ufs_mount): Likewise.
53717 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
53719 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
53720 which initialized BAT registers.
53721 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
53722 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53724 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
53725 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
53727 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
53728 (grub_mapclaim): Likewise.
53729 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
53730 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
53733 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
53735 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
53736 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
53737 -ffreestanding and -msoft-float.
53739 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
53741 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
53742 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
53743 set in grub_ieee1275_flags.
53745 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
53747 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
53749 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
53750 grub_console_init first.
53751 Change the memory range used for grub_ieee1275_claim and
53752 grub_mm_init_region.
53753 Print an error message if the claim fails.
53754 Include <grub/misc.h>.
53756 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
53758 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
53759 Call grub_children_iterate for device nodes of type `scsi',
53761 (grub_ofdisk_open): Remove manual device alias resolution.
53762 Fix memory leak when device cannot be opened.
53763 * include/grub/powerpc/ieee1275/ieee1275.h
53764 (grub_children_iterate): New prototype.
53765 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
53767 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53768 Return -1 if args.size was -1.
53770 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53772 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
53773 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
53774 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
53775 Open Firmware's memory for it; claim memory from _start to _end.
53776 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
53777 (_end): New extern.
53778 (_start): Zero BSS from __bss_start to _end.
53779 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
53781 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
53783 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
53785 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
53786 -1 if args.base was -1.
53788 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
53790 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
53791 escape sequence instead of a literal ^L. Also call
53792 grub_ofconsole_gotoxy.
53794 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
53796 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
53797 void * arguments to grub_addr_t. All callers updated. Also make
53798 the `result' argument optional.
53799 (grub_ieee1275_release): change void * arguments to grub_addr_t.
53800 All callers updated.
53802 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
53804 * commands/ls.c (grub_ls_list_files): Use the string following the
53805 initial ')', if present, as the filesystem path.
53806 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
53808 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
53810 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
53812 Make the source code of the menu interface more readable.
53814 * normal/menu.c: Include grub/mm.h.
53815 (TERM_WIDTH): New macro.
53816 (TERM_HEIGHT): Likewise.
53817 (TERM_INFO_HEIGHT): Likewise.
53818 (TERM_MARGIN): Likewise.
53819 (TERM_SCROLL_WIDTH): Likewise.
53820 (TERM_TOP_BORDER_Y): Likewise.
53821 (TERM_LEFT_BORDER_X): Likewise.
53822 (TERM_BORDER_WIDTH): Likewise.
53823 (TERM_MESSAGE_HEIGHT): Likewise.
53824 (TERM_BORDER_HEIGHT): Likewise.
53825 (TERM_NUM_ENTRIES): Likewise.
53826 (TERM_FIRST_ENTRY_Y): Likewise.
53827 (TERM_ENTRY_WIDTH): Likewise.
53828 (TERM_CURSOR_X): Likewise.
53829 (draw_border): Use macros instead of magic numbers.
53830 (print_entry): Likewise.
53831 (print_entries): Likewise.
53832 (run_menu): Likewise. Also, handle the key 'e'.
53833 (run_menu_entry): Ignore empty command lines.
53834 (print_message): Added a new argument EDIT. If EDIT is true,
53835 print a different message.
53836 (init_page): Likewise.
53837 (edit_menu_entry): New function. Not implemented yet.
53839 2004-09-17 Marco Gerards <metgerards@student.han.nl>
53841 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
53842 can be loaded from normal mode.
53844 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
53846 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
53847 (multiboot_mod_CFLAGS): New variables.
53848 * loader/i386/pc/linux_normal.c: New file.
53849 * loader/i386/pc/multiboot_normal.c: Likewise.
53851 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
53852 attribute `unused'.
53854 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
53855 `fdiro' to read the mode information from instead of `diro'.
53857 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
53858 looking up a symlink.
53860 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
53862 * normal/command.c (grub_command_execute): Don't parse the
53863 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
53864 flags of the command.
53866 * normal/menu.c (grub_menu_run): Fix typo.
53868 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
53870 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
53872 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
53873 `y + 1' instead of `y - 1'.
53875 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
53877 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
53879 From Hollis Blanchard <hollis@penguinppc.org>:
53880 * kern/misc.c (memmove): New alias for grub_memmove.
53881 (memcmp): New alias for grub_memcmp.
53882 (memset): New alias for grub_memset.
53883 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
53884 Change "int handle" to "grub_ieee1275_phandle_t handle".
53885 * include/grub/powerpc/ieee1275/ieee1275.h
53886 (grub_ieee1275_get_property): Likewise.
53888 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
53890 Added normal mode command `chainloader' as module chain.mod, which
53891 depends on normal.mod and _chain.mod.
53893 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
53894 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
53895 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
53897 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
53898 but arguments parsing moved to ...
53899 (grub_chainloader_cmd): ... here. New function.
53900 * include/grub/i386/pc/chainloader.h: New file.
53901 * loader/i386/pc/chainloader_normal.c: Likewise.
53903 2004-09-11 Marco Gerards <metgerards@student.han.nl>
53905 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
53906 (grub_mkimage_LDFLAGS): Likewise.
53907 (grub_emu_SOURCES): Likewise.
53908 (kernel_img_HEADERS): Added fshelp.h.
53909 * fs/ext2.c: Include <grub/fshelp.h>.
53910 (FILETYPE_REG): New macro.
53911 (FILETYPE_INO_REG): Likewise.
53912 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
53914 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
53916 (grub_fshelp_node): New struct.
53917 (grub_ext2_data): Added member `diropen'. Changed member `inode'
53919 (grub_ext2_get_file_block): Removed function.
53920 (grub_ext2_read_block): New function.
53921 (grub_ext2_read_file): Replaced parameter `data' by `node'.
53922 This function was written.
53923 (grub_ext2_mount): Read the root inode. Create a diropen struct.
53924 (grub_ext2_find_file): Removed function.
53925 (grub_ext2_read_symlink): New function.
53926 (grub_ext2_iterate_dir): Likewise.
53927 (grub_ext2_open): Rewritten.
53928 (grub_ext2_dir): Rewritten.
53929 * include/grub/fshelp.h: New file.
53930 * fs/fshelp.c: Likewise.
53932 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
53934 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
53935 (print_message): Add a missing newline.
53936 (run_menu): Added timeout support.
53937 (run_menu_entry): New local function.
53938 (grub_menu_run): Added support for booting.
53940 * kern/loader.c (grub_loader_is_loaded): New function.
53942 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
53943 (grub_get_rtc): Exported.
53945 * include/grub/i386/pc/time.h: Include grub/symbol.h.
53946 (grub_get_rtc): Exported.
53948 * include/grub/normal.h (struct grub_command_list): Remove
53949 constant from the member `command'.
53951 * include/grub/loader.h (grub_loader_is_loaded): Declared.
53953 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
53955 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
53957 2004-08-28 Marco Gerards <metgerards@student.han.nl>
53959 Add support for the JFS filesystem.
53961 * fs/jfs.c: New file.
53962 * include/grub/fs.h (grub_jfs_init): New prototype.
53963 (grub_jfs_fini): New prototype.
53964 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
53965 (grub_emu_SOURCES): Likewise.
53966 (pkgdata_MODULES): Add jfs.mod.
53967 (jfs_mod_SOURCES): New variable.
53968 (jfs_mod_CFLAGS): Likewise.
53969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
53970 (grubof_SOURCES): Likewise.
53971 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
53973 * fs/fat.c (grub_fat_find_dir): Convert the filename little
53974 endian to the host endian.
53975 (grub_fat_utf16_to_utf8): Move function from there...
53976 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
53977 the endianness of the source string anymore.
53978 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
53980 2004-08-24 Marco Gerards <metgerards@student.han.nl>
53982 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
53983 (grub_boot_fini) [GRUB_UTIL]: Likewise.
53984 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
53985 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
53987 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
53988 (grub_hfs_iterate_dir): Make the function static. Add prototypes
53989 for `node_found' and `it_dir'.
53990 (grub_hfs_dir): Add prototype for `dir_hook'.
53992 * fs/minix.c (grub_minix_get_file_block): Add prototype for
53993 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
53994 and `indir32' to silence a gcc warning.
53996 * include/grub/fs.h (grub_hfs_init): New prototype.
53997 (grub_hfs_fini): Likewise.
54000 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
54002 Each disk device has its own id now. This is useful to make use
54003 of multiple disk devices.
54005 * include/grub/disk.h (grub_disk_dev_id): New enum.
54006 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
54007 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
54009 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
54010 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54012 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
54013 GRUB_DISK_DEVICE_OFDISK_ID as an id.
54015 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
54016 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
54018 * include/grub/disk.h (struct grub_disk_dev): Added a new member
54019 "id" which is used by the cache manager.
54021 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
54024 2004-08-18 Marco Gerards <metgerards@student.han.nl>
54026 * fs/hfs.c: New file.
54027 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
54028 (grub_emu_SOURCES): Likewise.
54029 (pkgdata_MODULES): Add hfs.mod.
54030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
54031 (grubof_SOURCES): Likewise.
54032 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
54034 * include/grub/misc.h (grub_strncasecmp): Add prototype.
54035 * kern/misc.c (grub_strncasecmp): Add function.
54037 2004-08-14 Marco Gerards <metgerards@student.han.nl>
54039 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
54042 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
54043 (grub_ext2_dir): In case the directory entry type is unknown, read
54046 2004-08-02 Peter Bruin <pjbruin@dds.nl>
54048 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
54049 grub_load_linux instead of grub_rescue_cmd_linux as second
54050 argument of grub_rescue_register_command.
54052 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
54054 2004-07-27 Marco Gerards <metgerards@student.han.nl>
54056 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
54058 * commands/boot.c: Remove the check for `GRUB_UTIL'.
54059 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
54060 `loader/powerpc/ieee1275/linux.c',
54061 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
54062 * include/grub/powerpc/ieee1275/ieee1275.h
54063 (grub_ieee1275_release): New prototype.
54064 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
54065 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
54066 normal, boot, linux and linux_normal.
54067 * loader/powerpc/ieee1275/linux.c: New file.
54068 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
54070 2004-07-12 Marco Gerards <metgerards@student.han.nl>
54072 * normal/arg.c (grub_arg_parse): Correct error handling after
54073 reallocating the argumentlist (check if `argl' is not null instead
54074 of checking if `args' is not null).
54075 * kern/mm.c (grub_realloc): Return the same pointer when using the
54076 same region, instead of returning the header address.
54078 2004-07-11 Marco Gerards <metgerards@student.han.nl>
54080 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
54081 one block instead of two when looking for the initial partition.
54082 (grub_partition_probe): Initialize the local variable `p' with 0.
54083 Use base 10 for the grub_strtoul call.
54084 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
54085 need for one local variable.
54086 (grub_strtoul): Don't add the new value to `num', instead of that
54089 2004-07-11 Marco Gerards <metgerards@student.han.nl>
54091 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
54092 (pxeboot_img_SOURCES): New variable.
54093 (pxeboot_img_ASFLAGS): Likewise.
54094 (pxeboot_img_LDFLAGS): Likewise.
54095 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
54096 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
54097 <lode_leroy@hotmail.com>.
54099 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54101 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
54102 there was no input.
54104 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54106 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
54107 the history buffer logic.
54109 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
54111 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
54112 (FILETYPE_INO_SYMLINK): New macros.
54113 (grub_ext2_find_file): Check if the node is a directory using the
54114 inode stat information instead of using the filetype in the
54115 dirent. Exclude the first character of an absolute symlink.
54116 (grub_ext2_dir): Mask out the filetype part of the mode member of
54119 2004-05-24 Marco Gerards <metgerards@student.han.nl>
54121 Add support for UFS version 1 and 2. Add support for the minix
54122 filesystem version 1 and 2, both the variants with 14 and 30 long
54125 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
54127 (grub_emu_SOURCES): Likewise.
54128 (pkgdata_MODULES): Add ufs.mod and minix.mod.
54129 (ufs_mod_SOURCES): New variable.
54130 (ufs_mod_CFLAGS): Likewise.
54131 (minix_mod_SOURCES): Likewise.
54132 (minix_mod_CFLAGS): Likewise.
54133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
54135 (grubof_SOURCES): Likewise.
54136 * fs/ufs.c: New file.
54137 * fs/minix.c: New file.
54138 * include/grub/fs.h (grub_ufs_init): New prototype.
54139 (grub_ufs_fini): Likewise.
54140 (grub_minix_init): Likewise.
54141 (grub_minix_fini): Likewise.
54142 * util/grub-emu.c (main): Initialize and deinitialize UFS and
54145 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
54147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
54148 commands/ls.c, commands/terminal.c, commands/boot.c,
54149 commands/cmp.c and commands/cat.c.
54150 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
54152 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
54155 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54157 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
54158 and grub_, respectively. Because the conversion is trivial and
54159 mechanical, I omit the details here. Please refer to the CVS
54160 if you need more information.
54162 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
54164 * include/pupa: Renamed to ...
54165 * include/grub: ... this.
54166 * util/i386/pc/pupa-mkimage.c: Renamed to ...
54167 * util/i386/pc/grub-mkimage.c: ... this.
54168 * util/i386/pc/pupa-setup.c: Renamed to ...
54169 * util/i386/pc/grub-setup.c: ... this.
54170 * util/pupa-emu.c: Renamed to ...
54171 * util/grub-emu.c: ... this.
54173 2004-03-29 Marco Gerards <metgerards@student.han.nl>
54175 Add support for the newworld apple macintosh (PPC). This has been
54176 tested on the powerbook 2000 only. It only adds support for
54177 generic ieee1275 functions, console and disk support. This should
54178 be easy to port to other architectures with support for Open
54181 * configure.ac: Accept the powerpc as host_cpu. In the case of
54182 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
54183 specific tests are only executed while building for the i386.
54184 Inverse test for crosscompile.
54185 * genmk.rb (Utility): Allow assembler files.
54186 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
54187 * conf/powerpc-ieee1275.rmk: New file.
54188 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
54189 * disk/powerpc/ieee1275/partition.c: Likewise.
54190 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
54191 * include/pupa/powerpc/ieee1275/console.h: Likewise.
54192 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
54193 * include/pupa/powerpc/ieee1275/time.h: Likewise.
54194 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
54195 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
54196 * include/pupa/powerpc/ieee1275/loader.h
54197 * include/pupa/powerpc/setjmp.h: Likewise.
54198 * include/pupa/powerpc/types.h: Likewise.
54199 * kern/powerpc/ieee1275/init.c: Likewise.
54200 * kern/powerpc/ieee1275/openfw.c: Likewise.
54201 * term/powerpc/ieee1275/ofconsole.c: Likewise.
54203 These files were written by Johan Rydberg
54204 (jrydberg@night.trouble.net) and I only modified them slightly.
54206 * boot/powerpc/ieee1275/cmain.c: New file.
54207 * boot/powerpc/ieee1275/crt0.S: Likewise.
54208 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
54209 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
54211 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
54213 * Makefile.in: Update copyright.
54214 * genmodsrc.sh: Likewise.
54215 * gensymlist.sh: Likewise.
54216 * term/i386/pc/vga.c: Indent correctly.
54218 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
54219 bugreporting address.
54220 * util/i386/pc/pupa-setup.c (usage): Likewise,
54221 (main): Call pupa_ext2_init and pupa_ext2_fini.
54223 * fs/fat.c (log2): Renamed to ...
54224 (fat_log2): ... this.
54225 All callers changed.
54226 * kern/misc.c (memcpy): Alias to pupa_memmove.
54227 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
54229 * util/console.c (pupa_ncurses_fini): Return 0.
54231 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
54232 Move fail label here.
54233 [__GNU__]: Don't warn when using stat.
54234 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
54235 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
54236 long int. Use strtol instead of strtoul.
54238 2004-03-14 Marco Gerards <metgerards@student.han.nl>
54240 * commands/boot.c: New file.
54241 * commands/cat.c: Likewise.
54242 * commands/cmp.c: Likewise.
54243 * commands/ls.c: Likewise.
54244 * commands/terminal.c: Likewise.
54245 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
54246 (pupa_register_command): Changed interface to match the new
54248 (pupa_command_execute): Changed (almost rewritten) so it uses
54249 pupa_split_command. Added support for setting variables using the
54251 (rescue_command): Changed to work with the new argument parser.
54252 (terminal_command): Moved from here to commands/terminal.c.
54253 (set_command): New function.
54254 (unset_command): New function.
54255 (insmod_command): New function.
54256 (rmmod_command): New function.
54257 (lsmod_command): New function.
54258 (pupa_command_init): Don't initialize the command terminal
54259 anymore. Initialize the commands set, unset, insmod, rmmod and
54261 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
54262 (kernel_img_HEADERS): Add arg.h and env.h.
54263 (pupa_mkimage_LDFLAGS): Add kern/env.c.
54264 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
54265 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
54267 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
54269 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
54270 (boot_mod_SOURCES): New variable.
54271 (terminal_mod_SOURCES): Likewise.
54272 (ls_mod_SOURCES): Likewise.
54273 (cmp_mod_SOURCES): Likewise.
54274 (cat_mod_SOURCES): Likewise.
54276 * normal/arg.c: New file.
54277 * kern/env.c: Likewise.
54278 * include/pupa/arg.h: Likewise.
54279 * include/pupa/env.h: Likewise.
54280 * font/manager.c (font_command): Changed to match argument parsing
54282 (PUPA_MOD_INIT): Likewise.
54283 * hello/hello.c (pupa_cmd_hello): Likewise.
54284 (PUPA_MOD_INIT): Likewise.
54285 * include/pupa/disk.h: Include <pupa/device.h>.
54286 (pupa_print_partinfo): New prototype.
54287 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
54288 (pupa_dl_get_prefix): Likewise.
54289 * include/pupa/misc.h: Include <pupa/err.h>.
54290 (pupa_isgraph): New prototype.
54291 (pupa_isdigit): Likewise.
54292 (pupa_split_cmdline): Likewise.
54293 * include/pupa/normal.h: Include <pupa/arg.h>.
54294 (pupa_command): Changed the prototype of the member `func' to
54295 match the argument parsing interface. Added member `options'.
54296 (pupa_register_command): Updated to match function.
54297 (pupa_arg_parse): New prototype.
54298 (pupa_hello_init) [PUPA_UTIL]: New prototype.
54299 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
54300 (pupa_ls_init) [PUPA_UTIL]: Likewise.
54301 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
54302 (pupa_cat_init) [PUPA_UTIL]: Likewise.
54303 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
54304 (pupa_boot_init) [PUPA_UTIL]: Likewise.
54305 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
54306 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
54307 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
54308 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
54309 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
54310 * kern/disk.c: Include <pupa/file.h>.
54311 (pupa_print_partinfo): New function.
54312 * kern/dl.c: Include <pupa/env.h>.
54313 (pupa_dl_dir): Variable removed.
54314 (pupa_dl_load): Use the environment variable `prefix' instead of
54315 the variable pupa_dl_dir.
54316 (pupa_dl_set_prefix): Function removed.
54317 (pupa_dl_get_prefix): Likewise.
54318 * kern/i386/pc/init.c: Include <pupa/env.h>.
54319 (pupa_machine_init): Use the environment variable `prefix' instead of
54320 using pupa_dl_set_prefix to set the prefix.
54321 * kern/main.c: Include <pupa/env.h>.
54322 (pupa_set_root_dev): Use the environment variable `prefix' instead of
54323 using pupa_dl_get_prefix to get the prefix.
54324 * kern/misc.c: Include <pupa/env.h>.
54325 (pupa_isdigit): New function.
54326 (pupa_isgraph): Likewise.
54327 (pupa_ftoa): Likewise.
54328 (pupa_vsprintf): Added support for printing values of the type
54329 `double'. Make it possible to format variable output when using
54330 formatting like `%1.2%f'.
54331 (pupa_split_cmdline): New function.
54332 * kern/rescue.c: Include <pupa/env.h>.
54333 (next_word): Removed function.
54334 (pupa_rescue_cmd_prefix): Likewise.
54335 (pupa_rescue_cmd_set): New function.
54336 (pupa_rescue_cmd_unset): New function.
54337 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
54338 split the command line instead of splitting it here. Added
54339 support for setting variables using the syntax `foo=bar'. Don't
54340 initialize the prefix command anymore. Initialized the set and
54342 * normal/cmdline.c: Include <pupa/env.h>.
54343 (pupa_tab_complete): Added prototypes for print_simple_completion,
54344 print_partition_completion, add_completion, iterate_commands,
54345 iterate_dev, iterate_part and iterate_dir. Moved code to print
54346 partition information from here to kern/disk.c.
54347 (pupa_cmdline_run): Don't check if the function exists anymore.
54348 * normal/main.c: Include <pupa/env.h>.
54349 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
54350 instead of using pupa_dl_get_prefix to get the prefix.
54351 * term/i386/pc/vga.c: Include <pupa/arg.h>.
54352 (check_vga_mem): Cast pointers to `void *' to silence a gcc
54354 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
54355 (pupa_vga_setcolor): Declare unused variables with `__attribute__
54356 ((unused))' to silence a gcc warning.
54357 (pupa_vga_setcolor): Likewise.
54358 (debug_command): Changed to match argument parsing
54360 * util/pupa-emu.c: Include <pupa/env.h>.
54361 (options): Added 0's for unused fields to silence a gcc warning.
54363 (main): Use the environment variable `prefix' instead of using
54364 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
54365 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
54368 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
54369 * util/misc.c: Include <malloc.h>.
54370 (pupa_malloc): Rewritten so errors are correctly reported.
54371 (pupa_realloc): Likewise.
54372 (pupa_memalign): Likewise.
54373 (pupa_mm_init_region): Declare unused variables with
54374 `__attribute__ ((unused))' to silence a gcc warning.
54375 * normal/i386/setjmp.S: Remove tab at the end of the file to
54376 silence a gcc warning.
54377 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
54378 variables with `__attribute__ ((unused))' to silence a gcc
54380 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
54381 local variable i unsigned to silence a gcc warning.
54383 * kern/term.c: Include <pupa/misc.h>.
54384 (pupa_more_lines): New variable.
54385 (pupa_more): Likewise.
54386 (pupa_putcode): When the pager is active pause at the end of every
54388 (pupa_set_more): New function.
54389 * include/pupa/term.h (pupa_set_more): New prototype.
54392 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
54394 Now this project is GRUB 2 rather than PUPA. The location of
54395 the CVS repository was moved to GRUB's.
54397 * configure.ac: Use bug-grub as the reporting address.
54398 Use GRUB instead of PUPA.
54399 Change the version number to 1.90.
54401 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
54403 * genkernsyms.sh: Updated copyright information.
54404 * genmk.rb: Likewise.
54405 * genmodsrc.sh: Likewise.
54406 * gensymlist.sh: Likewise.
54407 * boot/i386/pc/boot.S: Likewise.
54408 * boot/i386/pc/diskboot.S: Likewise.
54409 * disk/i386/pc/biosdisk.c: Likewise.
54410 * disk/i386/pc/partition.c: Likewise.
54411 * font/manager.c: Likewise.
54412 * fs/ext2.c: Likewise.
54413 * fs/fat.c: Likewise.
54414 * include/pupa/boot.h: Likewise.
54415 * include/pupa/device.h: Likewise.
54416 * include/pupa/disk.h: Likewise.
54417 * include/pupa/dl.h: Likewise.
54418 * include/pupa/elf.h: Likewise.
54419 * include/pupa/err.h: Likewise.
54420 * include/pupa/file.h: Likewise.
54421 * include/pupa/font.h: Likewise.
54422 * include/pupa/fs.h: Likewise.
54423 * include/pupa/kernel.h: Likewise.
54424 * include/pupa/loader.h: Likewise.
54425 * include/pupa/misc.h: Likewise.
54426 * include/pupa/mm.h: Likewise.
54427 * include/pupa/net.h: Likewise.
54428 * include/pupa/normal.h: Likewise.
54429 * include/pupa/rescue.h: Likewise.
54430 * include/pupa/setjmp.h: Likewise.
54431 * include/pupa/symbol.h: Likewise.
54432 * include/pupa/term.h: Likewise.
54433 * include/pupa/types.h: Likewise.
54434 * include/pupa/i386/setjmp.h: Likewise.
54435 * include/pupa/i386/types.h: Likewise.
54436 * include/pupa/i386/pc/biosdisk.h: Likewise.
54437 * include/pupa/i386/pc/boot.h: Likewise.
54438 * include/pupa/i386/pc/console.h: Likewise.
54439 * include/pupa/i386/pc/init.h: Likewise.
54440 * include/pupa/i386/pc/kernel.h: Likewise.
54441 * include/pupa/i386/pc/linux.h: Likewise.
54442 * include/pupa/i386/pc/loader.h: Likewise.
54443 * include/pupa/i386/pc/memory.h: Likewise.
54444 * include/pupa/i386/pc/multiboot.h: Likewise.
54445 * include/pupa/i386/pc/partition.h: Likewise.
54446 * include/pupa/i386/pc/time.h: Likewise.
54447 * include/pupa/i386/pc/vga.h: Likewise.
54448 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
54449 * include/pupa/util/getroot.h: Likewise.
54450 * include/pupa/util/misc.h: Likewise.
54451 * include/pupa/util/resolve.h: Likewise.
54452 * kern/device.c: Likewise.
54453 * kern/disk.c: Likewise.
54454 * kern/dl.c: Likewise.
54455 * kern/err.c: Likewise.
54456 * kern/file.c: Likewise.
54457 * kern/fs.c: Likewise.
54458 * kern/loader.c: Likewise.
54459 * kern/main.c: Likewise.
54460 * kern/misc.c: Likewise.
54461 * kern/mm.c: Likewise.
54462 * kern/rescue.c: Likewise.
54463 * kern/term.c: Likewise.
54464 * kern/i386/dl.c: Likewise.
54465 * kern/i386/pc/init.c: Likewise.
54466 * kern/i386/pc/lzo1x.S: Likewise.
54467 * kern/i386/pc/startup.S: Likewise.
54468 * loader/i386/pc/chainloader.c: Likewise.
54469 * loader/i386/pc/linux.c: Likewise.
54470 * loader/i386/pc/multiboot.c: Likewise.
54471 * normal/cmdline.c: Likewise.
54472 * normal/command.c: Likewise.
54473 * normal/main.c: Likewise.
54474 * normal/menu.c: Likewise.
54475 * normal/i386/setjmp.S: Likewise.
54476 * term/i386/pc/console.c: Likewise.
54477 * term/i386/pc/vga.c: Likewise.
54478 * util/console.c: Likewise.
54479 * util/genmoddep.c: Likewise.
54480 * util/misc.c: Likewise.
54481 * util/pupa-emu.c: Likewise.
54482 * util/resolve.c: Likewise.
54483 * util/unifont2pff.rb: Likewise.
54484 * util/i386/pc/biosdisk.c: Likewise.
54485 * util/i386/pc/getroot.c: Likewise.
54486 * util/i386/pc/pupa-mkimage.c: Likewise.
54487 * util/i386/pc/pupa-setup.c: Likewise.
54489 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
54491 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
54492 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
54493 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
54494 reading and reset it after reading.
54495 (pupa_ext2_close): Return PUPA_ERR_NONE.
54497 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
54499 (struct linux_kernel_header): Add kernel_version and
54501 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
54502 pupa_file_read succeeds.
54503 (pupa_rescue_cmd_initrd): Implement.
54505 2003-12-03 Marco Gerards <metgerards@student.han.nl>
54507 * fs/ext2.c (pupa_ext2_label): New function.
54508 (pupa_ext2_fs): Added label.
54509 * fs/fat.c (pupa_fat_label): New function.
54510 (pupa_fat_fs): Added label.
54511 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
54513 * kern/misc.c (pupa_strndup): New function.
54514 * include/pupa/misc.h (pupa_strndup): New prototype.
54516 * include/pupa/normal.h: Include <pupa/err.h>.
54517 (pupa_set_history): New prototype.
54518 (pupa_iterate_commands): New prototype.
54519 * normal/cmdline.c: Include <pupa/machine/partition.h>,
54520 <pupa/disk.h>, <pupa/file.h>.
54521 (hist_size): New variable.
54522 (hist_lines): Likewise.
54523 (hist_end): Likewise.
54524 (hist_used): Likewise.
54525 (pupa_set_history): New function.
54526 (pupa_history_get): Likewise.
54527 (pupa_history_add): Likewise.
54528 (pupa_history_replace): Likewise.
54529 (pupa_tab_complete): Likewise.
54530 (pupa_cmdline_run): Added tab completion and history buffer. Tab
54531 completion shows partitionnames while completing partitions, this
54532 feature was suggested by Jeff Bailey.
54533 * normal/command.c (pupa_iterate_commands): New function.
54534 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
54535 (pupa_normal_init): Initialize history buffer.
54536 (PUPA_MOD_INIT): Likewise.
54537 (pupa_normal_fini): Free the history buffer.
54538 (PUPA_MOD_FINI): Likewise.
54540 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
54543 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
54544 * configure.ac [i386]: Check for regparam bug.
54545 (NESTED_FUNC_ATTR) [! i386]: Defined.
54547 2003-11-17 Marco Gerards <metgerards@student.han.nl>
54549 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
54550 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
54551 (pupa_emu_SOURCES): New variable.
54552 (pupa_emu_LDFLAGS): Likewise.
54553 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
54554 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
54555 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
54556 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54557 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
54558 (pupa_jmp_buf): New typedef.
54559 (pupa_setjmp) [PUPA_UTIL]: New macro.
54560 (pupa_longjmp) [PUPA_UTIL]: Likewise.
54561 * include/pupa/term.h (struct pupa_term): New member `refresh'.
54562 (pupa_refresh): New prototype.
54563 * include/pupa/util/getroot.h: New file.
54564 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
54566 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
54567 (pupa_rescue_cmd_cat): Likewise.
54568 (pupa_rescue_cmd_ls): Likewise.
54569 (pupa_rescue_cmd_testload): Likewise.
54570 (pupa_rescue_cmd_lsmod): Likewise.
54571 * normal/cmdline.c (pupa_cmdline_get): Likewise.
54572 * normal/menu.c (run_menu): Likewise.
54573 * kern/term.c (pupa_cls): Likewise.
54574 (pupa_refresh): New function.
54575 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
54576 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
54577 * util/console.c: New file.
54579 * util/i386/pc/getroot.c: New file.
54580 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
54581 (pupa_putchar): New function.
54582 (pupa_refresh): Likewise.
54583 (xgetcwd): Function moved to ...
54584 (strip_extra_slashes): Likewise.
54585 (get_prefix): Likewise.
54586 * util/i386/pc/getroot.c: ... here.
54587 (find_root_device): Function moved and renamed to...
54588 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
54589 Changed all callers.
54590 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
54592 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
54593 Changed all callers.
54594 * util/misc.c (pupa_memalign): New function.
54595 (pupa_mm_init_region): Likewise.
54596 (pupa_register_exported_symbols): Likewise.
54597 (pupa_putchar): Function removed.
54598 * util/pupa-emu.c: New file.
54600 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
54602 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
54603 (_multiboot_mod_SOURCES): New variable.
54604 (_multiboot_mod_CFLAGS): Likewise.
54605 * loader/i386/pc/multiboot.c: New file.
54606 * include/pupa/i386/pc/multiboot.h: Likewise.
54607 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
54608 (pupa_multiboot_real_boot): New function.
54609 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
54610 (pupa_multiboot_real_boot): New prototype.
54611 (pupa_rescue_cmd_multiboot): Likewise
54612 (pupa_rescue_cmd_module): Likewise.
54614 * kern/loader.c (pupa_loader_set): Continue when
54615 pupa_loader_unload_func() fails.
54616 (pupa_loader_unset): New function.
54617 * include/pupa/loader.h (pupa_loader_unset): New prototype.
54619 * kern/misc.c (pupa_stpcpy): New function.
54620 * include/pupa/misc.h (pupa_stpcpy): New prototype.
54622 2003-11-12 Marco Gerards <metgerards@student.han.nl>
54624 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
54625 for available extensions.
54627 * include/pupa/i386/pc/time.h: New file.
54628 * kern/disk.c: Include <pupa/machine/time.h>.
54629 (PUPA_CACHE_TIMEOUT): New macro.
54630 (pupa_last_time): New variable.
54631 (pupa_disk_open): Flush the cache when there was a timeout.
54632 (pupa_disk_close): Reset the timer.
54633 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
54635 * util/misc.c: Include <sys/times.h>
54636 (pupa_get_rtc): New function.
54638 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
54640 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
54642 (pupa_ext2_get_file_block): Use blocks member.
54644 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
54645 first block. Return -1 instead of pupa_errno on error.
54647 2003-10-27 Marco Gerards <metgerards@student.han.nl>
54649 * README: In the pupa-mkimage example use _chain instead of chain
54650 and ext2 instead of fat.
54651 * TODO: Replace ext2fs with jfs as an example. Add an item for
54652 adding journal playback for ext2fs.
54653 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
54654 (pkgdata_MODULES): Added ext2.mod.
54655 (ext2_mod_SOURCES): New variable.
54656 (ext2_mod_CFLAGS): Likewise.
54657 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
54658 * include/pupa/misc.h (pupa_strncpy): New prototype.
54659 (pupa_strcat): Likewise.
54660 (pupa_strncmp): Likewise.
54661 * kern/misc.c (pupa_strcat): Enable function.
54662 (pupa_strncpy): New function.
54663 (pupa_strncmp): Likewise.
54664 * fs/ext2.c: New file.
54666 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
54667 when the read failed before retrying.
54668 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
54669 (_FILE_OFFSET_BITS): Likewise.
54670 * configure.ac: Added AC_SYS_LARGEFILE.
54672 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54674 * genmk.rb (PModule#rule): Make sure to get only symbol names
54675 from the output of nm.
54676 Reported by Robert Millan <rmh.grub@aybabtu.com>.
54678 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
54680 I forgot to check in these changes for a long time. This adds
54681 incomplete support for VGA console, and this is still very
54682 buggy. Also, a lot of consideration is required for I18N,
54683 UNICODE, and VGA font issues. Therefore, assume that this is
54684 such that "better than nothing".
54686 * font/manager.c: New file.
54687 * include/pupa/font.h: Likewise.
54688 * include/pupa/i386/pc/vga.h: Likewise.
54689 * term/i386/pc/vga.c: Likewise.
54690 * util/unifont2pff.rb: Likewise.
54692 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
54693 (pkgdata_MODULES): Added vga.mod and font.mod.
54694 (vga_mod_SOURCES): New variables.
54695 (vga_mod_CFLAGS): Likewise.
54696 (font_mod_SOURCES): Likewise.
54697 (font_mod_CFLAGS): Likewise.
54699 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
54701 * include/pupa/term.h: Include pupa/err.h.
54702 (struct pupa_term): Added init and fini.
54703 Changed the argument of putchar to pupa_uint32_t.
54705 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
54706 (pupa_console_real_putchar): New prototype.
54707 (pupa_console_putchar): Removed.
54708 (pupa_console_checkkey): Exported.
54709 (pupa_console_getkey): Likewise.
54711 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
54714 * kern/term.c (pupa_term_set_current): Rewritten.
54715 (pupa_putchar): Likewise.
54716 (pupa_putcode): New function.
54718 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
54719 (pupa_console_real_putchar): ... this.
54720 (pupa_vga_set_mode): New function.
54721 (pupa_vga_get_font): Likewise.
54723 * normal/command.c: Include pupa/term.h.
54724 (terminal_command): New function.
54725 (pupa_command_init): Register the command "terminal".
54727 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
54728 (DISP_UP): Likewise.
54729 (DISP_RIGHT): Likewise.
54730 (DISP_DOWN): Likewise.
54731 (DISP_HLINE): Likewise.
54732 (DISP_VLINE): Likewise.
54733 (DISP_UL): Likewise.
54734 (DISP_UR): Likewise.
54735 (DISP_LL): Likewise.
54736 (DISP_LR): Likewise.
54738 * term/i386/pc/console.c (pupa_console_putchar): New function.
54740 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
54742 * util/resolve.c (pupa_util_resolve_dependencies): BUG
54743 FIX. Reverse the path_list.
54745 * include/pupa/normal.h: Export pupa_register_command and
54746 pupa_unregister_command.
54748 * hello/hello.c (pupa_cmd_hello): New module.
54749 * conf/i386-pc.rmk: Added hello.mod.
54751 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
54753 * kern/i386/pc/lzo1x.S: New file.
54755 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
54756 (compress_kernel): New variable.
54757 (generate_image): Heavily modified to support compressing a
54758 large part of the core image.
54760 * util/misc.c (pupa_util_read_image): Fix a file descriptor
54762 (pupa_util_load_image): New function.
54764 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
54765 (pupa_compressed_size): New variable.
54766 (codestart): Enable Gate A20 here.
54767 Decompress the compressed part of the core image.
54768 Rearrange the code to put functions and variables which are
54769 required for initialization in the non-compressed part.
54772 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
54775 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
54777 * include/pupa/i386/pc/kernel.h
54778 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
54779 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
54780 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
54781 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
54782 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
54784 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
54786 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
54787 (Utility#rule): Likewise.
54789 * configure.ac: Check if LZO is available.
54791 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
54793 * include/pupa/normal.h: New file.
54794 * include/pupa/setjmp.h: Likewise.
54795 * include/pupa/i386/setjmp.h: Likewise.
54796 * normal/cmdline.c: Likewise.
54797 * normal/command.c: Likewise.
54798 * normal/main.c: Likewise.
54799 * normal/menu.c: Likewise.
54800 * normal/i386/setjmp.S: Likewise.
54802 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
54803 (pupa_rescue_cmd_initrd): Likewise.
54805 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
54808 * kern/i386/pc/startup.S (translation_table): New variable.
54809 (translate_keycode): New function.
54810 (pupa_console_getkey): Call translate_keycode.
54812 * kern/rescue.c (attempt_normal_mode): New function.
54813 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
54814 it failed, print a message.
54816 * kern/mm.c (pupa_real_malloc): Print more information when a
54817 free magic is broken.
54818 (pupa_free): If the first free header is not free actually, set
54821 * kern/main.c (pupa_load_normal_mode): Just load the module
54823 (pupa_main): Don't print the message
54824 "Entering into rescue mode..." here.
54826 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
54828 (pupa_rescue_cmd_initrd): Likewise.
54829 (pupa_rescue_cmd_initrd): Likewise.
54831 * include/pupa/symbol.h (FUNCTION): Specify the type.
54832 (VARIABLE): Likewise.
54834 * include/pupa/err.h (pupa_err_t): Added
54835 PUPA_ERR_UNKNOWN_COMMAND.
54837 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
54838 (pupa_dl_get_prefix): Likewise.
54840 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
54841 Added _chain.mod and _linux.mod instead of chain.mod and
54843 (chain_mod_SOURCES): Renamed to ...
54844 (_chain_mod_SOURCES): ... this.
54845 (chain_mod_CFLAGS): Renamed to ...
54846 (_chain_mod_CFLAGS): ... this.
54847 (linux_mod_SOURCES): Renamed to ...
54848 (_linux_mod_SOURCES): ... this.
54849 (linux_mod_CFLAGS): Renamed to ...
54850 (_linux_mod_CFLAGS): ... this.
54851 (normal_mod_SOURCES): New variable.
54852 (normal_mod_CFLAGS): Likewise.
54853 (normal_mod_ASFLAGS): Likewise.
54855 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
54857 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
54860 * kern/dl.c (pupa_dl_ref): Refer depending modules
54862 (pupa_dl_unref): Unrefer depending modules recursively.
54863 Don't call pupa_dl_unload implicitly, because PUPA can crash if
54864 a module is unloaded before one depending on that module is
54866 (pupa_dl_unload): Unload depending modules explicitly,
54869 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
54871 * include/pupa/i386/pc/linux.h: New file.
54872 * loader/i386/pc/linux.c: Likewise.
54874 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
54876 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
54877 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
54878 of PUPA_CHAINLOADER_BOOT_SECTOR.
54880 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
54881 (pupa_linux_prot_size): New variable.
54882 (pupa_linux_tmp_addr): Likewise.
54883 (pupa_linux_real_addr): Likewise.
54884 (pupa_linux_boot_zimage): New function.
54885 (pupa_linux_boot_bzimage): Likewise.
54887 * kern/i386/pc/init.c (struct mem_region): New structure.
54888 (MAX_REGIONS): New macro.
54889 (mem_regions): New variable.
54890 (num_regions): Likewise.
54891 (pupa_os_area_addr): Likewise.
54892 (pupa_os_area_size): Likewise.
54893 (pupa_lower_mem): Likewise.
54894 (pupa_upper_mem): Likewise.
54895 (add_mem_region): New function.
54896 (compact_mem_regions): Likewise.
54897 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
54898 the size of the conventional memory and that of so-called upper
54899 memory (before the first memory hole).
54900 Instead of adding each found region to free memory, use
54901 add_mem_region and add them after removing overlaps.
54902 Also, add only 1/4 of the upper memory to free memory. The rest
54903 is used for loading OS images. Maybe this is ad hoc, but this
54904 makes it much easier to relocate OS images when booting.
54906 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
54907 (pupa_enter_rescue_mode): Don't register initrd and module.
54909 * kern/mm.c: Include pupa/dl.h.
54911 * kern/main.c: Include pupa/file.h and pupa/device.h.
54913 * kern/loader.c (pupa_loader_load_module_func): Removed.
54914 (pupa_loader_load_module): Likewise.
54916 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
54919 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
54920 (pupa_linux_tmp_addr): Likewise.
54921 (pupa_linux_real_addr): Likewise.
54922 (pupa_linux_boot_zimage): Likewise.
54923 (pupa_linux_boot_bzimage): Likewise.
54925 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
54926 (pupa_upper_mem): Likewise.
54927 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
54928 module is too dangerous.
54930 * include/pupa/loader.h (pupa_os_area_addr): Declared.
54931 (pupa_os_area_size): Likewise.
54932 (pupa_loader_set): Remove the first argument. Loader doesn't
54933 manage modules or initrd any longer.
54934 (pupa_loader_load_module): Removed.
54936 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
54937 (linux_mod_SOURCES): New variable.
54938 (linux_mod_CFLAGS): Likewise.
54940 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
54942 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
54943 the length of a blocklist correctly.
54945 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
54946 Use ioctl only if the OS file is a block device.
54947 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
54948 not very useful for normal files.
54950 * kern/main.c (pupa_set_root_dev): New function.
54951 (pupa_load_normal_mode): Likewise.
54952 (pupa_main): Call those above.
54954 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
54957 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
54959 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
54961 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
54962 (setup): Configure the installed partition information and the
54965 * loader/i386/pc/chainloader.c (my_mod): New variable.
54966 (pupa_chainloader_unload): New function.
54967 (pupa_rescue_cmd_chainloader): Refer itself.
54968 (PUPA_MOD_INIT): Save its own module in MY_MOD.
54970 * kern/i386/pc/startup.S (install_partition): Removed.
54971 (version_string): Likewise.
54972 (config_file): Likewise.
54973 (pupa_install_dos_part): New variable.
54974 (pupa_install_bsd_part): Likewise.
54975 (pupa_prefix): Likewise.
54976 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
54978 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
54980 (make_install_device): New function.
54981 (pupa_machine_init): Set the dl prefix.
54983 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
54984 (buf): Renamed to ...
54985 (linebuf): ... this.
54986 (pupa_rescue_cmd_prefix): New function.
54987 (pupa_rescue_cmd_insmod): Likewise.
54988 (pupa_rescue_cmd_rmmod): Likewise.
54989 (pupa_rescue_cmd_lsmod): Likewise.
54990 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
54993 * kern/mm.c (pupa_memalign): If failed even after invalidating
54994 disk caches, unload unneeded modules and retry.
54996 * kern/misc.c (pupa_memmove): New function.
54997 (pupa_memcpy): Removed.
54998 (pupa_strcpy): New function.
54999 (pupa_itoa): Made static.
55001 * kern/dl.c (pupa_dl_iterate): New function.
55002 (pupa_dl_ref): Likewise.
55003 (pupa_dl_unref): Likewise.
55004 (pupa_dl_unload): Return if succeeded or not.
55005 (pupa_dl_unload_unneeded): New function.
55006 (pupa_dl_unload_all): Likewise.
55007 (pupa_dl_init): Renamed to ...
55008 (pupa_dl_set_prefix): ... this.
55009 (pupa_dl_get_prefix): New function.
55011 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
55012 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
55013 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
55014 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
55015 (pupa_install_dos_part): Declared.
55016 (pupa_install_bsd_part): Likewise.
55017 (pupa_prefix): Likewise.
55018 (pupa_boot_drive): Likewise.
55020 * include/pupa/types.h: Fix a typo.
55022 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
55024 (pupa_memmove): Declared.
55025 (pupa_strcpy): Likewise.
55027 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
55028 pupa_mod_init takes one argument, its own module.
55029 (pupa_dl_unload_unneeded): Declared.
55030 (pupa_dl_unload_all): Likewise.
55031 (pupa_dl_ref): Likewise.
55032 (pupa_dl_unref): Likewise.
55033 (pupa_dl_iterate): Likewise.
55034 (pupa_dl_init): Renamed to ...
55035 (pupa_dl_set_prefix): ... this.
55036 (pupa_dl_get_prefix): Declared.
55038 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
55039 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
55041 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
55042 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
55044 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
55045 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
55047 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55049 * util/i386/pc/pupa-setup.c (setup): Define the internal
55050 function find_first_partition_start at the top level, because GCC
55051 3.0.x cannot compile internal functions in deeper scopes
55053 (find_root_device): Use lstat instead of stat.
55054 Don't follow symbolic links.
55055 Fix the path-constructing code.
55057 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
55058 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
55059 by a BLKGETSIZE ioctl first, because block devices don't fill
55060 the member st_mode of the structure stat on Linux.
55061 [__linux__] (linux_find_partition): Use a temporary buffer
55062 REAL_DEV for the working space. Copy it to DEV before returning.
55063 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
55064 buffer cache consistent.
55065 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
55066 strncmp. The previous value was merely wrong.
55067 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
55069 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
55070 FAT size is 12. The previous value was merely wrong.
55072 * kern/main.c (pupa_main): Don't split the starting message from
55075 * kern/term.c (pupa_putchar): Put CR after LF instead of before
55076 LF, because BIOS goes crazy about character attributes in this
55079 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
55081 * include/i386/pc/util/biosdisk.h: New file.
55082 * util/i386/pc/biosdisk.c: Likewise.
55083 * util/i386/pc/pupa-setup.c: Likewise.
55085 * Makefile.in (INCLUDE_DISTFILES): Added
55086 include/pupa/i386/pc/util/biosdisk.h.
55087 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
55088 directory util/i386/pc.
55089 (install-local): Added a rule for sbin_UTILITIES.
55090 (uninstall): Likewise.
55092 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
55094 * util/misc.c (xrealloc): New function.
55095 (pupa_malloc): Likewise.
55096 (pupa_free): Likewise.
55097 (pupa_realloc): Likewise.
55098 (pupa_stop): Likewise.
55099 (pupa_putchar): Likewise.
55101 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
55103 * include/pupa/util/misc.h (xrealloc): Declared.
55105 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
55107 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
55108 (PUPA_BOOT_MACHINE_BPB_END): ... this.
55110 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
55111 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55113 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
55114 way should be implemented.
55115 [PUPA_UTIL] (pupa_fat_fini): Likewise.
55117 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
55118 the size of NAME for safety.
55119 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
55122 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
55123 (pupa_setup_SOURCES): Likewise.
55125 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
55127 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55129 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
55130 bunch of pushl's from pusha, because this destroys the return
55133 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
55135 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
55136 This means that any missing prototypes could be fatal. Also, you
55137 must take care when writing assembly code. See the comments at
55138 the beginning of startup.S, for more details.
55140 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
55141 compilation mechanism.
55142 (pupa_chainloader_real_boot): Likewise.
55143 (pupa_biosdisk_rw_int13_extensions): Likewise.
55144 (pupa_biosdisk_rw_standard): Likewise.
55145 (pupa_biosdisk_check_int13_extensions): Likewise.
55146 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
55147 (pupa_biosdisk_get_diskinfo_standard): Likewise.
55148 (pupa_get_memsize): Likewise.
55149 (pupa_get_mmap_entry): Likewise.
55150 (pupa_console_putchar): Likewise.
55151 (pupa_console_setcursor): Likewise.
55152 (pupa_getrtsecs): Use pushl instead of push.
55154 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
55155 memory instead of the stack for a mmap entry, because some
55156 BIOSes may ignore the maximum size and overflow.
55158 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
55160 * genmk.rb (PModule#rule): Compile automatically generated
55161 sources with module-specific CFLAGS as well as other sources.
55163 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55165 * configure.ac: Check ld.
55166 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
55167 respectively, before checking endianness and sizes.
55169 * Makefile.in (LD): New variable.
55171 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55173 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
55175 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
55177 * Changelog: New file.