1 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6 2011-09-28 Andreas Born <futur.andy@googlemail.com>
8 Fix incorrect identifiers in bash-completion.
10 * util/bash-completion.d/grub-completion.bash.in
11 (_grub_mkpasswd-pbkdf2): Rename to ...
12 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13 (_grub_script-check): Rename to ...
14 (_grub_script_check): ... this. All users updated.
16 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
18 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
19 Return 0 if disk isn't biosdisk.
21 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
23 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
25 * Makefile.util.def (grub-fstest): Likewise.
27 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
29 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
30 Get sector size from disk label.
32 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
34 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
35 */README* as well as README*.
36 Reported by: Axel Beckert.
38 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
40 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
41 case of less than 256 MiB of RAM.
43 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
45 * grub-core/commands/wildcard.c (make_regex): Handle @.
47 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
49 * util/grub-install.in: Move cryptodisk logic to appropriate place.
51 2011-08-21 Szymon Janc <szymon@janc.net.pl>
53 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
54 AC_LANG_CONFTEST macros.
56 2011-08-20 Szymon Janc <szymon@janc.net.pl>
58 Add grub-fstest option to uncompress data for commands.
60 * util/grub-fstest.c (uncompress): New var.
61 (options): New option -u.
63 2011-08-20 Szymon Janc <szymon@janc.net.pl>
65 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
66 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
68 2011-08-20 Szymon Janc <szymon@janc.net.pl>
70 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
71 file type was not recognized correctly (not gzip or corrupted).
73 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
75 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
76 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
78 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
80 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
82 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
83 video_radeon_fuloong2e.
84 * grub-core/video/radeon_fuloong2e.c: New file.
85 * include/grub/video.h (grub_video_id_t): Add new ID
86 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
88 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
90 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
92 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
93 that PRID matches the detected subplatform and reset the subplatform
96 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
98 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
100 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
102 Fix PCI iterating on functions >= 4.
104 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
105 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
107 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
108 (grub_pci_read): Fix bitmask.
109 (grub_pci_read_word): Likewise.
110 (grub_pci_read_byte): Likewise.
111 (grub_pci_write): Likewise.
112 (grub_pci_write_word): Likewise.
113 (grub_pci_write_byte): Likewise.
115 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
117 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
118 can still be specified in TARGET_CFLAGS)
120 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
122 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
124 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
125 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
126 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
127 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
128 (FULOONG): Rename to ...
129 (FULOONG2F): ... this. All users updated.
130 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
131 (machtype_fuloong2f_str): ... this.
132 (machtype_fuloong2e_str): New string.
133 Check for machtype_fuloong2e_str.
134 * grub-core/loader/mips/linux.c (loongson_machtypes)
135 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
136 * grub-core/term/serial.c (loongson_defserial)
137 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
138 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
140 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
142 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
143 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
144 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
145 to IMAGE_FULOONG2F_FLASH. All users updated.
146 (image_targets): Rename images.
147 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
149 2011-08-19 Szymon Janc <szymon@janc.net.pl>
151 Make enable of disk cache statistics code configurable.
153 * configure.ac: --enable-cache-stats added.
154 * config.h.in (DISK_CACHE_STATS): New define.
155 * grub-core/Makefile.core.def (cacheinfo): New command.
156 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
157 * grub-core/commands/cacheinfo.c: New file.
158 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
159 moved to cacheinfo.c.
160 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
162 * include/grub/disk.h: Likewise.
164 2011-08-19 Szymon Janc <szymon@janc.net.pl>
166 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
167 * grub-core/Makefile.am: Likewise.
169 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
171 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
174 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
176 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
178 (grub_jfs_lookup_symlink): Use correct starting inode.
180 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
182 * util/grub-setup.c (main): Add missing gcry initialisation.
184 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
186 Don't accept text modes on EFI when booting Linux.
188 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
189 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
191 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
192 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
194 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
195 use of "/path/.." as in grub-install for EFI as well as handling
197 Fixes Debian bug #637768.
199 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
201 * util/grub-probe.c: Remove duplicate #include.
203 2011-08-10 Robert Millan <rmh@gnu.org>
205 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
207 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
209 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
210 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
212 2011-08-03 Robert Millan <rmh@gnu.org>
214 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
216 Reported by: Zachary Bedell
218 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
220 * configure.ac: The Loongson port requires grub-mkfont due to its
221 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
224 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
226 * util/grub-install.in: Don't source grub-mkconfig_lib until after
227 processing arguments (otherwise help2man fails when GRUB has not yet
230 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
232 New script grub-mkstandalone.
234 * Makefile.util.def (grub-mkstandalone): New script.
235 * docs/man/grub-mkstandalone.h2m: New file.
236 * util/grub-mkstandalone.in: Likewise.
238 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
240 Support ATA disks with 4K sectors.
242 * include/grub/ata.h (grub_ata): New member log_sector_size.
243 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
244 (grub_ata_identify): Read sector size.
245 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
247 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
249 * util/grub-install.in: Don't use uhci outside of x86.
251 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
253 * util/grub-mkrescue.in: Add missing quotes.
255 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
257 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
260 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
262 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
264 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
266 * include/grub/video.h: add missing EXPORT_FUND on
267 grub_video_edid_checksum and grub_video_edid_preferred_mode.
269 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
271 * include/grub/mips/kernel.h: Fix define conflict.
273 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
275 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
278 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
280 Preferred resolution detection for VBE.
282 * grub-core/video/video.c (grub_video_edid_checksum): New function.
283 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
284 the Flat Panel extension, in line with the X.org VESA driver.
285 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
287 (grub_vbe_bios_get_ddc_capabilities): Likewise.
288 (grub_vbe_bios_read_edid): Likewise.
289 (grub_vbe_get_preferred_mode): Likewise.
290 (grub_video_vbe_setup): When the mode is "auto", try to get the
291 preferred mode from VBE, and use the largest mode that is no larger
292 than the preferred mode (some BIOSes expose a preferred mode that is
293 not in their mode list!). If this fails, fall back to 640x480 as a
294 safe conservative choice.
295 (grub_video_vbe_get_edid): New function.
296 (grub_video_vbe_adapter): Add get_edid.
297 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
298 (struct grub_video_adapter): Add get_edid.
299 (grub_video_edid_checksum): Add prototype.
300 (grub_video_edid_preferred_mode): Likewise.
301 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
304 * grub-core/commands/videoinfo.c (print_edid): New function.
305 (grub_cmd_videoinfo): Print EDID if available.
307 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
308 is more appropriate on a wider range of platforms than 640x480.
309 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
312 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
314 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
316 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
318 * po/POTFILES.in: Regenerate.
320 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
322 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
323 incorrect memory usage.
325 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
327 * util/grub-install.in: Source grub-mkconfig_lib.
329 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
331 Remove getroot.c from core on emu platform.
333 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
335 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
337 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
338 * util/getroot.c (get_win32_path): ... here.
339 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
340 * util/getroot.c (fini_libzfs): ... here.
341 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
342 * util/getroot.c (grub_get_libzfs_handle): ... here.
343 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
345 * util/getroot.c (grub_find_zpool_from_dir): ... here.
346 * grub-core/kern/emu/misc.c
347 (grub_make_system_path_relative_to_its_root): Moved from here...
348 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
349 * grub-core/kern/emu/getroot.c: Moved from here ...
350 * util/getroot.c: ... here. All users updated.
351 * grub-core/kern/emu/raid.c: Moved from here ...
352 * util/raid.c: ... here. All users updated.
354 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
356 * po/POTFILES.in: Regenerate.
358 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
360 Fix compilation on GNU/Linux.
362 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
364 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
365 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
366 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
368 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
369 2011-07-07 Michael Gorven <michael@gorven.za.net>
370 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
372 LUKS and GELI support.
374 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
375 grub-core/disk/luks.c, grub-core/disk/geli.c,
376 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
377 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
379 (libgrubmods.a): Remove gcrypts cflags and cppflags.
380 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
381 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
382 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
383 (grub-bin2h): Add libgcry.a.
384 (grub-mkimage): Likewise.
385 (grub-mkrelpath): Likewise.
386 (grub-script-check): Likewise.
387 (grub-editenv): Likewise.
388 (grub-mkpasswd-pbkdf2): Likewise.
389 (grub-pe2elf): Likewise.
390 (grub-fstest): Likewise.
391 (grub-mkfont): Likewise.
392 (grub-mkdevicemap): Likewise.
393 (grub-probe): Likewise.
394 (grub-ofpath): Likewise.
395 (grub-mklayout): Likewise.
396 (example_unit_test): Likewise.
397 (grub-menulst2cfg): Likewise.
398 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
399 * grub-core/Makefile.core.def (cryptodisk): New module.
402 * grub-core/disk/AFSplitter.c: New file.
403 * grub-core/disk/cryptodisk.c: Likewise.
404 * grub-core/disk/geli.c: Likewise.
405 * grub-core/disk/luks.c: Likewise.
406 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
408 (grub_util_get_dm_abstraction): New function.
409 (grub_util_follow_gpart_up): Likewise.
410 (grub_util_get_geom_abstraction): Likewise.
411 (grub_util_get_dev_abstraction): Use new functions.
412 (grub_util_pull_device): Pull GELI and LUKS.
413 (grub_util_get_grub_dev): Handle LUKS and GELI.
414 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
415 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
416 (follow_geom_up): Removed.
417 (grub_util_fd_seek): New function.
418 (open_device): Use grub_util_fd_seek.
419 (nread): Rename to ..
420 (grub_util_fd_read): ... this. All users updated.
421 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
422 (grub_crypto_cbc_decrypt): Likewise.
423 (grub_crypto_hmac_write): Likewise.
424 (grub_crypto_hmac_buffer): Likewise.
425 (grub_password_get): Extend to util.
426 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
428 (gcry_md_spec) [GRUB_UTIL]: Likewise.
429 * include/grub/cryptodisk.h: New file.
430 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
431 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
433 (grub_util_follow_gpart_up): New proto.
434 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
435 (grub_util_fd_read): Likewise.
436 (grub_cryptodisk_cheat_mount): Likewise.
437 (grub_util_cryptodisk_print_uuid): Likewise.
438 (grub_util_get_fd_sectors): Likewise.
439 * util/grub-fstest.c (mount_crypt): New var.
440 (fstest): Mount crypto if requested.
441 (options): New option -C.
442 (argp_parser): Parse -C.
443 (main): Init and fini gcry.
444 * util/grub-install.in: Support cryptodisk install.
445 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
446 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
448 (prepare_grub_to_access_device): Likewise.
449 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
450 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
451 (probe_cryptodisk_uuid): New function.
452 (probe_abstraction): Likewise.
453 (probe): Use new functions.
454 * util/import_gcry.py: Create Makefile.utilgcry.def.
457 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
459 Lazy device scanning.
461 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
462 (grub-setup): Remove util/raid.c.
463 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
464 * grub-core/disk/lvm.c (scan_depth): New variable.
465 (grub_lvm_iterate): Rescan if necessary.
466 (find_lv): New function based on grub_lvm_open.
467 (grub_lvm_open): Use find_lv. Rescan on error.
468 (is_node_readable): New function.
469 (is_lv_readable): Likewise.
470 (grub_lvm_scan_device): Skip already found disks.
471 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
472 Stop if searched device is found and readable.
473 * grub-core/disk/raid.c (inscnt): New variable.
474 (scan_depth): Likewise.
475 (scan_devices): New function based on grub_raid_register. Abort if
476 looked for device is found.
477 (grub_raid_iterate): Rescan if needed.
478 (find_array): NEw function based on -grub_raid_open.
479 (grub_raid_open): Use find_array and rescan.
480 (insert_array): Set became_readable_at.
481 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
482 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
484 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
485 (grub_util_pull_device): New function.
486 (grub_util_get_grub_dev): Call grub_util_pull_device.
487 * util/raid.c: Moved to ..
488 * grub-core/kern/emu/raid.c: ... here.
489 (grub_util_raid_getmembers): New parameter "bootable".
490 All users updated. Support 1.x.
491 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
493 * include/grub/disk.h (grub_disk_pull_t): New enum.
494 (grub_disk_dev): Change iterate prototype.
496 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
498 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
499 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
500 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
501 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
503 * include/grub/util/raid.h: Removed.
505 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
507 * po/POTFILES.in: Regenerate.
509 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
511 Unify sparc init with other ieee1275.
513 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
514 instead of kern/sparc64/ieee1275/init.c.
515 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
516 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
517 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
518 grub/machine/kernel.h.
519 (grub_ieee1275_original_stack) [__sparc__]: New variable.
520 (grub_claim_heap) [__sparc__]: Use sparc version.
521 (grub_machine_init): Moved args parsing to
522 (grub_parse_cmdline): ...this.
523 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
524 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
526 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
528 Move BOOTP to separate file.
530 * grub-core/Makefile.core.def (net): Add net/bootp.c.
531 * grub-core/net/net.c: Move all BOOTP functions to
532 * grub-core/net/bootp.c: ... here.
534 Use frame interface on PXE.
536 * grub-core/Makefile.core.def (pxecmd): Removed.
537 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
538 * grub-core/commands/i386/pc/pxecmd.c: Removed.
539 * grub-core/i386/pc/pxe.c: Moved from here ...
540 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
541 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
542 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
546 * grub-core/Makefile.core.def (efinet): New module.
547 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
549 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
551 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
552 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
553 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
554 * grub-core/net/drivers/efi/efinet.c: New file.
555 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
556 (grub_efi_net_config): New extern var.
558 Various cleanups and bugfixes.
560 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
562 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
563 disk declared as partition.
564 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
566 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
567 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
568 (grub_debug_zalloc): Likewise.
569 (grub_debug_realloc): Likewise.
570 (grub_debug_memalign): Likewise.
571 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
572 Check that target is IPv4.
573 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
574 local-mac-address as fallback.
575 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
577 * grub-core/net/ip.c (ipchksum): Rename to ...
578 (grub_net_ip_chksum): ... this. All users updated.
579 (grub_net_recv_ip_packets): Special handling for DHCP.
580 * util/grub-mkimage.c (generate_image): Zero-out aout header.
582 Unify prefix handling
584 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
585 (grub_machine_get_bootlocation): ... this.
586 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
587 (grub_machine_get_bootlocation): ... this.
588 (grub_prefix): New variable.
590 (root_dev): New variable.
592 (main): Use new variables.
593 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
595 (grub_machine_get_bootlocation): ... this.
596 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
597 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
598 (grub_machine_get_bootlocation): ... this.
599 (grub_machine_set_prefix): Removed.
600 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
601 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
603 (grub_machine_get_bootlocation): ... this.
604 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
605 (grub_set_prefix_and_root): ... this. All users updated.
606 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
608 (grub_machine_get_bootlocation): ... this.
609 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
610 (grub_machine_get_bootlocation): New proto.
611 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
613 Less intrusive and more reliable seek on network implementation.
615 * grub-core/kern/file.c (grub_file_net_seek): Removed.
616 (grub_file_seek): Don't call grub_file_net_seek.
617 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
618 (grub_net_fs_read_real): .. this.
619 (grub_net_seek_real): Use net->offset.
620 (grub_net_fs_read): Seek if necessary.
622 Unify IEEE1275 netwotk config with the other platforms.
624 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
626 (grub_machine_get_bootlocation): Support network.
627 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
628 Support type and device parsing.
629 (grub_ieee1275_get_device_type): New function.
630 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
632 (grub_ieee1275_net_config_real): ... this.
633 (grub_ofnet_probecards): Removed.
634 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
635 * include/grub/ieee1275/ofnet.h: Removed.
636 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
638 (grub_ieee1275_get_device_type): New function.
640 Unify network device closing across platforms and make more robust.
642 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
644 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
646 * grub-core/net/net.c (grub_net_network_level_interface_register):
648 (grub_net_card_unregister): Close all interfaces.
649 (receive_packets): Don't poll if no iterfaces are registered.
651 (grub_net_fini_hw): New function.
652 (grub_net_restore_hw): Likewise.
653 (fini_hnd): New variable.
654 (GRUB_MOD_INIT): Register preboot hook.
655 (GRUB_MOD_FINI): Run and unregister preboot hook.
657 Poll network cards when idle.
659 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
660 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
661 * grub-core/net/net.c (receive_packets): Save last poll time.
662 (grub_net_poll_cards_idle_real): New function.
663 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
664 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
665 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
667 Rename ofnet interfaces.
669 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
670 (grub_ofnet_findcards): Use ofnet_%s names.
672 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
674 Cleanup socket opening.
676 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
677 (grub_net_fs_close): Likewise.
678 (grub_net_fs_read_real): Use eof member.
679 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
680 (+grub_net_udp_close): New inline function.
682 * include/grub/net/tftp.h: Moved to the top of ...
683 * grub-core/net/tftp.c: ... here.
684 * include/grub/net/ip.h: Moved mostly to the top of ...
685 * grub-core/net/ip.c: ... here.
686 * include/grub/net/ethernet.h: Moved mostly to the top of ...
687 * grub-core/net/ethernet.c: ... here.
689 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
691 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
694 * include/grub/net/ip.h (ipv4_ini): Removed.
695 (ipv4_fini): Likewise.
697 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
698 (grub_net_send_ip_packets): Likewise.
700 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
702 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
703 grub_read_cmos prototype.
705 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
707 VGA text support in qemu-mips
709 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
710 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
711 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
713 * grub-core/kern/i386/qemu/init.c: Renamed to ...
714 * grub-core/kern/vga_init.c: ... this.
715 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
716 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
717 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
719 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
720 GRUB_MACHINE_PCI_IO_BASE.
722 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
724 MIPS qemu flash support.
726 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
728 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
729 (grub_machine_init): Probe memory if its size isn't known.
730 * util/grub-mkimage.c (image_targets): Add flash targets.
731 (generate_image): Handle flash targets.
733 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
735 MIPS qemu at_keyboard support.
737 * gentpl.py (videoinkernel): Add qemu-mips.
738 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
739 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
740 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
742 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
743 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
744 * grub-core/term/serial.c (grub_serial_register)
745 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
747 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
749 CMOS support on sparc.
751 * gentpl.py (cmos): Add powerpc and sparc.
752 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
754 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
755 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
756 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
757 grub_set_datetime_cmos.
758 * grub-core/lib/ieee1275/cmos.c: New file.
759 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
760 (find_rtc): Set no_ieee1275_rtc on error.
761 (grub_get_datetime): Call grub_get_datetime_cmos on error.
762 (grub_set_datetime): Call grub_set_datetime_cmos on error.
763 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
764 fail. Move value to argument. All users updated
765 (grub_cmos_write): Likewise.
766 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
767 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
768 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
769 grub_get_datetime_cmos and grub_set_datetime_cmos.
771 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
773 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
774 sourcing grub-mkconfig_lib.
775 * util/update-grub_lib.in: Likewise.
776 * util/grub.d/00_header.in: Likewise.
777 * util/grub.d/10_hurd.in: Likewise.
778 * util/grub.d/10_kfreebsd.in: Likewise.
779 * util/grub.d/10_linux.in: Likewise.
780 * util/grub.d/10_netbsd.in: Likewise.
781 * util/grub.d/10_windows.in: Likewise.
782 * util/grub.d/20_linux_xen.in: Likewise.
783 * util/grub.d/30_os-prober.in: Likewise.
785 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
787 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
788 default_bg_color rather than black.
789 (grub_gfxterm_fullscreen): Likewise.
790 (grub_gfxterm_background_color_cmd): Save new background color in
793 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
795 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
797 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
799 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
802 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
804 Chainloading on coreboot support.
806 * grub-core/Makefile.core.def (chain): Add coreboot.
807 * grub-core/loader/i386/coreboot/chainloader.c: New file.
809 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
811 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
814 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
816 Implement time command.
818 * grub-core/Makefile.core.def (time): New module.
819 * grub-core/commands/time.c: New file.
820 * grub-core/script/parser.y: Remove "time" keyword.
821 * grub-core/script/yylex.l: Likewise.
823 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
825 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
827 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
829 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
830 when handling leftovers.
832 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
834 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
835 so that help2man doesn't fail.
837 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
839 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
840 type in pointers on sparc64.
841 (get_card_packet): Likewise.
843 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
845 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
847 (grub_cmd_videoinfo): Fetch current video mode.
849 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
851 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
852 because of underlying system restrictions.
854 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
856 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
859 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
861 Coreboot video support.
863 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
865 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
866 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
868 * grub-core/kern/i386/int.S: ... here.
869 * grub-core/video/i386/pc/vbe.c: Updated includes.
870 * grub-core/video/i386/pc/vga.c: Likewise.
871 * include/grub/i386/coreboot/memory.h
872 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
873 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
874 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
875 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
877 * include/grub/i386/pc/vga.h: Removed. All users updated.
879 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
881 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
882 definitions for dprintf.
883 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
885 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
887 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
889 (get_card_packet): Likewise.
891 2011-06-26 Yves Blusseau <blusseau@zetam.org>
893 Display the path of the file when file is not found
895 * grub-core/fs/fat.c: Display the filename when file is not found.
896 * grub-core/fs/fshelp.c: Likewise.
897 * grub-core/fs/hfs.c: Likewise.
898 * grub-core/fs/jfs.c: Likewise.
899 * grub-core/fs/minix.c: Likewise.
900 * grub-core/fs/ufs.c: Likewise.
901 * grub-core/fs/btrfs.c: Likewise.
902 * grub-core/commands/i386/pc/play.c: Likewise.
904 2011-06-26 Szymon Janc <szymon@janc.net.pl>
906 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
907 pointer checks before calling grub_free().
908 * grub-core/commands/wildcard.c (match_devices): Likewise.
909 * grub-core/commands/wildcard.c (match_files): Likewise.
910 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
911 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
912 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
913 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
914 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
915 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
916 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
917 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
918 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
920 2011-06-25 Patrick <p55@mailinator.com>
922 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
924 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
926 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
927 (grub_pxe_send): Likewise.
928 (GRUB_MOD_INIT): Fix types.
930 2011-06-24 Szymon Janc <szymon@janc.net.pl>
932 * grub-core/io/xzio.c: Fix code style issues
934 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
935 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
937 Network infrastructure.
938 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
940 * include/grub/net/arp.h: New file.
941 * include/grub/net/device.h: Likewise.
942 * include/grub/net/ethernet.h: Likewise.
943 * include/grub/net/ip.h: Likewise.
944 * include/grub/net/netbuff.h: Likewise.
945 * include/grub/net/tftp.h: Likewise.
946 * include/grub/net/udp.h: Likewise.
947 * include/grub/ieee1275/ofnet.h: Likewise.
948 * include/grub/emu/export.h: Likewise.
949 * include/grub/net.h: Likewise.
950 * grub-core/net/arp.c: Likewise.
951 * grub-core/net/ethernet.c: Likewise.
952 * grub-core/net/ip.c: Likewise.
953 * grub-core/net/udp.c: Likewise.
954 * grub-core/net/tftp.c: Likewise.
955 * grub-core/net/netbuff.c: Likewise.
956 * grub-core/net/net.c: Likewise.
957 * grub-core/net/drivers/emu/emunet.c: Likewise.
958 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
959 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
961 * grub-core/Makefile.core.def (net): New module.
965 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
967 * grub-core/kern/device.c (grub_net_open) : New variable.
968 (grub_device_open): Handle network device.
969 (grub_device_close): Likewise.
970 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
971 (grub_grubnet_fini): Likewise.
972 (grub_file_seek): Seek in network device.
973 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
974 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
976 (grub_machine_fini): Call grub_grubnet_fini.
977 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
979 (grub_ieee1275_get_aliasdevname): New function.
980 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
981 Add unofficial Solaris network info.
982 (grub_multiboot_make_mbi): Likewise.
983 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
984 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
985 * include/grub/device.h (grub_fs): Removed.
986 * include/grub/err.h (grub_err_t): Add network-related values.
987 * include/grub/i386/pc/pxe.h: Removed bootp parts.
988 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
989 (grub_ieee1275_get_aliasdevname): New proto.
990 * include/grub/net.h: Rewritten.
992 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
994 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
997 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
999 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
1000 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
1001 it truncates the output.
1002 Reported by: Ximin Luo.
1004 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1006 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
1008 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1010 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1011 partmap before abstraction.
1013 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
1015 * util/grub-mkconfig_lib.in: Add missing quotes.
1017 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1019 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
1020 old method if mountinfo would return /dev/root and /dev/root doesn't
1023 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1027 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
1028 (decomp_table): Add zlib entries.
1029 (zio_read): USe 8 bits for compression function rather than 3.
1030 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
1032 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1034 * grub-core/disk/ahci.c: Add missing license statements.
1035 * grub-core/fs/romfs.c: Likewise.
1036 * grub-core/lib/ia64/setjmp.S: Likewise.
1037 * grub-core/loader/i386/pc/freedos.c: Likewise.
1038 * grub-core/loader/ia64/efi/linux.c: Likewise.
1039 * grub-core/video/colors.c: Likewise.
1040 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
1042 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1046 * grub-core/Makefile.core.def (ata_pthru): Removed.
1049 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
1051 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
1053 (grub_hdparm_do_check_powermode_cmd): Likewise.
1054 (grub_hdparm_do_smart_cmd): Likewise.
1055 (grub_hdparm_set_val_cmd): Likewise.
1056 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
1057 * grub-core/disk/ahci.c: New file.
1058 * grub-core/disk/ata.c: Factor out the low-level part into ...
1059 * grub-core/disk/pata.c: ... here.
1060 * grub-core/disk/ata_pthru.c: Contents moved to ...
1061 * grub-core/disk/pata.c: ... here.
1062 * grub-core/disk/scsi.c (grub_scsi_names): New array.
1063 (grub_scsi_iterate): Use grub_scsi_names.
1064 (grub_scsi_open): Likewise.
1065 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
1066 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
1067 (grub_ata_regs_t): New struct.
1068 (grub_disk_ata_pass_through_parms): Likewise.
1069 (grub_ata_device): Renamed to ...
1070 (grub_ata): ... this.
1071 (grub_ata_dev): New struct.
1072 Removed all low-level inline functions.
1073 * include/grub/scsi.h: Add PATA and AHCI subsystems.
1074 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
1075 iterate hooks and open. All users updated.
1076 * util/grub-install.in: Handle AHCI disk module.
1078 2011-06-23 Szymon Janc <szymon@janc.net.pl>
1080 Add support for DRI and RSTn markers in JPEG files.
1082 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
1083 (JPEG_MARKER_RST0): Likewise.
1084 (JPEG_MARKER_RST1): Likewise.
1085 (JPEG_MARKER_RST2): Likewise.
1086 (JPEG_MARKER_RST3): Likewise.
1087 (JPEG_MARKER_RST4): Likewise.
1088 (JPEG_MARKER_RST5): Likewise.
1089 (JPEG_MARKER_RST6): Likewise.
1090 (JPEG_MARKER_RST7): Likewise.
1091 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
1092 (grub_jpeg_decode_dri): New function.
1093 (grub_jpeg_decode_sos): Move image data related part into
1094 grub_jpeg_decode_data function.
1095 (grub_jpeg_decode_data): New function.
1096 (grub_jpeg_reset): New function.
1097 (grub_jpeg_decode_jpeg): Handle new markers.
1099 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1101 * util/ieee1275/ofpath.c (check_sas): Close fd.
1102 (main): Free of_path.
1103 Reported by: David Volgyes <dvolgyes>.
1105 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1107 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
1108 Reported by: David Volgyes <dvolgyes>.
1110 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1112 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
1114 Reported by: David Volgyes <dvolgyes>.
1116 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1118 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
1120 Reported by: David Volgyes <dvolgyes>.
1122 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1124 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
1125 Prevent memory leak.
1127 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1129 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
1131 Reported by: David Volgyes <dvolgyes>.
1133 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1135 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
1136 to continue if allocation is failed.
1138 Reported by: David Volgyes <dvolgyes>.
1140 2011-06-23 David Volgyes <dvolgyes>
1142 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
1145 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1147 Fix spurious warning.
1149 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
1150 (acorn_partition_map_find): Use .bin member.
1152 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1154 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
1155 /dev/root as a valid device.
1157 2011-06-23 Jim Meyering <meyering@redhat.com>
1159 Avoid NULL deref in grub_device_open.
1161 * grub-core/kern/device.c (grub_device_open): Don't dereference
1162 a NULL pointer upon failed grub_env_get.
1164 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1166 Support non-512B sectors and agglomerate reads.
1168 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
1169 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
1170 (disk_io_guid): Removed.
1171 (make_devices): Locate solely by BlockIO.
1172 (grub_efidisk_open): Fill log_sector_size and total_sectors.
1173 (grub_efidisk_read): Use read_blocks.
1174 (grub_efidisk_write): Use write_blocks.
1175 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
1177 (get_safe_sectors): Handle non-512B sectors.
1178 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
1180 (grub_biosdisk_write): Handle non-512B sectors.
1181 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
1182 (grub_scsi_read): Remove special non-512B block handling (now handled
1184 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
1185 and do sanity checks.
1186 (grub_disk_adjust_range): Handle non-512B sectors.
1187 (transform_sector): New function.
1188 (grub_disk_read_small): Likewise.
1189 (grub_disk_read): Rewritten.
1190 (grub_disk_write): Handle non-512B sectors.
1191 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
1193 (open_device): Use log_sector_size.
1194 (grub_util_biosdisk_read): Likewise.
1195 (grub_util_biosdisk_write): Likewise.
1196 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
1198 (pc_partition_map_embed): Likewise.
1199 * include/grub/disk.h (grub_disk): New field log_sector_size.
1200 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
1201 (GRUB_DISK_CACHE_BITS): Increased to 6.
1202 * util/grub-fstest.c (fstest): New command testload.
1203 (argp_parser): Likewise.
1205 2011-06-16 Robert Millan <rmh@gnu.org>
1207 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
1208 `ata' driver on kernel of FreeBSD 9.
1210 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
1211 (get_ataraid_disk_name): New functions.
1212 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
1213 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
1214 get_ataraid_disk_name() and get_ada_disk_name().
1216 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
1218 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
1221 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
1223 * docs/grub.texi (Obtaining and Building GRUB): Substitute
1224 `ftp.gnu.org' for `alpha.gnu.org'.
1226 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
1228 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
1229 partitions under /dev/disk/by-id/.
1231 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
1233 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
1234 after ten consecutive open failures. Scanning all the way up to
1235 10000 is excessive and can cause serious performance problems in
1236 some configurations.
1237 Fixes Ubuntu bug #787461.
1239 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1241 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
1244 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
1245 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1247 Don't stat devices unless we have to.
1249 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
1251 (grub_guess_root_device): Use already known os_dev if possible.
1252 * grub-core/kern/emu/hostdisk.c
1253 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
1254 if device is known to be a dm one.
1256 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
1258 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
1259 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
1260 Reported by: Pawel Tecza.
1262 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
1264 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
1265 (lsefisystab): Likewise.
1267 (lsefimmap): Likewise.
1268 (hdparm): Enable on qemu-mips.
1269 (setjmp): Add ia64 nodist.
1270 (serial): Simplify tags.
1272 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1274 * Makefile.util.def (grub-ofpathname): Install manual page.
1276 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1278 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
1280 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1282 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
1284 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1286 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
1289 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1291 Use full 64-bit division.
1293 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
1294 (grub_divmod64): ... this.
1295 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
1298 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1300 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
1303 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1305 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
1306 to avoid accidents when debugging with 'sh -x'.
1307 * grub-core/gensyminfo.sh.in: Likewise.
1308 * tests/example_scripted_test.in: Likewise.
1309 * tests/grub_cmd_regexp.in: Likewise.
1310 * tests/grub_script_blanklines.in: Likewise.
1311 * tests/grub_script_dollar.in: Likewise.
1312 * tests/grub_script_expansion.in: Likewise.
1313 * tests/grub_script_final_semicolon.in: Likewise.
1314 * tests/partmap_test.in: Likewise.
1315 * tests/util/grub-shell-tester.in: Likewise.
1316 * tests/util/grub-shell.in: Likewise.
1318 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1320 Move gfxmenu color handling to video, so that gfxterm can use it
1323 * grub-core/gfxmenu/named_colors.c: Move to ...
1324 * grub-core/video/colors.c: ... here. Rename
1325 grub_gui_get_named_color to grub_video_get_named_color.
1326 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
1327 * grub-core/video/colors.c (my_isxdigit): ... here.
1328 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
1330 * grub-core/video/colors.c (parse_hex_color_component): ... here.
1331 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
1333 * grub-core/video/colors.c (grub_video_parse_color): ... here.
1335 * include/grub/gui.h (grub_gui_color_t): Move to ...
1336 * include/grub/video.h (grub_video_rgba_color_t): ... here.
1337 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
1338 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
1339 * include/grub/gui.h (grub_gui_map_color): Move to ...
1340 * include/grub/video.h (grub_video_map_rgba_color): ... here.
1341 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
1343 * include/grub/video.h (grub_video_get_named_color): ... here.
1344 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
1345 * include/grub/video.h (grub_video_parse_color): ... here.
1347 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
1349 (gfxmenu): Remove gfxmenu/named_colors.c.
1350 (video) [videomodules]: Add video/colors.c.
1352 Add a background_color command.
1354 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
1356 (GRUB_MOD_INIT): Register background_color command.
1357 (GRUB_MOD_FINI): Unregister background_color command.
1358 (redraw_screen_rect): Allow blend/replace of text layer to be
1359 controlled independently from whether there is a background bitmap.
1360 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
1363 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1365 Patch BPB in ntldr and chainloader --bpb.
1367 * grub-core/fs/fat.c: Include grub/fat.h.
1368 (grub_fat_bpb): Moved to ...
1369 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
1370 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
1372 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
1374 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
1376 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
1378 (grub_chainloader_cmd): Patch BPB if --bpb is given.
1379 (GRUB_MOD_INIT): Show --bpb.
1380 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
1381 * grub-core/normal/main.c (features): New variable.
1382 (GRUB_MOD_INIT): Set feature_* variables.
1383 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
1385 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
1387 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1389 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
1392 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1394 FreeDOS direct loading support.
1396 * docs/grub.texi (Supported OS): Add FreeDOS.
1397 * grub-core/Makefile.core.def (freedos): New module.
1398 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
1400 (grub_relocator16_boot): Handle %ebx.
1401 * grub-core/lib/i386/relocator16.S: Likewise.
1402 * grub-core/loader/i386/pc/freedos.c: New file.
1404 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1406 Long Linux command line support.
1408 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1409 (maximal_cmdline_size): New variable.
1410 (allocate_pages): Use maximal_cmdline_size.
1411 (grub_cmd_linux): Set and use maximal_cmdline_size.
1412 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1413 (allocate_pages): Use maximal_cmdline_size.
1414 (grub_cmd_linux): Set and use maximal_cmdline_size.
1415 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
1416 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
1419 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1420 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1422 Improve devmapper support
1424 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
1425 (grub_util_is_lvm): New function.
1426 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
1427 than lvm if not dmraid.
1428 Handle mapped md nodes.
1429 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
1430 (grub_util_device_is_mapped): ... this. Make always available. All users
1432 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
1433 (convert_system_partition_to_system_disk): Handle lvm, mpath and
1435 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
1437 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1439 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
1441 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
1442 * grub-core/modinfo.sh.in: New file.
1443 * grub-core/Makefile.core.def (modinfo.sh): New script.
1444 * util/grub-mknetdir.in: Use modinfo.sh.
1445 * util/grub-mkrescue.in: Likewise.
1447 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1449 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1450 Fix potential usage of Elf32 instead of Elf64 when compiling on
1451 32-bit architecture. Add endianness macros while on it.
1453 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1455 Use mipsel- rather than mips- in directories involving mipsel ports to
1456 allow both endiannesses coexist.
1458 * configure.ac: proparate target_cpu=mipsel rather than resetting to
1459 mips. All conditions adjusted.
1460 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
1462 * util/grub-install.in: Adjust conditions to take renaming into account.
1463 * util/grub-mkimage.c (image_targets): Likewise. New target
1464 mips-qemu_mips-elf for bigendian mips.
1466 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1468 Avoid unnecessary copying on MIPS.
1470 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
1471 early if src == dest.
1472 * util/grub-mkimage.c (generate_image): Arange for src == dest if
1473 compression is none.
1475 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1477 Reduce memory footprint on SGI by putting modules before the kernel
1478 as opposed to after.
1480 * grub-core/Makefile.core.def (kernel): Increase linking address.
1481 (none_decompress): Likewise.
1482 (xz_decompress): Likewise.
1483 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
1485 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
1487 (grub_arch_modules_addr): New function.
1488 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
1489 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
1490 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
1492 * grub-core/kern/mips/startup.S (total_size): Rename to ...
1493 (grub_total_modules_size): ... this. Make global.
1494 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
1495 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
1497 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
1498 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
1499 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
1500 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
1501 * util/grub-mkimage.c (image_target_desc): New flag
1502 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
1503 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
1504 (generate_image): Handle images with modules before kernel.
1506 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1508 Prevent potential loss of memory map by overwrite on qemu-mips.
1510 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1511 Save ram size in $s4.
1512 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
1513 All users changed to grub_arch_memsize.
1514 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
1516 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
1517 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
1518 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
1521 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1523 * .bzrignore: Remove grub-dumpbios.
1525 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1527 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
1528 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
1529 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
1530 existing options which append).
1531 * docs/grub.texi (Simple configuration): Document new options.
1532 Reported by: Ian Jackson. Fixes Debian bug #617538.
1534 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1536 * util/grub-fstest.c (cmd_cat): New function.
1537 (fstest): Handle CMD_CAT.
1539 (argp_parser): Handle cat.
1541 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1543 * Makefile.util.def (grub-bin2h): Don't install.
1544 * docs/man/grub-bin2h.h2m: Remove.
1546 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1548 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
1551 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1553 Reenable qemu-mips port.
1555 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
1556 Fix small arc bug while on it.
1557 * gentpl.py: Handle qemu_mips.
1558 * grub-core/Makefile.am: Likewise.
1559 * grub-core/Makefile.core.def: Likewise.
1560 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
1561 inappropriate includes.
1562 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
1563 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
1564 * grub-core/kern/main.c (grub_modules_get_end)
1565 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
1566 * grub-core/kern/mips/qemu-mips: Moved to ..
1567 * grub-core/kern/mips/qemu_mips: ... this.
1568 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
1569 (grub_machine_init): Call terminfo_init and serial_init.
1570 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
1571 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1573 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
1575 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
1576 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
1577 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1578 * include/grub/mips/qemu_mips/cmos.h: New file.
1579 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
1580 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
1582 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
1583 Use correct mips-style address.
1584 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
1585 (GRUB_TICKS_PER_SECOND): Removed.
1586 (grub_get_rtc): Likewise.
1587 (grub_cpu_idle): Likewise.
1588 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
1590 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
1591 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
1592 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
1593 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
1594 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1595 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1596 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
1597 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
1599 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1603 * Makefile.util.def (libgrubmods.a): Add dvh.c.
1604 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
1606 * configure.ac: New target mips-arc.
1607 * gentpl.py: Likewise.
1608 * grub-core/Makefile.am: Likewise.
1609 * grub-core/Makefile.core.def: Likewise.
1610 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
1611 (none_decompress): Likewise.
1612 (lsdev): New module.
1613 (datetime): Use lib/arc/datetime.c on ARC.
1614 (part_dvh): New module.
1615 * grub-core/commands/arc/lsdev.c: New file.
1616 * grub-core/disk/arc/arcdisk.c: Likewise.
1617 * grub-core/kern/mips/arc/init.c: Likewise.
1618 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
1620 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
1622 (grub_arch_dl_relocate_symbols): Likewise.
1623 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
1624 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
1625 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
1627 * grub-core/lib/arc/datetime.c: New file.
1628 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
1629 pci.h on non-loongson.
1630 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
1631 (grub_linux_boot): Set unused registers to 0.
1632 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
1633 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
1634 * grub-core/mmap/mips/uppermem.c: ...here.
1635 * grub-core/partmap/dvh.c: New file.
1636 * grub-core/term/arc/console.c: Likewise.
1637 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
1638 (grub_terminfo_set_current): Add terminal "arc".
1639 (grub_terminfo_readkey): Support ARC sequences.
1640 * include/grub/arc/arc.h: New file.
1641 * include/grub/arc/console.h: Likewise.
1642 * include/grub/disk.h (grub_disk_dev_id): Add
1643 GRUB_DISK_DEVICE_ARCDISK_ID.
1644 * include/grub/mips/arc/kernel.h: New file.
1645 * include/grub/mips/arc/memory.h: Likewise.
1646 * include/grub/mips/arc/time.h: Likewise.
1647 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
1648 * include/grub/mips/kernel.h (grub_halt): ... here.
1649 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
1651 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
1652 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
1653 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
1654 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
1656 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
1658 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
1659 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
1660 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
1661 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
1662 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
1663 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
1664 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
1665 (grub_phys_addr_t): Moved from here ...
1666 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
1667 (grub_vtop): Moved from here ...
1668 * include/grub/mips/memory.h (grub_vtop): ... here.
1669 (grub_map_memory): Moved from here ...
1670 * include/grub/mips/memory.h (grub_map_memory): ... here.
1671 (grub_unmap_memory): Moved from here ...
1672 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
1673 (grub_machine_mmap_iterate): Moved from here ...
1674 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
1675 (grub_mmap_get_lower): Moved from here ...
1676 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
1677 (grub_mmap_get_upper): Moved from here ...
1678 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
1679 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
1681 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
1682 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
1684 * include/grub/mips/time.h (grub_get_rtc): ... here.
1685 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
1687 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
1688 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
1690 * include/grub/mips/time.h (grub_cpu_idle): ... here.
1691 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
1693 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
1694 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
1695 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
1696 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
1697 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1698 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1699 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
1700 (GRUB_MACHINE_LINK_ADDR): Likewise.
1701 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
1703 * util/grub-install.in: Run dvhtool on ARC.
1704 * util/grub-mkimage.c (image_targets): Add mips-arc.
1705 (generate_image): Handle ECOFF output for mips-arc.
1707 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1709 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
1712 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1714 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
1715 after enabling port.
1717 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1719 Skip incorrect USB devices.
1721 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
1723 * include/grub/usb.h (grub_usb_err_t): New enum value
1724 GRUB_USB_ERR_BADDEVICE.
1726 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1728 Fuloong video init support.
1730 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
1732 (grub_vga_read_arx): New function.
1733 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
1735 (framebuffer): New members io, mmioptr and mmiobase.
1736 (read_sis_cmd): New function.
1737 (write_sis_cmd): Likewise.
1738 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
1739 rather than 640x400.
1740 * grub-core/video/sis315_init.c: New file.
1742 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1744 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
1746 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
1747 to grub_dl_register_symbol.
1749 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1751 Fix compilation errors.
1753 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
1755 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
1756 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
1757 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
1758 to loongson machines.
1760 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1762 Several FS mtime support.
1764 * grub-core/fs/affs.c (grub_affs_time): New struct.
1765 (grub_affs_file): New field mtime.
1766 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
1767 type. Removed 'size'. New field 'di'. All users updated.
1768 (grub_affs_mount): Simplify checsum checking.
1769 (grub_affs_iterate_dir): New helper grub_affs_create_node.
1770 (grub_affs_dir): Handle mtime.
1771 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
1772 (grub_cpio_dir): Likewise.
1773 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
1774 (grub_hfs_filerec): New field mtime.
1775 (grub_hfs_dir): Handle mtime.
1776 (grub_hfs_mtime): New function.
1777 (grub_hfs_fs): Register grub_hfs_mtime.
1778 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
1779 (grub_iso9660_dir): New field mtime.
1780 (grub_fshelp_node): New field dirent.
1781 (iso9660_to_unixtime): New function.
1782 (iso9660_to_unixtime2): Likewise.
1783 (grub_iso9660_read_symlink): Use node->dirent.
1784 (grub_iso9660_iterate_dir): Likewise.
1785 (grub_iso9660_dir): Set mtime.
1786 (grub_iso9660_mtime): New function.
1787 (grub_iso9660_fs): Register grub_iso9660_mtime.
1788 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
1789 (grub_jfs_inode): New fields atime, ctime and mtime.
1790 (grub_jfs_dir): Set mtime.
1791 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1792 * grub-core/fs/ntfs.c (list_file): Set mtime.
1793 (grub_ntfs_dir): Likewise.
1794 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
1795 (grub_reiserfs_iterate_dir): Set mtime.
1796 (grub_reiserfs_dir): Likewise.
1797 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
1798 (grub_fshelp_node): Likewise.
1799 (grub_sfs_iterate_dir): Set mtime.
1800 (grub_sfs_dir): Likewise.
1801 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
1802 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
1803 (grub_xfs_inode): New fields atime, mtime, ctime.
1804 (grub_xfs_dir): Set mtime.
1805 * include/grub/datetime.h (grub_datetime2unixtime): New function.
1806 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
1807 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
1809 Support UDF symlinks.
1811 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
1812 (grub_ufs_read_symlink): New function. All users updated.
1814 Check amiga partmap checksum.
1816 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
1817 (grub_amiga_partition): Likewise.
1818 (amiga_partition_map_checksum): New function.
1819 (amiga_partition_map_iterate): Check checksum.
1821 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1825 * Makefile.util.def (libgrubmods.a): Add romfs.
1826 * grub-core/Makefile.core.def (romfs): New module.
1827 * grub-core/fs/romfs.c: New file.
1829 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1831 Squashfs v4 support.
1833 * Makefile.util.def (libgrubmods.a): Add squash4.
1834 * grub-core/Makefile.core.def (squash4): New module.
1835 * grub-core/fs/squash4.c: New file.
1836 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
1837 disk_input_start, disk_input.
1838 (get_byte): Handle disk_input.
1839 (grub_zlib_disk_read): New function.
1840 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
1842 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1843 2011-05-15 Feiran Zheng <famcool@gmail.com>
1845 * Makefile.util.def (libgrubmods.a): Add minix3.
1846 * grub-core/Makefile.core.def (minix3): New module.
1847 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
1848 (GRUB_MINIX_BSIZE): Removed.
1849 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
1850 (grub_minix_ino_t): New type.
1851 (grub_minix_le_to_cpu_ino): New macro.
1852 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
1853 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
1854 (grub_minix_data): New field block_size.
1855 (grub_minix_read_file): Handle 64-bit correctly.
1856 * grub-core/fs/minix3.c: New file.
1858 2011-05-15 Tristan Gingold <gingold@free.fr>
1859 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
1860 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1864 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
1865 * configure.ac: Add ia64-efi target.
1866 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
1867 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
1868 * gentpl.py: Add ia64_efi platform.
1869 Rename x86_efi to efi and Add ia64-efi. All users updated.
1870 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
1871 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
1872 Remove kern/generic/rtc_get_time_ms.c on EFI.
1873 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
1874 kern/ia64/dl_helper.c on ia64-efi.
1875 Add kern/emu/cache.c on emu.
1876 (linux): Use on loader/ia64/efi/linux.c on ia64.
1877 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
1878 whether symbol is a function.
1879 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
1880 (grub_symbol): New field 'isfunc'.
1881 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
1882 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
1883 (grub_dl_load_segments): Place all sections into the same region.
1884 [__ia64__]: Create trampolines and got.
1885 [GRUB_MACHINE_EMU]: Call mprotect.
1886 (grub_dl_resolve_symbols): Resolve symbol type as well.
1887 [__ia64__]: Create function descriptors.
1888 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
1889 (grub_rtc_get_time_ms): ... this. Expressions simplified.
1890 (grub_get_rtc): New function.
1891 * grub-core/kern/emu/cache.c [__ia64__]: New file.
1892 * grub-core/kern/emu/cache.S: Renamed to ...
1893 * grub-core/kern/emu/cache_s.S: ... this.
1894 [__ia64__]: Add a nop.
1895 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
1896 [__ia64__]: New function.
1897 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
1898 * grub-core/kern/ia64/dl.c: New file.
1899 * grub-core/kern/ia64/dl_helper.c: Likewise.
1900 * grub-core/kern/ia64/efi/init.c: New file.
1901 * grub-core/kern/ia64/efi/startup.S: Likewise.
1902 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
1903 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
1904 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
1905 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
1906 * grub-core/loader/ia64/efi/linux.c: New file.
1907 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
1908 (GRUB_MOD_DEP): Likewise.
1909 (grub_dl) [__ia64__]: New fields got and tramp.
1910 (grub_dl): New field 'base'.
1911 (grub_dl_register_symbol): New argument isfunc. All users updated.
1912 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
1913 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
1914 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
1915 (grub_ia64_dl_get_tramp_got_size): New proto.
1916 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
1917 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
1918 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
1919 * include/grub/efi/api.h: Skip call wrappers on ia64.
1920 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
1921 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
1922 * include/grub/elf.h (ELF_ST_INFO): New definition.
1923 * include/grub/ia64/efi/kernel.h: New file.
1924 * include/grub/ia64/efi/memory.h: Likewise.
1925 * include/grub/ia64/efi/time.h: Likewise.
1926 * include/grub/ia64/kernel.h: Likewise.
1927 * include/grub/ia64/setjmp.h: Likewise (from glibc).
1928 * include/grub/ia64/time.h: New file.
1929 * include/grub/ia64/types.h: Likewise.
1930 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
1931 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
1933 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
1934 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1935 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
1936 * util/grub-mkimage.c (image_target_desc): New field pe_target.
1938 (EFI64_HEADER_SIZE): New definition. All users updated.
1939 (image_targets): Add ia64-efi.
1940 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
1941 jumpers_addr. All users updated.
1942 Create function descriptors.
1943 (count_funcs): New function.
1944 (unaligned_uint32): New struct.
1945 (MASK20): New definition.
1947 (MASKF21): Likewise.
1948 (add_value_to_slot_20b): New function.
1949 (add_value_to_slot_21_real): Likewise.
1950 (add_value_to_slot_21): Likewise.
1951 (ia64_kernel_trampoline): New struct.
1952 (nopm): New variable.
1954 (make_trampoline): New function.
1955 (relocate_addresses): Handle ia64.
1956 (make_reloc_section): Likewise.
1957 (load_image): Likewise.
1959 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1961 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
1962 warning. Move variables before code while on it.
1964 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1968 * configure.ac: Rename yeeloong platform to loongson. All users updated.
1969 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
1970 * grub-core/boot/mips/loongson/fuloong.S: New file.
1971 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
1972 Explicitly init CS5536.
1973 [FULOONG]: Don't use serial until CS5536 is available.
1974 Set GPIO based on dumps.
1975 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
1976 [FULOONG]: Handle GPIO and memory controller differences.
1977 Parse machine type in $a2.
1978 * grub-core/boot/mips/startup_raw.S: Determine and save the
1980 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
1981 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
1982 init on architecture type.
1983 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1984 SIS315E. Don't init at_keyboard on fuloong.
1985 (grub_halt): Support Fuloong.
1986 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
1987 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
1988 (loongson_machtypes): New array.
1989 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
1991 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
1992 config. All users updated. Handle CS5536 serial.
1993 * grub-core/term/serial.c (grub_serial_register): Conditionalise
1994 default port on machine type. Register serial as inactive.
1995 * grub-core/video/sis315pro.c: New file.
1996 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
1998 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
1999 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
2000 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
2001 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
2002 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
2003 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
2005 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
2006 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
2008 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
2009 (grub_arch_machine): New extern var.
2010 * include/grub/mips/loongson/serial.h
2011 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
2012 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
2013 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
2014 (GRUB_MACHINE_SERIAL_PORT0): ... this.
2015 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
2016 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
2017 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
2018 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
2019 * include/grub/term.h (grub_term_register_input_inactive): New inline
2021 (grub_term_register_output_inactive): Likewise.
2022 * include/grub/video.h (grub_video_driver_id): New value
2023 GRUB_VIDEO_DRIVER_SIS315PRO.
2024 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
2025 New field "names". All users updated.
2026 New field value IMAGE_FULOONG_FLASH.
2027 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
2029 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
2031 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
2032 and add some clarification.
2034 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2036 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
2037 platforms if kernel is compressed.
2039 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2041 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
2042 unused modules since currently referrence counter isn't reliable and
2043 there isn't much memory to recover there anyway.
2045 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2047 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
2048 rather than resetting it to allow modules to reference themselves
2051 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2053 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
2054 counter on dependencies since grub_dl_unref already handles this.
2056 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2058 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
2059 on error if not already done.
2061 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2063 Fix few potential memory misusage.
2065 * grub-core/font/font.c (load_font_index): Don't free char_index to
2067 (grub_font_load): Zero-fill font at alloc for safety.
2068 Close file on error.
2069 (free_font): Free bmp_idx.
2071 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2073 * docs/grub.texi (Installation): Fix several outdated claims.
2075 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2077 Handle module_license on windows.
2079 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
2081 (insert_string): Make argument const char * instead of char *.
2082 (write_section_data): Handle long section names.
2083 Handle module_license.
2085 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2087 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
2088 handle class-free menuentries.
2089 (grub_normal_add_menu_entry): Add a check to be sure.
2091 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2093 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
2096 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2098 * configure.ac: Bump version to 1.99.
2100 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2102 Give ATA device a bit more time on first try in order to allow disks
2105 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
2106 if dev->present is 1. Reset dev->present on failure.
2107 (grub_ata_device_initialize): Set dev->present to 1.
2108 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
2109 (grub_ata_device): New member 'present'.
2111 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2113 * util/grub-mkimage.c (generate_image): Update hash.
2115 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2117 Flush caches on DMA memory.
2119 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
2120 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
2121 (grub_dma_free): Likewise.
2122 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
2124 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2126 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
2127 to avoid asm treating ld and sd as macros.
2129 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2131 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
2134 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2136 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
2137 grub_decompress_core since later would fail if grub_decompress_core
2140 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2142 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
2143 R_MIPS_JALR since it's used by newer compiler.
2145 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2147 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
2149 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2151 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
2152 file_path to 0 for surety.
2153 (grub_chainloader_boot): Set exit_data to NULL.
2154 Unset the loader once done.
2155 (grub_cmd_chainloader): Fix confusing error message if file is empty.
2157 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2159 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
2160 unknown key into a dprintf.
2162 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2164 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
2165 on first non-existant partition.
2167 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2169 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
2171 Reported by: Mark Korenberg.
2173 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2175 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
2178 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2180 * util/grub-mkimage.c (main): Explicitely flush and sync the output
2181 before closing to ensure that it will be readable by grub-setup.
2183 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2185 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
2186 (devpath_1): Use MAKE_PIWG_PATH.
2187 (devpath_2): Likewise.
2188 (devpath_3): Likewise.
2189 (devpath_4): Likewise.
2190 (devpath_5): Likewise.
2191 (devpath_6): Likewise.
2193 The appleldr.mod was checked that to be binary identical to previous
2196 2011-05-05 Zach <mikezackles>
2198 Support 2010 Macbooks.
2200 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
2201 (devs): Add devpath_6.
2203 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2205 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
2206 /dev/random. /dev/urandom is good enough for our purposes (salting).
2208 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2210 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
2212 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2214 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
2217 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2219 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
2220 and not 0 on failure.
2222 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
2224 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
2225 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
2226 disk; otherwise grub_fs_probe will not fall back to the next
2228 (grub_pxefs_open): Likewise, for consistency.
2229 Reported and tested by: Ezekiel Grave.
2231 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
2233 * tests/partmap_test.in: Don't hardcode path to parted.
2234 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
2236 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
2238 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
2239 of `ls' to find out which devices are available.
2241 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2243 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
2244 than source address for efi mmap buffer.
2246 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2248 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
2249 wrong action on non-detecting the magic.
2251 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2253 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
2254 already supplied by another part of the module (fixes compilation on
2257 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2259 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
2260 match the one used by mdadm.
2262 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2264 * po/README: Add instructions for creating po/LINGUAS.
2266 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2268 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
2271 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
2272 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
2273 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
2274 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2275 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
2276 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
2277 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
2278 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
2279 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
2280 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2281 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
2282 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
2283 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
2284 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
2285 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
2286 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
2287 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
2288 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
2289 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
2290 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
2291 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
2292 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
2294 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2296 * grub-core/kern/emu/getroot.c
2297 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
2298 test that was incorrectly reintroduced in r3214.
2299 Reported by: Ian Dall. Fixes Savannah bug #33133.
2301 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2303 Fix stack pointer handling in 16-bit relocator.
2305 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
2306 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
2307 Fixes Ubuntu bug #683904.
2309 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2311 * configure.ac: Bump version to 1.99~rc2.
2313 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2315 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
2316 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
2317 * grub-core/lib/x86_64/setjmp.S: Likewise.
2318 * grub-core/lib/mips/setjmp.S: Likewise.
2319 * grub-core/lib/powerpc/setjmp.S: Likewise.
2320 * grub-core/lib/sparc64/setjmp.S: Likewise.
2322 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2324 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
2325 * grub-core/lib/efi/datetime.c: Likewise.
2327 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2329 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
2331 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
2332 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
2333 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
2335 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2337 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
2339 (grub_gfxterm_term_init): Likewise.
2341 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2343 Take into account the decorations the computing menu entry width.
2345 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
2346 (grub_gfxmenu_create_box): Register get_border_width.
2347 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
2349 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
2352 2011-04-18 Endres Puschner <code@e7p.de>
2354 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
2355 Don't skip first class.
2357 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2359 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
2361 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
2363 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2365 Complete 64-bit division support.
2367 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
2368 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
2369 * include/grub/misc.h (grub_divmod64): Rename to ...
2370 (grub_divmod64_full): ... this.
2371 (grub_divmod64): New inline function.
2373 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2375 * util/grub-mkimage.c (generate_image): Add forgotten comma.
2377 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2379 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
2380 performing the necessary test.
2382 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2384 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
2385 (kfreebsd.elf): Likewise.
2386 (pc-chainloader.elf): Likewise.
2387 (ntldr.elf): Likewise.
2389 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2391 Identify RAID by its UUID rather than (guessed) name.
2393 * grub-core/disk/raid.c (ascii2hex): New function.
2394 (grub_raid_open): Accept mduuid/%s specification.
2395 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
2396 (get_mdadm_uuid): ... this.
2397 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
2399 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
2401 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
2404 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
2406 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
2408 * util/grub.d/20_linux_xen.in: Likewise.
2410 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
2412 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
2413 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
2415 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
2416 Build a list of relevant visible mounts using the mnt_id and
2417 parent_mnt_id fields, and then scan that list at the end.
2419 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2421 * docs/grub.texi (normal): New section.
2422 (normal_exit): New section.
2423 (Embedded configuration): Add reference to normal.
2424 (GRUB only offers a rescue shell): Likewise.
2425 * docs/grub-dev.texi (Error Handling): Fix typo.
2427 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2429 * NEWS: Drop obsolete entry about probe-only btrfs support.
2431 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2433 * util/import_gcry.py: Fix typo.
2435 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2437 * NEWS: Add btrfs support.
2439 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2440 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
2442 BtrFS support. Written by me (Vladimir) with important bugfixes and
2443 even more important testing by Colin.
2445 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
2446 * grub-core/Makefile.core.def (btrfs): Add crc.c.
2447 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
2448 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
2449 mem_input_off and mem_input. All users updated to accept in-RAM input.
2450 (gzio_seek): New function.
2451 (test_zlib_header): Likewise.
2452 (grub_gzio_read): Likewise.
2453 (grub_zlib_decompress): Likewise.
2454 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
2455 Accept partial and non-virtual mounts.
2456 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
2457 avoid receiving /dev/dm-X as device.
2458 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
2459 Handle bind and partial mounts.
2460 * grub-core/lib/crc.c: New file.
2461 * include/grub/deflate.h: Likewise.
2462 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
2464 * include/grub/lib/crc.h: New file.
2466 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2468 Implement automatic module license checking according to new GNU
2471 * grub-core/kern/dl.c (grub_dl_check_license): New function.
2472 (grub_dl_load_core): Use grub_dl_check_license.
2473 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
2474 (GRUB_MOD_LICENSE): Likewise.
2475 (GRUB_MOD_DUAL_LICENSE): Likewise.
2476 All modules updated.
2478 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
2480 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
2481 reserved_first_sector to 1. btrfs reserves plenty of space for boot
2483 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
2485 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2487 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
2489 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2491 * util/grub-fstest.c (read_file): Report GRUB error if file opening
2494 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2496 * grub-core/kern/file.c (grub_file_open): Don't take into account the
2497 parenthesis in the middle of the filename.
2499 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2501 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
2502 rather than trying to put initrd way too high.
2503 Reported by: Ryan Lortie <desrt@desrt.ca>
2505 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2507 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
2508 improperly removed string.
2510 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2512 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
2514 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
2515 (open_device) Likewise.
2516 (grub_util_biosdisk_close): Likewise.
2517 Reported by: Mark Korenberg.
2519 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
2521 * util/grub-mkconfig_lib.in: Add missing quotes.
2523 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
2525 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
2528 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2530 Dynamically count the number of lines for the lower banner.
2532 * grub-core/normal/menu_entry.c (per_term_screen): New member
2534 (print_down): Use num_entries.
2535 (update_screen): Likewise.
2536 (grub_menu_entry_run): Set num_entries.
2537 * grub-core/normal/menu_text.c (menu_viewer_data): New member
2539 (grub_print_message_indented): Move real part to ...
2540 (grub_print_message_indented_real): ... here. Additional argument
2542 (draw_border): Additional argument num_entries.
2543 (print_message): Additional argument dry_run.
2544 (print_entries): Receive menu viewer data.
2545 (grub_menu_init_page): New argment num_entries.
2546 (menu_text_set_chosen_entry): Use num_entries.
2547 (grub_menu_try_text): Likewise.
2548 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
2550 (grub_ucs4_count_lines): New function.
2551 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
2552 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
2553 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
2554 (grub_term_border_height): Likewise.
2555 (grub_term_num_entries): Likewise.
2557 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2559 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
2560 Remove now unused string.
2562 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
2564 * docs/grub-dev.texi (Finding your way around): Update for 1.99
2566 (Getting started): GRUB is developed in Bazaar now, not Subversion.
2568 (Comment): Fix typo.
2569 (Getting started): General copy-editing.
2570 (Typical Development Experience): Likewise.
2571 (Error Handling): Likewise.
2572 (Video API): Likewise.
2574 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
2576 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
2579 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2581 * util/grub-mkimage.c (main): Handle special naming of yeeloong
2584 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
2586 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
2587 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
2590 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2592 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
2593 grub_strcpy since the lines aren't necessarily 0-terminated.
2595 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2597 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
2600 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2602 * grub-core/commands/probe.c (options): Argument to set isn't optional.
2603 (GRUB_MOD_INIT): DEVICE isn't optional.
2605 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2607 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
2608 word on new line if it's too long anyway. Fixes a hang.
2610 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2612 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
2614 * util/grub-setup.c (main): Reuse md device name if available.
2615 * util/raid.c (grub_util_raid_getmembers): Receive device name and
2616 not GRUB name as argument.
2617 Based on patch by: Florian Wagner <fwagner>.
2619 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2621 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2622 Place mbi on low memory for better compatibility.
2624 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2626 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
2628 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2629 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
2631 * autogen.sh: Ensure that collate and ctype locale is C.
2632 * conf/Makefile.common: Likewise.
2634 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2636 * grub-core/normal/menu.c: Add missing include.
2638 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2640 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
2642 2011-04-08 Martin Zuther <mzuther@mzuther.de>
2644 * util/grub-mkconfig.in: Ignore emacsen backup.
2646 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2648 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
2650 (grub_util_biosdisk_close): Likewise.
2652 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2654 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
2655 const attribute and use grub_isdigit.
2657 2011-04-06 Andrey <dev_null@ukr.net>
2659 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
2662 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2664 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
2665 useful grub_dprintf's.
2667 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2669 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
2671 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2673 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
2675 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2677 Output errors if theme loading failed.
2679 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
2680 grub_gfxterm_fullscreen on error paths to ...
2681 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
2682 theme loading error.
2684 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2686 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
2687 space for older compilers.
2688 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2690 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2692 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
2693 and report them as not RAID members since they are useless for GRUB.
2694 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2696 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2698 Increase LVM implementation robustness in order not to crash on
2699 configurations like pvmove. Previously code assumed that in some places
2700 only lvs or only pvs are used whereas it seems that they are used
2703 * grub-core/disk/lvm.c (read_node): New function.
2704 (read_lv): Use read_node.
2705 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
2706 Match volumes only at the end when all lvs are found. Take both
2707 pvs (first) and lvs (second) into account.
2708 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
2709 mirror_* into node_*. All users updated.
2710 (grub_lvm_stripe): Merge this ...
2711 (grub_lvm_mirror): ... and this ...
2712 (grub_lvm_node): ... into this. All users updated.
2714 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2716 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
2717 of function to allow further scanning for LVMs.
2719 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2721 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
2722 on failed seek as it breaks open fd reusage.
2724 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2726 * util/grub-install.in: Add a recommendation to use --recheck before
2729 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2731 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
2734 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2736 GRUB developper manual based on existing Internals section and
2737 contributions by the various authors with active copyright assignment.
2739 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
2740 * docs/font_char_metrics.png: New file.
2741 * docs/font_char_metrics.txt: Likewise.
2742 * docs/grub-dev.texi: Likewise.
2743 * docs/grub.texi (Internals): Move from here ...
2744 * docs/grub-dev.texi: ... here.
2746 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
2748 Store the loopback device as data on loopback grub_disk structures,
2749 rather than the file it points to. This fixes use of freed memory
2750 if an existing loopback device is replaced.
2752 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
2753 disk->data, not dev->file.
2754 (grub_loopback_read): Adjust file assignment to match.
2755 Fixes Ubuntu bug #742967.
2757 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
2759 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
2760 when replacing an existing device.
2762 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2764 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
2767 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
2769 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
2770 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
2771 (grub_jfs_read_inode): Likewise.
2772 (grub_jfs_opendir): Likewise. Remove now useless casts.
2773 (grub_jfs_getent): Likewise.
2774 Make ino a grub_uint32_t rather than int.
2775 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
2776 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
2777 division and module with bit operations.
2778 (grub_jfs_find_file): Make ino a grub_uint32_t.
2779 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
2781 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
2783 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
2784 warning. (This was in fact always initialised before use, but GCC
2785 wasn't smart enough to prove that.)
2786 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2788 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2790 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
2792 (efi_wrap_1): Likewise.
2793 (efi_wrap_2): Likewise.
2794 (efi_wrap_3): Likewise.
2795 (efi_wrap_4): Likewise.
2796 (efi_wrap_5): Likewise.
2797 (efi_wrap_6): Likewise.
2798 (efi_wrap_10): Likewise.
2799 Based on information by: Red Hat/Peter Jones.
2801 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
2803 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
2804 set-but-not-used variable.
2806 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
2808 * docs/grub.texi (Simple configuration): Be more explicit about
2809 GRUB_DEFAULT, and add an example.
2810 Reported by: Leslie Rhorer.
2812 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2814 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
2817 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
2819 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
2820 * util/grub.d/20_linux_xen.in: Likewise.
2822 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2824 * util/grub.d/10_linux.in: Try alternative config filenames where
2825 we parse config file.
2826 * util/grub.d/20_linux_xen.in: Likewise.
2828 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
2830 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
2831 * util/grub.d/20_linux_xen.in: Likewise.
2833 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2835 * grub-core/disk/raid.c (insert_array): Add few potentially
2836 useful grub_util_info.
2837 (grub_raid_register): Likewise.
2839 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2841 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
2842 Preserve partition number in mdadm code path.
2844 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2846 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
2847 few potentially useful grub_util_info.
2849 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2851 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
2853 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2855 * docs/grub.texi (default): Use @example rather than nested
2856 itemized lists to avoid breaking gendocs.
2858 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2860 * docs/grub.texi (Future): Update.
2862 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2864 * docs/grub.texi (Environment): New chapter.
2865 (Changes from GRUB Legacy): Link to "Environment block" section for
2866 details of limitations.
2867 (Simple configuration): Likewise. Link to documentation of gfxmode
2868 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
2870 (Shell-like scripting): Note that normal variables are stored in the
2872 (gettext): Link to documentation of lang and locale_dir.
2873 (list_env): New section.
2874 (load_env): New section.
2875 (save_env): New section.
2877 (Reporting bugs): Fix typo.
2879 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2881 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
2884 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2886 * grub-core/term/at_keyboard.c (set_scancodes)
2887 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
2889 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2891 * docs/grub.texi (Menu-specific commands): Remove some semantics
2892 that were true in GRUB Legacy but not in GRUB 2.
2893 (submenu): New section.
2894 (false): New section.
2895 (read): New section.
2896 (true): New section.
2898 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2900 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
2902 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2904 * docs/grub.texi (Simple configuration): Explain some of the
2905 current limitations of grub-mkconfig.
2906 Reported by: Leslie Rhorer.
2908 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2910 Old macs search for boot.efi rather than for bootia32.efi.
2912 * util/grub-install.in: Copy bootia32.efi to boot.efi.
2913 * util/grub-mkrescue.in: Likewise.
2914 Suggested by: Peter Jones.
2916 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2918 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
2920 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2922 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
2923 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
2924 (grub_lvm_mirror): New struct.
2925 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
2926 (grub_lvm_iterate): Iterate only visible volumes.
2927 (grub_lvm_read): Factor out to ..
2928 (read_lv): ... this. Support mirrors.
2929 (grub_lvm_read): New wrapper function.
2930 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
2931 stripped or mirrored.
2933 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2935 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
2937 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
2939 * docs/grub.texi (loopback): New section.
2941 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
2943 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
2946 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
2948 * docs/grub.texi (BIOS installation): New section, partly based on
2949 previous text in other sections.
2950 (Installing GRUB using grub-install): Replace BIOS discussion with a
2954 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2956 * grub-core/kern/emu/hostdisk.c (find_partition_start)
2957 [HAVE_DIOCGDINFO]: Add safety checks.
2959 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2961 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
2962 per default compiled in kernel and prior to 8.0 isn't shipped at all.
2964 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
2966 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
2967 real_sb->size is zero (e.g. RAID-0), get the disk size from
2968 real_sb->data_size instead.
2969 Fixes Ubuntu bug #743136.
2971 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2973 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
2974 printf clauses for printing size and start.
2976 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2978 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
2979 Reported and tested by: Timothy Nikkel.
2981 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2983 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
2984 (dirty_region_add_real): ... this.
2985 (dirty_region_add): Don't discard margin refresh when performing
2988 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2990 * grub-core/lib/relocator.c (allocate_regstart)
2991 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
2992 terminals are capabple of malloc-free operation.
2993 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
2994 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
2996 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
2998 * util/grub-setup.c: Copy the partition table zone if floppy support
2999 is disabled, even if no partition table is found.
3001 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
3002 during POST if an invalid partition table is contained in the PBR
3003 of the active partition when GRUB is installed to a partition.
3005 2011-03-28 Colin Watson <cjwatson@debian.org>
3007 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
3010 2011-03-28 Colin Watson <cjwatson@debian.org>
3012 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
3013 to be specific about what kind of RAID device we're scanning for.
3015 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
3017 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
3018 return freed string.
3020 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3022 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
3024 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3026 Use libgeom on FreeBSD to detect partitions.
3028 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
3029 (grub-mkrelpath): Likewise.
3030 (grub-script-check): Likewise.
3031 (grub-editenv): Likewise.
3032 (grub-mkpasswd-pbkdf2): Likewise.
3033 (grub-fstest): Likewise.
3034 (grub-mkfont): Likewise.
3035 (grub-mkdevicemap): Likewise.
3036 (grub-probe): Likewise.
3037 (grub-setup): Likewise.
3038 (grub-ofpathname): Likewise.
3039 (grub-mklayout): Likewise.
3040 (example_unit_test): Likewise.
3041 (grub-menulst2cfg): Likewise.
3042 * grub-core/Makefile.core.def (grub-emu): Likewise.
3043 (grub-emu-lite): Likewise.
3044 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
3045 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
3046 define HAVE_DIOCGDINFO.
3047 (follow_geom_up) [FreeBSD]: New function.
3048 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
3049 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
3050 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
3051 unconditionally of HAVE_DIOCGDINFO.
3053 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3055 Fix FreeBSD compilation problem.
3057 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
3058 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
3060 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
3062 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
3063 Switch back to page zero before loading a kernel, since some kernel
3064 drivers expect that.
3065 Thanks to: Felix Kuehling.
3067 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3069 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
3070 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
3071 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
3073 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3075 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
3076 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
3078 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3080 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
3081 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
3084 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3086 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
3087 for modules headers when counting the needed allocation size.
3089 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3091 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
3092 if no ASCII character is found to prevent crash.
3094 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
3096 * grub-core/video/bitmap.c (match_extension): Ignore case.
3098 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3100 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
3102 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3104 * grub-core/script/parser.y: Declare "time" as valid argument.
3106 2011-03-23 Peter Jones <pjones@redhat.com>
3108 Fix incorrect assert failure reporting.
3110 * grub-core/tests/example_functional_test.c (example_test): Add
3112 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
3113 (failure_start): ...this. Check that malloc succeeded.
3114 Don't call xvasprintf. Return failure struct.
3115 (failure_append_vtext): New function.
3116 (failure_append_text): Likewise.
3117 (add_failure): Likewise.
3118 (grub_test_assert_helper): Likewise.
3119 * include/grub/test.h (grub_test_assert_helper): New declaration.
3120 (grub_test_assert): Macro rewritten.
3122 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3124 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
3126 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3128 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
3130 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3132 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
3133 into GRUB-style one.
3135 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3137 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
3138 error and not grub_errno.
3139 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3141 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3143 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
3144 GRUB_USB_SPEED_NONE in case of failure and not the error code.
3146 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3148 * grub-core/efiemu/i386/pc/cfgtables.c
3149 (grub_machine_efiemu_init_tables): Make declaration a prototype.
3150 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
3151 (grub_xnu_unlock): Likewise.
3152 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
3154 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3156 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
3157 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
3158 * grub-core/commands/hashsum.c (aliases): Likewise.
3159 * grub-core/commands/setpci.c (pci_registers): Likewise.
3160 * grub-core/disk/usbms.c (attach_hook): Likewise.
3161 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
3162 (zio_checksum_table): Likewise.
3163 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
3164 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
3165 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
3166 * grub-core/lib/relocator.c (leftovers): Likewise.
3167 (extra_blocks): Likewise.
3168 * grub-core/loader/i386/bsd.c (relocator): Likewise.
3169 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
3170 (modules_last): Likewise.
3171 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
3172 (devices): Likewise.
3173 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
3174 (modules_last): Likewise.
3175 * grub-core/normal/auth.c (users): Likewise.
3176 * grub-core/normal/context.c (initial_menu): Likewise.
3177 (current_menu): Likewise.
3178 * grub-core/normal/crypto.c (crypto_specs): Likewise.
3179 * grub-core/term/serial.c (grub_serial_ports): Likewise.
3180 (grub_serial_terminfo_input_template): Likewise.
3181 (grub_serial_terminfo_output_template): Likewise.
3182 (grub_serial_terminfo_input): Likewise.
3183 (grub_serial_terminfo_output): Likewise.
3184 (registered): Likewise.
3185 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
3187 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3189 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
3190 grub_video_mode_type_t.
3191 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
3192 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
3193 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
3195 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3197 * util/grub-install.in: Correct the x86-64 name as x86_64.
3199 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
3201 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
3202 initial chunk read from the kernel always includes GRUB's multiboot
3203 header, which is now outside the first sector.
3205 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
3207 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
3208 cached mmap_size, so that this works correctly when called multiple
3210 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
3212 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
3214 * docs/grub.texi (Simple configuration): Tidy up formatting.
3216 2011-03-07 Szymon Janc <szymon@janc.net.pl>
3218 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
3219 Set-but-not-used variable removed.
3221 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3223 Workaround yet another IEEE1275 bug.
3225 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3226 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
3227 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
3228 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
3230 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3231 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
3233 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3235 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
3238 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
3240 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
3241 empty, since in that case we can only generate either nothing or a
3242 syntactically invalid configuration file.
3243 Reported by: Michal Suchanek. Fixes Debian bug #612898.
3245 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
3247 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
3248 (Making a GRUB bootable CD-ROM): Likewise.
3249 (Invoking grub-mkrescue): New section.
3250 Reported by: Yann Dirson. Fixes Debian bug #612585.
3252 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
3254 * util/grub-install.in: Remove unnecessary brackets from tr
3256 * util/grub.d/10_hurd.in: Likewise.
3257 * util/grub.d/10_kfreebsd.in: Likewise.
3258 * util/grub.d/10_linux.in: Likewise.
3259 * util/grub.d/20_linux_xen.in: Likewise.
3260 Reported by: Jamie Heilman. Fixes Debian bug #612564.
3262 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
3264 * include/grub/file.h (not_easly_seekable): Rename to ...
3265 (not_easily_seekable): ... this. Update all users.
3267 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
3269 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
3272 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3274 * util/grub-mkimage.c (generate_image): Refuse to create the images
3275 bigger than the actual flash (512K) in Loongson machines. 512K is also
3276 the biggest chip supported by them.
3278 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3280 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
3282 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
3284 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
3287 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3289 * util/grub-install.in: Ignore install device on platforms
3290 where it doesn't make sense. Always use UUIDs except on pc, efi and
3292 Reported by: Daniel Kahn Gillmor.
3294 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3296 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
3298 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3300 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
3301 (iterate_real): Don't rely on partition being non-NULL.
3303 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3305 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
3306 supported platforms. Put a compile time assert for this rather than
3307 generate a warning with 32-bit shift.
3309 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3311 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
3312 logical expression more readable.
3314 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3316 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
3317 even if some elements have a name.
3318 Reported by: Alexander GQ Gerasiov.
3320 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
3322 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
3323 path unreadable if `grub-probe -t abstraction' fails, for example if
3324 memberlist fails on an LVM volume group.
3325 Reported by: Darius Jahandarie.
3327 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
3329 * docs/grub.texi (Simple configuration): Document
3330 GRUB_PRELOAD_MODULES.
3332 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
3334 * .bzrignore: Remove nonexistent grub-pbkdf2.
3336 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3338 * configure.ac: Bump version to 1.99~rc1.
3340 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3342 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
3345 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3347 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
3350 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3352 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
3354 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3356 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
3359 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3361 Fix compilation on cygwin.
3363 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
3364 -R .drectve on cygwin.
3365 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
3366 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
3367 (COND_CYGWIN): New condition.
3368 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
3369 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
3370 not @TARGET_OBJ2ELF@.
3371 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
3372 type to determine whether aux is to be used.
3374 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3376 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
3377 realpath'ed device string.
3378 Handle floppy (somewhat).
3379 Issue error in unknown case rather than garbage.
3380 Reported by: Axel Beckert.
3382 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3384 * util/grub.d/00_header.in (load_video): Handle the case when no video
3386 Thanks to: Axel Beckert.
3388 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3390 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
3391 variable. Fixes problem on big endian platforms.
3393 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3395 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
3396 It doesn't work well there.
3398 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3400 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
3402 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
3403 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
3406 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3408 Use alias->path rather than buggy "canon".
3410 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
3411 (ofdisk_hash_add): New argument curcan. All users updated.
3413 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
3415 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
3417 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3419 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
3420 loadmask before doing any calculations. Use correct type for offset.
3421 (grub_linux_load64): Likewise.
3423 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
3425 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
3427 (console_grub_equivalences_unshift): Likewise.
3428 Reported by: Daniel Dehennin.
3430 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3432 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
3433 (set_env_limn_ro): Likewise.
3434 (GRUB_MOD_INIT): Likewise.
3435 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
3436 ARRAY_SIZE while on it.
3437 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
3438 * grub-core/normal/context.c (grub_env_export): Move from here ...
3439 * grub-core/kern/env.c (grub_env_export): ... here.
3440 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
3442 * grub-core/kern/main.c (grub_main): Export root and prefix.
3443 * include/grub/env.h (grub_env_export): Export.
3444 Reported by: Seth Goldberg.
3446 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3448 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3449 Take into account space used by ELF sections and multiboot palette.
3450 Reported by: Grégoire Sutre.
3452 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3456 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3458 Pass more appropriate video id to Linux.
3460 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
3461 grub_video_get_driver_id and variable gfxpayloadforcelfb to
3463 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
3464 shift params->lfb_size.
3465 * include/grub/i386/linux.h: Make an enume out of have_vga values.
3467 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3469 * util/grub-menulst2cfg.c: Add missing include of misc.h.
3471 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3473 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
3474 separator and pass bootpath/devid even if only one of them is available.
3475 Reported by: Seth Goldberg.
3477 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3479 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
3480 implementations bug on them.
3482 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
3484 (filter_memory_map): Likewise.
3486 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3488 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
3489 Reported by: nebuchadnezzar.
3491 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3493 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
3494 Reported by: nebuchadnezzar.
3496 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3498 Submenu default support.
3500 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
3501 auto_boot. All users updated.
3503 Handle chosen and default with submenus.
3504 (grub_menu_execute_with_fallback): Declared static.
3505 Don't notify failure if autobooted. Upper level does it.
3506 (menuentry_eq): New function.
3507 (get_entry_number): Use menuentry_eq.
3508 (show_menu): New parameter "autobooted". All users updated.
3509 (grub_show_menu): Likewise.
3510 * include/grub/normal.h (grub_show_menu): Likewise.
3511 * include/grub/menu.h (grub_menu_execute_entry): Removed.
3512 (grub_menu_execute_with_fallback): Likewise.
3514 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3516 * util/grub-mklayout.c (usage): Update help text.
3518 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3520 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
3522 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3524 * util/grub-menulst2cfg.c (main): Trim the line.
3526 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3528 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
3529 (grub_machine_init): Don't check amount of low memory as reportedly
3530 INT 12h can be broken and if low memory is too low we wouldn't have
3531 gotten into grub_machine_init anyway.
3533 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3535 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
3536 (grub_machine_mmap_iterate): Take low memory into account
3538 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3540 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
3544 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3546 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
3549 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3551 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
3552 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
3554 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3556 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
3557 openbsd and netbsd types being in part_bsd module.
3559 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3561 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
3562 (_FILE_OFFSET_BITS): Likewise.
3563 Reported by: Seth Goldberg.
3565 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3567 * configure.ac: Check for libdevmapper header.
3569 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3571 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
3573 (fzap_lookup): Likewise.
3574 (dnode_get): Likewise.
3575 (make_mdn): Likewise.
3576 (zfs_mount): Likewise.
3577 (fzap_iterate): Use temporary pointer to avoid aliasing.
3578 (grub_zfs_read): Likewise.
3579 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
3580 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
3581 pointers to avoid aliasing.
3582 (grub_cmd_xnu_kernel64): Likewise.
3583 (grub_xnu_load_driver): Likewise.
3585 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3587 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
3589 (grub_cmd_terminal_output): Likewise.
3590 Reported and tested by: Grégoire Sutre.
3592 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3594 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
3596 Reported and tested by: Grégoire Sutre.
3598 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3600 * configure.ac: Do CPU substitution even if it's specified explicitly.
3601 Reported and tested by: Alain Greppin.
3603 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3605 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
3606 Reported and tested by: Alain Greppin.
3608 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3610 Satisfy some bison versions need for inttypes.h.
3612 * grub-core/lib/posix_wrap/inttypes.h: New file.
3613 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
3614 (int16_t): Likewise.
3615 (int32_t): Likewise.
3616 (int64_t): Likewise.
3617 Reported and tested by: Alain Greppin.
3619 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3621 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
3622 Silence spurious warning.
3623 Reported and tested by: Alain Greppin.
3625 2011-01-07 Szymon Janc <szymon@janc.net.pl>
3627 * docs/grub.texi (Support automatic decompression): Update with xz
3628 decompression support.
3630 2011-01-07 Szymon Janc <szymon@janc.net.pl>
3632 Improve loaders' kernel command line handling.
3634 * grub-core/lib/cmdline.c: New file.
3635 * include/grub/lib/cmdline.h: Likewise.
3636 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
3637 grub_create_loader_cmdline to create kernel command line.
3638 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3639 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
3640 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
3641 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
3642 (linux): Add lib/cmdline.c on common.
3644 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3646 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
3647 inopos might be unaligned.
3649 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3651 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3652 endian transformations.
3653 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3654 Based on report by: Doug Nazar.
3656 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
3658 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
3659 array->members[i].start_sector.
3660 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3662 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3664 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
3665 Reported and tested by: Grégoire Sutre.
3667 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
3669 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
3670 avoid causing test failures by clearing the screen.
3672 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
3674 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
3675 Fix prefix check to handle the case where dir ends with a slash
3676 (most significantly, "/" itself).
3677 Reported by: Michael Vogt.
3679 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3681 Run terminfo_cls on initing terminfo output to clear the screen and
3682 move the cursor to (0,0).
3684 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
3685 Call grub_terminfo_output_init.
3686 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
3687 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
3688 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
3690 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3692 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
3695 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3697 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
3700 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3702 The E820 type 5 is BADRAM, not EXEC_CODE.
3704 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
3705 (GRUB_E820_BADRAM): New define.
3706 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
3707 into reserved. Propagate BADRAM.
3708 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
3709 (GRUB_E820_BADRAM): New define.
3711 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3713 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
3714 Ignore the memory post-4G.
3715 (grub_relocator_firmware_alloc_region): Additional debug statement.
3717 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3719 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
3721 Reported by: David Pravec.
3723 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3725 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
3728 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3730 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
3732 (grub_reed_solomon_recover): Likewise.
3734 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3736 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
3738 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3740 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
3743 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
3745 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
3746 descriptions of extract_legacy_entries_source and
3747 extract_legacy_entries_configfile.
3748 Reported by: Seung Soo, Ha.
3750 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
3752 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
3753 on devices that do not implement function 0.
3755 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
3757 * grub-core/fs/hfsplus.c: Make parent unsigned.
3758 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
3760 (grub_hfsplus_cmp_extkey): Likewise
3762 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3764 * util/grub-install.in: Correctly use bootloader_id and not
3765 GRUB_DISTRIBUTOR on efibootmgr line.
3767 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3769 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
3771 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
3773 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
3774 Xen and reorder menu item wording to make it clearer that this entry
3775 will launch Xen. Print separate messages when loading Xen and
3778 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3780 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
3781 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
3782 loop in case of incorrect amiga partmap.
3784 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3786 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
3787 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
3790 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3792 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
3794 Reported by: crocket
3796 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3798 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
3800 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
3802 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3804 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
3806 (grub_cmd_xnu_kextdir): Likewise.
3807 (grub_cmd_xnu_splash): Likewise.
3809 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3811 Avoid using Reed-Solomon with 0 redundancy.
3813 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
3814 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
3816 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
3817 (grub_reed_solomon_recover): Likewise.
3819 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3821 Don't use disk subsystem in freebsd_boot.
3823 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
3824 (freebsd_biosdev): Likewise.
3825 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
3826 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
3828 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3830 Handling of files of unknown size is currently limited. They can't be
3831 used e.g. for initrd or modules. Moreover gzip handling of not
3832 easily seekable files is buggy. Disable unknown file size for now. May
3833 be inefficient but works.
3835 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
3836 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3838 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
3840 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
3843 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
3845 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
3847 2010-12-25 Shea Levy <shlevy>
3849 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
3851 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3853 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
3854 Windows Server 2008.
3855 Reported by: Devin Giddings.
3857 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3859 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
3860 writing an error message because of async power management.
3861 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
3862 (grub_reboot): Likewise.
3864 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
3866 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
3867 keep unit tests from failing when they shouldn't.
3869 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3871 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
3872 previous patch increased the size of the RS code by 20 bytes (at
3873 least with gcc-4.4), so increase this by 20 bytes to match.
3874 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3876 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3878 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
3879 scratch area. Make sure to initialise chosen in standalone mode as
3880 well as non-standalone.
3881 Reported by: Robert Hooker and Andy Whitcroft.
3882 Tested by: Andy Whitcroft.
3884 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3886 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
3887 constructing a new unescaped string and passing it to grub_xputs in
3888 one go, rather than passing characters to grub_printf one at a time.
3890 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3892 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
3895 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3897 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
3898 comment. Add an extra layer of quotation, requiring the output of
3899 this function to be used in a printf format string.
3900 (gettext_printf): New function.
3901 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
3902 Extract translatable strings from here-documents and use a temporary
3903 variable instead, so that xgettext can find them.
3904 * util/grub.d/10_kfreebsd.in: Likewise.
3905 * util/grub.d/10_linux.in: Likewise.
3906 * util/grub.d/20_linux_xen.in: Likewise.
3908 * po/grub.d.sed: New file.
3909 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
3910 arguments. Set c-format flags on all strings extracted from
3911 util/grub.d/ (xgettext refuses to include these itself for strings
3912 it extracted from a shell file, but these really are c-format).
3914 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3916 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
3917 Avoid next pointing to nowhere.
3919 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3921 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
3922 rather than assuming than rootblock is exactly in the middle.
3923 (grub_affs_label): Likewise.
3925 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3927 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
3928 reserved_first_sector to 0.
3929 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
3930 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
3931 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
3933 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3935 Fix handling of UTF-16 UDF labels.
3937 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
3938 (read_string): .. here.
3939 (grub_udf_label): Use read_string.
3941 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
3943 * grub-core/normal/menu_entry.c (run): Execute commands from menu
3944 editor under argument scope.
3945 Reported by: Jordan Uggla
3947 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3949 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
3951 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
3953 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
3954 line, and other keys scroll an entire page (previous handling was
3955 for \r and \n to scroll a page and other keys to scroll two lines).
3957 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3959 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3960 Set ptrdest to correct get_physical_target_address rather than
3961 incorrect get_virtual_current_address.
3963 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
3965 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
3966 correct cat to grub_uint8_t * rather than grub_uint32_t *.
3968 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
3970 * .bzrignore: Ignore grub-core/rs_decoder.S.
3972 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
3974 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
3975 .mo/.mo.gz opening sequence to ...
3976 (grub_mofile_open_lang): ... here.
3977 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
3978 * util/grub.d/00_header.in (grub_lang): Include country part of
3980 Reported by: Mario Limonciello.
3982 2010-12-09 Robert Millan <rmh@gnu.org>
3984 * NEWS: Document addition of ZFS support.
3986 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
3988 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
3989 rather than `/ 2', as the latter requires -Wa,--divide which would
3990 require bumping our minimum binutils version.
3992 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
3994 * util/grub-script-check.c (main): Print script line number on
3997 2010-12-01 Robert Millan <rmh@gnu.org>
3999 * grub-core/fs/zfs/zfs.c: New file.
4000 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
4001 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
4002 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
4003 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4005 * include/grub/zfs/dmu.h: Likewise.
4006 * include/grub/zfs/dmu_objset.h: Likewise.
4007 * include/grub/zfs/dnode.h: Likewise.
4008 * include/grub/zfs/dsl_dataset.h: Likewise.
4009 * include/grub/zfs/dsl_dir.h: Likewise.
4010 * include/grub/zfs/sa_impl.h: Likewise.
4011 * include/grub/zfs/spa.h: Likewise.
4012 * include/grub/zfs/uberblock_impl.h: Likewise.
4013 * include/grub/zfs/vdev_impl.h: Likewise.
4014 * include/grub/zfs/zap_impl.h: Likewise.
4015 * include/grub/zfs/zap_leaf.h: Likewise.
4016 * include/grub/zfs/zfs.h: Likewise.
4017 * include/grub/zfs/zfs_acl.h: Likewise.
4018 * include/grub/zfs/zfs_znode.h: Likewise.
4019 * include/grub/zfs/zil.h: Likewise.
4020 * include/grub/zfs/zio.h: Likewise.
4021 * include/grub/zfs/zio_checksum.h: Likewise.
4023 * Makefile.util.def: Build ZFS into libgrubmods.
4024 * grub-core/Makefile.core.def: Build zfs.mod.
4026 2010-11-30 Szymon Janc <szymon@janc.net.pl>
4028 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
4030 * grub-core/commands/wildcard.c (match_files): Likewise.
4032 2010-11-30 Robert Millan <rmh@gnu.org>
4034 * grub-core/loader/i386/bsd.c
4035 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
4036 whether kernel is loaded using grub_loader_is_loaded(), rather
4037 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
4038 certain error conditions.
4040 2010-11-30 Robert Millan <rmh@gnu.org>
4042 * grub-core/commands/echo.c: Include `<grub/term.h>'.
4043 (grub_cmd_echo): Call grub_refresh() after printing a message.
4045 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4047 Avoid using tricks for initialising endian variables.
4049 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
4051 (GRUB_MOD_INIT): Don't byte-swap.
4052 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4053 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
4054 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
4055 (grub_swap_bytes32_compile_time): Likewise.
4056 (grub_cpu_to_le32_compile_time): Likewise.
4057 (grub_cpu_to_le16_compile_time): Likewise.
4059 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4061 * util/grub-setup.c (setup): Stop recommending --force. People who
4062 understand the dangers of blocklists are able to find this option
4063 anyway and the ones who don't shouldn't use it anyway.
4065 2010-11-26 Robert Millan <rmh@gnu.org>
4067 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
4070 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
4072 Fix LVM-on-RAID probing.
4074 * util/grub-probe.c (probe): Remember which disk was detected as
4075 RAID (perhaps an LVM physical volume). Use that disk's raidname
4076 rather than that of the top-level disk.
4078 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
4080 Fix cmdline argument quotes for setparams command of menuentry
4083 * grub-core/commands/menuentry.c (setparams_prefix): Use single
4084 quotes for arguments.
4085 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
4086 grub_strchrsub function instead.
4088 * include/grub/misc.h (grub_strchrsub): New function.
4090 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4092 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
4093 effort by skipping "." and ".." entries up-front.
4094 Suggested by: Michael Lazarev.
4096 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4098 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
4099 ldflags to ldadd, to fix link line ordering.
4100 (none_decompress): Likewise.
4102 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4104 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
4106 (grub-emu-lite): Remove kern/emu/cache.S.
4108 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4110 * util/deviceiter.c (compare_devices): If the by-id link for a
4111 device couldn't be resolved, fall back to sorting by the by-id link
4112 rather than segfaulting.
4113 Reported and tested by: Daniel Mierswa.
4115 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4117 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
4118 ldflags, to fix link line ordering.
4120 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4122 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
4123 linkers are picky about this.
4125 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4127 * grub-core/Makefile.am (command.lst): Adjust sed expression
4128 ordering so that extended and priority commands aren't treated as
4131 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4133 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4134 Remove byte-swapping function calls, which are not valid in
4135 structure initialisers.
4136 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
4138 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
4139 grub_gpt_partition_type_bios_boot.
4141 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4143 Fix test program build on GNU/kFreeBSD.
4145 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
4146 $(LIBNVPAIR)' library dependencies.
4148 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4150 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
4152 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4154 * util/grub-install.in: Remove excessive quoting that broke
4155 installations to RAID devices.
4157 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4159 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
4160 bootloader version instead of 0.
4162 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4164 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
4167 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4169 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
4170 retrieve the metadat sector if size isn't known.
4171 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4173 2010-11-18 Robert Millan <rmh@gnu.org>
4175 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
4178 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
4180 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
4182 Reported by: Jordan Uggla.
4184 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4186 Make better UTF compliant.
4188 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
4189 sequences as incorrect.
4190 (grub_is_valid_utf8): Likewise.
4191 (grub_utf8_to_ucs4): Likewise.
4192 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
4193 (grub_ucs4_to_utf8_alloc): Likewise.
4194 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
4196 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4198 Make legacy_source behave like source.
4200 * grub-core/commands/legacycfg.c (legacy_file): Don't call
4202 (grub_cmd_legacy_source): Call grub_show_menu if needed.
4204 2010-11-16 Colin Watson <cjwatson@debian.org>
4206 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
4207 (-Wunused implies -Wunused-parameter, but not vice versa).
4209 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
4211 * configure.ac: Make error messages less confusing by testing for
4212 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
4213 accepted, but produces a diagnostic if something else is wrong).
4215 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4217 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
4218 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
4220 (grub_keyboard_controller_init)
4221 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
4222 read the initial state since controller isn't inited yet.
4224 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4226 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
4227 allocate_regbeg may need to create new chunk header.
4229 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4231 Fix quoting in legacy parser.
4233 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
4235 (grub_legacy_parse): Likewise.
4236 Reported by: Jordan Uggla.
4237 Tested by: Jordan Uggla.
4239 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4241 Don't add -lgcc on i386 and x86_64.
4243 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
4244 * conf/Makefile.common (LDADD_KERNEL): Likewise.
4245 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
4247 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4249 * configure.ac: Add -Wno-trampolines when supported.
4251 2010-11-14 Modestas Vainius <modax@debian.org>
4253 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
4256 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4258 Add generic logical block size support for UDF.
4260 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
4261 (GRUB_UDF_BLKSZ): Removed.
4262 (struct grub_udf_data): New field "lbshift" to hold the logical block
4263 size of the file system in log2 format. All users updated.
4264 (sblocklist): Change type to unsigned.
4265 (grub_udf_mount): Change type of "sblklist" to unsigned.
4266 Move AVDP search before VRS recognition, because the latter requires
4267 knowledge of the logical block size, which is detected during the
4269 Detect and validate logical block size during AVDP search, adding
4270 support for block sizes 512, 1024 and 4096.
4271 Make VRS recognition independent of block size.
4273 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4275 Properly handle deleted files on UDF.
4277 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
4278 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
4281 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4283 Support reading files larger than 2 GiB.
4285 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
4286 "offset" to grub_off_t.
4287 (grub_udf_read_file): Likewise for parameter "pos".
4289 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4291 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
4293 (Simple configuration): Refer to Changes from GRUB Legacy about
4294 save_env availability.
4296 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4298 * util/grub-install.in: Ignore empty partition table detection
4299 instead of trying to include part_ module.
4301 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4303 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
4304 LVM on RAID support.
4306 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4308 Properly define WORDS_BIGENDIAN in wrapped environments.
4310 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
4312 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
4314 Reported by: Manoel Rebelo Abranches.
4315 Tested by: Manoel Rebelo Abranches.
4317 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4319 * util/grub-mkconfig.in: Fix quoting.
4321 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4323 Support big ext2 files.
4325 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
4326 (grub_ext2_read_block): Support triple indirect blocks.
4327 (grub_ext2_read_file): Use 64-bit types and read size_high.
4328 (grub_ext2_open): Read size_high.
4329 Reported by: Ximin Luo.
4330 Tested by: Manoel Rebelo Abranches.
4332 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4334 * util/grub-install.in: Handle filenames containing spaces.
4335 Reported by: Jordan Uggla.
4336 Tested by: Jordan Uggla.
4338 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4340 * util/grub-mkconfig.in (grub_script_check): New variable.
4341 Use grub_script_check instead of grub-script-check.
4342 Reported by: Barry Jackson.
4344 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4346 * docs/grub.texi (menu): Correct the order.
4347 Reported by: D. Hugh Redelmeier.
4349 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4351 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
4354 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4356 * include/grub/elfload.h (grub_elf32_size): New parameter.
4358 Return maximum segments alignment.
4359 (grub_elf64_size): Likewise.
4360 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
4361 Return maximum segments alignment.
4362 (grub_elf64_size): Likewise.
4363 * grub-core/loader/powerpc/ieee1275/linux.c:
4364 (grub_linux_claimmap_iterate): New function. Uses the
4365 "available" property in the "memory" node for memory allocation
4366 for kernel in the PowerPC loader.
4367 (grub_linux_load32): Correctly find linux entry point offset.
4368 (grub_linux_load64): Likewise.
4370 2010-11-07 Robert Millan <rmh@gnu.org>
4372 On mips-yeeloong, build with -march=loongson2f when this flag is
4373 available (GCC >= 4.4).
4374 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
4376 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
4377 or otherwise add -march=mips3.
4379 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
4381 Suppress shell expansion on echo '*' and echo "*" like cases.
4382 Reported by: Jordan Uggla.
4384 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4385 string arguments before shell expansion.
4386 * tests/grub_cmd_echo.in: New testcases.
4388 2010-11-07 Robert Millan <rmh@gnu.org>
4390 * conf/mips-qemu-mips.rmk: Remove stale file from previous
4393 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
4395 * grub-core/kern/emu/hostdisk.c
4396 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
4398 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4400 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
4401 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
4402 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
4404 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4406 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
4408 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4410 * util/grub-install.in: Replace useless recomendation to pass
4411 --modules with a recomendation to report a bug.
4413 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4415 Properly register serial terminfo.
4416 Reported by: Jordan Uggla
4418 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
4420 (grub_serial_terminfo_output_template): Likewise.
4421 (grub_cmd_serial): Register "serial" with terminfo.
4422 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
4423 grub_serial_terminfo_output.
4425 2010-11-05 Robert Millan <rmh@gnu.org>
4427 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
4430 2010-11-05 Robert Millan <rmh@gnu.org>
4432 On Yeeloong, pass machine type information to Linux.
4434 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
4435 (LOONGSON_MACHTYPE): New macro, set to
4436 "machtype=lemote-yeeloong-2f-8.9inches".
4437 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
4438 additional argument to Linux.
4440 2010-11-04 Robert Millan <rmh@gnu.org>
4442 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
4443 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
4444 (its SATA disks are detected as slaveless IDE master drives on
4446 Reported by Carsten Aulbert.
4448 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
4450 * util/bin2h.c (main): Fix spelling error in generated output.
4452 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
4454 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
4456 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4458 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
4459 vga= option is supplied.
4461 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4463 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
4464 * util/grub.d/10_kfreebsd.in: Likewise.
4465 * util/grub.d/10_linux.in: Likewise.
4466 * util/grub.d/20_linux_xen.in: Likewise.
4468 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4470 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
4471 argument as an argument to no-argument option.
4473 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4475 * util/grub.d/10_linux.in: Add missing load_video with explicit
4476 GRUB_GFXPAYLOAD_LINUX.
4478 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4480 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
4482 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4484 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
4485 elements with invlid index.
4486 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4487 * grub-core/disk/raid.c (insert_array): Automatically reallocate
4489 * include/grub/raid.h (grub_raid_member): New struct.
4490 (grub_raid_array): Transform devices and start_sector into usage of
4491 grub_raid_member. All users updated
4492 (allocated_devs): New member.
4494 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4496 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
4499 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
4501 NetBSD build fix for getline function conflict from gnulib.
4503 * Makefile.util.def (libgrubkern.a): New library for grub kernel
4504 components that depend on gnulib headers.
4505 (libgrubmods.a): Renamed from earlier libgrub.a.
4506 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
4508 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4510 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
4511 install rather than creating a broken install.
4513 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4515 * util/grub-setup.c (argp): Remove misleading example of installing to
4518 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4520 * util/grub-setup.c (setup): Clarify the error message.
4522 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4524 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
4526 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4528 * grub-core/kern/emu/misc.c
4529 (grub_make_system_path_relative_to_its_root)
4530 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
4532 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4534 * grub-core/kern/emu/misc.c
4535 (grub_make_system_path_relative_to_its_root): Revert r2882.
4537 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4539 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
4540 useless field head. All users updated.
4541 (free_subchunk): Correct handling of IN_REGION subchunk.
4543 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
4545 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
4546 (Supported kernels): Likewise.
4548 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
4550 Make mktemp invocations portable.
4552 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
4553 exit if mktemp fails.
4554 * tests/grub_script_blockarg.in: Likewise.
4555 * tests/partmap_test.in: Likewise.
4556 * tests/util/grub-shell-tester.in: Likewise.
4557 * tests/util/grub-shell.in: Likewise.
4558 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4559 * Makefile.am: Likewise, and chain shell commands with `&&'
4561 * util/grub-mkrescue.in: Use the same explicit template as above, and
4562 exit if mktemp fails.
4564 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
4566 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
4567 Linux kernel, reported by Dennis Schridde.
4569 2010-10-17 Szymon Janc <szymon@janc.net.pl>
4571 * grub-core/normal/auth.c (grub_auth_check_authentication):
4572 Set-but-not-used variable removed.
4574 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4576 * docs/grub.texi (GNU/Linux): Document APM unavailability with
4577 32-bit linux protocol.
4579 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4581 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
4582 cursor shape for sanity.
4584 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4586 * docs/grub.texi (Installation): Document buggy BIOS install.
4588 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4590 * docs/grub.texi (Installation): Indent.
4592 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4594 * util/grub-setup.c (setup): New parameter allow_floppy.
4595 (arguments): New member allow_floppy.
4596 (argp_parser): Handle --allow-floppy.
4597 (main): Pass allow_floppy.
4598 * util/grub-install.in: New option --allow-floppy passed though to
4601 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4603 * util/grub-install.in: Handle partitionless disks.
4605 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4607 * util/grub-setup.c (setup): Don't clean blocklists before readability
4610 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4612 * docs/grub.texi (Installation): Document embedding zone. Remove
4613 obsolete grub-install example.
4615 2010-10-16 Szymon Janc <szymon@janc.net.pl>
4617 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4618 Set-but-not-used variable ifdef'ed.
4619 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
4620 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
4622 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
4623 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
4624 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4625 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
4626 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
4627 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4628 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
4629 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
4630 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4631 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
4632 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
4635 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4637 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
4638 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
4641 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4643 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
4644 synonym to _S5_. Needed for some DSDTs.
4646 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4648 Userspace ACPI parser debugging.
4650 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
4651 headers and add relevant defines. Don't include standard headers.
4652 (main) [GRUB_DSDT_TEST]: New function.
4653 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
4654 Don't declare functions.
4656 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4658 Remove dead grub_efi_mm_fini.
4660 * grub-core/kern/efi/mm.c (allocated_page): Removed.
4661 (ALLOCATED_PAGES_SIZE): Likewise.
4662 (MAX_ALLOCATED_PAGES): Likewise.
4663 (allocated_pages): Likewise.
4664 (grub_efi_allocate_pages): Don't record allocated pages.
4665 (grub_efi_free_pages): Likewise.
4666 (grub_efi_mm_init): Likewise.
4667 (grub_efi_mm_fini): Removed.
4669 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4671 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
4672 (grub_efi_mm_init): Take into account the memory map size increase.
4674 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4676 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
4677 (serial_hw_put): Wait based on real time rather than port reads. Don't
4679 * include/grub/serial.h (grub_serial_port): New field broken.
4681 2010-10-16 Robert Millan <rmh@gnu.org>
4683 * grub-core/kern/emu/misc.c
4684 (grub_make_system_path_relative_to_its_root): Fix premature return
4685 when processing non-root ZFS filesystems.
4686 Reported by Sergio Talens-Oliag.
4688 2010-10-15 Robert Millan <rmh@gnu.org>
4690 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
4691 guarantee compressed ones are processed first.
4693 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4695 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
4696 grub_efiemu_autocore.
4698 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4700 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
4702 (grub_console_getkey): Use correct jae opcode rather than ja.
4704 2010-10-12 Robert Millan <rmh@gnu.org>
4706 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
4707 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
4708 variable. All references updated.
4710 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
4712 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4714 Correctly distinguish mdraid flavours.
4716 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
4717 (insert_array): New argument raid.
4718 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
4719 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
4720 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
4722 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4724 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
4725 handling of special keys.
4727 2010-10-02 Aleš Nesrsta <starous@volny.cz>
4729 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
4730 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
4732 2010-10-02 Aleš Nesrsta <starous@volny.cz>
4734 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
4735 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
4737 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
4738 Use right endpoint when querying descriptor.
4740 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
4742 Clear out 0x80 color bit on EFI.
4744 Reported by: decoder and meta tech.
4746 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
4747 (grub_console_setcolorstate): Clear out 0x80 bit.
4748 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
4749 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
4750 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
4752 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
4754 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
4757 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4759 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
4760 mo_file after freeing.
4762 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4764 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
4766 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4768 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
4771 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4773 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
4776 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4778 Put terminfo into core on ieee1275 and yeeloong (needed for console).
4780 * gentpl.py: New groups terminfoinkernel and terminfomodule.
4781 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
4782 and terminfo.h when needed.
4783 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
4784 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
4785 (terminfo): Enable only on terminfokernel.
4787 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
4788 * include/grub/lib/arg.h: Likewise.
4789 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
4790 incorrect usage of ->.
4792 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4794 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
4795 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
4797 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4799 Fix coreboot compilation.
4801 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4802 Take VBE info into account even if only text is supported.
4803 (fill_vbe_info): Take into account the case when only VGA text
4805 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
4806 on coreboot, multiboot and qemu.
4808 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4810 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
4812 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
4814 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4816 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
4819 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4821 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
4822 if they were BSD-style.
4824 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4826 * grub-core/boot/i386/pc/lnxboot.S: Replace
4827 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
4828 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
4830 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4832 Write embedding zone using Reed-Solomon.
4834 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
4835 * grub-core/Makefile.am (rs_decoder.S): New target.
4836 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
4837 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
4838 (multiboot): Move to RS part.
4839 (post_reed_solomon): New label.
4840 (grub_boot_drive): Move to non-RS part since it's modified in memory
4842 Include rs_decoder.S.
4843 * grub-core/lib/reed_solomon.c: New file.
4844 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
4846 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
4847 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
4848 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
4849 * include/grub/partition.h (grub_partition_map): Change prototype of
4850 embed to allow returning additional sectors.
4851 * include/grub/reed_solomon.h: New file.
4852 * util/grub-setup.c (setup): Handle Reed-Solomon.
4854 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
4856 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
4857 i386 and x86-64 definedness tests.
4859 2010-09-27 Yves Blusseau <blusseau@zetam.org>
4861 Fix generation of kernel_syms.lst
4863 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
4866 2010-09-26 Robert Millan <rmh@gnu.org>
4868 Support degraded ZFS arrays in "grub-probe -t device" resolution.
4870 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
4871 the pool is an array of devices, iterate through it and return the
4872 first device that passes a stat() test (instead of blindly returning
4875 2010-09-26 Robert Millan <rmh@gnu.org>
4877 Build fixes for GNU/kFreeBSD.
4879 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
4880 to programs that require ZFS conversion.
4881 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
4882 kernels that don't have FLOPPY_MAJOR.
4884 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
4886 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
4888 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
4892 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
4893 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
4894 mdraid09 and mdraid1x.
4896 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
4898 Re-enable grub-extras.
4900 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
4901 avoid confusing Automake. Run autogen only twice, once for the top
4902 level and once for grub-core. Add Makefile.util.def and
4903 Makefile.core.def from extra modules to the appropriate autogen
4904 invocations. If Makefile.common exists in an extra module, include
4905 it in both Makefile.util.am and grub-core/Makefile.core.am;
4906 similarly, include any Makefile.util.common file in Makefile.util.am
4907 and any Makefile.core.common file in grub-core/Makefile.core.am.
4908 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
4909 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
4910 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
4911 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
4913 * gentpl.py (gvar_add): Turn GVARS into a set.
4914 (global_variable_initializers): Sort global variables on output.
4915 (vars_init): New function.
4916 (first_time): Likewise.
4917 (library): Ensure that non-global variable initialisations are
4918 emitted before the first time we emit code for a library block.
4919 Append to variables rather than setting them. Only emit
4920 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
4921 each conditional path.
4922 (program): installdir() emits an Autogen macro, so must be passed to
4923 var_add rather than gvar_add.
4926 (rules): New function, centralising handling for different target
4927 types. Set up Guile association lists for first_time and vars_init,
4928 and send most output to a diversion so that variable initialisations
4929 can be emitted first.
4930 (module_rules): Use new rules function.
4931 (kernel_rules): Likewise.
4932 (image_rules): Likewise.
4933 (library_rules): Likewise.
4934 (program_rules): Likewise.
4935 (script_rules): Likewise.
4936 (data_rules): Likewise.
4938 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
4940 * .bzrignore: Add contrib and grub-core/contrib. Remove
4941 grub-core/Makefile.gcry.am.
4943 2010-09-24 Yves Blusseau <blusseau@zetam.org>
4945 * grub-core/lib/LzFind.c: Add missing include.
4946 * grub-core/lib/LzmaEnc.c: Likewise.
4947 * grub-core/script/lexer.c: Likewise.
4948 * grub-core/script/yylex.l: Likewise.
4949 * util/grub-macho2img.c: Likewise.
4950 * util/grub-menulst2cfg.c: Likewise.
4951 * util/grub-mklayout.c: Likewise.
4952 * util/grub-mkpasswd-pbkdf2.c
4953 * util/grub-mkrelpath.c: Likewise.
4954 * util/resolve.c: Likewise.
4956 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
4958 * Makefile.util.def (example_unit_test): Add
4959 grub-core/gnulib/libgnu.a.
4961 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
4963 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
4965 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4967 Support xz compression on yeeloong.
4969 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
4970 * configure.ac: Check for LZMA.
4971 * grub-core/Makefile.core.def (xz_decompress): New target.
4972 (none_decompress): Likewise.
4973 * grub-core/boot/decompressor/minilib.c: New file.
4974 * grub-core/boot/decompressor/none.c: Likewise.
4975 * grub-core/boot/decompressor/xz.c: Likewise.
4976 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
4977 * grub-core/kern/mips/cache_flush.S: Likewise.
4978 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
4979 * grub-core/kern/mips/startup.S: Move first stage to ...
4980 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
4982 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
4983 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
4984 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
4985 Allocate statically.
4986 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
4987 Allocate statically or use scratch. Don't check CRC32.
4988 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
4989 Allocate statically. Don't check CRC32.
4990 * include/grub/decompressor.h: New file.
4991 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
4993 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
4994 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
4995 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
4996 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
4997 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
4998 * util/grub-mkimage.c (grub_compression_t): New type.
4999 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
5000 (image_target_desc): New field default_compression.
5001 (image_targets): Adjust yeeloong targets.
5002 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
5003 (compress_kernel): New parameter comp.
5004 (generate_image): Likewise. Handle new compression case.
5005 (options): New option --compression
5007 (main): Handle new option.
5009 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
5011 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
5013 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
5015 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
5016 typo in __i386__ conditional.
5018 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5020 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
5023 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5025 Implement EFI and ACPI multiboot2 extensions.
5027 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
5028 new tags as supported.
5029 (acpiv2_size): New function.
5030 (grub_multiboot_get_mbi_size): Take new tags into account.
5031 (grub_multiboot_make_mbi): Add new tags.
5032 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
5034 2010-09-21 Aleš Nesrsta <starous@volny.cz>
5036 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
5037 Added missing configuration of USB device.
5039 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5041 * grub-core/normal/menu_entry.c (run): Make sure we always return
5044 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5046 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
5047 NumberOfPages is UINT64 according to the UEFI specification, not
5048 UINTN. Fix printf format.
5050 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5052 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
5053 `err' to grub_usb_err_t.
5054 Reported and tested by: KESHAV P.R.
5056 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5058 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
5059 tpart non-const, so that we can assign to it. (Since this is a
5060 typedef, the constness refers to the pointer rather than what it
5063 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5065 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
5066 $(top_srcdir)/grub-core/gnulib as well as
5067 $(top_builddir)/grub-core/gnulib.
5068 Reported by: KESHAV P.R.
5070 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5072 * util/grub-install.in: Fix the bootloader ID option to be
5073 consistently --bootloader-id, not --bootloader_id.
5074 Reported by: KESHAV P.R.
5076 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5078 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
5079 check hash checksum." consistently translatable.
5081 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5083 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
5086 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5088 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
5089 (GRUB_MOD_INIT): Register sha1sum command.
5090 (GRUB_MOD_FINI): Unregister sha1sum command.
5092 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5094 Keep boot and grub directory names in sync with utils scripts
5096 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
5097 * config.h.in: Add previous macros.
5098 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
5099 * util/grub-install.in: Use $bootdir and $grubdir variables.
5101 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5103 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
5104 convert partition names to disk names if the new `convert' parameter
5106 (grub_util_biosdisk_get_grub_dev): If opening the disk device
5107 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
5108 disk in its own right. This can happen with Xen disk images.
5110 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5112 * util/grub-editenv.c: Update strings to avoid warnings when generating
5114 * util/grub-setup.c: Likewise.
5116 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5118 * configure.ac: Change version to 1.99~beta0.
5120 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5122 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
5124 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
5126 * include/multiboot.h: Resynced with specification.
5127 * include/multiboot2.h: Likewise.
5129 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5131 Fix po directory handling.
5133 * configure.ac: Create po/Makefile.in rather than po/Makefile.
5134 * grub-core/gnulib/Makefile.am: Import gettext module.
5135 * m4/gnulib-cache.m4: Likewise.
5136 * m4/gnulib-comp.m4: Likewise.
5137 * m4/gettext.m4: New file, from gnulib.
5138 * m4/glibc2.m4: Likewise.
5139 * m4/iconv.m4: Likewise.
5140 * m4/intdiv0.m4: Likewise.
5141 * m4/intl.m4: Likewise.
5142 * m4/intldir.m4: Likewise.
5143 * m4/intlmacosx.m4: Likewise.
5144 * m4/intmax.m4: Likewise.
5145 * m4/inttypes-pri.m4: Likewise.
5146 * m4/lcmessage.m4: Likewise.
5147 * m4/lib-ld.m4: Likewise.
5148 * m4/lib-link.m4: Likewise.
5149 * m4/lib-prefix.m4: Likewise.
5150 * m4/lock.m4: Likewise.
5151 * m4/nls.m4: Likewise.
5152 * m4/po.m4: Likewise.
5153 * m4/printf-posix.m4: Likewise.
5154 * m4/progtest.m4: Likewise.
5155 * m4/threadlib.m4: Likewise.
5156 * m4/uintmax_t.m4: Likewise.
5157 * m4/visibility.m4: Likewise.
5158 * po/Makefile.am: Remove.
5159 * po/Makefile.in.in: New file, from gettext.
5160 ($(DOMAIN).pot-update): Support POTFILES-shell.
5161 * po/Makevars: New file.
5162 * po/POTFILES-shell: Rename to ...
5163 * po/POTFILES-shell.in: ... this. Update.
5164 * po/POTFILES: Rename to ...
5165 * po/POTFILES.in: ... this. Update.
5166 * po/Rules-quot: New file, from gettext.
5167 * po/boldquot.sed: Likewise.
5168 * po/en@boldquot.header: Likewise.
5169 * po/en@quot.header: Likewise.
5170 * po/insert-header.sin: Likewise.
5171 * po/quot.sed: Likewise.
5172 * po/remove-potcdate.sin: Likewise.
5174 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5176 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
5178 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5180 * util/grub.d/20_linux_xen.in: Use submenus.
5182 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5186 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
5187 parameter submenu. All users updated.
5188 * grub-core/normal/main.c (free_menu): Rename to ...
5189 (grub_normal_free_menu): ... this. Made global.
5190 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
5192 * grub-core/normal/menu_entry.c (screen): New field submenu.
5193 (make_screen): Set submenu.
5194 (run): Open new context if requested.
5195 * include/grub/menu.h (grub_menu_entry): New field submenu.
5196 * include/grub/normal.h (grub_normal_free_menu): New proto.
5198 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5200 Menu entries extractor.
5202 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
5204 (GRUB_MOD_INIT): Register new variants.
5205 (GRUB_MOD_FINI): Unregister new variants.
5206 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
5207 into grub_cmd_legacy_source.
5208 (grub_cmd_legacy_source): Implement extractor variants.
5209 (GRUB_MOD_INIT): Register new variants.
5210 (GRUB_MOD_FINI): Unregister new variants.
5211 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
5213 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
5214 search as an extractor.
5215 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
5216 test as an extractor.
5217 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
5219 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
5220 (grub_env_new_context): New function.
5221 (grub_env_context_open): Likewise.
5222 (grub_env_extractor_open): Likewise.
5223 (grub_env_extractor_close): Likewise.
5224 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
5225 grub_extractor_level.
5226 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
5227 * include/grub/env.h (grub_env_extractor_open): New proto.
5228 (grub_env_extractor_close): Likewise.
5229 * include/grub/normal.h (grub_extractor_level): New external variable.
5231 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5233 Make cutmem accept a region specification.
5234 Suggested by: Samuel Thibault
5236 * grub-core/mmap/mmap.c (parsemem): New function.
5237 (grub_cmd_cutmem): Handle new arguments.
5239 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5243 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
5244 (GRUB_MOD_INIT): Register new command.
5245 (GRUB_MOD_FINI): Unregister new command.
5247 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5249 Support some annoying BSD and Minix subpartitions.
5251 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
5252 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
5253 Properly handle concatenation.
5254 * grub-core/kern/device.c (grub_device_iterate): Likewise.
5255 * grub-core/normal/completion.c (iterate_partition): Likewise.
5256 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
5257 contain partition. All users updated.
5258 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
5260 (grub_openbsdlabel_partition_map): Likewise.
5261 (bsdlabel_partition_map_iterate): Rename to ..
5262 (iterate_real): ... this. New arguments sector, freebsd and pmap.
5263 (bsdlabel_partition_map_iterate): New function.
5264 (netopenbsdlabel_partition_map_iterate): Likewise.
5265 (netbsdlabel_partition_map_iterate): Likewise.
5266 (openbsdlabel_partition_map_iterate): Likewise.
5267 (GRUB_MOD_INIT): Register new partmaps.
5268 (GRUB_MOD_FINI): Unregister new partmaps.
5269 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
5270 (grub_partition_msdos_iterate): ... this. All users updated.
5271 Don't support embedding other than in a minix partition.
5272 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
5274 * include/grub/partition.h (grub_partition): New field msdostype.
5275 * util/grub-install.in: Handle openbsd and netbsd types being in
5278 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5280 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
5282 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
5283 * grub-core/Makefile.core.def (mdraid): Renamed to ...
5284 (mdraid09): ... this.
5285 (mdraid1x): New module.
5286 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
5287 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
5289 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5291 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
5294 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5296 * grub-core/commands/efi/lsefimmap.c: Correct header.
5299 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5301 * util/grub-editenv.c (argp_parser): Don't pass translated strings
5302 as printf format strings; the translations might contain '%' which
5303 could cause a crash.
5305 * util/grub-fstest.c (argp_parser): Likewise.
5306 * util/grub-setup.c (argp_parser): Likewise.
5309 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5311 Use argp in grub-fstest.
5313 * util/grub-fstest.c: Don't include getopt.h.
5315 (root): New variable.
5316 (args_count): Likewise.
5318 (num_disks): Likewise.
5321 (debug_str): Likewise.
5323 (options): Transformed to argp.
5325 (main): Split argument parsing into ...
5326 (argp_parser): ... this. Changed to argp format.
5327 (argp): New variable.
5328 (main): Use argp_parse.
5330 2010-09-20 Tristan Gingold <gingold@free.fr>
5331 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
5332 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5334 * grub-core/commands/efi/lsefimmap.c: New file.
5335 * grub-core/Makefile.core.def (lsefimmap): New module.
5336 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
5338 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5340 Pause the execution (10s max) if any errors are displayed so the user
5341 has a chance to see them.
5343 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
5344 (grub_print_error): Increment grub_err_printed_errors.
5345 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
5346 execution if any errors were displayed.
5347 (show_menu): Remove old code for pause.
5348 * grub-core/normal/menu_entry.c (run): Likewise.
5349 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
5351 (grub_normal_get_char_counter): Likewise.
5352 * include/grub/err.h (grub_err_printed_errors): New external variable.
5353 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
5355 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5357 Support multiboot VBE info.
5359 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5360 Take VBE info into account.
5361 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
5362 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5363 Call fill_vbe_info when appropriate.
5364 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
5365 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
5367 (grub_multiboot_get_mbi_size): Take new tags into account.
5368 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
5369 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5370 Call fill_vbe_tag when appropriate.
5371 (grub_multiboot_make_mbi): Properly align tags.
5372 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
5374 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
5376 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
5378 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5380 Suport manual terminal geometry specification.
5382 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
5383 Save state in grub_ofconsole_terminfo_output.
5384 (grub_ofconsole_term): Use grub_terminfo_getwh.
5385 (grub_ofconsole_getwh): Removed.
5386 * grub-core/term/serial.c (grub_serial_getwh): Removed.
5387 (grub_serial_term): Use grub_terminfo_getwh.
5388 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
5389 (options): New struct.
5390 (OPTION_*): New enum.
5391 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
5392 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
5394 (grub_terminfo_getwh): New proto.
5395 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
5397 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5399 Handle legacy "terminal" command.
5401 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
5403 (legacy_commands): Add terminal and title.
5404 (grub_legacy_parse): Handle terminal. Simplify title handling.
5406 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5408 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
5409 parameters overflow.
5411 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5413 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
5416 * docs/grub.texi (Shell-like scripting): Document `!'.
5417 (Network): Simplify using new i386-pc-pxe format. Mention
5422 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5424 * Makefile.am (SUBDIRS): Restore "."; it's important to force
5425 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
5428 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5430 * grub-core/commands/efi/lsefisystab.c: Correct header.
5431 * grub-core/commands/efi/lssal.c: Likewise.
5432 * grub-core/commands/testload.c: Likewise.
5434 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5436 * util/grub-mkrescue.in: Add explicit root argument to --set to
5437 prevent the UUID being interpreted as an argument to --set (matches
5438 previous change to prepare_grub_to_access_device).
5440 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5442 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
5443 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
5444 the verbosity of later #ifs.
5445 (find_partition_start): Define this function on FreeBSD too.
5446 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
5448 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
5451 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5453 * util/grub-editenv.c: Use argp instead of getopt.
5455 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5457 * util/grub-setup.c: Use argp instead of getopt.
5459 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5461 Use gnulib-tool to create gnulib source files.
5463 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
5464 grub-core/gnulib directories
5465 * .bzignore: Add **/.deps and autogenerated gnulib files
5466 * configure.ac: Assign auxiliary directory to build-aux, add invocation
5467 of gnulib macros, add grub-core/gnulib/Makefile
5468 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
5469 include m4 directory to aclocal.
5470 * Makefile.util.def: Remove direct compilation of gnulib source files
5471 and use the new grub-core/gnulib/libgnu.a.
5472 * build-aux/config.rpath: move config.rpath from top directory to
5474 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
5476 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
5477 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
5478 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
5480 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
5483 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5485 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
5486 grub-core/genmod.sh and grub-core/gensyminfo.sh
5488 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
5490 Add a test for echo command options.
5492 * tests/grub_cmd_echo.in: New test.
5493 * Makefile.util.def: Rules for new test.
5495 2010-09-20 Szymon Janc <szymon@janc.net.pl>
5497 Remove crc.mod and move crc command to hashsum.mod.
5498 Remove lib/crc.c - users updated to use gcrypt implementation.
5500 * grub-core/commands/crc.c: Removed.
5501 * grub-core/Makefile.core.def (crc): Module removed.
5502 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
5503 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
5504 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
5505 * grub-core/lib/crc.c: Removed.
5506 * include/grub/lib/crc.h: Removed.
5507 * Makefile.util.def (crc): Remove lib/crc.c
5508 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
5509 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
5510 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
5511 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
5512 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
5513 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
5515 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5517 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
5519 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5521 Split config.h for util and core.
5523 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
5526 (BSS_START_SYMBOL): Likewise.
5527 (END_SYMBOL): Likewise.
5528 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
5529 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
5530 * config.h.in: New file.
5531 * configure.ac: Use config-util.h as config define file.
5532 Rename MACHINE into GRUB_MACHINE. All users updated.
5533 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
5535 (NESTED_FUNC_ATTR): Likewise.
5536 Substitue new variables.
5537 (COND_HAVE_ASM_USCORE): New conditional.
5538 * grub-core/Makefile.am (ASM_PREFIX): New variable.
5539 (kernel_syms.lst): Use ASM_PREFIX.
5540 * grub-core/kern/emu/console.c: Include config-util.h.
5541 * grub-core/kern/emu/misc.c: Likewise.
5542 * grub-core/kern/emu/mm.c: Likewise.
5543 * include/grub/emu/misc.h: Likewise.
5544 * include/grub/libgcc.h: Likewise.
5546 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5548 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
5550 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
5551 Fix GRUB_TERM_KEY_* constants usage.
5552 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
5554 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5556 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
5558 * grub-core/bus/usb/uhci.c: Remove empty define.
5559 (grub_uhci_check_transfer): Add missing cast.
5560 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
5562 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
5564 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
5566 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5568 * grub-core/Makefile.core.def (legacycfg): Add
5569 lib/i386/pc/vesa_modes_table.c on emu.
5571 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5573 Reduce number of temporary files generated by build system.
5575 * grub-core/gencmdlist.sh: Removed.
5576 * grub-core/genfslist.sh: Removed.
5577 * grub-core/genhandlerlist.sh: Removed.
5578 * grub-core/genmodsrc.sh: Removed.
5579 * grub-core/genpartmaplist.sh: Removed.
5580 * grub-core/genparttoollist.sh: Removed.
5581 * grub-core/gentermiinallist.sh: Removed.
5582 * grub-core/genvideolist.sh: Removed.
5584 * grub-core/genmod.sh.in: New file.
5585 * grub-core/gensyminfo.sh.in: New file.
5587 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
5588 * conf/Makefile.extra-dist: Update with new files.
5589 * gentpl.py: Remove rules related to unnecessary temporary files.
5590 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
5592 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
5594 * grub-core/bus/usb/uhci.c: Remove empty #define.
5595 * grub-core/genmoddep.awk: Updated with new syminfo format.
5596 * util/bash-completion.d/Makefile.am: Add config.log to
5599 2010-09-19 Yves Blusseau <blusseau@zetam.org>
5601 * Makefile.util.def: Add forgotten $(LIBINTL) library.
5603 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5605 * util/grub-mkconfig.in: Check the config script for syntax errors
5608 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
5609 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5611 * Makefile.util.def (grub-install): Use util/grub-install.in on all
5613 * util/grub-install.in: Add EFI and IEEE1275 support.
5614 * util/i386/efi/grub-install.in: Removed.
5615 * util/ieee1275/grub-install.in: Likewise.
5617 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5619 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
5620 (grub_cmd_cmosclean): Likewise.
5621 (GRUB_MOD_INIT): Register command cmosclean.
5622 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
5623 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
5625 2010-09-18 Carles Pina i Estany <carles@pina.cat>
5626 2010-09-18 Aleš Nesrsta <starous@volny.cz>
5627 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5629 Add keyboard layouts support.
5631 * Makefile.util.def (grub-mklayout): New file.
5632 (grub-kbdcomp): New script.
5633 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
5634 Add keyboard_layouts.h.
5635 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
5636 commands/boot.c on yeeloong.
5637 (keylayouts): New module.
5638 * grub-core/bus/usb/ohci.c
5639 * grub-core/bus/usb/uhci.c
5640 * grub-core/bus/usb/usbhub.c (rescan): New variable.
5641 (grub_usb_add_hub): Poll interrupt pipe for device handling.
5642 (attach_root_port): Likewise.
5643 (poll_nonroot_hub): Likewise.
5644 (grub_usb_poll_devices): Likewise.
5645 (detach_device): Close transfer.
5646 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
5648 (grub_usb_bulk_setup_readwrite): Likewise.
5649 (grub_usb_bulk_finish_readwrite): Likewise.
5650 * grub-core/commands/keylayouts.c: New file.
5651 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
5652 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
5654 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
5656 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
5657 * include/grub/keyboard_layouts.h: New file.
5658 * util/grub-mklayout.c: New file.
5659 * util/grub-kbdcomp.in: Likewise.
5661 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5665 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
5666 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
5668 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
5669 (grub_upper_mem): Likewise.
5670 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
5671 * include/grub/memory.h (grub_memory_type_t): New enum.
5674 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5676 * grub-core/Makefile.core.def (lsapm): New module.
5677 * grub-core/commands/i386/pc/lsapm.c: New file.
5678 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
5679 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
5681 * include/grub/i386/pc/apm.h: New file.
5682 * include/multiboot.h (multiboot_apm_info): New struct.
5684 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5686 GRUB-legacy configuration file support.
5688 * Makefile.util.def (grub-menulst2cfg): New util.
5689 * docs/man/grub-menulst2cfg.h2m: New file.
5690 * grub-core/Makefile.core.def (legacycfg): New module.
5691 * grub-core/commands/legacycfg.c: New file.
5692 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
5693 (grub_normal_add_menu_entry): ... this.
5694 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
5695 (grub_normal_set_password): ...this.
5696 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
5697 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
5698 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
5699 * grub-core/lib/legacy_parse.c: New file.
5700 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
5701 * include/grub/i386/pc/vesa_modes_table.h: New file.
5702 * include/grub/legacy_parse.h: Likewise.
5703 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
5704 * util/grub-menulst2cfg.c: New file.
5706 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
5708 * grub-core/kern/emu/hostdisk.c
5709 (convert_system_partition_to_system_disk): Initialise node.
5711 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
5713 * grub-core/kern/emu/hostdisk.c
5714 (convert_system_partition_to_system_disk): Fix devmapper memory pool
5716 Reported and based on patch by: Modestas Vainius.
5718 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
5720 Fix DM-RAID probing with recent versions of device-mapper udev
5723 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
5724 canonicalise device paths under /dev/mapper/.
5725 (convert_system_partition_to_system_disk): Compare the
5726 uncanonicalised path to /dev/mapper/ rather than the canonicalised
5727 path, since device nodes under /dev/mapper/ are often symlinks.
5729 2010-09-17 Yves Blusseau <blusseau@zetam.org>
5731 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
5733 2010-09-16 Yves Blusseau <blusseau@zetam.org>
5735 * configure.ac: Avoid some annoying error messages if freetype-config
5736 program is not found.
5738 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
5740 Support RAID on virtio devices, and others.
5742 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
5744 [__MINGW32__] (grub_find_device): ... this.
5745 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
5746 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
5747 reasonable default if dir is NULL.
5748 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
5750 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
5751 (grub_guess_root_device): Update callers.
5752 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
5754 * util/raid.c (grub_util_getdiskname): Remove.
5755 (grub_util_raid_getmembers): Use grub_find_device rather than
5756 grub_util_getdiskname.
5758 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
5760 * docs/grub.texi (serial): Remove obsolete comment about GRUB
5761 needing to be compiled with serial support.
5762 (ls): Indicate that multiple files are accepted.
5763 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
5764 indicate that multiple files are accepted.
5766 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
5768 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
5769 libgrub_a_init.c, and util/bash-completion.d/grub.
5771 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5773 * util/grub-setup.c (setup): Fix incorrect container semantics.
5775 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5777 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
5779 Reported by: J. Nick Terry
5781 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5783 Move embedding routines to partmap sources files.
5785 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
5786 [GRUB_UTIL]: New variable.
5787 (gpt_partition_map_iterate): Set part.parent.
5788 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
5789 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
5790 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
5792 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
5793 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
5794 (grub_partition_map) [GRUB_UTIL]: New field embed.
5795 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
5796 (setup): Use ->embed.
5798 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5800 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
5802 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
5803 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
5805 2010-09-15 Yves Blusseau <blusseau@zetam.org>
5807 Add function to get completions from usage.
5809 * util/bash-completion.d/grub-completion.bash.in: Add function to get
5810 completions from usage. Use LC_ALL=C to get options properly.
5812 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5814 * grub-core/gnulib/basename-lgpl.c: Imported.
5815 * grub-core/gnulib/basename.c: Likewise.
5816 * grub-core/gnulib/dirname-lgpl.c: Likewise.
5817 * grub-core/gnulib/dirname.c: Likewise.
5818 * grub-core/gnulib/dirname.h: Likewise.
5819 * grub-core/gnulib/stripslash.c: Likewise.
5821 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5823 * grub-core/gnulib/error.c: Resynced.
5824 * grub-core/gnulib/getopt.c: Likewise.
5825 * grub-core/gnulib/getopt_int.h: Likewise.
5826 * grub-core/gnulib/regex.h: Likewise.
5827 * grub-core/gnulib/regex_internal.c: Likewise.
5828 * grub-core/gnulib/regex_internal.h: Likewise.
5830 2010-09-15 Szymon Janc <szymon@janc.net.pl>
5832 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
5833 CRC calculations and validity checks.
5834 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
5837 2010-09-15 Szymon Janc <szymon@janc.net.pl>
5839 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
5841 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5843 Fix incorrect echo options handling.
5844 Reported by: Yves Blusseau.
5846 * include/grub/command.h (grub_command_flags_t): New flags
5847 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
5848 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
5849 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
5851 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5853 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
5855 (GRUB_COMMAND_FLAG_MENU): Likewise.
5856 (GRUB_COMMAND_FLAG_BOTH): Likewise.
5857 (GRUB_COMMAND_FLAG_TITLE): Removed.
5858 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
5859 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
5860 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
5861 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
5862 (grub_command_flags_t): New enum. All users updated.
5864 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
5866 Fix solaris compilation.
5868 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
5869 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
5870 (grub-emu-list): Likewise.
5872 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5874 Remove deprecated root command.
5876 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
5879 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5881 * util/i386/pc/grub-setup.c: Merge this ...
5882 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
5883 * util/grub-setup.c: ... into this.
5884 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
5887 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5889 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
5892 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5894 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
5897 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5899 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
5900 explicit root argument to set to prevent UUID to be interpreted as
5903 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5905 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
5907 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5909 Don't export grub_gate_a20.
5911 * grub-core/kern/i386/pc/init.c: Remove leftovers.
5912 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
5914 (grub_gate_a20): ... this. All users updated.
5915 * include/grub/i386/pc/init.h: Removed. All users updated.
5917 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5919 Create euro.pf2 which supports most European languages.
5921 * Makefile.am (grubdata_DATA): Add euro.pf2.
5922 (euro.pf2): New target.
5923 (CLEANFILES): Add euro.pf2.
5925 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5927 * configure.ac: Disable emu-usb by default to prevent inadvertent
5930 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5932 Disable usbserial on grub-emu since our libusb code isn't good enough
5935 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
5936 (usbserial_pl2303): Likewise.
5937 (usbserial_ftdi): Likewise.
5939 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5941 * include/grub/disk.h (grub_disk): Remove has_partitions.
5943 * disk/loopback.c (grub_loopback): Remove has_partitions.
5945 (options): Remove partitions. All users updated.
5946 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
5947 * util/i386/pc/grub-setup.c (setup): copy partition table only when
5948 actual partition table is found.
5950 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5952 Remove readability checks (too many false negatives).
5954 * util/grub-install.in: Remove readability checks.
5955 * util/grub-mkconfig.in: Likewise.
5956 * util/grub.d/10_hurd.in: Likewise.
5957 * util/grub.d/10_kfreebsd.in: Likewise.
5958 * util/grub.d/10_linux.in: Likewise.
5959 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
5962 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5964 Enable acpi shutdown on all ACPI platforms.
5966 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
5967 on coreboo, multiboot and EFI.
5968 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
5969 (grub_acpi_halt): Likewise.
5970 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
5971 (grub_cmd_halt): Don't call grub_acpi_halt directly.
5972 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
5973 * grub-core/lib/i386/halt.c (grub_halt)
5974 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
5976 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5978 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
5981 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5983 * grub-core/video/efi_gop.c: Fix over-80-chars line.
5984 * grub-core/video/efi_uga.c: Likewise.
5986 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5988 Filter devaliases and never open same device twice.
5990 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
5991 (last_ihandle): Likewise.
5992 (ofdisk_hash_ent): New member shortest.
5993 (ofdisk_hash_add): Add canonical path too.
5994 (scan): New function.
5995 (grub_ofdisk_iterate): Iterate over hashed entries.
5996 (compute_dev_path): Don't add :0.
5997 (grub_ofdisk_open): Don't really open the disk.
5998 (grub_ofdisk_close): Avoid closing unrelated disk.
5999 (grub_ofdisk_read): Implement reopen logic.
6000 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
6002 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
6005 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6009 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
6010 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
6011 right address. Add sparc64_ieee1275_ldflags.
6012 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
6013 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
6014 to grub_host_to_target_addr
6015 (load_image): Likewise.
6017 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6019 * grub-core/normal/completion.c (complete_file): Handle device
6021 Fix based on patch by Doug Nazar.
6023 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6025 grub-mknetdir script.
6027 * Makefile.util.def (grub-mknetdir): New module.
6028 * tests/util/grub-shell.in: Support boot=net
6029 * util/grub-mknetdir.in: New file.
6031 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6033 videoinfo on non-vbe.
6035 * grub-core/Makefile.core.def (vbeinfo): Removed.
6037 (videoinfo): New module.
6038 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
6039 * grub-core/commands/i386/pc/vbetest.c: Removed.
6040 * grub-core/commands/videoinfo.c: New file.
6041 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
6043 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
6045 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
6046 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
6047 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
6048 mode_number. New parameter mode. All users updated.
6049 (grub_video_gop_iterate): New function.
6050 (grub_video_efi_gop): New member iterate.
6051 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
6052 (grub_vbe_set_video_mode): Remove setting useless fields.
6053 (vbe2videoinfo): New function.
6054 (grub_video_vbe_iterate): Likewise.
6055 (grub_video_vbe_setup): Use vbe2videoinfo.
6056 (grub_video_vbe_print_adapter_specific_info): New function.
6057 (grub_video_vbe_adapter): New fields iterate and
6058 print_adapter_specific_info.
6059 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
6061 (grub_video_mode_info): New field mode_number.
6062 (grub_video_adapter): New fields iterate and
6063 print_adapter_specific_info.
6065 2010-09-13 Tristan Gingold <gingold@free.fr>
6066 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
6067 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6069 * grub-core/commands/efi/lsefisystab.c: New file.
6070 * grub-core/commands/efi/lssal.c: Likewise.
6071 * grub-core/Makefile.core.def (lsacpi): New module.
6072 (lsefisystab): Likewise.
6073 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
6074 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
6075 (grub_efi_sal_system_table): New struct.
6076 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
6077 (grub_efi_sal_system_table_memory_descriptor): Likewise.
6078 (grub_efi_sal_system_table_platform_features): Likewise.
6079 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
6080 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
6081 (grub_efi_sal_system_table_ap_wakeup): Likewise.
6082 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
6084 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6086 Support explicit user claim that a device is BIOS-visible.
6088 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
6089 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
6090 * grub-core/kern/emu/hostdisk.c
6091 (convert_system_partition_to_system_disk): Support mdX.
6092 (find_system_device): New parameter add. All users updated.
6093 (grub_util_biosdisk_is_present): New function.
6094 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
6097 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6099 Search hints support.
6101 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
6104 2010-09-13 Yves Blusseau <blusseau@zetam.org>
6106 Bash completion script for util commands
6108 * Makefile.am: Add util/bash-completion.d directory
6109 * configure.ac: Likewise.
6110 * util/bash-completion.d/Makefile.am: New file.
6111 * util/bash-completion.d/grub-completion.bash.in: Likewise.
6113 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6115 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
6116 (print_backlog): set backlog_ucs4 and backlog_glyphs.
6117 Reported by: Yves Blusseau.
6119 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6121 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
6122 partition size and offset.
6124 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6126 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
6128 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6130 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
6132 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6134 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
6135 (grub_xvasprintf): Likewise.
6137 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6139 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
6141 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6143 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
6144 args ending with NULL.
6146 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6148 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
6151 2010-09-11 Szymon Janc <szymon@janc.net.pl>
6153 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
6155 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6157 Shutdown using ACPI.
6159 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
6160 * grub-core/commands/acpihalt.c: New file.
6161 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
6162 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
6163 (grub_acpi_halt): New proto.
6164 (GRUB_ACPI_SLP_EN): New const.
6165 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
6166 (GRUB_ACPI_OPCODE_*): New enum.
6167 (GRUB_ACPI_EXTOPCODE_*): Likewise.
6169 2010-09-11 Tristan Gingold <gingold@free.fr>
6170 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
6171 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6173 * commands/lsacpi.c: New file.
6174 * grub-core/Makefile.core.def (lsacpi): New module.
6175 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
6176 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
6177 (grub_acpi_madt_entry_header): New struct.
6178 (grub_acpi_madt): Likewise.
6179 (grub_acpi_madt_entry_interrupt_override): Likewise.
6180 (grub_acpi_madt_entry_sapic): Likewise.
6181 (grub_acpi_madt_entry_lsapic): Likewise.
6182 (grub_acpi_madt_entry_platform_int_source): Likewise.
6183 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
6184 (PRIuGRUB_UINT32_T): Likewise.
6185 (PRIxGRUB_UINT64_T): Likewise.
6187 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6189 Implement loading palette on ieee1275_fb.
6191 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
6192 (have_setcolors): Likewise.
6193 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
6194 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
6195 (grub_video_ieee1275_set_palette): Implement.
6197 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6198 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
6200 * util/grub-install.in (grub_partition): New variable.
6201 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
6202 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
6203 Fixes a bug reported by Yves Blusseau.
6205 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6209 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
6210 =grub_cpu_flush_cache on all mips and not only yeeloong.
6211 * configure.ac (COND_mips): New conditional.
6212 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
6214 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
6215 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
6216 [GRUB_LINKER_HAVE_INIT]: New function.
6217 (grub_emu_post_init): Likewise.
6218 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
6219 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
6220 * include/grub/cache.h (_mips): Include mips/cache.h.
6221 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
6222 LVM and RAID prototypes.
6223 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
6224 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
6227 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6229 * util/grub-install.in: Don't try to verify core.img until after
6230 running grub-mkimage to create it.
6232 2010-09-10 Robert Millan <rmh@gnu.org>
6234 * util/grub.d/10_hurd.in: Add misc readability checks.
6235 * util/grub.d/10_kfreebsd.in: Likewise.
6236 * util/grub.d/10_linux.in: Likewise.
6238 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6240 * util/grub-install.in: ${imgext} won't be defined here until the
6241 install branch is merged. For the meantime, only verify core.img on
6242 i386-pc and sparc64-ieee1275 platforms.
6244 2010-09-10 Robert Millan <rmh@gnu.org>
6246 Solaris support in grub_find_zpool_from_dir(). Thanks
6247 Seth Goldberg for referring to getextmntent() facility.
6249 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
6251 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
6253 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
6254 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
6255 method for finding zpool name.
6257 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6259 grub-fstest needs the host and hostfs modules while other utilities
6260 actively require those modules to be absent, so grub-fstest needs
6261 its own initialisation and finalisation code.
6263 * Makefile.am (grub_fstest.pp): New target.
6264 (grub_fstest_init.lst): Likewise.
6265 (grub_fstest_init.c): Likewise.
6266 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
6268 2010-09-10 Robert Millan <rmh@gnu.org>
6270 * configure.ac: Check for `struct statfs.f_fstypename' and
6271 `struct statfs.f_mntfromname'.
6273 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
6274 kFreeBSD-specific code.
6276 2010-09-10 Robert Millan <rmh@gnu.org>
6278 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
6279 on ZFS. Now non-main filesystems are supported as / too.
6281 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
6283 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
6284 and grub-core/disk/host.c to ...
6285 (grub-fstest): ... here. Having the host disk implementation
6286 present confuses grub-probe and other utility programs.
6288 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
6289 when writing to a file, not when writing to stdout.
6291 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
6293 * tests/partmap_test.in: New test for partitions.
6294 * Makefile.util.def: Rules for new test.
6296 2010-09-09 Robert Millan <rmh@gnu.org>
6298 * util/grub-probe.c (probe): Fix a pair of unhandled error
6301 2010-09-09 Robert Millan <rmh@gnu.org>
6303 Basic Btrfs support (detection and UUID).
6305 * grub-core/fs/btrfs.c: New file.
6306 * Makefile.util.def (library): Register btrfs.c.
6307 * grub-core/Makefile.core.def: Likewise.
6309 2010-09-08 Robert Millan <rmh@gnu.org>
6311 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
6312 with (optional) parameters to specify device and relative path.
6313 * util/grub-install.in: Use is_path_readable_by_grub() to
6314 verify readability of a few critical files.
6315 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
6316 verify readability of grub.cfg.new.
6318 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6320 Split minix.mod into minix.mod and minix2.mod.
6322 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
6323 * grub-core/Makefile.core.def (minix2): New module.
6324 * grub-core/fs/minix.c: Use definitions instead of runtime version
6326 * grub-core/fs/minix2.c: New file.
6328 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6330 Add new --boot-directory option to replace --root-directory
6332 * util/grub-install.in: Add new --boot-directory option
6333 * util/grub-reboot.in: Likewise.
6334 * util/grub-set-default.in: Likewise.
6336 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6338 * util/grub-mkconfig.in: Use new variable.
6340 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6342 * configure.ac: Define some useful variables.
6344 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6346 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6347 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
6348 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
6349 Use terminfo and don't use cursor-on/cursor-off unless it's known
6351 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
6352 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
6354 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
6356 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
6357 starts with "(,", fill the drive containing the loaded image in
6358 between those two characters, but expect that a full partition
6359 specification including partition map names will follow.
6361 2010-09-08 Robert Millan <rmh@gnu.org>
6363 * configure.ac: Remove `--enable-grub-fstest' option.
6364 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
6366 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
6367 `grub-fstest' instead of `grub-probe' for readability verification.
6368 * util/grub-probe.c (probe): Remove readability verification kludge.
6370 2010-09-08 Robert Millan <rmh@gnu.org>
6372 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
6373 initializing `GRUB_FS'.
6375 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
6377 Not command (!) support to GRUB script.
6379 * tests/grub_script_not.in: New test.
6380 * Makefile.util.def: Rules for new test.
6382 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6383 ! command as a special case.
6384 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
6386 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6388 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
6391 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6393 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
6395 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6397 * docs/grub.texi (Shell-like scripting): Documentation for break,
6398 continue, shift and return commands.
6400 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
6402 Rename CD-ROM to cd on BIOS.
6404 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
6406 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
6408 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6410 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
6411 * util/grub-probe.c (main): Likewise.
6412 * util/i386/pc/grub-setup.c (main): Likewise.
6413 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6414 Reported and debugged by: alexxy
6416 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6418 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
6421 2010-09-05 Jo Shields <directhex@apebox.org>
6423 * util/grub.d/30_os-prober.in: Add missing classes.
6425 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6427 * docs/grub.texi (Theme file format): Document new position format.
6429 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6431 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
6432 a table. Use @code instead of @verbatim.
6434 2010-09-05 Colin D Bennett <colin@gibibit.com>
6436 Gfxmenu documentation.
6438 * docs/grub.texi (Theme file format): New chapter.
6440 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6442 * grub-core/Makefile.core.def (xzio): New module.
6443 * grub-core/io/xzio.c: New file.
6444 * grub-core/lib/xzembed/xz.h: New file (from xembed).
6445 * grub-core/lib/xzembed/xz_config.h: Likewise.
6446 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
6447 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
6448 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
6449 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
6450 * grub-core/lib/xzembed/xz_private.h: Likewise.
6451 * grub-core/lib/xzembed/xz_stream.h: Likewise.
6452 * include/grub/file.h (grub_file_filter_id): New compression filter
6453 GRUB_FILE_FILTER_XZIO.
6455 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6457 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
6458 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
6461 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6463 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
6464 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
6466 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6468 Uncompressed checksum support.
6470 * grub-core/commands/hashsum.c (options): Add option --uncompress.
6471 (check_list): New parameter uncompress.
6472 (grub_cmd_hashsum): Handle --uncompress.
6474 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6476 Reintroduce testload.
6478 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
6480 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
6481 (GRUB_MOD_INIT): New function.
6482 (GRUB_MOD_FINI): Likewise.
6483 * grub-core/Makefile.core.def (testload): New module.
6485 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6487 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
6488 (uint8_t): New type.
6489 (uint16_t): Likewise.
6490 (uint32_t): Likewise.
6491 (uint64_t): Likewise.
6493 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6495 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
6497 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6499 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
6501 (grub_gzfile_open): Removed. All users updated.
6502 (GRUB_MOD_INIT): New function.
6503 (GRUB_MOD_FINI): Likewise.
6504 * grub-core/kern/file.c (grub_file_filters_all): New variable.
6505 (grub_file_filters_enabled): Likewise.
6506 (grub_file_open): Handle filters.
6507 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
6508 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
6509 * include/grub/file.h (grub_file_filter_id_t): New type.
6510 (grub_file_filter_t): Likewise.
6511 (grub_file_filters_all): New extern variable.
6512 (grub_file_filters_enabled): Likewise.
6513 (grub_file_filter_register): New inline function.
6514 (grub_file_filter_unregister): Likewise.
6515 (grub_file_filter_disable): Likewise.
6516 (grub_file_filter_disable_compression): Likewise.
6517 * include/grub/gzio.h: Removed.
6519 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6521 Filename expansion support for wildcards in GRUB script.
6523 * tests/grub_script_expansion.in: New test.
6524 * Makefile.util.def: Rule for new test.
6526 * grub-core/commands/wildcard.c: New file, implements filename
6527 expansion support for GRUB script.
6528 * grub-core/Makefile.core.def: Rule update for regexp.mod.
6529 * grub-core/script/argv.c: Cosmetic changes.
6530 * grub-core/script/execute.c (grub_script_arglist_to_argv):
6531 Refactored to perform wildcard expansion on arguments.
6532 * include/grub/script_sh.h (grub_script_wildcard_translator): New
6535 * tests/util/grub-shell.in: Fix quoting for read input.
6537 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6539 Support for updating environment variables with matched substrings
6542 * tests/grub_cmd_regexp.in: New test.
6543 * Makefile.util.def: Rule for new test.
6545 * grub-core/commands/regexp.c: New option -s to update environment
6546 variables with regexp matches.
6548 2010-09-04 Szymon Janc <szymon@janc.net.pl>
6550 * include/grub/file.h (grub_file): New member not_easly_seekable.
6551 (grub_file_seekable): New inline function.
6552 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
6554 (grub_gzio_open): Set not_easly_seekable.
6555 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
6556 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
6558 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6560 Support for options to appear multiple times on cmdline.
6562 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
6563 * grub-core/commands/extcmd.c: Support for repeatable option.
6564 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
6565 repeatable option support.
6567 Refactor menuentry into a regular command.
6569 * grub-core/commands/menuentry.c: New file, menuentry command
6571 * grub-core/Makefile.core.def: Rule update for normal.mod.
6572 * grub-core/normal/main.c: Moved menuentry creation to
6573 grub-core/commands/menuentry.c.
6574 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
6575 (grub_menu_execute_entry_real): Removed.
6576 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
6578 (grub_script_execute_menuentry): Removed.
6579 * grub-core/script/parser.y (menuentry): Removed.
6580 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
6581 * grub-core/script/yylex.l (menuentry): Removed.
6582 * include/grub/menu.h (grub_menu_init): New prototype.
6583 (grub_menu_fini): New prototype.
6584 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
6585 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
6586 (grub_script_execute_sourcecode): New prototype.
6588 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6590 "return" command for GRUB script functions.
6592 * tests/grub_script_return.in: New test.
6593 * Makefile.util.def: Rules for new test.
6595 * grub-core/script/execute.c (grub_script_return): New function.
6596 * grub-core/script/main.c: Register/unregister return commaond.
6597 * include/grub/script_sh.h (grub_script_return): New prototype.
6599 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6601 "setparams" command to update positional parameters.
6603 * tests/grub_script_setparams.in: New test.
6604 * Makefile.util.def: Rules for new test.
6606 * grub-core/script/argv.c (grub_script_argv_make): New function.
6607 * grub-core/script/execute.c (replace_scope): New function.
6608 (grub_script_setparams): New function.
6609 * grub-core/script/lexer.c: Remove unused variables.
6610 * grub-core/script/main.c: Register/unregister setparams command.
6611 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
6612 (grub_script_setparams): New prototype.
6614 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6616 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
6619 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6621 Support for passing block of commands as an argument to extcmds.
6623 * Makefile.util.def: Rules for new test.
6624 * tests/grub_script_blockarg.in: New test.
6625 * grub-core/tests/test_blockarg.c: New file, block argument
6626 command used in the test.
6628 * include/grub/extcmd.h (grub_extcmd_context): New struct.
6629 (grub_register_extcmd_prio): New function prototype.
6630 (grub_extcmd_dispatcher): New function prototype.
6631 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
6633 * include/grub/script_sh.h (struct grub_script): New members
6634 `children', `next_siblings' and `refcnt' for block arguments and
6636 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
6637 (grub_script_arg): New member `script' for block argument.
6638 (grub_script_argv): New member `script' for block argument.
6639 (grub_parser_param): New member `scripts' for block argument.
6640 (grub_script_mem_free): New extern function prototype.
6641 (grub_script_ref): New function prototype.
6642 (grub_script_unref): New function prototype.
6644 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
6645 extcmd form to support block arguments.
6646 * grub-core/script/argv.c: Block arguments support.
6647 * grub-core/script/execute.c: Likewise.
6648 * grub-core/script/lexer.c: Likewise.
6649 * grub-core/script/main.c: Likewise.
6650 * grub-core/script/script.c: Likewise.
6651 * grub-core/script/parser.y: Likewise. New `block' and `block0'
6654 * grub-core/commands/acpi.c: Update extcmd implementations with
6655 grub_extcmd_context_t.
6656 * grub-core/commands/cat.c: Likewise.
6657 * grub-core/commands/echo.c: Likewise.
6658 * grub-core/commands/extcmd.c: Likewise.
6659 * grub-core/commands/hashsum.c: Likewise.
6660 * grub-core/commands/hdparm.c: Likewise.
6661 * grub-core/commands/help.c: Likewise.
6662 * grub-core/commands/hexdump.c: Likewise.
6663 * grub-core/commands/i386/cpuid.c: Likewise.
6664 * grub-core/commands/i386/pc/drivemap.c: Likewise.
6665 * grub-core/commands/i386/pc/halt.c: Likewise.
6666 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6667 * grub-core/commands/iorw.c: Likewise.
6668 * grub-core/commands/keystatus.c: Likewise.
6669 * grub-core/commands/loadenv.c: Likewise.
6670 * grub-core/commands/ls.c: Likewise.
6671 * grub-core/commands/lspci.c: Likewise.
6672 * grub-core/commands/memrw.c: Likewise.
6673 * grub-core/commands/probe.c: Likewise.
6674 * grub-core/commands/search_wrap.c: Likewise.
6675 * grub-core/commands/setpci.c: Likewise.
6676 * grub-core/commands/sleep.c: Likewise.
6677 * grub-core/disk/loopback.c: Likewise.
6678 * grub-core/hello/hello.c: Likewise.
6679 * grub-core/loader/i386/bsd.c: Likewise.
6680 * grub-core/loader/xnu.c: Likewise.
6681 * grub-core/term/gfxterm.c: Likewise.
6682 * grub-core/term/serial.c: Likewise.
6683 * grub-core/tests/lib/functional_test.c: Likewise.
6685 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6687 Multi-line quoted strings support.
6689 * grub-core/script/lexer.c (append_newline): Removed.
6690 (grub_script_lexer_yywrap): Refactored.
6691 (grub_script_lexer_init): Refactored.
6692 * grub-core/script/yylex.l (yywrap): New function.
6693 (grub_lexer_resplit): New function.
6694 (grub_lexer_unput): New function.
6695 * include/grub/script_sh.h (grub_lexer_param): New members, unput
6697 * tests/grub_script_echo1.in: Added few more testcases.
6699 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
6701 * grub-core/kern/misc.c: Don't add abort alias in utils.
6702 Reported by: echoline.
6704 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
6706 Add missing files into "make dist" tarball for other platforms.
6708 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
6709 * conf/Makefile.common (dist_noinst_DATA): New variable.
6710 * conf/Makefile.extra-dist: Added missing make dist files.
6711 * grub-core/Makefile.core.def: Likewise.
6713 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
6715 Compress grub_prefix.
6717 * grub-core/boot/i386/pc/lnxboot.S: Use
6718 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
6719 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
6720 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
6721 GRUB_MACHINE_PREFIX_END. All users updated.
6722 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
6723 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
6725 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6726 * util/grub-mkimage.c (image_target_desc): Change data_end to
6727 prefix_end. All users updated.
6729 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
6731 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
6733 (grub_openbsd_boot): Likewise.
6734 (grub_netbsd_boot): Likewise.
6735 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
6736 (grub_xnu_boot): Likewise.
6738 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6740 * configure.ac: Clean LIBS variable after tests.
6742 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
6744 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
6746 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6748 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
6749 echo if libdevmapper will be used.
6751 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
6753 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
6754 constant for the same file.
6756 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6758 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
6760 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
6762 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
6765 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
6767 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
6768 required by the boot protocol.
6770 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
6771 ebp and edi members.
6772 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
6773 state.ebp and state.edi.
6774 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
6775 %ebp and %edi according to grub_relocator32_ebp and
6776 grub_relocator32_edi respectively.
6777 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
6780 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6782 Add i386-pc-pxe image target.
6784 * util/grub-mkimage.c (image_target_desc): New enum value
6786 (image_targets): New target i386-pc-pxe.
6787 (generate_image): Handle i386-pc-pxe image.
6789 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6793 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
6794 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
6796 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
6797 (grub_pxe_pxenv): Correct type.
6799 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
6801 * NEWS: Document most of the important changes since 1.98.
6803 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
6805 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
6806 generated manual page) a little.
6808 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
6810 * docs/grub.texi: Add myself as an author.
6812 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
6814 * Makefile.util.def (libgrub.a): Add missing sunpc.
6815 Reported by: Seth Goldberg.
6817 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6819 Interrupt wrapping and code simplifications.
6821 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
6822 x86_noieee1275 which are functionaly equivalent in this case.
6823 (grub-install): Make source on each platform explicit. Enable on
6825 * gentpl.py (x86_efi_pc): Removed group.
6826 (x86_noefi): Likewise.
6827 (i386_noefi): Likewise.
6828 (x86_noieee1275): Likewise.
6829 (i386_noieee1275): Likewise.
6830 (i386_noefi_noieee1275): Likewise.
6831 (i386_pc_qemu_coreboot): Likewise.
6832 (i386_coreboot_multiboot): Likewise.
6833 (i386_pc_coreboot_multiboot_qemu): Likewise.
6834 (x86_noefi_mips): Likewise.
6835 (noieee1275): Likewise.
6836 (ieee1275_mips): Likewise.
6837 (noemu_noieee1275): Likewise.
6840 (videoinkernel): Likewise.
6841 (videomodules): Likewise.
6842 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
6843 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
6844 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
6845 include/grub/loader.h, include/grub/msdos_partition.h,
6846 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
6847 include/grub/machine/console.h, include/grub/machine/vga.h,
6848 include/grub/machine/vbe.h, include/grub/machine/init.h,
6849 include/grub/machine/kernel.h, include/grub/cpu/time.h,
6850 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
6851 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
6852 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
6853 * grub-core/Makefile.core.def (kernel): Explicit the source for
6854 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
6855 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
6856 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
6857 Use videoinkernel tag.
6858 (usb): Enable on all usb.
6859 (usbserial_common): Likewise.
6860 (usbserial_pl2303): Likewise.
6861 (usbserial_ftdi): Likewise.
6862 (uhci): Enable on all x86.
6863 (ohci): Enable on all pci.
6864 (cmostest): Enable on all CMOS.
6865 (acpi): Include commands/acpi.c on all platforms.
6866 (halt): Add relevant lib/*/halt.c.
6867 (hdparm): Enable on all pci.
6869 (usbtest): Enable on all usb.
6870 (ata): Enable on all pci.
6871 (ata_pthru): Likewise.
6872 (usbms): Enable on all usb.
6873 (usb_keyboard): Likewise.
6874 (font): Use tag videomodules.
6876 (datetime): Use tag cmos. Enable on all noemu.
6877 (mmap): Use tags common and x86.
6878 (gfxterm): Use tag videomodules.
6880 (bitmap_scale): Likewise.
6881 (video_fb): Likewise.
6883 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
6884 adjust padding accordingly. All users updated.
6885 (grub_ohci_transaction): Fix bad format specification.
6886 (GRUB_MOD_INIT): Add asserts for struct size.
6887 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
6888 (grub_alloc_td): Likewise.
6889 (grub_free_queue): Likewise.
6890 (grub_uhci_transfer): Likewise.
6891 (grub_uhci_transaction): Fix bad format specification.
6892 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
6893 (grub_usb_bulk_readwrite): Likewise.
6894 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
6895 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
6897 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
6899 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
6900 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
6902 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
6904 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
6905 ... here. Transformed into C. Made static.
6906 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
6908 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
6909 ... here. Transformed into C. Made static.
6910 * grub-core/kern/i386/pc/startup.S
6911 (grub_biosdisk_check_int13_extensions): Moved from here ...
6912 * grub-core/disk/i386/pc/biosdisk.c
6913 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
6915 * grub-core/kern/i386/pc/startup.S
6916 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
6917 * grub-core/disk/i386/pc/biosdisk.c
6918 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
6919 Transformed into C. Made static.
6920 * grub-core/kern/i386/pc/startup.S
6921 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
6922 * grub-core/disk/i386/pc/biosdisk.c
6923 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
6924 Transformed into C. Made static.
6925 * grub-core/kern/i386/pc/startup.S
6926 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
6927 * grub-core/disk/i386/pc/biosdisk.c
6928 (grub_biosdisk_get_diskinfo_standard): ... here.
6929 Transformed into C. Made static.
6930 * grub-core/kern/i386/pc/startup.S
6931 (grub_biosdisk_get_num_floppies): Moved from here ...
6932 * grub-core/disk/i386/pc/biosdisk.c
6933 (grub_biosdisk_get_num_floppies): ... here.
6934 Transformed into C. Made static.
6935 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
6937 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
6938 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
6939 Transformed into C. Made static.
6940 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
6941 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
6942 Transformed into C. Made static.
6943 * grub-core/kern/i386/ieee1275/init.c: Removed.
6944 * grub-core/kern/i386/misc.S: Likewise.
6945 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
6946 Splitted from here ...
6947 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
6948 Transformed into C. Made static. All users updated.
6949 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
6950 Transformed into C. Made static. All users updated.
6951 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
6953 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
6954 Transformed into C. Made static. All users updated.
6955 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
6957 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
6958 Transformed into C. Made static. All users updated.
6959 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
6960 Removed (replaced by C version).
6961 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
6963 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
6964 Transformed into C. Made static.
6965 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
6967 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
6968 ... here. Transformed into C.
6969 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
6971 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
6972 ... here. Transformed into C.
6973 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
6975 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
6976 ... here. Transformed into C. Made static.
6977 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
6979 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
6980 ... here. Transformed into C.
6981 * grub-core/kern/i386/pc/startup.S
6982 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
6983 * grub-core/video/i386/pc/vbe.c
6984 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
6985 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
6987 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
6988 ... here. Transformed into C.
6989 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
6991 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
6992 ... here. Transformed into C.
6993 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
6995 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
6996 ... here. Transformed into C.
6997 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
6999 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
7000 ... here. Transformed into C.
7001 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
7003 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
7004 ... here. Transformed into C. Made static.
7005 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
7007 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
7008 ... here. Transformed into C. Made static.
7009 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
7011 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
7012 ... here. Transformed into C. Made static.
7013 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
7014 pxe_rm_entry as third argument.
7015 (grub_bios_interrupt): New function.
7016 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
7017 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
7018 of calling grub_stop.
7019 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
7020 * grub-core/lib/efi/halt.c (grub_halt): ...here.
7021 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
7022 * grub-core/lib/emu/halt.c (grub_halt): ... here.
7023 * grub-core/lib/i386/halt.c: Moved from here ...
7024 * grub-core/lib/i386/halt.c: ... here.
7025 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
7026 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
7027 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
7029 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
7030 * include/grub/i386/coreboot/init.h: Removed.
7031 * include/grub/i386/multiboot/init.h: Likewise.
7032 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
7033 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
7034 * include/grub/i386/pc/int.h: New file.
7035 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
7036 (grub_pxe_scan): Removed.
7037 (grub_pxe_call): Update prototype.
7038 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
7040 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
7041 * include/grub/i386/qemu/init.h: Removed.
7042 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
7044 (grub_halt): Likewise.
7045 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
7046 (grub_reboot): Likewise.
7047 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
7048 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
7049 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
7051 2010-08-30 Robert Millan <rmh@gnu.org>
7053 * NEWS: Document addition of ZFS support in `grub-install' and
7056 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
7058 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
7061 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7063 Remove leftover embedding of font objects.
7065 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7066 * util/grub-install.in (font): Removed.
7067 * util/grub-mkimage.c (generate_image): Remove font support. All users
7070 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7072 Remove leftover embedding of font objects.
7074 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7075 * util/grub-install.in (font): Removed.
7076 * util/grub-mkimage.c (generate_image): Remove font support. All users
7079 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7081 * docs/grub.texi (Network): Fix reference to pxe_blksize.
7082 Reported by: Ian Turner
7084 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7086 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
7087 timeout to avoid indefinite boot stalling.
7089 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7091 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
7092 (grub_env_write_color_highlight): Likewise.
7094 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7096 * grub-core/normal/term.c (print_more): Return to normal and not
7097 to standard state after printing "---MORE---".
7099 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7101 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
7102 Mask out the bit 0x80 since it has other meaning that specifiing color.
7104 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7106 New relocator. Allows for more kernel support and more straightforward
7109 * Makefile.am (BOOTTARGET): New variable.
7111 (linux.init.x86_64): New target.
7112 (linux.init.i386): Likewise.
7113 (multiboot.elf): Likewise.
7114 (kfreebsd.elf): Likewise.
7115 (kfreebsd.aout): Likewise.
7116 (pc-chainloader.elf): Likewise.
7117 (pc-chainloader.bin): Likewise.
7118 (ntldr.elf): Likewise.
7119 (ntldr.bin): Likewise.
7120 (multiboot2.elf): Likewise.
7121 (kfreebsd.init.x86_64): Likewise.
7122 (kfreebsd.init.i386): Likewise.
7123 (knetbsd.init.i386): Likewise.
7124 (kopenbsd.init.i386): Likewise.
7125 (knetbsd.init.x86_64): Likewise.
7126 (kopenbsd.init.x86_64): Likewise.
7127 (linux-initramfs.i386): Likewise.
7128 (linux-initramfs.x86_64): Likewise.
7129 (kfreebsd-mfsroot.i386.img): Likewise.
7130 (knetbsd.image.i386): Likewise.
7131 (kopenbsd.image.i386): Likewise.
7132 (kopenbsd.image.x86_64): Likewise.
7133 (knetbsd.miniroot-image.i386.img): Likewise.
7134 (kfreebsd-mfsroot.x86_64.img): Likewise.
7135 (knetbsd.image.x86_64): Likewise.
7136 (knetbsd.miniroot-image.x86_64.img): Likewise.
7137 (kfreebsd-mfsroot.i386.gz): Likewise.
7138 (bootcheck-kfreebsd-i386): Likewise.
7139 (kfreebsd-mfsroot.x86_64.gz): Likewise.
7140 (bootcheck-kfreebsd-x86_64): Likewise.
7141 (knetbsd.miniroot-image.i386.gz): Likewise.
7142 (bootcheck-knetbsd-i386): Likewise.
7143 (bootcheck-kopenbsd-i386): Likewise.
7144 (bootcheck-kopenbsd-x86_64): Likewise.
7145 (knetbsd.miniroot-image.x86_64.gz): Likewise.
7146 (bootcheck-knetbsd-x86_64): Likewise.
7147 (bootcheck-linux-i386): Likewise.
7148 (bootcheck-linux-x86_64): Likewise.
7149 (bootcheck-linux16-i386): Likewise.
7150 (bootcheck-linux16-x86_64): Likewise.
7151 (bootcheck-multiboot): Likewise.
7152 (bootcheck-multiboot2): Likewise.
7153 (bootcheck-kfreebsd-aout): Likewise.
7154 (bootcheck-pc-chainloader): Likewise.
7155 (bootcheck-ntldr): Likewise.
7156 (CLEANFILES): Add new targets.
7157 (BOOTCHECKS): New variable.
7158 (.PHONY): Add bootchecks.
7159 (SUCCESSFUL_BOOT_STRING): New variable.
7160 (BOOTCHECK_TIMEOUT): Likewise.
7161 (bootcheck): New target
7162 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
7163 * configure.ac: Correct efiemu excuse.
7164 * docs/grub.texi (Supported kernels): New chapter.
7165 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
7166 include/grub/mm_private.h. Simplify inclusion of
7167 include/grub/boot.h, include/grub/loader.h
7168 and include/grub/msdos_partition.h
7169 (KERNEL_HEADER_FILES) [i386_coreboot]:
7170 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
7171 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
7172 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
7173 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
7174 include/grub/machine/loader.h.
7175 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
7176 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
7178 (pci.mod): Enable on i386-multiboot.
7179 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
7180 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
7182 (relocator.mod): Rewritten.
7183 (aout.mod): Enable on all x86.
7184 (bsd.mod): Likewise.
7185 (ntldr.mod): New module.
7186 (linux.mod): Use loader/i386/linux.c on all x86.
7187 (xnu.mod): Enable on all x86.
7188 (vga_text.mod): disable on EFI and QEMU.
7189 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
7190 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
7191 * grub-core/efiemu/loadcore.c: Likewise.
7192 * grub-core/efiemu/main.c: Likewise.
7193 (grub_efiemu_exit_boot_services): Removed.
7194 (grub_efiemu_finish_boot_services): Likewise.
7195 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
7197 * grub-core/efiemu/i386/nocfgtables.c: New file.
7198 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
7199 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
7200 (grub_efi_finish_boot_services): Moved from here ...
7201 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
7202 Fille finish memory map and related data.
7203 (finish_mmap_buf): New variable.
7204 (grub_efi_uintn_t finish_mmap_size): Likewise.
7205 (grub_efi_uintn_t finish_key): Likewise.
7206 (grub_efi_uintn_t finish_desc_size): Likewise.
7207 (grub_efi_uint32_t finish_desc_version): Likewise.
7208 (grub_efi_is_finished): Likewise.
7209 (grub_efi_get_memory_map): Use saved memory map if EFI is already
7211 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
7212 (grub_elf64_phdr_iterate): Likewise.
7213 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
7214 (grub_os_area_size): Likewise.
7215 (grub_machine_init): Don't reserve os area.
7216 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
7217 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7218 * grub-core/kern/i386/loader.S: Removed.
7219 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
7220 (grub_os_area_size): Likewise.
7221 (grub_machine_init): Don't reserve os area.
7222 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7223 Don't call grub_dl_unload_all.
7224 Don't include loader.S.
7225 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7226 Declare the memory after _end as available.
7227 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
7228 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
7229 (GRUB_MM_ALLOC_MAGIC): Moved from here...
7230 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
7231 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
7232 * include/grub/mm_private.h (grub_mm_header): ... here.
7233 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
7234 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
7235 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
7236 (grub_mm_region): ..here. Removed addr. Added pre_size.
7238 * grub-core/kern/mm.c (base): Renamed to ...
7239 (grub_mm_base): ... this. Made global.
7240 (grub_real_malloc): Alloc from end of region.
7241 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
7242 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
7243 * grub-core/kern/powerpc/cache_flush.S: ... here.
7244 * grub-core/lib/efi/relocator.c: New file.
7245 * grub-core/lib/i386/relocator.c: Rewritten.
7246 * grub-core/lib/i386/relocator16.S: New file.
7247 * grub-core/lib/i386/relocator32.S: Likewise.
7248 * grub-core/lib/i386/relocator64.S: Likewise.
7249 * grub-core/lib/i386/relocator_asm.S: Rewritten.
7250 * grub-core/lib/i386/relocator_common.S: New file.
7251 * grub-core/lib/ieee1275/relocator.c: Likewise.
7252 * grub-core/lib/mips/relocator.c: Rewritten.
7253 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
7254 stylistic adjustments.
7255 * grub-core/lib/powerpc/relocator.c: New file.
7256 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
7257 * grub-core/lib/relocator.c: Rewritten.
7258 * grub-core/lib/x86_64/relocator_asm.S: New file.
7259 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
7260 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
7261 (bsd_tag): New struct.
7262 (tags): New variable.
7263 (tags_last): Likewise.
7264 (netbsd_module): New struct.
7265 (netbsd_mods): New variable.
7266 (netbsd_mods_last): Likewise.
7267 (openbsd_opts): New parameter "serial".
7268 (OPENBSD_SERIAL_ARG): New definition.
7269 (netbsd_opts): New parameter "serial".
7270 (NETBSD_SERIAL_ARG): New definition.
7271 (grub_freebsd_add_meta): Reorganised into ...
7272 (grub_bsd_add_meta): ...this. All users updated.
7273 (grub_freebsd_add_mmap): Reorganised into ...
7274 (generate_e820_mmap): ...this...
7275 (grub_bsd_add_mmap): ...and this. All users updated.
7276 (grub_freebsd_list_modules): Use tags.
7277 (grub_netbsd_add_meta_module): New function.
7278 (grub_netbsd_list_modules): Likewise.
7279 (grub_freebsd_boot): Use relocator and finish EFI.
7280 (grub_openbsd_boot): Likewise.
7281 (grub_netbsd_setup_video): New function.
7282 (grub_netbsd_add_modules): Likewise.
7283 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
7285 (grub_bsd_unload): Unload tags.
7286 (grub_bsd_load_aout): Use relocator.
7287 (grub_bsd_elf32_size_hook): New function.
7288 (grub_bsd_elf32_hook): Use relocator.
7289 (grub_bsd_elf64_size_hook): New function.
7290 (grub_bsd_elf64_hook): Use relocator.
7291 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
7292 (grub_bsd_load): Zero-out openbsd_ramdisk.
7293 (grub_bsd_load): Use relocator.
7294 (grub_cmd_openbsd): Support serial.
7295 (grub_cmd_netbsd): Support modules.
7296 (grub_cmd_freebsd_module): Use relocator.
7297 (grub_netbsd_module_load): New function.
7298 (grub_cmd_netbsd_module): Likewise.
7299 (grub_cmd_openbsd_ramdisk): Likewise.
7300 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
7302 (GRUB_MOD_FINI): Unregister new commands.
7303 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
7304 (grub_freebsd_load_elfmodule_obj): Use relocator.
7305 (grub_freebsd_load_elfmodule): Likewise.
7306 (grub_freebsd_load_elf_meta): Likewise.
7307 (grub_netbsd_load_elf_meta): New function.
7308 (grub_openbsd_find_ramdisk): Likewise.
7309 * grub-core/loader/i386/bsd_helper.S: Removed.
7310 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
7311 * grub-core/loader/i386/bsd_trampoline.S: Removed.
7312 * grub-core/loader/i386/efi/linux.c: Likewise.
7313 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
7314 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
7315 (DEFAULT_VIDEO_MODE): Likewise.
7316 (real_mode_target): New variable.
7317 (prot_mode_target): Likewise.
7318 (initrd_mem_target): Likewise.
7319 (relocator): Likewise.
7320 (efi_mmap_buf): Likewise.
7321 (efi_mmap_size): Likewise.
7322 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
7323 (free_pages): Use relocator.
7324 (allocate_pages): Account for efi_mmap and use relocator. Return error.
7325 (grub_linux_setup_video): Return error.
7326 (grub_linux_trampoline_start): Removed.
7327 (grub_linux_trampoline_end): Likewise.
7328 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
7329 andd video parameters depending on firmware.
7330 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
7331 [GRUB_MACHINE_EFI]: Pass EFI parameters.
7332 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
7333 (grub_cmd_initrd): Use relocator.
7334 * grub-core/loader/i386/linux_trampoline.S: Removed.
7335 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
7336 (elf_sec_entsize): Likewise.
7337 (elf_sec_shstrndx): Likewise.
7338 (elf_sections): Likewise.
7339 (grub_multiboot_load): Use relocator.
7340 (grub_multiboot_get_mbi_size): Account for sections.
7341 (grub_multiboot_make_mbi): Use relocator and support sections.
7342 (grub_multiboot_add_elfsyms): New function.
7343 (grub_multiboot_free_mbi): Free sections.
7344 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
7345 (grub_linux_real_target): Likewise.
7346 (grub_linux_real_chunk): Likewise.
7347 (grub_linux16_prot_size): Likewise.
7348 (grub_linux16_boot): Use relocator.
7349 (grub_linux_unload): Unload relocator.
7350 (grub_cmd_linux): Use relocator.
7351 (grub_cmd_initrd): Likewise.
7352 * grub-core/loader/i386/pc/ntldr.c: New file.
7353 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
7354 Don't try to guess CPU frequency.
7355 (grub_xnu_set_video): Stretch bitmap.
7356 (grub_xnu_boot): Use relocator.
7357 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
7358 (grub_linux_unload): Free relocator.
7359 (grub_linux_load32): Use relocator.
7360 (grub_linux_load64): Likewise.
7361 (grub_cmd_initrd): Likewise.
7362 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
7363 (grub_multiboot_unload): Unload relocator.
7364 (grub_cmd_multiboot): Use relocator.
7365 (grub_cmd_module): Likewise.
7366 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
7367 Use relocator and support sections.
7368 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
7369 (elf_sec_entsize): Likewise.
7370 (elf_sec_shstrndx): Likewise.
7371 (elf_sections): Likewise.
7372 (grub_multiboot_load): Use relocator.
7373 (grub_multiboot_get_mbi_size): Account for sections.
7374 (grub_multiboot_make_mbi): Use relocator and support sections.
7375 (grub_multiboot_add_elfsyms): New function.
7376 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
7377 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
7378 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
7379 Prototype changed. All users updated.
7380 (grub_xnu_align_heap): Simplified.
7381 (grub_xnu_writetree_toheap): Likewise.
7382 (grub_xnu_unload): Unload relocator.
7383 (grub_cmd_xnu_kernel): Use relocator.
7384 (grub_cmd_xnu_kernel64): Likewise.
7385 (grub_xnu_register_memory): Simplified.
7386 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
7387 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
7389 (grub_console_checkkey): Likewise.
7390 (grub_console_getkey): Likewise.
7391 (grub_console_getwh): Likewise.
7392 (grub_console_getxy): Likewise.
7393 (grub_console_gotoxy): Likewise.
7394 (grub_console_cls): Likewise.
7395 (grub_console_setcolorstate): Likewise.
7396 (grub_console_setcursor): Likewise.
7397 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
7398 * grub-core/tests/boot/kbsd.init-i386.S: New file.
7399 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
7400 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
7401 * grub-core/tests/boot/kernel-8086.S: Likewise.
7402 * grub-core/tests/boot/kernel-i386.S: Likewise.
7403 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
7404 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
7405 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
7406 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
7407 * grub-core/tests/boot/knetbsd.cfg: Likewise.
7408 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
7409 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
7410 * grub-core/tests/boot/linux.cfg: Likewise.
7411 * grub-core/tests/boot/linux.init-i386.S: Likewise.
7412 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
7413 * grub-core/tests/boot/linux16.cfg: Likewise.
7414 * grub-core/tests/boot/multiboot.cfg: Likewise.
7415 * grub-core/tests/boot/multiboot2.cfg: Likewise.
7416 * grub-core/tests/boot/ntldr.cfg: Likewise.
7417 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
7418 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
7419 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
7421 * include/grub/dl.h (grub_dl_unload_all): Removed.
7422 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
7423 (grub_efi_finish_boot_services): Change prototype.
7424 (grub_efi_is_finished): New variable.
7425 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
7427 (grub_efiemu_finish_boot_services): Removed.
7428 (grub_machine_efiemu_init_tables): New prototype.
7429 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
7430 (grub_elf64_phdr_iterate): Likewise.
7431 * include/grub/i386/bsd.h: Include relocator.h.
7432 (freebsd_tag_header): New struct.
7433 (grub_openbsd_bios_mmap): Removed.
7434 (grub_unix_real_boot): Removed.
7435 (grub_freebsd_load_elfmodule32): Changed prototype.
7436 (grub_freebsd_load_elfmodule_obj64): Likewise.
7437 (grub_freebsd_load_elf_meta32): Likewise.
7438 (grub_freebsd_load_elf_meta64): Likewise.
7439 (grub_freebsd_add_meta): Removed.
7440 (grub_netbsd_load_elf_meta32): New prototype.
7441 (grub_netbsd_load_elf_meta64): Likewise.
7442 (grub_bsd_add_meta): Likewise.
7443 (grub_openbsd_ramdisk_descriptor): New struct.
7444 (grub_openbsd_find_ramdisk32): New prototype.
7445 (grub_openbsd_find_ramdisk64): Likewise.
7446 * include/grub/i386/coreboot/loader.h: Removed.
7447 * include/grub/i386/efi/loader.h: Likewise.
7448 * include/grub/i386/ieee1275/loader.h: Likewise.
7449 * include/grub/i386/linux.h (linux_kernel_header): Change void *
7451 * include/grub/i386/loader.h: Removed.
7452 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
7454 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
7455 (grub_phys_addr_t): New type.
7456 (grub_vtop): New inline function.
7457 (grub_map_memory): Likewise.
7458 (grub_unmap_memory): Likewise.
7459 * include/grub/i386/multiboot/loader.h: Removed.
7460 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
7461 (NETBSD_BTINFO_CONSOLE): New definition.
7462 (NETBSD_BTINFO_SYMTAB): Likewise.
7463 (NETBSD_BTINFO_MODULES): Likewise.
7464 (NETBSD_BTINFO_FRAMEBUF): Likewise.
7465 (grub_netbsd_bootinfo): New struct.
7466 (grub_netbsd_btinfo_common): Use explicit bitsize.
7467 (grub_netbsd_btinfo_mmap_entry): Removed.
7468 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
7469 (grub_netbsd_btinfo_bootdisk): New struct.
7470 (grub_netbsd_btinfo_symtab): Likewise.
7471 (grub_netbsd_btinfo_serial): Likewise.
7472 (grub_netbsd_btinfo_modules): Likewise.
7473 (grub_netbsd_btinfo_framebuf): Likewise.
7474 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
7475 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
7477 (grub_openbsd_bootargs): Use explicit bitsize.
7478 (grub_openbsd_bootarg_console): New struct.
7479 (GRUB_OPENBSD_COM_MAJOR): New definition.
7480 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
7481 * include/grub/i386/pc/efiemu.h: Removed.
7482 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
7483 * include/grub/i386/qemu/loader.h: Removed.
7484 * include/grub/i386/relocator.h: Rewritten.
7485 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
7486 * include/grub/mips/memory.h: New file.
7487 * include/grub/mips/multiboot.h: Rewritten.
7488 * include/grub/mips/relocator.h: Rewritten.
7489 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
7490 (grub_vtop): New function.
7491 (grub_map_memory): Likewise.
7492 (grub_unmap_memory): Likewise.
7493 * include/grub/misc.h (ALIGN_DOWN): New definition.
7494 * include/grub/mm.h (grub_mm_check_real): New proto.
7495 (GRUB_MM_CHECK): New definition.
7496 * include/grub/mm_private.h: New file.
7497 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
7498 (grub_multiboot_get_mbi_size): Removed.
7499 (grub_multiboot_make_mbi): Change prottype.
7500 (grub_multiboot_set_accepts_video): New proto.
7501 (grub_multiboot_add_elfsyms): Likewise.
7502 (grub_multiboot_payload_eip): New variable.
7503 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
7505 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
7507 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
7508 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
7509 * include/grub/powerpc/ieee1275/loader.h: Removed.
7510 * include/grub/powerpc/memory.h: New file.
7511 * include/grub/powerpc/relocator.h: Likewise.
7512 * include/grub/relocator.h: Likewise.
7513 * include/grub/relocator_private.h: Likewise.
7514 * include/grub/sparc64/ieee1275/loader.h: Removed.
7515 * include/grub/x86_64/memory.h: New file.
7516 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
7517 (grub_xnu_heap_malloc): Likewise.
7518 (grub_xnu_heap_real_start): Removed.
7519 (grub_xnu_heap_start): Likewise.
7520 (grub_xnu_relocator): New variable.
7521 (grub_xnu_heap_target_start): Likewise.
7522 * tests/util/grub-shell.in: Support non-pc.
7523 * util/grub-mkimage.c (image_targets): Fix multiboot target.
7525 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7527 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
7529 (grub_bidi_logical_to_visual): Check that malloc succeded.
7530 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
7532 (grub_xputs_normal): Likewise.
7534 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7536 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
7539 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7541 * grub-core/efiemu/runtime/efiemu.sh: Removed.
7543 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7545 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
7547 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7549 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
7552 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
7554 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
7556 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7558 * grub-core/normal/term.c (print_more): Fix a memory leak.
7559 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
7560 (grub_xputs_normal): Likewise.
7562 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7564 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
7565 the begining of the string
7567 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7569 * grub-core/script/script.c (grub_script_parse): Free parsed on
7572 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7574 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
7577 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7579 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
7582 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7584 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
7585 (scroll_up): Fix a memory leak.
7587 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7589 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
7592 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
7594 Handle USB pendrives exposed as floppies.
7596 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
7598 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7599 Check for partitions on all devices.
7601 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7603 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
7604 (readkey): Likewise.
7606 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7608 Multiple variable names support to "export" command.
7610 * normal/context.c (grub_cmd_export): "export" command supports
7611 multiple variable names.
7613 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
7615 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
7616 --target=drive output to Mach device name.
7618 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7620 New Automake based build system for GRUB.
7622 * ABOUT-NLS: New file.
7623 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
7624 in Makefile.util.def file.
7625 * Makefile.util.def: New file. Autogen build definitions file for
7627 * conf/Makefile.common: New file. Common variables for GRUB host
7628 utils and target modules.
7629 * conf/Makefile.extra-dist: New file. Extra files for make dist.
7630 * docs/Makefile.am: New file. Automake file for docs.
7631 * gentpl.py: New file. Python script to generate Autogen
7633 * grub-core/Makefile.am: New file. GRUB target modules' rules
7634 that doesn't fit in Makefile.core.def file.
7635 * grub-core/Makefile.core.def: New file. Autogen build
7636 definitions file for GRUB target modules.
7637 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
7638 specific setjmp.S file.
7639 * po/Makefile.am: New file.
7641 * .bzrignore: New ignores.
7642 * INSTALL: New requirements, without Ruby.
7643 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
7644 * autogen.sh: Updated to invoke autogen as necessary.
7645 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
7646 and defines for Automake conditionals.
7647 * geninit.sh: Refactoring.
7649 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
7651 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
7654 * include/grub/test.h: Fix functional test modules' naming.
7655 * grub-core/tests/example_functional_test.c: Fix test module name.
7657 * util/misc.c: Hosted versions' of grub functions for libgrub.a
7658 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
7659 * util/grub-editenv.c: Likewise.
7660 * util/grub-fstest.c: Likewise.
7661 * util/grub-mkdevicemap.c: Likewise.
7662 * util/grub-mkfont.c: Likewise.
7663 * util/grub-mkimage.c: Likewise.
7664 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7665 * util/grub-probe.c: Likewise.
7666 * util/grub-script-check.c: Likewise.
7667 * util/i386/pc/grub-setup.c: Likewise.
7668 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7670 * tests/util/grub-shell.in: Fix override directory path.
7671 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
7672 * util/import_gcry.py: Create Makefile.gcry.def file instead.
7674 * util/lvm.c: Update #includes.
7675 * util/raid.c: Likewise.
7676 * util/resolve.c: Likewise.
7677 * grub-core/bus/emu/pci.c: Likewise.
7678 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
7679 * grub-core/lib/posix_wrap/string.h: Likewise.
7680 * grub-core/kern/emu/main.c: Likewise.
7682 * grub-core/gensymlist.sh: New file. Script for generating kernel
7684 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
7686 * grub-core/gentrigtables.c: Fix unused variable warnings.
7688 * Makefile.in: Removed.
7689 * conf/any-emu.rmk: Removed.
7690 * conf/common.rmk: Removed.
7691 * conf/i386-coreboot.rmk: Removed.
7692 * conf/i386-efi.rmk: Removed.
7693 * conf/i386-ieee1275.rmk: Removed.
7694 * conf/i386-multiboot.rmk: Removed.
7695 * conf/i386-pc.rmk: Removed.
7696 * conf/i386-qemu.rmk: Removed.
7697 * conf/i386.rmk: Removed.
7698 * conf/mips-yeeloong.rmk: Removed.
7699 * conf/mips.rmk: Removed.
7700 * conf/powerpc-ieee1275.rmk: Removed.
7701 * conf/sparc64-ieee1275.rmk: Removed.
7702 * conf/tests.rmk: Removed.
7703 * conf/x86-efi.rmk: Removed.
7704 * conf/x86_64-efi.rmk: Removed.
7705 * gendistlist.sh: Removed.
7706 * geninitheader.sh: Removed.
7707 * genkernsyms.sh.in: Removed.
7708 * genmk.rb: Removed.
7709 * gensymlist.sh.in: Removed.
7710 * mkinstalldirs: Removed.
7712 * grub-core/boot: ... to here.
7714 * grub-core/bus: ... to here.
7715 * commands: Moved ...
7716 * grub-core/commands: ... to here.
7718 * grub-core/disk: ... to here.
7720 * grub-core/efiemu: ... to here.
7722 * grub-core/font: ... to here.
7724 * grub-core/fs: ... to here.
7725 * gencmdlist.sh: Moved ...
7726 * grub-core/gencmdlist.sh: ... to here.
7727 * genemuinit.sh: Moved ...
7728 * grub-core/genemuinit.sh: ... to here.
7729 * genemuinitheader.sh: Moved ...
7730 * grub-core/genemuinitheader.sh: ... to here.
7731 * genfslist.sh: Moved ...
7732 * grub-core/genfslist.sh: ... to here.
7733 * genhandlerlist.sh: Moved ...
7734 * grub-core/genhandlerlist.sh: ... to here.
7735 * genmoddep.awk: Moved ...
7736 * grub-core/genmoddep.awk: ... to here.
7737 * genmodsrc.sh: Moved ...
7738 * grub-core/genmodsrc.sh: ... to here.
7739 * genpartmaplist.sh: Moved ...
7740 * grub-core/genpartmaplist.sh: ... to here.
7741 * genparttoollist.sh: Moved ...
7742 * grub-core/genparttoollist.sh: ... to here.
7743 * genterminallist.sh: Moved ...
7744 * grub-core/genterminallist.sh: ... to here.
7745 * gentrigtables.c: Moved ...
7746 * grub-core/gentrigtables.c: ... to here.
7747 * genvideolist.sh: Moved ...
7748 * grub-core/genvideolist.sh: ... to here.
7749 * gettext: Moved ...
7750 * grub-core/gettext: ... to here.
7751 * gfxmenu: Moved ...
7752 * grub-core/gfxmenu: ... to here.
7754 * grub-core/gnulib: ... to here.
7756 * grub-core/hello: ... to here.
7758 * grub-core/hook: ... to here.
7760 * grub-core/io: ... to here.
7762 * grub-core/kern: ... to here.
7764 * grub-core/lib: ... to here.
7766 * grub-core/loader: ... to here.
7768 * grub-core/mmap: ... to here.
7770 * grub-core/normal: ... to here.
7771 * partmap: Moved ...
7772 * grub-core/partmap: ... to here.
7773 * parttool: Moved ...
7774 * grub-core/parttool: ... to here.
7776 * grub-core/script: ... to here.
7778 * grub-core/term: ... to here
7779 * tests/example_functional_test.c: Moved ...
7780 * grub-core/tests/example_functional_test.c: ... to here.
7781 * tests/lib/functional_test.c: Moved ...
7782 * grub-core/tests/lib/functional_test.c: ... to here.
7783 * tests/lib/test.c: Moved ...
7784 * grub-core/tests/lib/test.c: ... to here.
7786 * grub-core/video: ... to here.
7788 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7790 Replace --enable-grub-emu-modules with grub-emu-lite.
7792 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
7795 * include/grub/emu/misc.h (grub_emu_init): New prototype.
7796 * kern/emu/full.c: New file. For grub-emu specific initialization.
7797 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
7798 * kern/emu/main.c: Call initialization function grub_emu_init.
7800 * Makefile.in: Include grub-emu-lite in install.
7801 * commands/parttool.c: Use grub_no_autoload to differentiate
7802 between grub-emu and grub-emu-lite.
7803 * include/grub/misc.h: New variable grub_no_autoload.
7805 * conf/any-emu.rmk: New rules for grub-emu-lite.
7806 * configure.ac: Remove --enable-grub-emu-modules.
7807 * genmk.rb: Cleanup unnecessary rules.
7808 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
7810 * normal/main.c: Don't load list files on grub-emu-lite.
7811 * util/misc.c (grub_arch_sync_caches): Removed.
7813 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
7815 * kern/mips/startup.S (grub_prefix): Update comment to refer to
7816 grub-mkimage rather than grub-mkelfimage.
7817 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7819 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
7821 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
7822 a key after CapsLock or NumLock. It's just a qemu bug.
7824 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
7826 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
7827 needed by libusb wrapper.
7829 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7831 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
7833 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
7835 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
7836 --nounzip is passed.
7838 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
7840 USB hotunplugging and USB serial support.
7842 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
7843 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
7844 (grub_uhci_transfer): Respect timeout and set *actual.
7845 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
7846 non-standard length.
7847 (grub_usb_device_attach): Autoload modules.
7848 (GRUB_MOD_INIT): Set grub_term_poll_usb.
7849 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
7850 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
7852 (grub_usb_add_hub): Fill nports and children.
7853 (attach_root_port): Receive hub instead of controller.
7854 All users updated. Fill hub->devices.
7855 (grub_usb_root_hub): Allocate hub->devices.
7856 (detach_device): New function.
7857 (poll_nonroot_hub): Fill children and detach devices.
7858 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
7859 actual arguments. All users updated.
7860 (grub_usb_bulk_read_extended): New function.
7861 * bus/usb/serial/common.c: New file.
7862 * bus/usb/serial/ftdi.c: Likewise.
7863 * bus/usb/serial/pl2303.c: Likewise.
7864 * commands/terminal.c (handle_command): Support wildcard.
7865 * commands/usbtest.c: Output "Unknown" instead of empty string.
7866 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
7867 (usbserial_common_mod_SOURCES): New variable.
7868 (usbserial_common_mod_CFLAGS): Likewise.
7869 (usbserial_common_mod_LDFLAGS): Likewise.
7870 (pkglib_MODULES): Add usbserial_pl2303.mod.
7871 (usbserial_pl2303_mod_SOURCES): New variable.
7872 (usbserial_pl2303_mod_CFLAGS): Likewise.
7873 (usbserial_pl2303_mod_LDFLAGS): Likewise.
7874 (pkglib_MODULES): Add usbserial_ftdi.mod.
7875 (usbserial_ftdi_mod_SOURCES): New variable.
7876 (usbserial_ftdi_mod_CFLAGS): Likewise.
7877 (usbserial_ftdi_mod_LDFLAGS): Likewise.
7878 (pkglib_MODULES): Add serial.mod.
7879 (serial_mod_SOURCES): New variable.
7880 (serial_mod_CFLAGS): Likewise.
7881 (serial_mod_LDFLAGS): Likewise.
7882 * conf/i386-pc.rmk: Likewise.
7883 * conf/mips-yeeloong.rmk: Likewise.
7884 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
7885 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7886 * disk/usbms.c (first_available_slot): New variable.
7887 (grub_usbms_attach): Don't reuse free slots due to potential cache
7889 * include/grub/serial.h: Moved to ..
7890 * include/grub/ns8250.h: ...this.
7891 * include/grub/serial.h: New file.
7892 * include/grub/term.h (grub_term_poll_usb): New variable.
7893 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
7894 readkey. All users updated.
7895 (grub_terminfo_output_state): Pass term to put.
7896 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
7897 (grub_usb_controller_dev): Add timeout and actual arguments to
7898 transfer. All users updated.
7899 (grub_usb_interface): New field detach_data.
7900 (grub_usb_device): New fields children and nports.
7901 (grub_usb_ep_type_t): New type.
7902 (grub_usb_get_ep_type): New function.
7903 (grub_usb_bulk_read_extended): Likewise.
7904 * include/grub/usbdesc.h (grub_usb_desc): New type.
7905 * include/grub/usbserial.h: New file.
7906 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
7907 * kern/term.c (grub_term_poll_usb): New variable.
7908 (grub_getkey): Call grub_term_poll_usb if set.
7909 (grub_checkkey): Likewise.
7910 (grub_getkeystatus): Likewise.
7911 * term/serial.c: Moved controller-specific parts to ...
7912 * term/ns8250.c: ... here.
7913 * term/serial.c: Mostly rewritten.
7914 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
7917 2010-08-20 Robert Millan <rmh@gnu.org>
7919 Make kFreeBSD code more generic to support ext2fs as root, ufs as
7920 a separate module and maybe other interesting combinations.
7922 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
7923 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
7924 (kfreebsd_entry): Add generic filesystem module load routine.
7925 Map GRUB `ext2' to kFreeBSD `ext2fs'.
7927 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
7929 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
7930 "numcenter" (I misunderstood the purpose of this entry).
7931 * docs/grub.texi (sendkey): Likewise.
7933 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
7935 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
7936 status flag options; simply omitting the option is equivalent and
7937 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
7938 (keysym_table): Rename "num5numlock" to "numlock".
7939 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
7940 can uniformly say that only the last of multiple `sendkey'
7941 invocations has any effect.
7942 * docs/grub.texi (sendkey): New section.
7944 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
7946 * commands/i386/pc/sendkey.c (options): Fix three typos.
7948 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7950 Implement sendkey support.
7952 * commands/i386/pc/sendkey.c: New file.
7953 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
7954 (sendkey_mod_SOURCES): New variable.
7955 (sendkey_mod_CFLAGS): Likewise.
7956 (sendkey_mod_LDFLAGS): Likewise.
7958 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
7960 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
7961 fix warnings from Autoconf.
7963 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
7965 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
7966 to avoid false positives with some assemblers that output things
7967 like "someprefix_func" as part of their output.
7969 2010-08-15 Robert Millan <rmh@gnu.org>
7971 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
7973 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
7974 grub_get_libzfs_handle() errors.
7976 2010-08-14 Robert Millan <rmh@gnu.org>
7978 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
7979 filesystem is not ZFS.
7981 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7983 Fix for misspelled color names defaulting to black/black (bug
7984 reported by Doug Nazar)
7986 * include/grub/normal.h (grub_parse_color_name_pair): Add return
7987 status to prototype.
7988 * normal/color.c (grub_parse_color_name_pair): Return failure
7990 (grub_env_write_color_normal): Ignore bad color names.
7991 (grub_env_write_color_highlight): Likewise.
7992 * normal/main.c (GRUB_MOD_INIT): Set default color names.
7994 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7996 "shift" command support to GRUB script.
7998 * include/grub/script_sh.h (grub_script_shift): New prototype.
7999 * script/execute.c (grub_script_shift): New function.
8000 * script/main.c (grub_script_init): Register shift command.
8001 (grub_script_fini): Unregister shift command.
8002 * util/grub-script-check.c (grub_script_cmd_shift): New function.
8004 * tests/grub_script_shift.in: New testcase.
8005 * conf/tests.rmk: Rules for new testcase.
8007 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8009 "continue" command support to GRUB script.
8011 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
8012 (grub_script_break): Continue support.
8013 * script/main.c (grub_script_init): Register continue command.
8014 (grub_script_fini): Unregister continue command.
8016 * tests/grub_script_continue.in: New testcase.
8017 * conf/tests.rmk: Rules for new testcase.
8019 2010-08-12 BVK Chaitanya <bvk@dbook>
8021 "break" command support to GRUB script.
8023 * conf/common.rmk: Rule updates to grub-script-check.
8024 * include/grub/misc.h (grub_min): New function.
8025 * include/grub/script_sh.h (grub_script_init): New prototype.
8026 (grub_script_fini): New prototype.
8027 (grub_script_break): New prototype.
8028 * script/main.c (grub_script_init): New function.
8029 (grub_script_fini): New function.
8030 * script/execute.c (grub_script_break): New function.
8031 * normal/main.c: Calls to grub_script_{init,fini}.
8032 * util/grub-script-check.c (grub_script_break): New function.
8034 * tests/grub_script_break.in: New testcase.
8035 * conf/tests.rmk: Rules for new test case.
8037 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8039 Function parameters support to GRUB script.
8041 * script/yylex.l (VARIABLE): Regular expression update.
8042 * script/function.c (grub_script_function_call): Moved ...
8043 * script/execute.c (grub_script_function_call): ... to here.
8044 (grub_script_execute_arglist_to_argv): Removed.
8045 (grub_script_arglist_to_argv): New function.
8046 * script/argv.c: New file.
8047 (grub_script_argv_free): New function.
8048 (grub_script_argv_next): Likewise.
8049 (grub_script_argv_append): Likewise.
8050 (grub_script_argv_split_append): Likewise.
8051 * include/grub/script_sh.h (grub_script_argv): New struct.
8052 (grub_script_argv_free): New function.
8053 (grub_script_argv_next): Likewise.
8054 (grub_script_argv_append): Likewise.
8055 (grub_script_argv_split_append): Likewise.
8057 * conf/common.rmk (normal.mod): New source script/argv.c.
8059 * tests/grub_script_echo1.in: More tests.
8060 * tests/grub_script_vars1.in: Likewise.
8061 * tests/grub_script_functions.in: New test case.
8062 * conf/tests.rmk: Rules for new testcase.
8064 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8066 Remove grub_script_cmdblock struct.
8068 * include/grub/script_sh.h: Remove grub_script_cmdblock.
8069 * script/parser.y: Likewise.
8070 * script/execute.c: Rename cmdblock suffix to cmdlist.
8071 * script/script.c: Likewise.
8072 * util/grub-script-check.c: Likewise.
8074 2010-08-11 Yves Blusseau <blusseau@zetam.org>
8076 * .bzrignore: add grub-macho2img
8078 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8080 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
8082 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8084 Remove the dump of sm712 initialisation sequence.
8086 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
8087 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
8088 (GRUB_VGA_IO_MISC_WRITE): Likewise.
8089 (GRUB_VGA_CR_*): Added many registers.
8090 (GRUB_VGA_SR_*): Likewise.
8091 (GRUB_VGA_GR_*): Likewise.
8092 (grub_vga_write_arx): New function.
8093 (grub_video_hw_config): New struct.
8094 (grub_vga_set_geometry): New function.
8095 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
8096 GRUB_PCI_CLASS_SUBCLASS_VGA.
8097 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
8098 * video/sm712.c (grub_sm712_write_reg): New function
8099 (grub_sm712_read_reg): Likewise.
8100 (grub_sm712_sr_write): Likewise.
8101 (grub_sm712_gr_write): Likewise.
8102 (grub_sm712_cr_write): Likewise.
8103 (grub_sm712_write_arx): Likewise.
8104 (grub_sm712_cr_shadow_write): Likewise.
8105 (grub_sm712_write_dda_lookup): Likewise.
8106 (grub_video_sm712_setup): Initialise the video rather then
8107 blindly replay the dump.
8108 (main) [TEST]: Add a routine to be able to compile as standalone for
8110 * video/sm712_init.c (sm712_init): Removed.
8111 (sm712_sr_seq1): New array.
8112 (sm712_sr_seq2): Likewise.
8114 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8116 * include/grub/vga.h: Add missing grub/pci.h include.
8118 2010-08-10 Yves Blusseau <blusseau@zetam.org>
8120 * util/grub-macho2img.c (main): fix typo
8122 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8124 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
8125 (grub_vga_gr_read): Likewise.
8126 (grub_vga_cr_write): Likewise.
8127 (grub_vga_cr_read): Likewise.
8128 (grub_vga_sr_write): Likewise.
8129 (grub_vga_sr_read): Likewise.
8130 (grub_vga_palette_read): Likewise.
8131 (grub_vga_palette_write): Likewise.
8132 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
8133 (grub_sm712_sr_read): New function.
8134 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
8135 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
8137 2010-08-09 Robert Millan <rmh@gnu.org>
8139 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
8140 out unused variables on non-ZFS build.
8142 2010-08-08 Robert Millan <rmh@gnu.org>
8144 Fix path generation for sub-filesystems in ZFS.
8146 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
8149 2010-08-08 Robert Millan <rmh@gnu.org>
8151 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
8153 2010-08-08 Robert Millan <rmh@gnu.org>
8155 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
8156 exist, issue a proper error message (rely on `ls' for translated
8159 2010-08-08 Robert Millan <rmh@gnu.org>
8161 Fix grub-probe invocation.
8163 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
8165 2010-08-04 Robert Millan <rmh@gnu.org>
8167 * configure.ac: Remove checks for getfsstat() and getmntany().
8168 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
8169 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
8170 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
8171 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
8172 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
8174 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
8175 via find_mount_point_from_dir() and getfsstat() / getmntany().
8177 2010-08-04 Robert Millan <rmh@gnu.org>
8179 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8180 (grub_find_zpool_from_mount_point): Merge into ...
8181 (grub_find_zpool_from_dir): ... this.
8182 * kern/emu/misc.c: Likewise.
8185 (grub_make_system_path_relative_to_its_root): Replace
8186 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
8187 with grub_find_zpool_from_dir().
8188 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
8190 2010-08-04 Robert Millan <rmh@gnu.org>
8192 Support OpenSolaris in ZFS device resolution.
8194 * configure.ac: Check for getmntany().
8195 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
8196 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
8199 2010-08-03 Robert Millan <rmh@gnu.org>
8203 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
8204 * include/grub/emu/misc.h: ... here.
8206 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
8207 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
8209 * util/misc.c: Remove `<grub/util/libzfs.h>'.
8210 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
8211 (grub_get_libzfs_handle): Move to ...
8212 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
8213 (grub_get_libzfs_handle): ... here.
8215 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
8217 * script/execute.c (grub_script_execute_cmdline): Check for NULL
8218 as command name case.
8220 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
8222 * disk/raid.c (insert_array): Select unique numbers for named arrays
8223 as well, for use as keys in the disk cache.
8225 2010-08-01 Robert Millan <rmh@gnu.org>
8227 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
8228 kFreeBSD device name, except on ZFS where the filesystem label is
8230 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
8231 `/boot/zfs/zpool.cache'.
8232 Set mountfrom kernel variable using ${kfreebsd_device}.
8234 2010-08-01 Robert Millan <rmh@gnu.org>
8236 Make it even harder to use uninitialized `libzfs_handle' (and
8237 make the interface a bit simpler).
8239 * include/grub/util/misc.h (grub_util_init_libzfs)
8240 (libzfs_handle): Remove.
8241 (grub_get_libzfs_handle): New prototype.
8243 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
8245 (grub_util_init_libzfs): Remove.
8246 (grub_get_libzfs_handle): New function.
8248 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
8249 grub_get_libzfs_handle() to obtain a libzfs handle instead of
8250 accessing `libzfs_handle' directly.
8252 2010-08-01 Robert Millan <rmh@gnu.org>
8254 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8255 (grub_find_zpool_from_mount_point): New function prototypes.
8257 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8258 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8260 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8261 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8264 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8265 finding zpool from mount point into ...
8266 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8268 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8269 requested path is part of a ZFS pool, use
8270 grub_find_zpool_from_mount_point() to detect its filesystem name,
8271 and generate a path with `/fsname@path' syntax.
8273 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8275 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
8276 (void) rather than () so that this is a proper prototype.
8278 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8280 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
8282 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8284 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
8285 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
8287 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8289 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
8291 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8293 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
8295 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8297 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
8298 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
8299 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
8301 (Shell-like scripting): Add real content.
8302 (Serial terminal): Suggest `terminal_input serial; terminal_output
8303 serial' rather than putting the two commands on separate lines,
8304 since console input will be inoperative after the first command.
8305 (menuentry): Document --class, --users, and --hotkey options.
8306 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
8307 Vladimir Serbinenko).
8309 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8310 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8312 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
8314 2010-08-01 Robert Millan <rmh@gnu.org>
8316 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8317 (grub_find_zpool_from_mount_point): New function prototypes.
8319 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8320 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8322 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8323 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8326 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8327 finding zpool from mount point into ...
8328 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8330 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8331 requested path is part of a ZFS pool, use
8332 grub_find_zpool_from_mount_point() to detect its filesystem name,
8333 and generate a path with `/fsname@path' syntax.
8335 2010-08-01 Robert Millan <rmh@gnu.org>
8337 Prevent accidental use of uninitialized libzfs_handle.
8339 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
8340 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
8341 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
8343 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8345 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
8346 util/grub.d/10_linux.in). Fixes Debian bug #591093.
8348 2010-08-01 Robert Millan <rmh@gnu.org>
8350 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8352 2010-07-31 Robert Millan <rmh@gnu.org>
8354 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
8356 2010-07-31 Robert Millan <rmh@gnu.org>
8358 * kern/emu/misc.c: Add missing license header.
8360 2010-07-31 Robert Millan <rmh@gnu.org>
8362 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
8364 * include/grub/util/libnvpair.h: Include `<config.h>'.
8365 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
8366 declaring libnvpair prototypes ourselves.
8367 * include/grub/util/libzfs.h: Include `<config.h>'.
8368 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
8369 declaring libzfs prototypes ourselves.
8371 (libzfs_handle): Moved to ...
8372 * include/grub/util/misc.h (libzfs_handle): ... here.
8373 Include `<grub/util/libzfs.h>'.
8375 2010-07-30 Robert Millan <rmh@gnu.org>
8377 * include/grub/emu/misc.h: Add missing license header.
8379 2010-07-30 Robert Millan <rmh@gnu.org>
8381 Enable `grub-probe -t device' resolution on ZFS.
8383 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
8384 * include/grub/util/libnvpair.h: New file.
8385 * include/grub/util/libzfs.h: New file.
8387 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
8388 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
8389 `<grub/util/libnvpair.h>'.
8390 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
8392 (find_mount_point_from_dir): New static function.
8393 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
8395 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
8396 find_root_device_from_libzfs() before ressorting to find_root_device().
8398 * include/grub/util/misc.h (grub_util_init_libzfs): New function
8400 * util/misc.c: Include `<grub/util/libzfs.h>'.
8401 (grub_util_init_libzfs): New function.
8402 [HAVE_LIBZFS] (libzfs_handle): New global variable.
8403 [HAVE_LIBZFS] (fini_libzfs): New static function.
8404 (grub_util_init_libzfs): New function.
8405 * util/grub-probe.c (main): Call grub_util_init_libzfs().
8407 2010-07-30 Robert Millan <rmh@gnu.org>
8409 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
8410 (xmalloc, xrealloc, xstrdup, xasprintf): Add
8411 `warn_unused_result' attribute.
8412 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
8413 (grub_xasprintf, grub_xvasprintf): Likewise.
8414 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
8416 2010-07-29 Robert Millan <rmh@gnu.org>
8418 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
8419 (probe): Handle `PRINT_FS_LABEL'.
8420 (main): Handle `-t fs_label'.
8422 2010-07-29 Robert Millan <rmh@gnu.org>
8424 * configure.ac: Remove grub-mkisofs checks.
8426 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8428 * util/ieee1275/grub-install.in: Don't use empty grub_device.
8429 Reported by: Lennart Sorensen.
8431 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8433 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
8434 prior to terminal_input/terminal_output separation. It's been over 1.5
8435 years and those versions weren't widely deployed.
8437 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
8439 * disk/raid.c (insert_array): Don't count named arrays when looking
8440 for unused array numbers.
8441 Reported and tested by: Michael Guntsche.
8443 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8445 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
8446 implementation of this so that grub-emu links again, with a note
8447 that this should support hotplugging in the future.
8449 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8451 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
8453 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8455 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
8457 (grub_loopback_close): Remove empty function.
8458 (grub_loopback_dev): Remove close method.
8460 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8462 Disable EFI cursor when the EFI console becomes inactive.
8464 * term/efi/console.c (grub_efi_console_init): New function.
8465 (grub_efi_console_fini): New function.
8466 (grub_console_term_output): Register init and fini methods.
8468 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8470 * tests/util/grub-shell-tester.in: Remove bashism and declare as
8473 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8475 * disk/loopback.c (grub_loopback): Replace filename with file.
8476 (delete_loopback): Handle new semantics.
8477 (grub_cmd_loopback): Likewise.
8478 (grub_loopback_iterate): Likewise.
8479 (grub_loopback_close): Likewise.
8481 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8483 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
8485 Reported by: Tito Keitel.
8487 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8489 * docs/grub.texi (Naming convention): Document new naming convention.
8491 2010-07-20 Vadim Solomin <vadic052@gmail.com>
8492 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8494 Generate device.map in something closer to the old ordering.
8496 * util/deviceiter.c (struct device): New declaration.
8497 (compare_file_names): Rename to ...
8498 (compare_devices): ... this. Sort by kernel name in preference to
8499 the stable by-id name, but keep the latter as a fallback comparison.
8500 Update header comment.
8501 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
8502 of `struct device' rather than of plain file names.
8504 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
8506 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
8509 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8511 * commands/acpi.c (setup_common_tables): Use sizeof instead of
8513 (setv1table): Likewise.
8515 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8517 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
8518 removing the homehost if present.
8519 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
8520 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
8521 removing the homehost if present.
8522 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
8524 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
8526 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
8527 parameter. Set its pointer target to 0.
8528 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
8529 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
8530 `data_offset' value from the superblock for 1.x metadata.
8531 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
8533 (insert_array): Record the start sector of data on the device.
8534 (grub_raid_register): Pass start_sector parameters to
8535 grub_raid_list->detect and insert_array.
8536 * include/grub/raid.h (struct grub_raid_array): Add start_sector
8538 (struct grub_raid): Add start_sector parameter to `detect'.
8540 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
8541 __attribute__ ((packed)), leaving a comment.
8542 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
8543 (grub_mdraid_detect_09): ... here and ...
8544 (grub_mdraid_detect_1x): ... here.
8546 2010-07-20 Peter Henn <peter.henn@web.de>
8548 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
8549 chunk size and disk size, which are already given as sector counts
8550 as distinct from the 0.90 units. Fetch the correct device number
8551 from the role table instead of using the table index.
8553 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
8555 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
8556 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
8557 (WriteMostly1): New macro.
8558 Set array->name to NULL for metadata format 0.90. Add support for
8559 metadata 1.x. Fix some comments.
8560 * disk/raid.c (): Add support for name based RAID arrays. Fix a
8562 * util/getroot.c (grub_util_get_grub_dev): Add support for
8563 /dev/md/name style devices.
8565 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8567 * .bzrignore: Ignore 20_linux_xen.
8569 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
8571 * util/import_unicode.py: Remove unnecessary imports.
8573 2010-07-17 Aleš Nesrsta <starous@volny.cz>
8575 Hotplugging and USB hub support.
8577 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
8578 (grub_ohci): Likewise.
8579 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
8580 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
8581 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
8582 (GRUB_OHCI_CTRL_EDS): Likewise.
8583 (GRUB_OHCI_BULK_EDS): Likewise.
8584 (GRUB_OHCI_TDS): Likewise.
8585 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
8586 (grub_ohci_ed_phys2virt): New function.
8587 (grub_ohci_virt_to_phys): Likewise.
8588 (grub_ohci_td_phys2virt): Likewise.
8589 (grub_ohci_td_virt2phys): Likewise.
8590 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
8592 (grub_ohci_find_ed): New function.
8593 (grub_ohci_alloc_td): Likewise.
8594 (grub_ohci_free_td): Likewise.
8595 (grub_ohci_free_tds): Likewise.
8596 (grub_ohci_transfer): Use previously allocated memory.
8597 (grub_ohci_portstatus): Reset status changed bit.
8598 (grub_ohci_detect_dev): Supply status changed.
8599 (grub_ohci_fini_hw): Free memory.
8600 (grub_ohci_restore_hw): Reallocate memory.
8601 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
8602 Reset status change.
8603 (grub_uhci_detect_dev): Supply status_change.
8604 * bus/usb/usb.c (attach_hooks): New var.
8605 (grub_usb_device_attach): New function.
8606 (grub_usb_register_attach_hook_class): Likewise.
8607 (grub_usb_unregister_attach_hook_class): Likewise.
8608 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
8609 (grub_usb_add_hub): Reset connection changed bit.
8610 (attach_root_port): New function.
8611 (grub_usb_root_hub): Likewise.
8612 (poll_nonroot_hub): Likewise.
8613 (grub_usb_poll_devices): Likewise.
8614 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
8615 * disk/usbms.c (grub_usbms_open): Use device hooks.
8616 (grub_usbms_iterate) :Poll devices.
8617 (grub_usbms_finddevs): Split into ...
8618 (grub_usbms_attach): ... this ...
8619 (grub_usbms_attach): ... and this.
8620 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
8622 (grub_usb_interface): New fields attached and detach_hook.
8623 (grub_usb_attach_hook_class): New type.
8624 (grub_usb_attach_desc): New struct.
8625 (grub_usb_register_attach_hook_class): New function.
8626 (grub_usb_unregister_attach_hook_class): Likewise.
8627 (grub_usb_poll_devices): Likewise.
8628 (grub_usb_device_attach): Likewise.
8629 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
8630 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
8632 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8634 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
8635 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
8636 delta determination style. Works with most NetBSD partitions too.
8638 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8640 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
8641 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
8643 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8645 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
8647 2010-07-14 Anton Blanchard <anton@samba.org>
8649 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
8652 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8654 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
8656 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8658 * kern/partition.c (grub_partition_check_containment): New function to
8659 check that a partition is physically contained in a parent. Since
8660 offsets are relative (and non-negative), this reduces to checking that
8661 the partition ends before its parent.
8662 (grub_partition_map_probe): Discard out-of-range sub-partitions.
8663 (grub_partition_iterate): Likewise.
8664 * include/grub/partition.h (grub_partition_map): Slightly more detailed
8666 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
8667 partitions that start before their parent, and add debug printfs.
8669 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
8671 * Makefile.in (.SUFFIX): Spell correctly, as ...
8672 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
8673 bare module name without `.mod', e.g. `test') tried to invoke a
8676 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
8678 * README: Point to the Info manual.
8680 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
8682 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
8683 2nd superblock position from partition size.
8685 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
8687 * Makefile.in (MAINTAINER_CLEANFILES): Remove
8688 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
8689 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
8692 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8694 Restructure SCSI .id handling.
8695 Reported and tested by: Aleš Nesrsta.
8697 * disk/ata.c (grub_atapi_close): Removed. All users updated.
8698 (grub_atapi_dev): Changed .name to "ata". New field .id.
8699 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
8700 (grub_usbms_dev): New field .id.
8701 * disk/scsi.c (grub_scsi_iterate): Generate name.
8702 (grub_scsi_open): Parse name.
8703 * include/grub/scsi.h (grub_make_scsi_id): New function.
8704 (grub_scsi_dev): Change iterate and open to number instead of naming
8705 busses. All users updated.
8706 (grub_scsi): Remove name. Add .bus.
8708 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8710 * commands/help.c (grub_cmd_help): Fix a typo.
8712 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8714 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
8715 Reported and tested by: Colin Watson.
8717 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8719 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
8722 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8724 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
8726 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
8728 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
8731 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8733 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
8734 and disk/raid6_recover.c.
8735 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8736 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8738 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8740 * term/gfxterm.c (repaint_schedulded): Rename to ...
8741 (repaint_scheduled): ... this. Update all callers.
8742 (repaint_was_schedulded): Rename to ...
8743 (repaint_was_scheduled): ... this. Update all callers.
8745 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8747 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
8748 which we expect to be handled by upper layers.
8750 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
8752 * bus/usb/usbhub.c: #include time.h header.
8754 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8756 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
8757 entry_name also for entries without stat blocks (e.g. ".."); fixes
8758 corruption of the first entry in a directory.
8760 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8762 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
8763 after setting gfxterm as the active terminal. GRUB_BACKGROUND
8764 doesn't work otherwise.
8766 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
8768 * docs/grub.texi (Features): Update list of supported file systems.
8769 (GNU/Linux): Update for GRUB 2.
8770 (Serial terminal): Remove mention of --disable-serial, which was a
8771 GRUB Legacy configure option. Update instructions to use
8772 `terminal_input' and `terminal_output' rather than `terminal'.
8773 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
8774 configuration' and `Installing GRUB using grub-install'.
8775 (Menu entry editor): Update for GRUB 2.
8776 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
8777 Document new -a, -u, and -v options.
8778 (initrd): New section.
8779 (initrd16): New section.
8780 (linux): New section.
8781 (linux16): New section.
8782 (search): The `var' argument to `--set' is optional.
8783 (GRUB only offers a rescue shell): Go into a little more detail on
8786 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
8788 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
8790 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
8792 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
8793 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
8795 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
8797 * util/i386/pc/grub-setup.c (setup): Rename prefix to
8798 install_prefix, in line with install_dos_part and install_bsd_part.
8799 Add new prefix variable, which is copied to install_prefix after
8800 comparing core.img in memory with the one read from disk in the
8801 no-embedding case, and use that rather than overwriting
8802 install_prefix immediately when installing to a partition.
8803 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
8806 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
8808 * configure.ac: Avoid == in test command, it's not portable.
8809 * util/grub.d/30_os-prober.in: Likewise.
8811 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
8813 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
8815 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
8817 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
8818 multiple (top-level) partmaps.
8820 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8822 * util/i386/efi/grub-install.in: Don't use empty grub_device.
8823 Reported by: Tino Keitel.
8825 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8827 Bidi and diacritics support.
8829 * Makefile.in (widthspec.bin): New target.
8830 (widthspec.h): Likewise.
8831 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
8832 * autogen.sh: Generate unidata.c.
8833 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
8834 * commands/ls.c (grub_ls_list_devices): Likewise.
8835 (grub_ls_list_files): Likewise.
8836 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
8837 (grub_mini_cmd_lsmod): Likewise.
8838 * commands/read.c: Likewise.
8839 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
8840 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
8841 * lib/arg.c (grub_arg_show_help): Likewise.
8842 * lib/crypto.c (grub_password_get): Likewise.
8843 * normal/auth.c (grub_username_get): Likewise.
8844 * normal/misc.c (grub_normal_print_device_info): Likewise.
8845 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
8846 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
8847 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
8848 (normal/charset.c_DEPENDENCIES): New variable.
8849 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
8850 (pkglib_MODULES): Remove charset.mod.
8851 (charset_mod_SOURCES): Removed.
8852 (charset_mod_CFLAGS): Likewise.
8853 (charset_mod_LDFLAGS): Likewise.
8854 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
8855 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
8857 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8858 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8859 (kernel_img_HEADERS): Add terminfo.h.
8860 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
8861 Fill ->font. Reverse ascii bitmaps.
8862 (grub_font_get_xheight): New function.
8863 * font/font.c (grub_font_get_string_width): Moved from here ...
8864 * gfxmenu/font.c (grub_font_get_string_width): ... here.
8865 * font/font.c (grub_font_draw_string): Moved from here ...
8866 * gfxmenu/font.c (grub_font_draw_string): ... here.
8867 * font/font.c (grub_font_dup_glyph): New function.
8868 (grub_font_blit_glyph): Likewise.
8869 (grub_font_blit_glyph_mirror): Likewise.
8870 (blit_comb): Likewise.
8871 (grub_font_construct_dry_run): Likewise.
8872 (grub_font_get_constructed_device_width): Likewise.
8873 (grub_font_construct_glyph): Likewise.
8874 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
8875 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
8876 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
8877 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
8878 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
8879 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
8880 (grub_font_get_xheight): New proto.
8881 (grub_font_get_constructed_device_width): Likewise.
8882 (grub_font_construct_glyph): Likewise.
8883 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
8884 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
8885 * include/grub/font.h (grub_font_draw_string): Moved from here ...
8886 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
8887 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
8888 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
8889 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
8890 (grub_console_getcharwidth): Likewise.
8891 * include/grub/misc.h (grub_xputs): New proto.
8892 (grub_puts): Inlined.
8893 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
8894 (grub_normal_get_line_counter): Removed.
8895 (grub_install_newline_hook): Likewise.
8896 (grub_normal_get_char_counter): New proto.
8897 (grub_normal_reset_more): Likewise.
8898 (grub_xputs_normal): Likewise.
8899 * include/grub/powerpc/ieee1275/console.h: Removed.
8900 * include/grub/sparc64/ieee1275/console.h: Likewise.
8901 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
8902 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
8903 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
8904 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
8905 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
8906 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
8907 (grub_term_input): Pass reference to self. All users updated.
8908 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
8909 Pass reference to self. New fields normal_color, highlight_color and
8910 data. All users updated.
8911 (grub_putchar): Removed.
8912 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
8913 (grub_unicode_estimate_width): New function.
8914 (grub_term_getcharwidth): Add defaults.
8915 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
8916 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
8917 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
8918 (grub_cls): Remove EXPORT_FUNC.
8919 (grub_setcolorstate): Inline.
8920 (grub_newline_hook): Removed.
8921 * include/grub/terminfo.h: Rewritten. All users updated.
8922 * include/grub/unicode.h: New file.
8923 * include/grub/video.h (grub_video_signed_rect): New type.
8924 * kern/emu/console.c (grub_console_highlight_color): Removed.
8925 (grub_console_normal_color): Likewise.
8926 (grub_console_standard_color): Made static.
8927 (grub_ncurses_putchar): Remove mapping.
8928 (grub_ncurses_getcharwidth): Removed.
8929 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
8930 (grub_ncurses_setcolor): Removed.
8931 (grub_ncurses_getcolor): Likewise.
8932 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
8933 (grub_console_putchar): ... this.
8934 (grub_console_putchar): Handle argument difference.
8935 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
8936 console_init_early and console_init_lately.
8937 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
8938 * kern/misc.c (grub_puts): Removed.
8939 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
8940 (grub_vsnprintf_real): Remove str = NULL support.
8941 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
8942 * normal/charset.c (grub_utf8_to_ucs4): ... here.
8943 * kern/term.c (grub_putcode): Renamed to ...
8944 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
8945 (grub_putchar): Removed.
8946 (grub_xputs_dumb): New function.
8947 (grub_xputs): New variable.
8948 * lib/charset.c: Move from here ...
8949 * normal/charset.c: ... to here.
8950 (grub_ucs4_to_utf8): New function.
8951 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
8952 (join_types): New variable.
8953 (unpack_join): New function.
8954 (bidi_types): New variable.
8955 (unpack_bidi): New function.
8956 (get_bidi_type): Likewise.
8957 (get_join_type): Likewise.
8958 (is_mirrored): Likewise.
8959 (grub_unicode_get_comb_type): Likewise.
8960 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
8961 (is_type_after): Likewise.
8962 (grub_unicode_aglomerate_comb): Likewise.
8963 (bidi_line_wrap): Likewise.
8964 (grub_bidi_line_logical_to_visual): Likewise.
8965 (grub_bidi_logical_to_visual): Likewise.
8966 (grub_unicode_mirror_code): Likewise.
8967 (grub_unicode_shape_code): Likewise.
8968 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
8969 Don't use grub_putchar.
8970 * normal/main.c (grub_normal_init_page): Use grub_putcode.
8971 (grub_normal_reader_init): Likewise.
8972 (grub_xputs_saved): New variable.
8973 (GRUB_MOD_INIT): Set grub_xputs.
8974 (GRUB_MOD_FINI): Restore grub_xputs.
8975 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
8976 (menu_init): Avoid printing gfxmenu error.
8977 (show_menu): Use grub_normal_get_char_counter.
8978 * normal/menu_entry.c (update_screen): Fix out-of-array.
8979 (complete): Avoid NULL dereferencing.
8980 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
8981 * normal/menu_text.c (print_spaces): Removed.
8982 (grub_print_ucs4): Likewise.
8983 (grub_print_message_indented): Use grub_print_ucs4.
8984 (print_message): Use grub_putcode.
8985 (print_entry): Hanlde diacritics.
8986 * normal/term.c (term_state): New type.
8987 (grub_more_lines): Removed.
8988 (term_states): New variable.
8989 (grub_normal_line_counter): Renamed to ..
8990 (grub_normal_char_counter): ...this. All users updated.
8991 (grub_normal_get_line_counter): Renamed to ...
8992 (grub_normal_get_char_counter): ... this.
8993 (grub_normal_reset_more): New function.
8994 (process_newline): Removed.
8995 (print_more): New function.
8996 (grub_install_newline_hook): Removed.
8997 (map_code): New function.
8998 (grub_puts_terminal): Use grub_print_ucs4.
8999 (putglyph): New function.
9000 (putcode_real): Likewise.
9001 (grub_putcode): Use putcode_real.
9002 (get_maxwidth): New function.
9003 (get_startwidth): Likewise.
9004 (print_ucs4_terminal): Likewise.
9005 (find_term_state): Likewise.
9006 (put_glyphs_terminal): Likewise.
9007 (print_backlog): Likewise.
9008 (print_ucs4_real): Likewise.
9009 (grub_print_ucs4): Likewise.
9010 (grub_xputs_normal): Likewise.
9011 * term/efi/console.c (grub_console_putchar): Output diacritics.
9012 (grub_console_getcharwidth): Removed.
9013 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9014 * term/gfxterm.c (clear_char): Free chars.
9015 (scroll_up): Avoid leaking memory.
9016 (grub_gfxterm_putchar): Support diacritics.
9017 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9018 * term/i386/pc/console.c (grub_console_term_output): Declare as
9019 GRUB_TERM_CODE_TYPE_VGA.
9020 * term/i386/pc/vga.c (grub_vga_term): Declare as
9021 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
9022 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
9023 GRUB_TERM_CODE_TYPE_VGA.
9024 * term/i386/vga_common.c (map_char): Removed.
9025 (grub_console_putchar): Likewise.
9026 (grub_console_getcharwidth): Likewise.
9027 * term/ieee1275/ofconsole.c: Simplify using terminfo.
9028 (colors): Reordered to match terminfo.
9029 (grub_ofconsole_normal_color): Removed.
9030 (grub_ofconsole_writeesc): Likewise.
9031 (grub_ofconsole_highlight_color): Likewise.
9032 (grub_ofconsole_getcharwidth): Likewise.
9033 (grub_ofconsole_setcolorstate): Likewise.
9034 (grub_ofconsole_setcolor): Likewise.
9035 (grub_ofconsole_getcolor): Likewise.
9036 (grub_ofconsole_readkey): Renamed to ...
9037 (readkey): ... this. Remove escape sequence handling. Return -1 on no
9039 (grub_ofconsole_checkkey): Removed.
9040 (grub_ofconsole_getkey): Likewise.
9041 (grub_ofconsole_getxy): Likewise.
9042 (grub_ofconsole_gotoxy): Likewise.
9043 (grub_ofconsole_cls): Likewise.
9044 (grub_ofconsole_refresh): Likewise.
9045 (grub_ofconsole_terminfo_input): New struct.
9046 (grub_ofconsole_terminfo_output): Likewise.
9047 (grub_ofconsole_term_input): Use terminfo.
9048 (grub_ofconsole_term_output): Likewise.
9049 (grub_console_init): Split into ...
9050 (grub_console_init_early): ...this and ...
9051 (grub_console_init_lately): ...this. Use terminfo.
9052 (grub_ofconsole_putchar): Renamed to ...
9053 (put): ... this. Remove mapping.
9054 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
9055 * term/serial.c: Simplify using terminfo.
9058 (keep_track): Likewise.
9059 (registered): Likewise.
9060 (input_buf): Likewise.
9061 (npending): Likewise.
9062 (serial_translate_key_sequence): Likewise.
9063 (fill_input_buf): Likewise.
9064 (grub_serial_checkkey): Likewise.
9065 (grub_serial_getkey): Likewise.
9066 (grub_serial_getxy): Likewise.
9067 (grub_serial_gotoxy): Likewise.
9068 (grub_serial_putchar): Likewise.
9069 (grub_serial_cls): Likewise.
9070 (grub_serial_setcolorstate): Likewise.
9071 (grub_serial_setcursor): Likewise.
9072 (serial_hw_init): Use serial_hw_fetch.
9073 (grub_serial_terminfo_input): New variable.
9074 (grub_serial_terminfo_output): Likewise.
9075 (grub_serial_term_input): Use terminfo.
9076 (grub_serial_term_output): Likewise.
9077 * term/terminfo.c (putstr): Use put.
9078 (grub_terminfo_all_free): New function
9079 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
9080 (grub_terminfo_output_register): New function.
9081 (grub_terminfo_output_unregister): Likewise.
9082 (grub_terminfo_getxy): Likewise.
9083 (grub_terminfo_readkey): Likewise.
9084 (grub_terminfo_checkkey): Likewise.
9085 (grub_terminfo_getkey): Likewise.
9086 (grub_terminfo_input_init): Likewise.
9087 (print_terminfo): Likewise.
9088 (grub_cmd_terminfo): Handle encoding.
9089 (grub_terminfo_gotoxy): Track position.
9090 (grub_terminfo_cls): Likewise.
9091 (grub_terminfo_putchar): Likewise.
9092 (grub_terminfo_setcolorstate): Handle colors
9093 (grub_terminfo_cursor_on): This ...
9094 (grub_terminfo_cursor_off): ... and this merged into ...
9095 (grub_terminfo_setcursor): ... this.
9096 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
9097 * unicode/ArabicShaping.txt: New file (imported from Unicode).
9098 * unicode/BidiMirroring.txt: Likewise.
9099 * unicode/UnicodeData.txt: Likewise.
9100 * unicode/COPYING: Likewise.
9101 * util/grub-editenv.c (grub_putchar): Removed.
9102 (grub_xputs_real): New function.
9103 (grub_xputs): New variable.
9104 * util/grub-fstest.c (grub_putchar): Removed.
9105 (grub_xputs_real): New function.
9106 (grub_xputs): New variable.
9107 * util/grub-mkdevicemap.c (grub_putchar): Removed.
9108 (grub_xputs_real): New function.
9109 (grub_xputs): New variable.
9110 * util/grub-probe.c (grub_putchar): Removed.
9111 (grub_xputs_real): New function.
9112 (grub_xputs): New variable.
9113 * util/grub-script-check.c (grub_putchar): Removed.
9114 (grub_xputs_real): New function.
9115 (grub_xputs): New variable.
9116 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
9117 (grub_xputs_real): New function.
9118 (grub_xputs): New variable.
9119 * util/import_unicode.py: New file.
9120 * util/grub-mkfont.c (ft_errmsgs): New array.
9121 (grub_glyph_info): Make bitmap a pointer.
9122 (file_formats): New type WIDTH_SPEC.
9123 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
9124 (options): Add width-spec.
9126 (add_char): Renamed to ...
9127 (add_glyph): ... this.
9128 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
9129 (glyph_replace): New type.
9130 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
9131 (add_char): New function.
9132 (add_subst): Likewise.
9133 (process_cursive): Likewise.
9134 (add_font): Handle GSUB.
9135 (write_font_width_spec): New function.
9136 (main): Sort glyphs.
9137 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
9138 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
9139 * kern/term.c (grub_cls): Moved from here...
9140 * normal/term.c (grub_cls): ... here.
9142 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9144 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
9145 suitable for using within the format argument of printf when
9146 converting grub_size_t.
9147 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
9148 "x" to convert grub_size_t arguments.
9150 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9152 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
9154 (list_get_minimal_size): Take selection box into account.
9156 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9158 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
9161 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9163 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
9164 devices when iterating over /dev/disk/by-id; they will be handled
9165 later if appropriate, which they aren't always (e.g. LVM).
9167 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9169 * include/grub/misc.h (grub_reboot): Declare as noreturn.
9170 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
9172 (grub_halt): Likewise.
9173 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
9175 (grub_halt): Don't return, even if all of shut-down, power-off, and
9178 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9180 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
9181 arguments, not three.
9183 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9185 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
9186 * util/grub.d/10_linux.in: Use it to check for LVM, so that
9187 LVM-on-RAID is handled correctly.
9189 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9191 * docs/grub.texi (Changes from GRUB Legacy): New section.
9194 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9196 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
9197 grub.d/README accidentally ends up executable for one reason or
9200 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9202 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
9203 (gpt_partition_map_iterate): Support non-512B sectors.
9205 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9207 * kern/efi/init.c (grub_efi_init): Disable watchdog.
9208 Tested by: Seth Goldberg.
9210 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9212 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
9214 Reported by: Seth Goldberg.
9216 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9218 * util/grub-mkrescue.in: Avoid module duplication.
9220 2010-07-01 Sean Finney <seanius@seanius.net>
9222 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
9224 2010-07-01 Sean Finney <seanius@seanius.net>
9226 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
9228 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9230 * disk/lvm.c (grub_lvm_checkvalue): New function.
9231 (grub_lvm_check_flag): Likewise.
9233 2010-07-01 Robert Millan <rmh@gnu.org>
9235 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
9236 Support 'p' as partition separator on kernel of FreeBSD (used
9238 (grub_util_biosdisk_get_grub_dev): Likewise.
9240 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9242 Yeeloong firmware port.
9244 * boot/mips/yeeloong/fwstart.S: New file.
9245 * bus/cs5536.c (gpiodump): New const.
9246 (set_io_space): New function.
9247 (set_iod): Likewise.
9248 (set_p2d): Likewise.
9249 (grub_cs5536_init_geode): Likewise.
9250 * commands/mips/yeeloong/lsspd.c: New file.
9251 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
9252 (serial_mod_SOURCES): New variable.
9253 (serial_mod_CFLAGS): Likewise.
9254 (serial_mod_LDFLAGS): Likewise.
9255 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
9256 term/terminfo.c and term/tparm.c.
9257 (pkglib_IMAGES): Add fwstart.img.
9258 (fwstart_img_SOURCES): New variable.
9259 (fwstart_img_CFLAGS): Likewise.
9260 (fwstart_img_ASFLAGS): Likewise.
9261 (fwstart_img_LDFLAGS): Likewise.
9262 (fwstart_img_FORMAT): Likewise.
9263 (pkglib_MODULES): Add lsspd.mod.
9264 (lsspd_mod_SOURCES): New variable.
9265 (lsspd_mod_CFLAGS): Likewise.
9266 (lsspd_mod_LDFLAGS): Likewise.
9267 (pkglib_MODULES): Add halt.mod.
9268 (halt_mod_SOURCES): New variable.
9269 (halt_mod_CFLAGS): Likewise.
9270 (halt_mod_LDFLAGS): Likewise.
9271 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
9272 (serial_mod_SOURCES): Removed.
9273 (serial_mod_CFLAGS): Likewise.
9274 (serial_mod_LDFLAGS): Likewise.
9275 * disk/ata.c (check_device): New function.
9276 (grub_ata_device_initialize): Use check_device.
9277 (grub_ata_iterate): Recheck devices.
9278 (grub_ata_open): Likewise.
9279 (grub_atapi_iterate): Likewise.
9280 (grub_atapi_open): Likewise.
9281 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
9282 (GRUB_ATA_CH1_PORT1): Likewise.
9283 (GRUB_ATA_CH0_PORT2): Likewise.
9284 (GRUB_ATA_CH1_PORT2): Likewise.
9285 * include/grub/mips/loongson.h: New file.
9286 * include/grub/mips/yeeloong/ec.h: Likewise.
9287 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
9288 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
9289 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
9290 * include/grub/misc.h (grub_halt): Declare as noreturn.
9291 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
9292 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
9293 (UART_ENABLE_FIFO_TRIGGER1): New definition.
9294 (UART_ENABLE_DTRRTS): Likewise.
9295 (UART_ENABLE_MODEM): Removed.
9296 (UART_ENABLE_OUT2): New const.
9297 * include/grub/term.h (grub_term_register_input_active): New function.
9298 (grub_term_register_output_active): Likewise.
9299 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
9301 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
9302 (init_pci): New function.
9303 (grub_machine_init): Execute platform init when firmware. Init serial.
9304 (grub_halt): Implement.
9305 (grub_exit): Likewise.
9306 (grub_reboot): Likewise.
9307 * term/serial.c (serial_hw_init): Update macros.
9308 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
9309 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
9310 (image_targets): New target mipsel-yeeloong-flash.
9311 (generate_image): Support IMAGE_YEELOONG_FLASH.
9312 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
9313 (grub_video_sm712_setup): Init card.
9314 (grub_video_sm712_set_palette): Removed.
9315 * video/sm712_init.c: New file.
9317 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
9319 * Makefile.in (install-local): Temporarily prepend $(builddir) to
9320 PATH when running help2man and then run it on the unadorned
9321 executable names, rather than passing $(builddir)/* paths to
9322 help2man. This avoids the build directory ending up in generated
9325 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
9327 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
9328 to avoid accidents when debugging with 'sh -x'.
9329 * util/grub-mkrescue.in: Likewise.
9330 * util/grub.d/00_header.in: Likewise.
9331 * util/grub.d/10_hurd.in: Likewise.
9332 * util/grub.d/10_kfreebsd.in: Likewise.
9333 * util/grub.d/10_linux.in: Likewise.
9334 * util/grub.d/10_netbsd.in: Likewise.
9335 * util/grub.d/10_windows.in: Likewise.
9336 * util/grub.d/20_linux_xen.in: Likewise.
9337 * util/grub.d/30_os-prober.in: Likewise.
9338 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9340 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
9342 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
9343 last character in the buffer.
9344 Reported by: Vladimir Serbinenko.
9346 2010-06-29 Robert Millan <rmh@gnu.org>
9348 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
9349 (Command-line and menu entry commands): Document `badram' command.
9351 2010-06-28 Robert Millan <rmh@gnu.org>
9353 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
9354 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
9355 command using ${GRUB_BADRAM} as parameter.
9357 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9359 * docs/grub.texi (Device map): New section.
9360 (Themes): New section (stub).
9361 * Makefile.in (docs/grub.info): The info documentation now builds
9362 without errors. Make sure it stays that way.
9364 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9366 Use normal parser for menu entries.
9367 Reported by: Thomas Frauendorfer
9369 * include/grub/parser.h (grub_parser_execute): Don't export.
9370 * normal/menu.c (grub_menu_execute_entry_real): New function.
9371 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
9373 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9375 * docs/grub.texi (Embedded configuration): New section (replacing
9376 old "Preset Menu" stub).
9377 (Images): New section.
9378 (configfile): Note that any menu entries defined in `file' are shown
9381 2010-06-28 Josh Triplett <josh@joshtriplett.org>
9383 * mmap/i386/pc/mmap_helper.S: Set CF on return.
9385 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9387 * util/grub-install.in: Add --debug-image= option.
9389 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9391 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
9394 * util/deviceiter.c (check_device): Rename to ...
9395 (check_device_readable_unique): ... this. Update all callers.
9396 Maintain and check a list of which devices (by canonicalized name)
9397 have already been seen.
9398 (clear_seen_devices): New function.
9399 (compare_file_names) [__linux__]: New function.
9400 (grub_util_iterate_devices): Clear the list of seen devices on exit
9401 and (just in case) on entry.
9402 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
9403 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
9404 seen-devices list, superseded by general code in check_device.
9406 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9408 * commands/cat.c (options): New variable.
9409 (grub_cmd_cat): Parse options. If the --dos option is given, print
9410 DOS-style "\r\n" line endings as simple newlines (Debian bug
9412 (GRUB_MOD_INIT): Use extcmd.
9413 (GRUB_MOD_FINI): Likewise.
9414 * docs/grub.texi (cat): Document --dos.
9416 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9418 XEN with Linux grub-mkconfig support.
9420 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
9421 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
9422 GRUB_CMDLINE_XEN_DEFAULT.
9423 * util/grub.d/20_linux_xen.in: New file.
9425 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9427 Initialise VGA video on qemu ourselves.
9429 * boot/i386/qemu/boot.S: Don't call 0xc000.
9430 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
9431 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
9432 (kernel_img_HEADERS): Add pci.h.
9433 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
9434 * configure.ac: Force unifont on qemu and yeeloong.
9435 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
9436 (grub_vga_palette_write): Use correct register.
9437 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
9438 Call grub_qemu_init_cirrus.
9439 * kern/i386/qemu/init.c: New file.
9440 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
9442 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
9444 2010-06-26 Pavel Roskin <proski@gnu.org>
9446 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
9449 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
9451 * docs/grub.texi (Simple configuration): Explain that
9452 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
9453 set to `true' to disable their respective recovery entries, not
9456 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
9458 Make the `source' command slightly faster.
9460 * normal/main.c (grub_normal_execute): Don't re-read list files when
9463 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
9465 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
9466 field position and mask size to red fields from mode_info, not
9468 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
9469 Remove redundant tag->common.framebuffer_type assignment.
9470 Reported by: Seth Goldberg.
9472 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
9474 Sync up other versions of the Linux loader with Robert Millan's
9475 change of 2010-01-09, "Make loader output a bit more user-friendly".
9477 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
9479 (grub_cmd_linux): Likewise.
9480 (grub_cmd_initrd): Likewise.
9481 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
9482 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9484 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
9486 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
9487 larger than MEMORY_MAP_SIZE.
9489 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
9493 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
9495 * script/parser.y: #include grub_script.tab.h header.
9497 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9499 Support >3GiB and <16MiB RAM in i386-qemu.
9501 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
9502 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
9503 (grub_lower_mem): Removed.
9504 (grub_upper_mem): Likewise.
9505 (mem_size): Made static.
9506 (above_4g): New variable.
9507 (grub_machine_mmap_init): Detect small mem_size and above_4g.
9508 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
9511 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9513 Cirrus 5446 and Bochs video cards support.
9515 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
9517 (video_cirrus_mod_SOURCES): New variable.
9518 (video_cirrus_mod_CFLAGS): Likewise.
9519 (video_cirrus_mod_LDFLAGS): Likewise.
9520 (video_bochs_mod_SOURCES): Likewise.
9521 (video_bochs_mod_CFLAGS): Likewise.
9522 (video_bochs_mod_LDFLAGS): Likewise.
9523 * include/grub/vga.h: New file.
9524 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
9525 (grub_video_fb_set_page_t): New type.
9526 (grub_video_fb_setup): New prototype.
9527 (grub_video_fb_swap_buffers): Likewise.
9528 (grub_video_fb_get_info_and_fini): Likewise.
9529 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
9530 (CRTC_DATA_PORT): Likewise.
9531 (CRTC_CURSOR): Likewise.
9532 (CRTC_CURSOR_ADDR_HIGH): Likewise.
9533 (CRTC_CURSOR_ADDR_LOW): Likewise.
9534 (CRTC_CURSOR_DISABLE): Likewise.
9535 (update_cursor): Use grub_vga_cr_write.
9536 (grub_vga_text_setcursor): Likewise.
9537 * video/bochs.c: New file.
9538 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
9539 (palette): Likewise.
9540 (palette_size): Likewise.
9541 (framebuffer): New variable.
9542 (grub_video_fb_init): Use 'framebuffer'.
9543 (grub_video_fb_fini): Likewise.
9544 (grub_video_fb_get_info): Likewise.
9545 (grub_video_fb_get_palette): Likewise.
9546 (grub_video_fb_set_palette): Likewise.
9547 (grub_video_fb_set_viewport): Likewise.
9548 (grub_video_fb_get_viewport): Likewise.
9549 (grub_video_fb_map_color): Likewise.
9550 (grub_video_fb_map_rgb): Likewise.
9551 (grub_video_fb_map_rgba): Likewise.
9552 (grub_video_fb_unmap_color): Likewise.
9553 (grub_video_fb_unmap_color_int): Likewise.
9554 (grub_video_fb_fill_rect): Likewise.
9555 (grub_video_fb_blit_bitmap): Likewise.
9556 (grub_video_fb_blit_render_target): Likewise.
9557 (grub_video_fb_scroll): Likewise.
9558 (grub_video_fb_create_render_target): Likewise.
9559 (grub_video_fb_doublebuf_blit_init): Likewise.
9560 (grub_video_fb_set_active_render_target): Handle doublebuffering.
9561 (doublebuf_pageflipping_update_screen): New function.
9562 (doublebuf_pageflipping_init): Likewise.
9563 (grub_video_fb_setup): Likewise.
9564 (grub_video_fb_swap_buffers): Likewise.
9565 (grub_video_fb_get_info_and_fini): Likewise.
9566 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
9568 (doublebuf_pageflipping_commit): Restructured into ...
9569 (doublebuf_pageflipping_set_page): ... this.
9570 (doublebuf_pageflipping_update_screen): Removed.
9571 (doublebuf_pageflipping_init): Likewise.
9572 (double_buffering_init): Likewise.
9573 (grub_video_vbe_setup): Use grub_video_fb_setup.
9574 (grub_video_vbe_swap_buffers): Removed.
9575 (grub_video_vbe_set_active_render_target): Likewise.
9576 (grub_video_vbe_get_active_render_target): Likewise.
9577 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
9578 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
9579 grub_video_fb_set_active_render_target and
9580 grub_video_fb_get_active_render_target.
9581 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
9582 (SEQUENCER_DATA_PORT): Likewise.
9583 (MAP_MASK_REGISTER): Likewise.
9584 (CRTC_ADDR_PORT): Likewise.
9585 (CRTC_DATA_PORT): Likewise.
9586 (START_ADDR_HIGH_REGISTER): Likewise.
9587 (START_ADDR_LOW_REGISTER): Likewise.
9588 (GRAPHICS_ADDR_PORT): Likewise.
9589 (GRAPHICS_DATA_PORT): Likewise.
9590 (READ_MAP_REGISTER): Likewise.
9591 (INPUT_STATUS1_REGISTER): Likewise.
9592 (INPUT_STATUS1_VERTR_BIT): Likewise.
9593 (get_map_mask): Use grub_vga_sr_read.
9594 (set_map_mask): Use grub_vga_sr_write.
9595 (set_read_map): Use grub_vga_gr_write.
9596 (set_start_address): Use grub_vga_cr_write.
9597 * video/sm712.c (framebuffer): Remove leftover fields.
9599 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
9601 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
9602 setting GRUB_VIDEO_BACKEND. Make it available as a user override
9603 instead. Replace the gfxterm backend check with a check that
9604 ${GRUB_PREFIX}/video.lst is non-empty.
9605 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
9607 (load_video): New generated function. Call it before loading
9608 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
9609 * util/grub.d/10_linux.in (linux_entry): Call load_video.
9610 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
9611 * docs/grub.texi (Simple configuration): Document
9614 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9616 Use video functions in linux and xnu loaders.
9618 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
9619 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
9620 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
9621 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
9622 loader/i386/pc/linux.c.
9623 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
9624 (find_line_len): Removed.
9625 (find_framebuf): Likewise.
9626 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
9627 * loader/i386/efi/xnu.c: Removed.
9628 * loader/i386/pc/xnu.c: Moved from here...
9629 * loader/i386/xnu.c: ...here.
9631 Enable priorities in video drivers.
9633 * include/grub/video.h (grub_video_adapter_prio_t): New type.
9634 (grub_video_adapter): New field prio.
9635 (grub_video_register): Respect prio when inserting.
9636 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
9637 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
9638 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
9639 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
9640 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
9641 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
9642 * video/sm712.c (grub_video_sm712_adapter): Likewise.
9646 * include/grub/video.h (grub_video_driver_id_t): New value
9647 GRUB_VIDEO_DRIVER_SDL.
9648 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
9650 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
9652 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
9654 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9656 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
9658 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
9659 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9661 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
9663 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
9664 directly, and recommend grub-install instead.
9665 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9667 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
9669 Fix i386-pc prefix handling with nested partitions (Debian bug
9670 #585068). Note that the case where the core image is booted using
9671 multiboot and relocated from its original location still requires
9674 * kern/i386/pc/init.c (make_install_device): If the prefix starts
9675 with "(,", fill the boot drive in between those two characters, but
9676 expect that a full partition specification including partition map
9678 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
9679 specified, write a prefix without the drive name but including a
9680 full partition specification.
9682 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
9684 * util/grub-mkconfig.in: Ignore non-option arguments, for
9685 compatibility with older versions (before 2010-06-12) which did the
9686 same. In particular, this makes it easier to ship an update-grub
9687 wrapper which is compatible with that used with GRUB Legacy (Debian
9690 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9692 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
9693 for manual page generation.
9695 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9697 * po/POTFILES: Remove leftover commands/handler.c.
9699 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
9701 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
9702 left this script non-functional.
9704 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
9706 * docs/man/grub-emu.h2m: New file.
9708 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
9710 * docs/grub.texi (Commands): Document reduced command set in rescue
9712 (cpuid): New section.
9714 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
9716 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
9717 new partition naming style.
9718 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
9720 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
9722 Add "-o grub.iso" like cmdline options support.
9724 * util/grub-install.in: Improve cmdline option parsing.
9725 * util/grub-mkconfig.in: Likewise.
9726 * util/grub-mkrescue.in: Likewise.
9727 * util/grub-reboot.in: Likewise.
9728 * util/grub-set-default.in: Likewise.
9729 * util/i386/efi/grub-install.in: Likewise.
9730 * util/ieee1275/grub-install.in: Likewise.
9731 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9733 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
9735 * .bzrignore: Ignore 41_custom.
9737 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
9739 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
9741 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
9743 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
9744 prototype declarations.
9746 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
9747 generating fs, partmap, and video lists.
9748 * include/grub/fs.h (grub_fs_register): Omit prototype if
9749 GRUB_LST_GENERATOR is defined.
9750 * include/grub/partition.h (grub_partition_map_register): Likewise.
9751 * include/grub/video.h (grub_video_register): Likewise.
9753 2010-06-12 Javier Martín <lordhabbit@gmail.com>
9755 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
9757 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
9759 * util/grub-mkrescue.in: Support --xorriso argument.
9761 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9763 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
9764 Suggested by: Thomas Schmitt.
9766 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9768 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
9769 Suggested by: Thomas Schmitt.
9771 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9775 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
9776 * util/grub.d/41_custom.in: New file.
9778 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
9780 * util/grub-mkrescue.in (make_image): Remove sh module, which has
9781 been merged back into normal.
9783 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
9785 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
9786 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
9788 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
9790 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
9791 when generating manual pages.
9792 * docs/man/grub-bin2h.h2m: New file.
9793 * docs/man/grub-editenv.h2m: New file.
9794 * docs/man/grub-fstest.h2m: New file.
9795 * docs/man/grub-install.h2m: New file.
9796 * docs/man/grub-macho2img.h2m: New file.
9797 * docs/man/grub-mkconfig.h2m: New file.
9798 * docs/man/grub-mkdevicemap.h2m: New file.
9799 * docs/man/grub-mkfont.h2m: New file.
9800 * docs/man/grub-mkimage.h2m: New file.
9801 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
9802 * docs/man/grub-mkrelpath.h2m: New file.
9803 * docs/man/grub-mkrescue.h2m: New file.
9804 * docs/man/grub-ofpathname.h2m: New file.
9805 * docs/man/grub-pe2elf.h2m: New file.
9806 * docs/man/grub-probe.h2m: New file.
9807 * docs/man/grub-reboot.h2m: New file.
9808 * docs/man/grub-script-check.h2m: New file.
9809 * docs/man/grub-set-default.h2m: New file.
9810 * docs/man/grub-setup.h2m: New file.
9812 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
9814 Use FOR_* macros instead of *_iterate whenever possible.
9816 * commands/handler.c: Removed.
9817 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
9818 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
9819 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9820 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
9821 (grub_probe_SOURCES): Remove kern/parser.c.
9822 (util/grub-script-check.c_DEPENDENCIES): Removed.
9823 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
9824 and grub_script_check_init.c.
9825 (grub_script_check_init.lst): Removed.
9826 (grub_script_check_init.h): Likewise.
9827 (grub_script_check_init.c): Likewise.
9828 (pkglib_MODULES): Remove handler.mod and sh.mod.
9829 (handler_mod_SOURCES): Removed.
9830 (handler_mod_CFLAGS): Likewise.
9831 (handler_mod_LDFLAGS): Likewise.
9832 (normal_mod_SOURCES): Remove normal/handler.c.
9833 Add script/main.c, script/script.c, script/execute.c,
9834 script/function.c, script/lexer.c, grub_script.tab.c
9835 and grub_script.yy.c.
9836 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9837 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9838 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
9839 (grub_setup_SOURCES): Remove kern/parser.c.
9840 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9841 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
9842 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9843 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9844 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9845 (grub_setup_SOURCES): Remove kern/parser.c.
9846 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9847 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
9848 * include/grub/command.h (grub_command_iterate): Removed.
9849 (FOR_COMMANDS): New macro.
9850 * include/grub/dl.h (grub_dl): New member next.
9851 (grub_dl_iterate): Removed.
9852 (grub_dl_head): New variable declaration.
9853 (FOR_DL_MODULES): New macro.
9854 * include/grub/fs.h: Include list.h.
9855 (grub_fs): Make next first element.
9856 (grub_fs_list): New variable declaration.
9857 (grub_fs_register): Make inline.
9858 (grub_fs_unregister): Likewise.
9859 (grub_fs_iterate): Removed.
9860 (FOR_FILESYSTEMS): New macro.
9861 * include/grub/handler.h: Removed.
9862 * include/grub/list.h (grub_list_hook_t): Removed.
9863 (grub_list_test_t): Likewise.
9864 (grub_list_pop): Likewise.
9865 (grub_list_iterate): Likewise.
9866 (grub_list_insert): Likewise.
9867 (FOR_LIST_ELEMENTS): New macro.
9868 * include/grub/parser.h (grub_parser_class): Removed.
9869 (grub_parser_register): Likewise.
9870 (grub_parser_unregister): Likewise.
9871 (grub_parser_get_current): Likewise.
9872 (grub_parser_set_current): Likewise.
9873 (grub_register_rescue_parser): Likewise.
9874 (grub_rescue_parse_line): New function.
9875 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
9876 * include/grub/script_sh.h (grub_script_function_list): New variable
9878 (FOR_SCRIPT_FUNCTIONS): New macro.
9879 (grub_script_function_iterate): Removed.
9880 (grub_normal_parse_line): New prototype.
9881 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
9882 (FOR_DISABLED_TERM_INPUTS): Likewise.
9883 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9884 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9885 * include/grub/video.h (grub_video_adapter): Move 'next' to first
9887 (grub_video_register): Inline.
9888 (grub_video_unregister): Likewise.
9889 (grub_video_adapter_list): New variable declaration.
9890 (grub_video_iterate): Removed.
9891 (FOR_VIDEO_ADAPTERS): New macro.
9892 * kern/dl.c (grub_dl_list): Removed. All users updated.
9893 (grub_dl_iterate): Removed.
9894 * kern/fs.c (grub_fs_list): Make global.
9895 (grub_fs_register): Removed.
9896 (grub_fs_unregister): Likewise.
9897 (grub_fs_iterate): Likewise.
9898 * kern/handler.c: Removed.
9899 * kern/list.c (grub_list_pop): Removed.
9900 (grub_list_iterate): Likewise.
9901 (grub_list_insert): Likewise.
9902 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
9903 (grub_prio_list_insert): Don't use grub_list_insert.
9904 * kern/main.c (grub_register_rescue_parser): Don't call
9905 grub_register_rescue_parser.
9906 * kern/parser.c (grub_parser_class): Removed.
9907 (grub_parser_execute): Use grub_rescue_parse_line.
9908 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
9909 (grub_rescue_parser): Removed.
9910 (grub_register_rescue_parser): Likewise.
9911 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
9912 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
9913 (grub_auth_check_authentication): Likewise.
9914 * normal/completion.c (iterate_command): Removed.
9915 (grub_normal_do_completion): Use FOR_COMMANDS.
9916 * normal/handler.c: Removed.
9917 * normal/main.c (read_config_file): Remove parser changing.
9918 (grub_normal_execute): Don't call read_handler_list.
9919 (grub_normal_read_line_real): Statically allocate prompt.
9920 (grub_cmdline_run): Use grub_normal_parse_line.
9921 (GRUB_MOD_FINI): Don't call free_handler_list.
9922 * normal/menu_entry.c (run): Likewise.
9923 * script/function.c (grub_script_function_list): Make global.
9924 (grub_script_function_iterate): Removed.
9925 * script/main.c (grub_normal_parse_line): Make global.
9926 (grub_sh_parser): Removed.
9927 (GRUB_MOD_INIT): Likewise.
9928 (GRUB_MOD_FINI): Likewise.
9929 * tests/lib/functional_test.c (grub_functional_test): Use
9931 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
9932 (grub_test_run): Use FOR_LIST_ELEMENTS.
9933 * tests/lib/unit_test.c (main): Likewise.
9934 * util/deviceiter.c (grub_util_iterate_devices): Don't use
9936 * util/grub-fstest.c (grub_term_input_class): Removed.
9937 (grub_term_output_class): Likewise.
9938 * util/grub-probe.c: Likewise.
9939 * util/i386/pc/grub-setup.c: Likewise.
9940 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9941 * util/grub-script-check.c (main): Don't call grub_init_all and
9943 * video/video.c (grub_video_adapter_list): Make global.
9944 (grub_video_register): Removed.
9945 (grub_video_unregister): Likewise.
9946 (grub_video_iterate): Likewise.
9948 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9950 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
9951 reported by Henrique Ferreiro.
9953 2010-06-09 Robert Millan <rmh@gnu.org>
9955 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
9956 ones, when both are available.
9958 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9960 Make --version uniform and avoid hard-coded program name.
9962 * util/grub-mkimage.c (main): Use `program_name' instead of
9964 * util/i386/pc/grub-setup.c (main): Likewise.
9965 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
9966 * util/grub-install.in: Save the basename of $0 in $self, and use the
9967 latter in informational messages. Use the same format for --version
9968 as the binary programs.
9969 * util/grub-mkconfig.in: Likewise.
9970 * util/grub-mkrescue.in: Likewise.
9971 * util/grub-reboot.in: Likewise.
9972 * util/grub-set-default.in: Likewise.
9973 * util/i386/efi/grub-install.in: Likewise.
9974 * util/ieee1275/grub-install.in: Likewise.
9975 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9977 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9979 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
9980 embedding area. Use <= instead of == when checking for non-emptiness.
9982 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9984 * configure.ac: Add `.' to the directories searched for unifont.
9986 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
9988 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
9991 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
9993 * docs/grub.texi (History): Expand to cover GRUB 2.
9994 (Serial terminal): Refer to `terminal_input' and `terminal_output'
9995 commands, not `terminal'.
9997 (terminal_input): New section.
9998 (terminal_output): New section.
9999 (uppermem): New section (stub).
10000 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
10002 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
10004 * docs/grub.texi (Security): Menu entries are unrestricted by
10005 default, not restricted to superusers as I had previously thought.
10006 Reword to account for this.
10008 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10010 * kern/emu/misc.c (device_mapper_null_log): New function.
10011 (grub_device_mapper_supported): New function.
10012 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
10014 * kern/emu/hostdisk.c (find_partition_start): Check whether
10015 device-mapper is supported before trying to use it.
10016 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
10018 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10020 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
10021 (File name syntax): Likewise.
10022 (help): --all is no longer supported in GRUB 2. Be more precise
10023 about pattern matching.
10025 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10027 * normal/completion.c (grub_normal_do_completion): When completing
10028 arguments to "set" and the current word contains an equals sign,
10029 skip to after the equals sign before starting completion.
10031 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10033 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
10035 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10037 * docs/grub.texi (Network): New section.
10038 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
10039 `(nd)' as in GRUB Legacy.
10040 (pxe_unload): New section.
10042 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10044 * docs/grub.texi (Troubleshooting): `echo' is not usually available
10045 in the rescue shell, so recommend using `set' instead. Thanks,
10048 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10050 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
10051 (password): New section.
10052 (password_pbkdf2): New section.
10053 (search): New section.
10054 (Security): New section.
10055 (Troubleshooting): New section, currently very incomplete.
10056 (Invoking grub-mkpasswd-pbkdf2): New section.
10057 (Internals): New section, currently very incomplete.
10059 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10061 * util/grub.d/00_header.in: Add some more quoting (of
10062 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
10064 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
10066 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10068 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
10069 to `count', fixing variable shadowing that broke the -c option.
10071 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
10073 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
10074 in case they contain spaces.
10076 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
10078 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
10079 "part_" to partmap module names, in line with grub-install.
10080 Reported by: Jindřich Makovička (Debian bug #584426).
10082 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
10084 * util/grub-mkimage.c: Make target-related error messages slightly
10085 more helpful; -O talks about "format". Explicitly point to the use
10086 of -O if no target is specified.
10087 Reported by: Didier Raboud (Debian bug #584415).
10089 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
10091 * INSTALL: Document several build requirements for optional features
10092 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
10094 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10096 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
10097 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
10098 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
10100 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10102 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
10103 Thanks to Jordan Uggla for spotting this.
10105 2010-06-02 Aleš Nesrsta <starous@volny.cz>
10107 Finally make USB usable.
10109 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
10110 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
10111 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
10112 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
10113 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
10114 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
10115 (GRUB_OHCI_FSMPS): Likewise.
10116 (GRUB_OHCI_PERIODIC_START): Likewise.
10117 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
10118 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
10119 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
10120 (GRUB_OHCI_SET_PORT_RESET): Likewise.
10121 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
10122 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
10123 (grub_ohci_transaction): Likewise.
10124 (grub_ohci_transfer): Improve condition detection algorithms.
10125 Handle toggle property. Program the transactions correctly.
10126 Improve error handling. Various important fixups.
10127 (grub_ohci_portstatus): Put register writes in right order.
10128 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
10129 (grub_uhci_transfer): Don't show "failed" message on success.
10130 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
10132 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
10133 determine its size.
10134 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
10135 before initialization is completed. Use IN direction for empty
10136 transfers. Use last_trans and compute toggle.
10137 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
10138 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
10139 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
10140 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
10141 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
10142 (grub_usb_device): Increase toggle to 256.
10143 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
10144 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
10145 GRUB_USBMS_SUBCLASS_SFF8070.
10146 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
10147 (grub_scsi_inquiry): New member page and alloc_length.
10148 (grub_scsi_request_sense): New structure.
10149 (grub_scsi_request_sense_data): Likewise.
10150 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
10152 * disk/scsi.c (grub_scsi_request_sense): New function.
10153 (grub_scsi_test_unit_ready): Likewise.
10154 (grub_scsi_inquiry): Fill new fields.
10155 (grub_scsi_read_capacity): Likewise.
10156 (grub_scsi_read10): Add request sense at the end.
10157 (grub_scsi_read12): Likewise.
10158 (grub_scsi_write10): Likewise.
10159 (grub_scsi_write12): Likewise.
10160 (grub_scsi_open): Add Test Unit Ready.
10161 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
10162 Support additional subclasses. Con't clear halt yet. Activate the
10163 proper config. Calculate LUNs correctly.
10164 (grub_usbms_transfer): Various important fixups.
10166 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10168 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
10169 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
10170 (grub_ohci_fini_hw): New function.
10171 (grub_ohci_restore_hw): Likewise.
10172 (GRUB_MOD_INIT(ohci)): Register preboot hook.
10173 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
10174 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
10176 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10178 Dedicated DMA allocations.
10180 * bus/pci.c (grub_memalign_dma32): New function
10181 (grub_dma_free): Likewise.
10182 (grub_dma_get_virt): Likewise.
10183 (grub_dma_get_phys): Likewise.
10184 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
10185 (grub_ohci_pci_iter): Use dma32_alloc.
10186 (grub_ohci_transfer): Likewise.
10187 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10188 (grub_usb_bulk_readwrite): Likewise.
10189 * include/grub/pci.h: Add declarations.
10191 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10195 * bus/cs5536.c: New file.
10196 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
10197 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
10198 (cs5536_mod_SOURCES): New variable.
10199 (cs5536_mod_CFLAGS): Likewise.
10200 (cs5536_mod_LDFLAGS): Likewise.
10201 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
10203 (kernel_img_SOURCES): Add bus/cs5536.c.
10204 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
10206 (usb_mod_SOURCES): New variable.
10207 (usb_mod_CFLAGS): New variable.
10208 (usb_mod_LDFLAGS): New variable.
10209 (usbtest_mod_SOURCES): New variable.
10210 (usbtest_mod_CFLAGS): New variable.
10211 (usbtest_mod_LDFLAGS): New variable.
10212 (ohci_mod_SOURCES): New variable.
10213 (ohci_mod_CFLAGS): New variable.
10214 (ohci_mod_LDFLAGS): New variable.
10215 (usbms_mod_SOURCES): New variable.
10216 (usbms_mod_CFLAGS): New variable.
10217 (usbms_mod_LDFLAGS): New variable.
10218 (usb_keyboard_mod_SOURCES): New variable.
10219 (usb_keyboard_mod_CFLAGS): New variable.
10220 (usb_keyboard_mod_LDFLAGS): New variable.
10221 * include/grub/smbus.h: New file.
10222 * include/grub/cs5536.h: New file.
10224 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10226 * util/grub.d/00_header.in: Add safety check to make sure that
10227 ${locale_dir} exists before trying to probe it.
10229 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10231 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
10232 per the GNU Coding Standards; this is now too obscure to be worth
10235 (chainloader): Remove cross-reference to `SCO UnixWare'.
10237 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10239 * docs/grub.texi (Chain-loading): New section.
10240 (DOS/Windows): New section, borrowed from GRUB Legacy with details
10241 adjusted for GRUB 2.
10242 (SCO UnixWare): Likewise.
10244 (chainloader): Add reference to `Block list syntax'.
10245 (drivemap): New section.
10246 (parttool): New section.
10248 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10250 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
10252 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
10253 (Installing GRUB using grub-install): Remove reference to the grub
10254 shell; mention `grub-mkimage' and `grub-setup' instead.
10255 (Invoking grub-install): Likewise.
10256 (Interface): Add reference to `Menu entry editor'.
10257 (serial): Remove `--device' option.
10259 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10261 * docs/grub.texi (Configuration): New section, documenting
10262 configuration file generation using grub-mkconfig. I've left a slot
10263 for documenting the full shell scripting format but have not yet
10264 started on writing that up.
10265 (Invoking grub-mkconfig): New section.
10267 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10269 * docs/grub.texi (direntry): Remove grub-terminfo reference.
10270 (GNU GRUB manual): Likewise.
10271 (General commands): Update description of `terminfo' for GRUB 2.
10273 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10275 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
10276 (GRUB_MOD_INIT): Fix capitalisation.
10277 * docs/grub.texi (Command-line and menu entry commands): Document
10278 gettext and gptsync commands.
10280 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10282 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
10283 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
10285 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
10287 Add btrfs probing support, currently only in the single-device case.
10289 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
10291 (grub_guess_root_device): Call find_root_device_from_mountinfo
10292 before looking in /dev.
10294 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10296 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
10297 GRUB_DISK_SIZE_UNKNOWN.
10298 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
10300 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
10302 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
10303 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
10304 corrupted or not synced properly.
10306 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10308 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
10309 Reported by: Seth Goldberg.
10311 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10313 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
10315 Reported by: Seth Goldberg.
10317 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10319 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
10320 Reported by: Seth Goldberg.
10322 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10324 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
10325 64-bit address as signed on MIPS.
10327 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
10329 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
10330 to the empty string.
10332 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
10334 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
10336 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
10337 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
10338 * kern/misc.c (__enable_execute_stack): Disable on
10341 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
10343 Make grub-probe work with symbolic links under /dev/mapper as well
10344 as with real block devices. The Linux world seems to be (at best)
10345 in transition here, and GRUB shouldn't get caught in the middle.
10347 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
10350 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10352 * util/grub-script-check.c (main): Ensure defined behaviour on empty
10353 input files (in which case exit zero).
10355 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10357 * kern/emu/misc.c (canonicalize_file_name): realpath can still
10358 return NULL for various reasons even if it has a maximum-length
10359 buffer: for example, there might be a symlink loop, or the path
10360 might exceed PATH_MAX. If this happens, return NULL.
10362 2010-05-27 Robert Millan <rmh@gnu.org>
10364 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
10365 partmap module to handle cross-partmap setups.
10366 Reported by Orestes Mas. Gràcies!
10368 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10370 * util/grub-mkrescue.in: Initialise override_dir rather than
10371 assuming that it's unset or empty in the environment.
10373 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
10375 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
10376 variable index into p_index to suppress a warning with -Wshadow.
10378 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
10380 * INSTALL: Added flex >= 2.5.35 requirement.
10382 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10384 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
10386 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10390 * commands/i386/cmostest.c: New file.
10391 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
10392 (cmostest_mod_SOURCES): New variable.
10393 (cmostest_mod_CFLAGS): Likewise.
10394 (cmostest_mod_LDFLAGS): Likewise.
10395 * conf/i386-pc.rmk: Likewise.
10396 * docs/grub.texi (Vendor power-on keys): New section.
10397 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
10398 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
10399 and GRUB_BUTTON_CMOS_ADDRESS.
10400 * util/grub.d/00_header.in: Handle powering-on by separate button.
10402 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10404 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
10405 Removed drawing_scrollbar argument. All users updated
10407 Reported by Jo Shields
10409 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10411 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
10412 buffer since gfxterm handles double repaint.
10414 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10416 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
10417 * term/gfxterm.c (real_scroll): Likewise.
10419 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10421 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
10422 before calling BIOS.
10424 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10426 * include/grub/i18n.h: Always enable grub_gettext.
10428 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10430 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
10431 partition naming style.
10433 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
10435 * util/grub-mkconfig.in: Fix handling of -o so that it works when
10436 not the first option.
10438 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
10440 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
10442 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
10444 * util/misc.c: Move inclusion of <limits.h> to ...
10445 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
10447 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
10449 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
10450 Fix merge error in NetBSD code.
10451 (find_partition_start) [__NetBSD__]: Likewise.
10453 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
10455 Fix grub-mkrescue usage unit testing.
10457 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
10459 2010-05-18 Christian Franke <franke@computer.org>
10461 * util/grub.d/10_windows.in: Use path names instead of
10462 drive letters to prevent warning from Cygwin 1.7.
10463 Add drivemap command to menuentry if needed.
10465 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
10467 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
10468 gnumach and gnumach.gz.
10470 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10472 * include/grub/i18n.h (gettext): Inline instead of using #define.
10473 (grub_gettext): Likewise.
10476 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10478 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
10479 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
10480 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
10481 (main): Add a slash after pkglibdirroot.
10483 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10485 * util/grub-install.in: Add missing "in" keyword.
10487 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10489 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
10490 Reported by: Seth Goldberg.
10492 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10494 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
10496 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10498 * configure.ac: Check for Linux device-mapper support.
10500 * util/hostdisk.c (device_is_mapped): New function.
10501 (find_partition_start): New function, partly broken out from
10502 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
10503 device-mapper support added.
10504 (linux_find_partition): Use find_partition_start.
10505 (convert_system_partition_to_system_disk): Add `st' argument.
10506 Support Linux /dev/mapper/* devices if device-mapper support is
10507 available; only DM-RAID devices are understood at present.
10508 (find_system_device): Add `st' argument. Pass it to
10509 convert_system_partition_to_system_disk.
10510 (grub_util_biosdisk_get_grub_dev): Pass stat result to
10511 find_system_device and convert_system_partition_to_system_disk. Use
10512 find_partition_start.
10514 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
10515 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
10516 * util/deviceiter.c [__linux__]: Define MINOR.
10517 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
10518 * util/mkdevicemap.c (grub_putchar): New function.
10519 (grub_getkey): New function.
10520 (grub_refresh): New function.
10521 (main): Set debug=all if -v -v is used.
10523 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10525 Fix build with non-GNU libcs.
10527 * util/misc.c (canonicalize_file_name): Move to ...
10528 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
10529 grub_make_system_path_relative_to_its_root.
10531 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10533 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
10534 we handle finding grub-mkimage. Default to finding grub-mkimage in
10535 ${bindir} with program_transform_name applied, and provide a
10536 --grub-mkimage option to override this.
10538 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10540 Remove grub-mkisofs.
10542 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
10543 (grub_mkisofs_SOURCES): Removed.
10544 (grub_mkisofs_CFLAGS): Removed.
10545 * util/mkisofs/defaults.h: Removed.
10546 * util/mkisofs/eltorito.c: Likewise.
10547 * util/mkisofs/exclude.h: Likewise.
10548 * util/mkisofs/hash.c: Likewise.
10549 * util/mkisofs/include/: Likewise.
10550 * util/mkisofs/include/fctldefs.h: Likewise.
10551 * util/mkisofs/include/mconfig.h: Likewise.
10552 * util/mkisofs/include/prototyp.h: Likewise.
10553 * util/mkisofs/include/statdefs.h: Likewise.
10554 * util/mkisofs/iso9660.h: Likewise.
10555 * util/mkisofs/joliet.c: Likewise.
10556 * util/mkisofs/match.c: Likewise.
10557 * util/mkisofs/match.h: Likewise.
10558 * util/mkisofs/mkisofs.c: Likewise.
10559 * util/mkisofs/mkisofs.h: Likewise.
10560 * util/mkisofs/msdos_partition.h: Likewise.
10561 * util/mkisofs/multi.c: Likewise.
10562 * util/mkisofs/name.c: Likewise.
10563 * util/mkisofs/rock.c: Likewise.
10564 * util/mkisofs/tree.c: Likewise.
10565 * util/mkisofs/write.c: Likewise.
10567 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10569 Unify grub-mkimage accross platforms.
10571 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
10572 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
10573 (grub_mkelfimage_SOURCES): Removed.
10574 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
10575 (util/grub-mkimage.c_DEPENDENCIES): .. this.
10576 (bin_UTILITIES): Add grub-mkimage.
10577 (grub_mkimage_SOURCES): New variable.
10578 (kernel_img_HEADERS): Remove machine/kernel.h.
10579 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
10580 (pkglib_PROGRAMS): Add kernel.img.
10581 (kernel_img_HEADERS): Add machine/kernel.h.
10582 (kernel_img_FORMAT): Removed.
10583 (bin_UTILITIES): Remove grub-mkimage.
10584 (grub_mkimage_SOURCES): Removed.
10585 (grub_mkimage_CFLAGS): Likewise.
10586 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10587 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
10588 (pkglib_PROGRAMS): Add kernel.img.
10589 (bin_UTILITIES): Remove grub-mkimage.
10590 (grub_mkimage_SOURCES): Removed.
10591 (grub_mkimage_CFLAGS): Likewise.
10592 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10593 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
10594 (pkglib_PROGRAMS): Add kernel.img.
10595 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
10596 (pkglib_PROGRAMS): Add kernel.img.
10597 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
10598 (grub_mkimage_SOURCES): Removed.
10599 (grub_mkimage_CFLAGS): Likewise.
10600 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10601 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
10602 (pkglib_PROGRAMS): Add kernel.img.
10603 (bin_UTILITIES): Remove grub-mkimage.
10604 (grub_mkimage_SOURCES): Removed.
10605 (grub_mkimage_CFLAGS): Likewise.
10606 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10607 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
10608 (grub_mkimage_SOURCES): Removed.
10609 (grub_mkimage_CFLAGS): Likewise.
10610 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10611 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
10612 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
10613 (grub_pe32_optional_header): ... this.
10614 (grub_pe64_optional_header): ... and this. All users updated.
10615 (GRUB_PE32_PE32_MAGIC): Split into ..
10616 (GRUB_PE32_PE32_MAGIC): .. this.
10617 (GRUB_PE32_PE64_MAGIC): .. and this.
10618 (GRUB_PE32_SIGNATURE_SIZE): New definition.
10619 * include/grub/elf.h (PT_GNU_STACK): New definition.
10620 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
10621 * include/grub/i386/efi/kernel.h: Likewise.
10622 * include/grub/i386/kernel.h: Likewise.
10623 * include/grub/i386/pc/kernel.h: Likewise.
10624 * include/grub/i386/qemu/boot.h: Likewise.
10625 * include/grub/mips/kernel.h: Likewise.
10626 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10627 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
10628 * include/grub/powerpc/kernel.h: Likewise.
10629 * include/grub/sparc64/ieee1275/boot.h: Likewise.
10630 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
10631 * include/grub/sparc64/kernel.h: Likewise.
10632 * include/grub/x86_64/efi/kernel.h: Likewise.
10633 * include/grub/x86_64/kernel.h: Likewise.
10634 * include/grub/offsets.h: New file.
10635 * include/grub/kernel.h (grub_module_info): Split into ...
10636 (grub_module_info32): ... this.
10637 (grub_module_info64): ... and this.
10638 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
10639 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
10640 (grub_boot_blocklist): Moved from here ...
10641 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
10642 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
10643 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
10644 * include/grub/types.h (grub_target_to_host16): Removed.
10645 (grub_target_to_host32): Likewise.
10646 (grub_target_to_host64): Likewise.
10647 (grub_host_to_target16): Likewise.
10648 (grub_host_to_target32): Likewise.
10649 (grub_host_to_target64): Likewise.
10650 (grub_host_to_target_addr): Likewise.
10652 Support grub-mkrescue for efi, coreboot and qemu.
10654 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
10655 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
10656 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
10657 * util/grub-mkrawimage.c: Moved from here ...
10658 * util/grub-mkimage.c: ... here. All users updated.
10659 (ALIGN_ADDR): Use image_target.
10660 (TARGET_NO_FIELD): New const.
10661 (image_target_desc): New type.
10662 (image_targets): New array.
10663 (grub_target_to_host64): Use image_target.
10664 (grub_target_to_host32): Likewise.
10665 (grub_target_to_host16): Likewise.
10666 (grub_host_to_target64): Likewise.
10667 (grub_host_to_target32): Likewise.
10668 (grub_host_to_target16): Likewise.
10669 (grub_host_to_target_addr): Likewise.
10670 (generate_image): Handle multiimage.
10671 (main): Require -O parameter. All users updated.
10672 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
10673 util/efi/grub-mkimage.c
10674 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
10675 New option --rom-directory.
10677 * util/i386/efi/grub-mkimage.c: Removed.
10678 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
10679 (grub_target_to_host32): Likewise.
10680 (grub_target_to_host64): Likewise.
10681 (grub_host_to_target16): Likewise.
10682 (grub_host_to_target32): Likewise.
10683 (grub_host_to_target64): Likewise.
10684 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
10685 (grub_target_to_host32): Likewise.
10686 (grub_target_to_host64): Likewise.
10687 (grub_host_to_target16): Likewise.
10688 (grub_host_to_target32): Likewise.
10689 (grub_host_to_target64): Likewise.
10691 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
10693 Source tree is reorganized for emu build.
10695 * include/grub/util/console.h: Move from here...
10696 * include/grub/emu/console.h: ...to here.
10697 * include/grub/util/getroot.h: Move from here...
10698 * include/grub/emu/getroot.h: ...to here.
10699 * include/grub/util/hostdisk.h: Move from here...
10700 * include/grub/emu/hostdisk.h: ...to here.
10701 * util/console.c: Move from here...
10702 * kern/emu/console.c: ...to here.
10703 * util/getroot.c: Move from here...
10704 * kern/emu/getroot.c: ...to here.
10705 * util/grub-emu.c: Move from here...
10706 * kern/emu/main.c: ...to here.
10707 * util/hostdisk.c: Move from here...
10708 * kern/emu/hostdisk.c: ...to here.
10709 * util/hostfs.c: Move from here...
10710 * kern/emu/hostfs.c: ...to here.
10711 * util/mm.c: Move from here...
10712 * kern/emu/mm.c: ...to here.
10713 * util/pci.c: Move from here...
10714 * bus/emu/pci.c: ...to here.
10715 * util/sdl.c: Move from here...
10716 * video/emu/sdl.c: ...to here.
10717 * util/time.c: Move from here...
10718 * kern/emu/time.c: ...to here.
10719 * util/usb.c: Move from here...
10720 * bus/usb/emu/usb.c: ...to here.
10722 * include/grub/emu/misc.h: New header for grub-emu functions.
10723 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
10725 * conf/any-emu.rmk: Rule updates for above renames.
10726 * conf/common.rmk: Likewise.
10727 * conf/i386-pc.rmk: Likewise.
10728 * conf/i386-qemu.rmk: Likewise.
10729 * conf/mips.rmk: Likewise.
10730 * conf/sparc64-ieee1275.rmk: Likewise.
10731 * conf/x86-efi.rmk: Likewise.
10733 * disk/lvm.h: #include updates for above renames.
10734 * util/grub-mkrelpath.c: Likewise.
10735 * util/grub-probe.c: Likewise.
10736 * util/i386/pc/grub-setup.c: Likewise.
10737 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10738 * kern/emu/console.c: Likewise.
10739 * kern/emu/getroot.c: Likewise.
10740 * kern/emu/hostdisk.c: Likewise.
10741 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
10743 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
10744 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
10745 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
10746 * util/misc.c: Remove grub-emu functions.
10748 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10751 Reported by: Thorsten Grützmacher.
10753 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
10755 (circprog_set_property): Register and unregister timeout hook.
10756 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
10757 (label_destroy): Free template. and unregister hook.
10758 (label_set_state): New function.
10759 (label_set_property): Handle templates and hooks.
10760 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
10762 (progress_bar_set_property): Register and unregister timeout hook.
10763 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
10764 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
10765 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
10766 (update_timeout_visit): Removed.
10767 (update_timeouts): New function.
10768 (redraw_timeouts): Likewise.
10769 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
10770 (grub_gfxmenu_clear_timeout): Likewise.
10771 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
10772 (grub_gfxmenu_timeout_notify): Likewise.
10773 (grub_gfxmenu_timeout_notifications): New external variable.
10774 (grub_gfxmenu_timeout_register): New function.
10775 (grub_gfxmenu_timeout_unregister): Likewise.
10777 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10779 Transform (broken) vga terminal into (working) vga video driver.
10781 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
10782 video/i386/pc/vga.c.
10783 * include/grub/video.h (grub_video_driver_id):
10784 Add GRUB_VIDEO_DRIVER_VGA.
10785 * term/i386/pc/vga.c: Renamed to ...
10786 * video/i386/pc/vga.c: ...this
10787 (DEBUG_VGA): Removed.
10788 (CHAR_WIDTH): Likewise.
10789 (CHAR_HEIGHT): Likewise.
10790 (TEXT_WIDTH): Likewise.
10791 (TEXT_HEIGHT): Likewise.
10792 (DEFAULT_FG_COLOR): Likewise.
10793 (DEFAULT_BG_COLOR): Likewise.
10794 (colored_char): Likewise.
10797 (cursor_state): Likewise.
10798 (fg_color): Likewise.
10799 (bg_color): Likewise.
10800 (text_buf): Likewise.
10803 (framebuffer): New variable.
10804 (set_read_map): Disabled.
10805 (setup): New variable.
10806 (is_target): Likewise.
10807 (grub_vga_mod_init): Likewise.
10808 (grub_vga_mod_fini): Likewise.
10809 (check_vga_mem): Likewise.
10810 (write_char): Likewise.
10811 (write_cursor): Likewise.
10812 (scroll_up): Likewise.
10813 (grub_vga_putchar): Likewise.
10814 (grub_vga_getcharwidth): Likewise.
10815 (grub_vga_getwh): Likewise.
10816 (grub_vga_getxy): Likewise.
10817 (grub_vga_gotoxy): Likewise.
10818 (grub_vga_cls): Likewise.
10819 (grub_vga_setcolorstate): Likewise.
10820 (grub_vga_setcursor): Likewise.
10821 (grub_video_vga_init): New function.
10822 (grub_video_vga_setup): Likewise.
10823 (grub_video_vga_fini): Likewise.
10824 (update_target): Likewise.
10825 (grub_video_vga_blit_bitmap): Likewise.
10826 (grub_video_vga_blit_render_target): Likewise.
10827 (grub_video_vga_set_active_render_target): Likewise.
10828 (grub_video_vga_get_active_render_target): Likewise.
10829 (grub_video_vga_swap_buffers): Likewise.
10830 (grub_video_vga_set_palette): Likewise.
10831 (grub_video_vga_get_info_and_fini): Likewise.
10832 (grub_vga_term): Removed.
10833 (grub_video_vga_adapter): New variable.
10834 (GRUB_MOD_INIT): Register a video driver instead of terminal.
10835 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
10837 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10839 * video/readers/jpeg.c: Indented.
10841 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10843 Various jpeg cleanups.
10845 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
10846 (grub_jpeg_decode_quan_table): Use sizeof.
10847 (grub_jpeg_decode_du): Use ARRAY_SIZE.
10849 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
10851 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
10852 tables. Ignore non-last ac bit.
10853 (grub_jpeg_decode_quan_table): Likewise.
10855 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10857 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
10858 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
10859 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10860 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
10861 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
10862 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
10864 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10866 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
10869 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10871 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
10873 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10875 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
10878 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10880 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
10883 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10885 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
10888 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10890 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
10892 2010-05-01 Christian Franke <franke@computer.org>
10894 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
10895 Remove broken Cygwin path conversion.
10896 * util/misc.c: [__CYGWIN__] Add include and define.
10897 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
10899 (make_system_path_relative_to_its_root): Simplify loop, replace early
10901 [__CYGWIN__] Add conversion to win32 path.
10902 Include "/" case in trailing slash removal.
10904 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10906 * kern/main.c (grub_load_config): Fix copy-pasted comment.
10907 Reported by: Seth Goldberg
10909 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10911 * commands/help.c (grub_cmd_help): Fix a typo.
10912 Reported by: Seth Goldberg
10914 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10916 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
10918 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
10919 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
10920 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
10921 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
10922 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
10923 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
10924 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10925 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10926 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10927 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10928 * normal/context.c (GRUB_MOD_INIT): Likewise.
10929 * normal/main.c (GRUB_MOD_INIT): Likewise.
10930 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10931 * term/serial.c (GRUB_MOD_INIT): Likewise.
10932 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10934 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10936 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
10939 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10941 * commands/iorw.c: New file.
10942 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
10943 (iorw_mod_SOURCES): New variable.
10944 (iorw_mod_CFLAGS): Likewise.
10945 (iorw_mod_LDFLAGS): Likewise.
10947 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10951 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
10952 * normal/main.c (hotkey_aliases): New variable.
10953 (grub_normal_add_menu_entry): Parse "--hotkey".
10954 * normal/menu_text.c (run_menu): Handle hotkeys.
10956 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10958 * kern/i386/coreboot/init.c (grub_machine_init): Call
10959 grub_machine_mmap_init on qemu.
10961 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10963 * boot/i386/qemu/boot.S: Add a missing .code16.
10965 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10967 Use LBIO on coreboot.
10969 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
10970 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
10971 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
10973 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
10974 grub_machine_mmap_init on coreboot.
10975 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
10976 GRUB_LINUXBIOS_MEMBER_LINK.
10977 (grub_machine_mmap_iterate): Fix declaration.
10978 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
10980 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10982 Split coreboot and multiboot ports.
10984 * conf/i386-multiboot.rmk: New file.
10985 * configure.ac: Add multiboot port.
10986 * include/grub/i386/multiboot/boot.h: New file.
10987 * include/grub/i386/multiboot/console.h: Likewise.
10988 * include/grub/i386/multiboot/init.h: Likewise.
10989 * include/grub/i386/multiboot/kernel.h: Likewise.
10990 * include/grub/i386/multiboot/loader.h: Likewise.
10991 * include/grub/i386/multiboot/memory.h: Likewise.
10992 * include/grub/i386/multiboot/serial.h: Likewise.
10993 * include/grub/i386/multiboot/time.h: Likewise.
10994 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
10995 * loader/multiboot.c: Likewise.
10996 * loader/multiboot_mbi2.c: Likewise.
10997 * util/grub-mkrescue.in: Generate multiboot rescue.
10999 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11001 * kern/parser.c (grub_parser_execute): Cope with read-only config.
11003 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11005 Merge handling of input and output terminals. Fix a hang.
11007 * commands/terminal.c (abstract_terminal): New struct.
11008 (handle_command): New function. Based on grub_cmd_terminal_input.
11009 (grub_cmd_terminal_input): Use handle_command.
11010 (grub_cmd_terminal_output): Use handle_command.
11012 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
11014 Fix comment handling.
11016 * tests/grub_script_comments.in: New testcase.
11017 * conf/tests.rmk: Rules for new testcase.
11018 * script/yylex.l: Updated flex rules.
11020 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
11022 * docs/grub.texi (play): Document that zero pitches produce rests.
11023 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
11026 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11028 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
11031 2010-04-26 Christian Franke <franke@computer.org>
11033 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
11034 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
11035 (grub_get_prefix): Remove function.
11036 * util/grub-emu.c (main): Replace grub_get_prefix () call by
11037 make_system_path_relative_to_its_root ().
11038 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11040 2010-04-24 Christian Franke <franke@computer.org>
11042 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
11043 (kernel_img_LDFLAGS): Remove -static-libgcc.
11045 2010-04-24 Christian Franke <franke@computer.org>
11047 * configure.ac: Do not CHECK_BSS_START_SYMBOL
11048 and CHECK_END_SYMBOL if grub-emu is built.
11049 Unset TARGET_OBJ2ELF if grub-emu is built
11050 without module support.
11052 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
11056 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
11057 (grub_fstest_SOURCES): Likewise.
11058 (pkglib_MODULES): Add nilfs2.mod.
11059 (nilfs2_mod_SOURCES): New variable.
11060 (nilfs2_mod_CFLAGS): Likewise.
11061 (nilfs2_mod_LDFLAGS): Likewise.
11062 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11063 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11064 * fs/nilfs2.c: New file.
11066 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
11068 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
11071 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
11073 Add grub-mkconfig support for NetBSD.
11075 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
11076 * util/grub-mkconfig.in: export new NetBSD specific variables.
11077 * po/POTFILES-shell: added 10_netbsd.in.
11078 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
11080 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
11082 Fix emu build with grub-emu-pci and grub-emu-modules.
11084 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
11086 * include/grub/libpciaccess.h: New file.
11087 * conf/any-emu.rmk: Update kernel headers for emu build.
11089 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11091 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
11093 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11095 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
11097 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11099 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
11100 Retrieve chosen/bootpath if bootpath isn't hardcoded.
11101 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
11102 util/ieee1275/ofpath.c.
11103 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
11104 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
11105 * include/grub/sparc64/ieee1275/boot.h
11106 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
11107 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
11108 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
11109 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
11111 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
11112 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
11113 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
11116 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11118 * util/grub-mkconfig.in: Corrected two == equality tests.
11119 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
11120 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
11121 expect a number appended to it.
11122 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
11123 expects a number appended to it.
11125 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11127 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
11129 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11131 * util/hostdisk.c (make_device_name): Change to new partition naming.
11133 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11135 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
11137 2010-04-17 Christian Franke <franke@computer.org>
11139 * Makefile.in: Add missing localedir setting.
11141 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
11143 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
11144 mistake in r2156. Noticed by Anthony Fok.
11146 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
11148 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11150 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
11152 Fix a spurious, uninitialized variable warning.
11154 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
11155 Initialize variable, shdr.
11156 (grub_freebsd_load_elfmodule): Likewise.
11157 (grub_freebsd_load_elf_meta): Likewise.
11159 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
11161 Fix for escaped dollar in double quoted strings.
11163 * script/yylex.l: Updated flex rules.
11164 * conf/tests.rmk: Rule for new testcase.
11165 * tests/grub_script_dollar.in: New testcase.
11167 2010-04-13 Carles Pina i Estany <carles@pina.cat>
11168 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
11170 Enclose all translated strings in grub.cfg in single quotes, and
11171 escape them appropriately (Ubuntu bug #552921).
11173 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
11174 * util/grub.d/10_hurd.in: Use it.
11175 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11176 * util/grub.d/10_linux.in (linux_entry): Likewise.
11178 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11180 Fix cygwin compilation.
11182 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
11183 * include/grub/misc.h (__register_frame_info)
11184 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
11185 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11186 * kern/misc.c (__register_frame_info)
11187 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
11188 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11190 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11192 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
11194 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11196 Unify libgcc processing.
11198 * Makefile.in (kernel_img_LDFLAGS): New variable.
11199 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
11200 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
11202 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
11203 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
11204 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
11205 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
11206 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
11207 overwriting. Remove -lgcc and -static-libgcc
11208 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
11209 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11210 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11211 (kernel_img_LDFLAGS): Append instead of overwriting.
11212 Remove -lgcc and -static-libgcc
11213 * conf/sparc64-ieee1275.rmk: Likewise.
11214 * include/grub/powerpc/libgcc.h: Move to ...
11215 * include/grub/libgcc.h: .. this.
11216 * include/grub/libgcc.h: Don't export most of the function on x86.
11217 (__bswapsi2): New export.
11218 (__bswapdi2): Likewise.
11219 * include/grub/mips/libgcc.h: Removed.
11220 * include/grub/sparc64/libgcc.h: Likewise.
11222 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11224 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
11225 disk_info_msg (conflicts with gettexting into languages with cases).
11227 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11229 Add grub-probe support for NetBSD.
11231 * util/getroot.c (find_root_device): Convert block device to
11232 character device on NetBSD.
11233 * util/probe.c (probe): Require character device on NetBSD.
11234 * util/hostdisk.c: NetBSD specific headers.
11235 (configure_device_driver): new function to tune device driver
11236 parameters (currently only for NetBSD floppy driver).
11237 (grub_util_biosdisk_open): NetBSD specific code (get disk size
11238 via disklabel ioctl).
11239 (open_device): call configure_device_driver on NetBSD.
11240 (convert_system_partition_to_system_disk): NetBSD specific code.
11241 (device_is_wholedisk): Likewise.
11242 (grub_util_biosdisk_get_grub_dev): Likewise.
11243 (make_device_name): Fixed a typo in bsd_part_str.
11244 * configure.ac: check for opendisk() and getrawpartition() on
11245 NetBSD and set LIBUTIL.
11246 * Makefile.in: add LIBUTIL to LIBS.
11248 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11252 * util/grub-script-check.c: Better help message.
11254 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11258 * configure.ac: Flex version check.
11259 * conf/common.rmk: Add -Wno-error to sh.mod.
11260 * script/yylex.l: Remove all #pragma.
11262 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11264 * include/grub/util/misc.h (canonicalise_file_name): Add missing
11266 Reported by: Seth Goldberg.
11268 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11270 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
11271 Rename "module" to "module2".
11272 Reported by: Seth Goldberg.
11274 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11276 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
11278 Reported by: Seth Goldberg.
11280 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11282 * lib/posix_wrap/locale.h: Add missing file.
11283 Reported by: Seth Goldberg.
11285 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11287 grub-emu module load support.
11289 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
11290 NO_DYNAMIC_MODULES switched to this.
11291 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
11292 (CFLAGS): Likewise.
11293 * conf/any-emu.rmk: Generate symlist.
11294 (kernel_img_HEADERS): Add util/datetime.h.
11295 (kernel_img_HEADERS) [sdl]: Add sdl.h.
11296 (kernel_img_HEADERS) [libusb]: Add libusb.h.
11297 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
11298 kern/$(target_cpu)/cache.S.
11299 * configure.ac (grub-emu-modules): New option.
11300 * genmk.rb: Handle multiple source lists.
11301 * include/grub/sdl.h: New file.
11302 * include/grub/libusb.h: Likewise.
11303 * util/grub-emu.c (main): Hanle (host) root.
11304 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
11305 GRUB_ERR_UNKNOWN_DEVICE.
11306 * util/misc.c: Move mm functions to ...
11307 * util/mm.c: ... here. All users updated.
11309 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11311 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
11312 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
11314 (maintainer-clean): Remove libgcrypt-grub.
11316 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11318 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
11320 2010-04-09 EFI Coder <eficoder@hotmail.com>
11322 * normal/menu_text.c (print_message): Clean up the message and show
11323 the Fn information when on EFI
11324 * term/efi/console.c (grub_console_checkkey): Add F4 support.
11326 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11328 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
11330 * normal/crypto.c (read_crypto_list): Likewise.
11331 * normal/dyncmd.c (read_command_list): Likewise.
11332 * normal/term.c (read_terminal_list): Likewise.
11333 * normal/main.c (read_lists): Use explicit prefix.
11334 (read_lists_hook): Use read_lists.
11335 (grub_normal_execute): Likewise.
11337 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11339 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
11340 Reported by: Thomas Schmitt.
11341 Add -no-emul-boot to grub-mkisofs parameters.
11343 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11345 * font/font.c: Indented.
11347 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11349 Elif support to GRUB script (by Deepak Vankadaru).
11351 * tests/grub_script_if.in: New testcase.
11352 * conf/tests.rmk: Rule for new testcase.
11353 * script/parser.y: Grammar rules for elif.
11355 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11357 While and until loops support to GRUB script.
11359 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
11360 (grub_script_create_cmdwhile): New function prototype.
11361 (grub_script_execute_cmdwhile): New function prototype.
11362 * script/execute.c (grub_script_execute_cmdwhile): New function.
11363 * script/parser.y (command): New commands.
11364 (whilecmd): New grammar rule.
11365 (untilcmd): New grammar rule.
11366 * script/script.c (grub_script_create_cmdwhile): New function.
11367 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
11370 * tests/grub_script_while1.in: New testcase.
11371 * conf/tests.rmk: Rule for new testcase.
11373 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11375 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
11378 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
11380 GRUB_BACKGROUND support.
11382 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
11383 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
11385 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11387 Load fonts and modules for gfxmenu in grub-mkconfig.
11388 Idea by: Mario Vazquez
11390 * util/grub.d/00_header.in: Load pf2 and image modules.
11392 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11394 grub-mkconfig multiple terminal support.
11396 * util/grub-mkconfig.in: Handle multiple terminals correctly.
11397 * util/grub.d/00_header.in: Likewise.
11399 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11401 * Makefile.in: Specify files explicitly instead of using $< and $@ since
11402 we use cd $(srcdir).
11404 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
11406 * util/grub.d/10_linux.in: Only use the first word of
11407 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
11408 spaces in GRUB_DISTRIBUTOR.
11409 * util/grub.d/10_kfreebsd.in: Likewise.
11410 * util/grub.d/10_hurd.in: Likewise.
11412 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
11414 Fix unit testing framework for Qemu 0.12.
11416 * tests/util/grub-shell.in: Remove -serial stdio option.
11418 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11420 POSIX header file wrappers.
11422 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
11424 * lib/posix_wrap/ctype.h: Likewise.
11425 * lib/posix_wrap/errno.h: Likewise.
11426 * lib/posix_wrap/langinfo.h: Likewise.
11427 * lib/posix_wrap/limits.h: Likewise.
11428 * lib/posix_wrap/localcharset.h: Likewise.
11429 * lib/posix_wrap/stdint.h: Likewise.
11430 * lib/posix_wrap/stdio.h: Likewise.
11431 * lib/posix_wrap/stdlib.h: Likewise.
11432 * lib/posix_wrap/string.h: Likewise.
11433 * lib/posix_wrap/sys/types.h: Likewise.
11434 * lib/posix_wrap/unistd.h: Likewise.
11435 * lib/posix_wrap/wchar.h: Likewise.
11436 * lib/posix_wrap/wctype.h: Likewise.
11437 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
11438 (grub_script.yy.h): Likewise.
11439 * script/yylex.l: Remove POSIX emulation #defines.
11440 * Makefile.in (POSIX_CFLAGS): New variable.
11441 (GNULIB_UTIL_CFLAGS): Likewise.
11445 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
11446 (regexp_mod_SOURCES): New variable.
11447 (regexp_mod_CFLAGS): Likewise.
11448 (regexp_mod_LDFLAGS): Likewise.
11449 * commands/regexp.c: New file.
11450 * gnulib/regcomp.c: New file. Imported from gnulib.
11451 * gnulib/regex.c: Likewise.
11452 * gnulib/regex_internal.c: Likewise.
11453 * gnulib/regex_internal.h: Likewise.
11454 * gnulib/regexec.c: Likewise.
11455 * gnulib/regex.h: Likewise.
11457 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11459 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
11460 unsupported video mode types.
11462 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11464 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
11466 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11468 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
11469 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
11471 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11473 Remove unused grub_vga_get_font.
11475 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
11476 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
11478 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11480 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
11481 * include/grub/misc.h: Likewise.
11483 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11485 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
11486 for which failure is fatal.
11488 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11490 * util/grub-install.in: Use mkdir -p to create grub directory.
11491 * util/i386/efi/grub-install.in: Likewise.
11492 * util/ieee1275/grub-install.in: Likewise.
11494 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11496 * Makefile.in (LEX): new variable.
11498 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11500 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
11501 `=' and added double quotes on operands of this equality test.
11503 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11505 * Makefile.in (uninstall): Remove a leftover debug echo.
11506 Reported by: Grégoire Sutre
11508 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11510 MIPS multiboot2 support.
11512 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
11513 (multiboot2_mod_SOURCES): New variable.
11514 (multiboot2_mod_CFLAGS): Likewise.
11515 (multiboot2_mod_LDFLAGS): Likewise.
11516 (multiboot2_mod_ASFLAGS): Likewise.
11517 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
11519 (MULTIBOOT_ENTRY_REGISTER): Likewise.
11520 (MULTIBOOT_MBI_REGISTER): Likewise.
11521 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
11522 (MULTIBOOT_ELF32_MACHINE): Likewise.
11523 (MULTIBOOT_ELF64_MACHINE): Likewise.
11524 * include/grub/mips/multiboot.h: New file.
11525 * include/grub/video.h (grub_video_driver_id): New type
11526 GRUB_VIDEO_DRIVER_SM712.
11527 (grub_video_get_info_and_fini): Export.
11528 (grub_video_get_palette): Likewise.
11529 (grub_video_get_driver_id): Likewise.
11530 * include/multiboot2.h: Resynced with spec.
11531 * loader/i386/multiboot.c: Moved from here ...
11532 * loader/multiboot.c: ... here. All users updated.
11533 (grub_multiboot_boot): Use platform-specific macros.
11534 * loader/i386/multiboot_elfxx.c: Moved from here ...
11535 * loader/multiboot_elfxx.c: ... here. All users updated.
11536 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
11537 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
11538 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
11540 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11542 Import gnulib argp module.
11544 * gnulib/argp-ba.c: New file.
11545 * gnulib/argp-eexst.c: Likewise.
11546 * gnulib/argp-fmtstream.c: Likewise.
11547 * gnulib/argp-fmtstream.h: Likewise.
11548 * gnulib/argp-fs-xinl.c: Likewise.
11549 * gnulib/argp-help.c: Likewise.
11550 * gnulib/argp-namefrob.h: Likewise.
11551 * gnulib/argp-parse.c: Likewise.
11552 * gnulib/argp-pin.c: Likewise.
11553 * gnulib/argp-pv.c: Likewise.
11554 * gnulib/argp-pvh.c: Likewise.
11555 * gnulib/argp-version-etc.c: Likewise.
11556 * gnulib/argp-version-etc.h: Likewise.
11557 * gnulib/argp-xinl.c: Likewise.
11558 * gnulib/argp.h: Likewise.
11560 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11562 * kern/device.c (grub_device_iterate): Clear errors after failed
11565 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11567 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
11568 returned by firmware.
11570 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11572 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
11573 compilation on coreboot and qemu
11575 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11577 * include/multiboot2.h: Resync with spec.
11579 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11581 Multiboot2 tag support
11583 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
11584 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
11585 Remove loader/multiboot_loader.c.
11586 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
11587 (grub_multiboot2_real_boot): Likewise.
11588 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
11589 (grub_get_multiboot_mmap_count): New proto.
11590 (grub_fill_multiboot_mmap): Likewise.
11591 (grub_multiboot_set_video_mode): Likewise.
11592 (grub_multiboot_set_console): Likewise.
11593 (grub_multiboot_load): Likewise.
11594 (grub_multiboot_load_elf): Likewise.
11595 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
11596 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
11597 * include/multiboot.h: Resynced with specification.
11598 * include/multiboot2.h: Resynced with specification.
11599 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
11600 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
11601 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
11602 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
11604 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
11605 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
11606 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
11608 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
11610 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
11611 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11613 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
11614 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
11615 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
11617 * loader/i386/multiboot_mbi2.c: New file.
11619 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11621 Resync with gnulib.
11623 * Makefile.in (GNULIB_CFLAGS): New variable.
11624 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
11625 (grub_script_check_CFLAGS): New variable.
11626 * gnulib/alloca.h: Resync with gnulib.
11627 * gnulib/error.c: Likewise.
11628 * gnulib/error.h: Likewise.
11629 * gnulib/fnmatch.c: Likewise.
11630 * gnulib/fnmatch_loop.c: Likewise.
11631 * gnulib/getdelim.c: Likewise.
11632 * gnulib/getline.c: Likewise.
11633 * gnulib/getopt.c: Likewise.
11634 * gnulib/getopt1.c: Likewise.
11635 * gnulib/getopt_int.h: Likewise.
11636 * gnulib/gettext.h: Likewise.
11637 * gnulib/progname.c: Likewise.
11638 * gnulib/progname.h: Likewise.
11640 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
11642 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
11643 which is the case with --disabled-nls.
11645 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
11646 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
11647 * util/misc.c: Likewise.
11648 * util/mkisofs/mkisofs.c: Likewise.
11649 * util/mkisofs/mkisofs.h: Likewise.
11651 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11653 Simplify Apple CC support.
11655 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
11656 Add 0 byte at the end not to have a symbol with empty target.
11657 * mmap/i386/pc/mmap_helper.S: Likewise.
11658 * genmk.rb: Ignore errors 2030 and 2050.
11659 * kern/i386/pc/startup.S: Use LOCAL when possible.
11661 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
11663 Testcase and the fix for final semicolon on cmdline.
11665 * tests/grub_script_final_semicolon.in: New testcase.
11666 * conf/tests.rmk: Rules for the new testcase.
11667 * script/parser.y: Grammar fix.
11669 2010-03-26 BVK Chaitanya <bvk@localhost>
11671 Blank lines testcase for GRUB script.
11673 * tests/grub_script_blanklines.in: New testcase.
11674 * conf/tests.rmk: Rules for the new testcase.
11676 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11678 Don't use __FILE__.
11680 * genmk.rb: Add -DGRUB_FILE to all C targets.
11681 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
11682 * include/grub/list.h: Likewise.
11683 * include/grub/misc.h: Likewise.
11684 * include/grub/mm.h: Likewise.
11685 * include/grub/test.h: Likewise.
11686 * kern/mm.c: Likewise.
11687 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11689 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11691 Sunpc partitions support.
11693 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
11694 (grub_fstest_SOURCES): Likewise.
11695 (pkglib_MODULES): Add part_sunpc.mod.
11696 (part_sunpc_mod_SOURCES): New variable.
11697 (part_sunpc_mod_CFLAGS): Likewise.
11698 (part_sunpc_mod_LDFLAGS): Likewise.
11699 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
11700 * partmap/sunpc.c: New file.
11702 2010-03-26 BVK Chaitanya <bvk@localhost>
11704 For loop support to GRUB script.
11706 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
11707 (grub_script_create_cmdfor): New function prototype.
11708 (grub_script_execute_cmdfor): New function prototype.
11709 * script/execute.c (grub_script_execute_cmdfor): New function.
11710 * script/parser.y (command): New for command.
11711 (forcmd): New grammar rule.
11712 * script/script.c (grub_script_create_cmdfor): New function.
11713 * util/grub-script-check.c (grub_script_execute_cmdfor): New
11715 * tests/grub_script_for1.in: New testcase.
11716 * conf/tests.rmk: Rules for new testcase.
11718 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11722 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
11723 'partition' is NULL, grub_partition_get_start already does that.
11724 * commands/loadenv.c (check_blocklists): Likewise.
11725 (write_blocklists): Likewise.
11726 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
11727 (grub_fstest_SOURCES): Likewise.
11728 (pkglib_MODULES): Add part_bsd.mod.
11729 (part_bsd_mod_SOURCES): New variable.
11730 (part_bsd_mod_CFLAGS): Likewise.
11731 (part_bsd_mod_LDFLAGS): Likewise.
11732 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
11733 (grub_emu_SOURCES): Likewise.
11734 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11735 * include/grub/bsdlabel.h: New file.
11736 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
11738 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
11739 (grub_partition_map_list): New variable.
11740 (grub_partition_map_register): Inline.
11741 (grub_partition_map_unregister): Likewise.
11742 (FOR_PARTITION_MAPS): New macro.
11743 (grub_partition_map_iterate): Removed.
11744 (grub_partition_get_start): Handle nested partitions.
11745 * include/grub/msdos_partition.h: Remove bsd-related entries.
11746 (grub_pc_partition): Remove.
11747 * kern/disk.c (grub_disk_close): Free partition data.
11748 (grub_disk_adjust_range): Handle nested partitions.
11749 * kern/partition.c (grub_partition_map_probe): New function.
11750 (grub_partition_probe): Parse name to number, handle subpartitions.
11751 (get_partmap): New function.
11752 (grub_partition_iterate): Handle subpartitions.
11753 (grub_partition_get_name): Likewise.
11754 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
11755 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
11756 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
11757 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
11759 (acorn_partition_map_probe): Remove.
11760 (acorn_partition_map_get_name): Likewise.
11761 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
11763 Set 'index' to 0 since there can be only one partition entry per sector.
11764 (amiga_partition_map_probe): Remove.
11765 (amiga_partition_map_get_name): Likewise.
11766 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
11768 Set 'offset' and 'index' to real positions of partitions.
11769 (apple_partition_map_probe): Remove.
11770 (apple_partition_map_get_name): Likewise.
11771 * partmap/bsdlabel.c: New file.
11772 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
11774 Allocate 'data' so it can be correctly freed.
11775 Set 'index' to offset inside sector.
11776 (gpt_partition_map_probe): Remove.
11777 (gpt_partition_map_get_name): Likewise.
11778 * partmap/msdos.c (grub_partition_parse): Remove.
11779 (pc_partition_map_iterate): Don't force raw access.
11781 Make 'ext_offset' a local variable.
11782 (pc_partition_map_probe): Remove.
11783 (pc_partition_map_get_name): Remove.
11784 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
11786 (sun_partition_map_probe): Remove.
11787 (sun_partition_map_get_name): Likewise.
11788 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
11789 (grub_pcpart_type): Likewise.
11790 * util/hostdisk.c (open_device): Handle new numbering scheme.
11791 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
11792 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
11793 * util/grub-probe.c (probe_partmap): Handle nested paritions.
11794 * util/grub-install.in: Insert all subpartition modules.
11795 * util/ieee1275/grub-install.in: Likewise.
11797 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
11799 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
11802 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
11804 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
11806 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
11808 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
11809 match where 'make install' puts them.
11810 * util/i386/efi/grub-install.in: Likewise.
11812 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
11814 * .bzrignore: Add gentrigtables, grub-script-check,
11815 grub_script_check_init.c, grub_script_check_init.h, and
11818 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
11820 * kern/parser.c: Indented.
11822 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
11824 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
11826 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
11828 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
11829 alpha_mask_size == 0 case.
11831 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
11833 GRUB shell lexer and parser improvements.
11835 * conf/any-emu.rmk: Build rule updates.
11836 * conf/common.rmk: Likewise.
11837 * conf/i386-coreboot.rmk: Likewise.
11838 * conf/i386-efi.rmk: Likewise.
11839 * conf/i386-ieee1275.rmk: Likewise.
11840 * conf/i386-pc.rmk: Likewise.
11841 * conf/powerpc-ieee1275.rmk: Likewise.
11842 * conf/x86_64-efi.rmk: Likewise.
11844 * configure.ac: Configure check for flex.
11846 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
11848 (grub_lexer_param): Struct member updates.
11849 (grub_parser_param): Likewise.
11850 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
11851 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
11852 (grub_script_lexer_init): Prototype update.
11853 (grub_script_lexer_record_start): Likewise.
11854 (grub_script_lexer_record_stop): Likewise.
11855 (grub_script_lexer_yywrap): New function prototype.
11856 (grub_script_lexer_fini): Likewise.
11857 (grub_script_execute_argument_to_string): Removed by...
11858 (grub_script_execute_argument_to_argv): ...better version.
11860 * script/execute.c (ROUND_UPTO): New macro.
11861 (grub_script_execute_cmdline): Out of memory fixes.
11862 (grub_script_execute_menuentry): Likewise.
11863 (grub_script_execute_argument_to_string): Removed. Update all
11865 (grub_script_execute_argument_to_argv): ...better version.
11866 * script/function.c (grub_script_function_create): Use
11867 grub_script_execute_argument_to_argv instead of
11868 grub_script_execute_argument_to_string.
11870 * script/lexer.c (check_varstate): Removed.
11871 (check_textstate): Removed.
11872 (grub_script_lexer_record_start): Likewise.
11873 (grub_script_lexer_record_stop): Likewise.
11874 (recordchar): Replaced with...
11875 (grub_script_lexer_record): ...new function.
11876 (nextchar): Removed.
11877 (grub_script_lexer_init): Rewritten.
11878 (grub_script_yylex): Rewritten.
11879 (append_newline): New function.
11880 (grub_script_lexer_yywrap): New function.
11881 (grub_script_lexer_fini): New function.
11882 (grub_script_yyerror): Sets error flag.
11884 * script/yylex.l: New file.
11885 (grub_lexer_yyfree): Wrapper for flex yyffre.
11886 (grub_lexer_yyalloc): Likewise.
11887 (grub_lexer_yyrealloc): Likewise.
11888 * script/parser.y: Refactored.
11890 * script/script.c (grub_script_arg_add): Out of memory fixes.
11891 (grub_script_add_arglist): Likewise.
11892 (grub_script_create_cmdline): Likewise.
11893 (grub_script_create_cmdmenu): Likewise.
11894 (grub_script_add_cmd): Likewise.
11895 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
11896 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
11899 * tests/grub_script_echo1.in: New testcase.
11900 * tests/grub_script_vars1.in: New testcase.
11901 * tests/grub_script_echo_keywords.in: New testcase.
11903 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11905 Remove some redundancy in build system.
11907 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
11908 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
11909 (TARGET_LDFLAGS): Add -nostdlib.
11910 (TARGET_IMG_LDFLAGS): Likewise.
11911 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
11912 anything since mmap isn't available.
11913 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
11915 (pkglib_MODULES): Remove reboot.mod.
11916 (reboot_mod_SOURCES): Removed.
11917 (reboot_mod_CFLAGS): Likewise.
11918 (reboot_mod_LDFLAGS): Likewise.
11919 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
11920 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
11921 (DEFSYMFILES): Add kernel_syms.lst.
11922 (kernel_img_HEADERS): Add common headers.
11923 (symlist.c): New target.
11924 (kernel_syms.lst): Likewise.
11925 (pkglib_MODULES): Add memdisk.mod.
11926 (memdisk_mod_SOURCES): New variable.
11927 (memdisk_mod_CFLAGS): Likewise.
11928 (memdisk_mod_LDFLAGS): Likewise.
11929 (pkglib_MODULES): Add reboot.mod.
11930 (reboot_mod_SOURCES): New variable.
11931 (reboot_mod_CFLAGS): Likewise.
11932 (reboot_mod_LDFLAGS): Likewise.
11933 (pkglib_MODULES): Add date.mod.
11934 (date_mod_SOURCES): New variable.
11935 (date_mod_CFLAGS): Likewise.
11936 (date_mod_LDFLAGS): Likewise.
11937 (pkglib_MODULES): Add datehook.mod.
11938 (datehook_mod_SOURCES): New variable.
11939 (datehook_mod_CFLAGS): Likewise.
11940 (datehook_mod_LDFLAGS): Likewise.
11941 (pkglib_MODULES): Add lsmmap.mod.
11942 (lsmmap_mod_SOURCES): New variable.
11943 (lsmmap_mod_CFLAGS): Likewise.
11944 (lsmmap_mod_LDFLAGS): Likewise.
11945 (pkglib_MODULES): Add boot.mod.
11946 (boot_mod_SOURCES): New variable.
11947 (boot_mod_CFLAGS): Likewise.
11948 (boot_mod_LDFLAGS): Likewise.
11949 * conf/i386-coreboot.rmk: Removed redundant parts.
11950 * conf/i386-ieee1275.rmk: Likewise.
11951 * conf/i386-pc.rmk: Likewise.
11952 * conf/mips-yeeloong.rmk: Likewise.
11953 * conf/mips.rmk: Likewise.
11954 * conf/powerpc-ieee1275.rmk: Likewise.
11955 * conf/sparc64-ieee1275.rmk: Likewise.
11956 * conf/x86_64-efi.rmk: Likewise.
11957 * conf/i386-coreboot.rmk: Moved qemu parts ..
11958 * conf/i386-qemu.rmk: ... here
11959 * conf/i386-efi.rmk: Moved common parts to...
11960 * conf/x86-efi.rmk: ... here.
11961 * conf/i386.rmk: Added modules common to all x86 variants.
11962 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
11963 * disk/memdisk.c: Remove grub/machine/kernel.h.
11964 * gensymlist.sh.in: Include symbol.h.
11965 * hook/datehook.c: Correct module name.
11966 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
11967 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
11968 * include/grub/i386/efi/serial.h: New file.
11969 * include/grub/x86_64/efi/serial.h: Likewise.
11970 * util/time.c: Likewise.
11971 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
11973 2010-03-14 Colin King <colin.king@ubuntu.com>
11974 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
11976 Shrink the pre-partition-table part of boot.img by eight bytes.
11978 * boot/i386/pc/boot.S (ERR): New macro.
11979 (chs_mode): Use ERR.
11980 (geometry_error): Likewise.
11981 (hd_probe_error): Remove. This is only used once, so we wrwite
11983 (read_error): Instead of printing read_error_string, just set up
11984 %si and fall through to ...
11985 (error_message): ... this new function, also used by ERR.
11987 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
11989 Speed up consecutive hostdisk operations on the same device.
11991 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
11992 (grub_util_biosdisk_open): Initialise disk->data.
11993 (struct linux_partition_cache): New structure.
11994 (linux_find_partition): Cache partition start positions; these are
11995 expensive to compute on every read and write.
11996 (open_device): Cache open file descriptor in disk->data, so that we
11997 don't have to reopen it and flush the buffer cache for consecutive
11998 operations on the same device.
11999 (grub_util_biosdisk_close): New function.
12000 (grub_util_biosdisk_dev): Set `close' member.
12002 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
12003 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
12004 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12005 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12006 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
12008 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12010 Compile parts of grub-emu as modules.
12012 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
12013 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
12014 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
12015 (all-local): Add $(GRUB_EMU).
12016 (install-local): Install $(GRUB_EMU).
12017 (uninstall): Uninstall $(GRUB_EMU).
12018 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
12019 * kern/dl.c: Likewise.
12020 * commands/sleep.c: Not include machine/time.h.
12021 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
12022 (COMMON_CFLAGS): Likewise.
12023 (sbin_UTILITIES): Remove grub-emu.
12024 (grub_emu_SOURCES): Removed.
12025 (kernel_img_RELOCATABLE): New variable.
12026 (pkglib_PROGRAMS): Add kernel.img.
12027 (kernel_img_SOURCES): New variable
12028 (kernel_img_CFLAGS): Likewise.
12029 (kernel_img_LDFLAGS): Likewise.
12030 (TARGET_NO_STRIP): Likewise.
12031 (TARGET_NO_DYNAMIC_MODULES): Likewise.
12032 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
12033 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
12034 (grub-emu): New target.
12035 (GRUB_EMU): New variable.
12036 * configure.ac: Whitelist -emu as possible x86_64 architecture.
12037 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
12038 * loader/xnu.c: Likewise.
12039 * include/grub/pci.h: Likewise.
12040 * genemuinit.sh: New file.
12041 * genemuinitheader.sh: Likewise.
12042 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
12043 Support TARGET_NO_DYNAMIC_MODULES.
12044 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
12045 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
12046 * disk/loopback.c: Likewise.
12047 * font/font_cmd.c: Likewise.
12048 * partmap/acorn.c: Likewise.
12049 * partmap/amiga.c: Likewise.
12050 * partmap/apple.c: Likewise.
12051 * partmap/gpt.c: Likewise.
12052 * partmap/msdos.c: Likewise.
12053 * partmap/sun.c: Likewise.
12054 * parttool/msdospart.c: Likewise.
12055 * term/gfxterm.c: Likewise.
12056 * video/bitmap.c: Likewise.
12057 * video/readers/jpeg.c: Likewise.
12058 * video/readers/png.c: Likewise.
12059 * video/readers/tga.c: Likewise.
12060 * video/video.c: Likewise.
12061 * util/grub-emu.c (read_command_list): Removed.
12062 (main): Don't call util_init_nls.
12063 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
12064 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
12066 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12068 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
12069 date.mod, datehook.mod.
12070 (datetime_mod_SOURCES): New variable.
12071 (datetime_mod_CFLAGS): Likewise.
12072 (datetime_mod_LDFLAGS): Likewise.
12073 (date_mod_SOURCES): Likewise.
12074 (date_mod_CFLAGS): Likewise.
12075 (date_mod_LDFLAGS): Likewise.
12076 (datehook_mod_SOURCES): Likewise.
12077 (datehook_mod_CFLAGS): Likewise.
12078 (datehook_mod_LDFLAGS): Likewise.
12079 * conf/sparc64-ieee1275.rmk: Likewise.
12080 * lib/ieee1275/datetime.c: New file.
12082 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12084 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
12085 (ieee1275_fb_mod_SOURCES): New variable.
12086 (ieee1275_fb_mod_CFLAGS): Likewise.
12087 (ieee1275_fb_mod_LDFLAGS): Likewise.
12088 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
12090 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
12091 (HEAP_MAX_ADDR): Likewise.
12092 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
12094 Correct stop condition.
12095 (grub_ieee1275_devices_iterate): New function.
12096 * video/ieee1275.c: New file.
12098 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12100 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
12102 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
12104 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
12105 SCRATCH_PAD_DISKBOOT as scratch.
12106 (bootit): Pass Openfirmware pointer in %o4.
12107 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
12109 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
12110 with util/grub-mkrawimage.c.
12111 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
12112 * include/grub/aout.h (AOUT_MID_SUN): New definition.
12113 (grub_aout_get_type) [GRUB_UTIL]: Removed.
12114 (grub_aout_load) [GRUB_UTIL]: Likewise.
12115 * include/grub/kernel.h (grub_modules_get_end): New proto.
12116 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
12117 (SCRATCH_PAD_BOOT): New definition.
12118 (SCRATCH_PAD_DISKBOOT): Likewise.
12119 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
12120 * include/grub/sparc64/ieee1275/ieee1275.h
12121 (grub_ieee1275_original_stack): New variable
12122 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
12124 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
12125 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
12126 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
12127 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
12128 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
12129 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
12130 (grub_platform_image_format_t): New type.
12131 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
12132 * kern/main.c (grub_modules_get_end)
12133 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
12134 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
12135 (codestart): Switch stacks.
12136 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
12138 (grub_heap_init): Use grub_modules_get_end.
12139 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
12141 * util/grub-mkrawimage.c (generate_image): Support sparc64.
12143 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
12145 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
12147 * util/grub-mkrescue.in: Base ISO UUID on UTC.
12149 2010-03-08 Matt Kraai <kraai@ftbfs.org>
12151 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
12154 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
12156 * genmoddep.awk: Output all missing symbols and not only first.
12158 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12160 * NEWS: Put the date of 1.98 release.
12162 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12164 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
12167 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12169 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
12170 completition in the middle of string.
12172 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12174 * util/grub-mkrescue.in: Use mktemp with explicit template.
12176 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12178 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
12180 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12182 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
12185 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12187 Fix FreeBSD compilation.
12189 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
12190 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
12192 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12194 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
12196 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12198 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
12200 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12202 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
12204 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
12206 Support relative image path in theme file.
12208 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
12209 (image_set_property): Handle theme_dir and relative path.
12211 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12213 * configure.ac: Alias amd64 to x86_64.
12215 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12217 * NEWS: mention multiboot on EFI.
12219 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12221 * kern/main.c (grub_load_modules): Handle errors from init functions of
12224 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12226 * normal/autofs.c (autoload_fs_module): Handle errors.
12228 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12230 Disable linux.mod on qemu-mips since it's not functional and leads
12231 to compilation failure.
12233 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
12234 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
12235 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
12236 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
12237 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
12238 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
12239 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
12240 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
12241 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
12242 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
12243 Reported by: BVK Chaitanya
12245 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
12247 * INSTALL: Add gettext as a dependency and add qemu to a new section
12248 "Prerequisites for make-check".
12250 2010-03-04 Christian Franke <franke@computer.org>
12252 * util/grub-pe2elf.c: Add missing include "progname.h".
12254 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12256 * normal/crypto.c (read_crypto_list): Fix a typo.
12257 Reported by: Seth Goldberg.
12259 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12261 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
12262 Reported by: Seth Goldberg.
12264 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12266 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
12269 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12271 * genmk.rb: Remove terminal*.lst in make clean.
12272 Reported by: Seth Goldberg.
12274 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12276 * util/i386/efi/grub-install.in: Copy gettext files.
12278 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12280 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
12282 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12284 Wait for user entry basing on presence of output rather than on errors.
12286 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
12287 (grub_install_newline_hook): Likewise.
12288 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
12289 * normal/menu.c (show_menu): Check line_counter to determine presence
12291 * normal/term.c (grub_normal_line_counter): New variable.
12292 (grub_normal_get_line_counter): New function.
12293 (grub_install_newline_hook): Likewise.
12295 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12297 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
12299 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12301 * configure.ac: Update version to 1.98.
12303 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12305 * util/grub.d/10_linux.in (linux_entry): Don't default to
12306 gfxpayload=keep if Linux doesn't support video handover.
12308 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12310 Don't compile video modules on yeeloong since video subsystem is part
12313 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
12314 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
12315 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
12316 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
12317 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
12318 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
12319 * include/grub/bitmap_scale.h: Likewise.
12320 * include/grub/bufio.h: Likewise.
12321 * include/grub/font.h: Likewise.
12322 * include/grub/gfxterm.h: Likewise.
12323 * include/grub/video.h: Likewise.
12324 * include/grub/vbe.h: Don't include video_fb.h.
12325 * video/i386/pc/vbe.c: Include video_fb.h.
12326 * commands/i386/pc/vbetest.c: Include video.h.
12328 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
12330 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
12331 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
12332 default entry if GRUB_SAVEDEFAULT=true. This allows using
12333 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
12334 saving a new default on every boot.
12336 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12338 * normal/crypto.c (read_crypto_list): Fix a memory leak.
12339 * normal/term.c (read_terminal_list): Likewise.
12340 * normal/main.c (grub_normal_init_page): Likewise.
12341 (grub_normal_read_line_real): Likewise.
12343 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12345 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
12347 Reported by: Seth Goldberg.
12349 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
12351 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
12352 duplicate declaration of `start'.
12354 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12356 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
12358 Reported by: Georgy Buranov
12360 2010-02-20 Carles Pina i Estany <carles@pina.cat>
12362 * util/grub-mkrawimage.c (usage): Change string formatting to
12365 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12367 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
12370 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12372 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
12373 Reported by: Michael Suchanek.
12375 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
12377 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
12378 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
12380 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
12382 Remove any reference to non-free fonts.
12384 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
12385 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
12386 uses non-free components.
12387 * font/font.c (grub_font_get_name): Remove example name.
12388 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
12389 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12390 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
12391 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
12393 2010-02-16 Georgy Buranov <gburanov@gmail.com>
12395 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
12397 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12399 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
12401 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
12403 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
12405 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12407 * gensymlist.sh.in: Use TARGET_CC instead of CC.
12409 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12411 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
12412 * docs/grub.texi (Command-line and menu entry commands): Document play
12415 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12417 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
12418 parse arguments as inline tempo and notes. Move code for playing notes
12420 (play): ... new function.
12422 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12424 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
12425 grub_uint16_t instead of short.
12426 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
12427 disk from little endian to cpu endianness.
12429 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
12431 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
12432 GRUB_TICKS_PER_SECOND instead of 120.
12434 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12436 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
12437 escape sequence after \e.
12439 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12441 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
12442 non-ASCII characters.
12444 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12446 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
12447 set root in single quotes to prevent \, from being unescaped.
12449 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12451 Prevent unknown commands from stopping menuentry execution.
12453 * script/execute.c (grub_script_execute_cmdline): Print error after
12456 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12458 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
12459 Reported by: Pavel Pisa.
12461 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12463 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
12465 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12467 Merge grub_ieee1275_map_physical into grub_map and rename to
12470 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
12471 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
12473 * kern/ieee1275/openfw.c (grub_map): Rename to ...
12474 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
12476 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
12478 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12480 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
12481 opening and not after.
12483 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12485 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
12488 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12490 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
12491 (alloc_phys): Use ALIGN_UP instead of align_addr.
12493 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12495 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
12497 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12499 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
12501 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12503 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
12506 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12508 Fix over-4GiB seek on sparc64.
12510 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
12511 Replace pos_i and pos_lo with pos. All users updated.
12512 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12514 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12516 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
12519 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12521 * util/grub-mkrawimage.c (main): Call set_program_name.
12523 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12525 Properly align 64-bit targets.
12527 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
12528 (generate_image): Use ALIGN_ADDR.
12530 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12532 Properly create cross-endian images.
12534 * include/grub/types.h (grub_host_to_target_addr): New macro
12535 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
12537 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12539 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
12541 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12543 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
12545 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
12546 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
12547 (grub_linux_boot): Divide by 64K when on VESA.
12549 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12551 Support GRUB_GFXPAYLOAD_LINUX.
12553 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
12554 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
12556 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12558 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
12559 to show messages instead of discarding them.
12560 Process errors after executing command and not before. Keep old method
12563 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12565 * configure.ac: Check for ft2build.h.
12567 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12569 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
12571 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12573 * genkernsyms.sh.in: Use TARGET_CC.
12575 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
12579 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12581 * include/grub/multiboot2.h: Remove leftover file.
12582 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
12583 * include/grub/partition.h [GRUB_UTIL]: Likewise.
12585 2010-02-07 Yves Blusseau <blusseau@zetam.org>
12587 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
12589 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12591 Fix warnings in grub-emu when compiling with maximum warning options.
12593 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
12594 (grub_arch_modules_addr): Return 0 and not NULL.
12595 * util/misc.c (ENABLE_RELOCATABLE): New definition.
12596 (xstrdup): Use newstr instead of dup.
12597 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
12598 of disk to dsk to avoid shadowing.
12599 (find_free_slot): Fix prototype.
12600 * util/getroot.c (grub_util_is_dmraid): Make static.
12601 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
12602 Add missing prototype.
12603 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
12605 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12607 * loader/i386/linux.c (grub_linux_setup_video): Handle error
12610 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12612 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
12615 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12617 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
12618 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
12619 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
12620 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
12621 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
12622 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
12624 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12626 * include/grub/err.h (grub_err_printf): Don't export.
12628 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12630 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
12632 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12634 * include/grub/i18n.h (grub_gettext_dummy): Removed.
12635 * kern/misc.c (grub_gettext_dummy): Make static.
12637 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12639 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
12641 * kern/term.c (grub_putchar): Likewise.
12643 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12645 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
12646 buggy hook call and memory leak.
12648 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12650 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
12652 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12654 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
12656 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12658 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
12660 Return grub_errno on allocation error.
12662 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12664 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
12666 2010-02-06 Yves Blusseau <blusseau@zetam.org>
12668 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
12669 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
12671 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12673 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
12675 (grub_pxefs_open): Likewise.
12677 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12679 * util/grub.d/10_hurd.in: Add --class information to menuentries.
12680 * util/grub.d/10_kfreebsd.in: Likewise.
12681 * util/grub.d/10_linux.in: Likewise.
12683 2010-02-06 Colin D Bennett <colin@gibibit.com>
12685 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
12686 (gfxmenu_mod_SOURCES): New variable.
12687 (gfxmenu_mod_CFLAGS): Likewise.
12688 (gfxmenu_mod_LDFLAGS): Likewise.
12689 * include/grub/term.h (grub_term_set_current_output): Declare
12691 * docs/gfxmenu-theme-example.txt: New file.
12692 * gfxmenu/gfxmenu.c: Likewise.
12693 * gfxmenu/gui_box.c: Likewise.
12694 * gfxmenu/gui_canvas.c: Likewise.
12695 * gfxmenu/gui_circular_progress.c: Likewise.
12696 * gfxmenu/gui_image.c: Likewise.
12697 * gfxmenu/gui_label.c: Likewise.
12698 * gfxmenu/gui_list.c: Likewise.
12699 * gfxmenu/gui_progress_bar.c: Likewise.
12700 * gfxmenu/gui_string_util.c: Likewise.
12701 * gfxmenu/gui_util.c: Likewise.
12702 * gfxmenu/icon_manager.c: Likewise.
12703 * gfxmenu/model.c: Likewise.
12704 * gfxmenu/named_colors.c: Likewise.
12705 * gfxmenu/theme_loader.c: Likewise.
12706 * gfxmenu/view.c: Likewise.
12707 * gfxmenu/widget-box.c: Likewise.
12708 * include/grub/gfxmenu_model.h: Likewise.
12709 * include/grub/gfxmenu_view.h: Likewise.
12710 * include/grub/gfxwidgets.h: Likewise.
12711 * include/grub/gui.h: Likewise.
12712 * include/grub/gui_string_util.h: Likewise.
12713 * include/grub/icon_manager.h: Likewise.
12715 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12717 Agglomerate scrolling in gfxterm.
12719 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
12720 (grub_virtual_screen_setup): Initialise 'total_screen'.
12721 (write_char): Split to ...
12722 (paint_char): ... this ...
12723 (write_char): ... and this.
12724 (paint_char): Handle delayed scrolling.
12725 (draw_cursor): Likewise.
12726 (scroll_up): Split to ...
12727 (real_scroll): ... this ...
12728 (scroll_up): ... and this.
12729 (real_scroll): Handle multi-line scroll and draw below-the-bottom
12731 (grub_gfxterm_refresh): Call real_scroll.
12733 2010-02-06 Colin D Bennett <colin@gibibit.com>
12735 * include/grub/misc.h (grub_iscntrl): New inline function.
12736 (grub_isalnum): Likewise.
12737 (grub_strtol): Likewise.
12739 2010-02-06 Colin D Bennett <colin@gibibit.com>
12741 * normal/menu_text.c (get_entry_number): Move from here ...
12742 * normal/menu.c (get_entry_number): ... moved here.
12743 * include/grub/menu.h (grub_menu_get_default_entry_index):
12745 * normal/menu.c (grub_menu_get_default_entry_index): New function.
12746 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
12747 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
12748 (grub_menu_viewer_should_return): Likewise.
12749 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
12750 * normal/menu_text.c (run_menu): Enable menu switching.
12751 * normal/menu_viewer.c (should_return): New variable.
12752 (menu_viewer_changed): Likewise.
12753 (grub_menu_viewer_show_menu): Handle menu viewer changes.
12754 (grub_menu_viewer_should_return): New function.
12755 (menuviewer_write_hook): Likewise.
12756 (grub_menu_viewer_init): Likewise.
12758 2010-02-06 Colin D Bennet <colin@gibibit.com>
12759 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12761 Support for gfxterm in a window.
12763 * include/grub/gfxterm.h: New file.
12764 * include/grub/video.h (struct grub_video_rect): New declaration.
12765 (grub_video_rect_t): Likewise.
12766 * term/gfxterm.c (struct grub_gfxterm_window): New type.
12767 (refcount): New variable.
12768 (render_target): Likewise.
12769 (window): Likewise.
12770 (repaint_callback): Likewise.
12771 (grub_virtual_screen_setup): Use 'render_target'.
12772 (init_window): New function.
12773 (grub_gfxterm_init_window): Likewise.
12774 (grub_gfxterm_init): Check reference counter.
12776 (destroy_window): New function.
12777 (grub_gfxterm_destroy_window): Likewise.
12778 (grub_gfxterm_fini): Check reference counter.
12779 Use destroy_window.
12780 (redraw_screen_rect): Restore viewport.
12781 Use 'render_target' and 'window'.
12782 Call 'repaint_callback'.
12783 (write_char): Use 'render_target'.
12784 (draw_cursor): Likewise.
12785 (scroll_up): Restore viewport.
12786 Use 'render_target' and 'window'.
12787 Call 'repaint_callback'.
12788 (grub_gfxterm_cls): Likewise.
12789 (grub_gfxterm_refresh): Use 'window'.
12790 (grub_gfxterm_set_repaint_callback): New function.
12791 (grub_gfxterm_background_image_cmd): Use 'window'.
12792 (grub_gfxterm_get_term): New function.
12793 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
12795 2010-02-06 Colin D Bennett <colin@gibibit.com>
12797 Bitmap scaling support.
12799 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
12800 (bitmap_scale_mod_SOURCES): New variable.
12801 (bitmap_scale_mod_CFLAGS): Likewise.
12802 (bitmap_scale_mod_LDFLAGS): Likewise.
12803 * include/grub/bitmap_scale.h: New file.
12804 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
12805 (background_image_cmd_options): New variable.
12806 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
12807 (cmd): Rename and change type to ...
12808 (background_image_cmd_handle): ... this. All users updated.
12809 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
12810 * video/bitmap_scale.c: New file.
12812 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12816 * Makefile.in (LIBSDL): New variable.
12817 (enable_grub_emu_sdl): Likewise.
12818 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
12819 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
12820 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
12821 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
12822 * util/sdl.c: New file.
12824 2010-02-06 Colin D Bennett <colin@gibibit.com>
12825 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12827 Double buffering support.
12829 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
12830 * include/grub/video.h: Update comment.
12831 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
12833 (grub_video_fb_doublebuf_blit_init): New prototype.
12834 * term/gfxterm.c (scroll_up): Support double buffering.
12835 (grub_gfxterm_refresh): Likewise.
12836 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
12837 (grub_video_fb_doublebuf_blit_init): Likewise.
12838 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
12839 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
12840 'displayed_page', 'render_page' and 'update_screen'.
12841 (grub_video_vbe_fini): Free offscreen buffer.
12842 (doublebuf_pageflipping_commit): New function.
12843 (doublebuf_pageflipping_update_screen): Likewise.
12844 (doublebuf_pageflipping_init): Likewise.
12845 (double_buffering_init): Likewise.
12846 (grub_video_vbe_setup): Enable doublebuffering.
12847 (grub_video_vbe_swap_buffers): Implement.
12848 (grub_video_vbe_set_active_render_target): Handle double buffering.
12849 (grub_video_vbe_get_active_render_target): Likewise.
12850 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
12851 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
12852 (grub_video_vbe_enable_double_buffering): Likewise.
12853 (grub_video_vbe_swap_buffers): Use update_screen.
12854 (grub_video_set_mode): Use double buffering.
12856 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12858 * maintainance/gentrigtables.py: Remove.
12859 * lib/trig.c: Likewise.
12861 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
12863 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
12865 (trigtables.c): New rule.
12866 (gentrigtables): Likewise.
12867 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
12869 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12871 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
12874 2010-02-06 Colin D Bennet <colin@gibibit.com>
12876 Trigonometry support.
12878 * include/grub/trig.h: New file.
12879 * lib/trig.c: Likewise.
12880 * maintainance/gentrigtables.py: Likewise.
12881 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
12882 (trig_mod_SOURCES): New variable.
12883 (trig_mod_CFLAGS): Likewise.
12884 (trig_mod_LDFLAGS): Likewise.
12886 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12888 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
12891 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12893 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
12896 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12898 * util/hostdisk.c (open_device): Don't use partition device when reading
12899 before the partition.
12900 (grub_util_biosdisk_read): Don't read from partition and before the
12901 partition in single operation.
12902 (grub_util_biosdisk_write): Don't write to partition and before the
12903 partition in single operation.
12905 2010-02-03 Torsten Landschoff <torsten@debian.org>
12907 * kern/disk.c (grub_disk_read): Fix offset computation when reading
12910 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12912 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
12914 (grub_biosdisk_write): Refuse to write to CDROM.
12916 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12918 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
12920 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12922 * font/font.c (find_glyph): Check that bmp_idx is available before
12924 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
12925 with (font == NULL).
12927 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
12929 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
12931 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
12933 * include/grub/script_sh.h (sourcecode): Add const qualifier.
12934 * util/grub-script-check.c (getline): Fix empty lines case.
12936 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
12938 * Makefile.in (check): Exit with fail status when one of the tests
12940 * tests/example_functional_test.c (example_test): Fix reversed assert.
12941 * tests/example_unit_test.c (example_test): Likewise.
12943 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
12945 * util/grub.d/10_linux.in: This script does not use any of the
12946 contents of gettext.sh, only the external command `gettext', so stop
12947 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
12948 the same prefix as GRUB.)
12949 * util/grub.d/10_kfreebsd.in: Likewise.
12951 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12953 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
12956 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12958 * kern/disk.c (grub_disk_read): Fix offset computation when reading
12961 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12963 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
12964 having a 4KiB and not 32KiB buffer size.
12966 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12968 * util/hostfs.c: Include `<errno.h>'.
12969 (grub_hostfs_read): Handle errors from fseeko() and fread().
12971 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12973 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
12974 loop when using read hooks on files whose size isn't sector-aligned.
12976 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12978 Remove unused parameter.
12980 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
12981 (grub_iso9660_open): Remove initialization of `data->length'.
12983 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12985 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
12986 memleak conditions.
12988 2010-01-27 Carles Pina i Estany <carles@pina.cat>
12990 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
12991 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
12993 2010-01-26 Carles Pina i Estany <carles@pina.cat>
12995 * util/bin2h.c (usage): Fix warning (space after backslash).
12997 2010-01-26 Carles Pina i Estany <carles@pina.cat>
12999 * font/font.c: Include `grub/fontformat.h.
13000 Remove font file format constants.
13001 (grub_font_load): Use the new macros.
13002 * include/grub/fontformat.h: New file.
13003 * util/grub-mkfont.c: Include `grub/fontformat.c'.
13004 (write_font_pf2): Use the new macros.
13006 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13008 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
13011 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13013 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
13015 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
13016 (_start): Macroify `0x7F'.
13018 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
13019 (make_install_device): Use "(pxe)" as fallback prefix when booting
13022 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13024 * configure.ac: Reset LIBS after check for libgcc symbols.
13026 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
13028 * util/hostdisk.c (open_device): Add trailing newline to debug
13031 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
13033 * configure.ac: Check for `limits.h'.
13034 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
13036 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
13038 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
13039 capitalize error strings.
13041 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
13043 * util/grub.d/10_hurd.in: Add a recovery mode.
13045 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13047 * configure.ac: Check for libgcc symbols with -nostdlib.
13049 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
13051 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
13053 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13055 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
13056 stack since heap may be unavailable at that point.
13057 (grub_ofconsole_gotoxy): Likewise.
13059 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13061 * configure.ac: Check for _restgpr_14_x.
13062 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
13063 and _savegpr_* prototypes.
13065 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
13067 Use generic grub_reboot() for i386-efi.
13069 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
13070 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
13071 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
13073 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13075 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
13076 presence of "prefix" variable as it breaks when normal.mod is
13079 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13081 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
13082 stack since heap is unavailable at that point.
13084 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13086 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
13087 (grub_freebsd_bootinfo): Rewritten.
13088 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
13090 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13092 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
13094 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
13096 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
13099 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
13101 * util/misc.c (make_system_path_relative_to_its_root): Change the work
13102 around for handling "/" to the correct fix. Fix a memory leak. Use
13103 xstrdup instead of strdup.
13105 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13107 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
13109 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13111 Optimise glyph lookup by Basic Multilingual Plane lookup array.
13113 * font/font.c (struct grub_font): New member 'bmp_idx'.
13114 (font_init): Initialise 'bmp_idx'.
13115 (load_font_index): Fill 'bmp_idx'.
13116 (find_glyph): Make inline. Use bmp_idx for BMP characters.
13118 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13120 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
13123 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13125 Move context handling out of the kernel.
13127 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
13128 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
13129 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
13130 * conf/i386-efi.rmk: Likewise.
13131 * conf/i386-ieee1275.rmk: Likewise.
13132 * conf/i386-pc.rmk: Likewise.
13133 * conf/powerpc-ieee1275.rmk: Likewise.
13134 * conf/sparc64-ieee1275.rmk: Likewise.
13135 * conf/x86_64-efi.rmk: Likewise.
13136 * include/grub/env.h: Include grub/menu.h.
13137 (grub_env_var_type): Removed.
13138 (grub_env_var): Replaced field 'type' with 'global'.
13139 (grub_env_find): New prototype.
13140 (grub_env_context_open): Remove EXPORT_FUNC.
13141 (grub_env_context_close): Likewise.
13142 (grub_env_export): Likewise.
13143 (grub_env_set_data_slot): Removed.
13144 (grub_env_get_data_slot): Likewise.
13145 (grub_env_unset_data_slot): Likewise.
13146 (grub_env_unset_menu): New prototype.
13147 (grub_env_set_menu): Likewise.
13148 (grub_env_get_menu): Likewise.
13149 * include/grub/env_private.h: New file.
13150 * include/grub/normal.h (grub_context_init): New prototype.
13151 (grub_context_fini): Likewise.
13152 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
13153 * normal/context.c (grub_cmd_export): ... to here.
13154 * kern/env.c: Include env_private.h.
13155 (HASHSZ): Moved to include/grub/env_private.h.
13156 (grub_env_context): Likewise.
13157 (grub_env_sorted_var): Likewise.
13158 (current_context): Renamed from this ...
13159 (grub_current_context): ...to this. 'static' removed. All users updated.
13160 (grub_env_find): Removed 'static'.
13161 (grub_env_context_open): Moved to normal/context.c.
13162 (grub_env_context_close): Likewise.
13163 (grub_env_export): Likewise.
13164 (mangle_data_slot_name): Removed.
13165 (grub_env_set_data_slot): Likewise.
13166 (grub_env_get_data_slot): Likewise.
13167 (grub_env_unset_data_slot): Likewise.
13168 * kern/main.c (grub_set_root_dev): Don't export root.
13169 It will be done later.
13170 (grub_main): Don't export prefix.
13171 It will be done later.
13172 * normal/context.c: New file.
13173 * normal/main.c (free_menu): Use grub_env_unset_menu.
13174 (grub_normal_add_menu_entry): Use grub_env_get_menu.
13175 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
13176 (GRUB_MOD_INIT(normal)): Call grub_context_init.
13177 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
13179 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13183 * commands/setpci.c: New file.
13184 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
13185 (setpci_mod_SOURCES): New variable.
13186 (setpci_mod_CFLAGS): Likewise.
13187 (setpci_mod_LDFLAGS): Likewise.
13189 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13191 Byte-addressable PCI configuration space.
13193 * bus/pci.c (grub_pci_make_address): Use byte address instead of
13195 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
13196 GRUB_PCI_REG_CACHELINE.
13197 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
13198 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
13199 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
13200 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
13201 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
13202 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
13203 grub_pci_make_address.
13204 (lock_rom_area): Likewise.
13205 * commands/lspci.c (grub_lspci_iter): Use macroses
13206 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
13207 of grub_pci_make_address.
13208 * disk/ata.c (grub_ata_pciinit): Likewise.
13209 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
13210 (GRUB_PCI_REG_VENDOR): Likewise.
13211 (GRUB_PCI_REG_DEVICE): Likewise.
13212 (GRUB_PCI_REG_COMMAND): Likewise.
13213 (GRUB_PCI_REG_STATUS): Likewise.
13214 (GRUB_PCI_REG_REVISION): Likewise.
13215 (GRUB_PCI_REG_CLASS): Likewise.
13216 (GRUB_PCI_REG_CACHELINE): Likewise.
13217 (GRUB_PCI_REG_LAT_TIMER): Likewise.
13218 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
13219 (GRUB_PCI_REG_BIST): Likewise.
13220 (GRUB_PCI_REG_ADDRESSES): Likewise.
13221 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13222 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13223 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13224 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13225 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13226 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13227 (GRUB_PCI_REG_CIS_POINTER): Likewise.
13228 (GRUB_PCI_REG_SUBVENDOR): Likewise.
13229 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
13230 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
13231 (GRUB_PCI_REG_CAP_POINTER): Likewise.
13232 (GRUB_PCI_REG_IRQ_LINE): Likewise.
13233 (GRUB_PCI_REG_IRQ_PIN): Likewise.
13234 (GRUB_PCI_REG_MIN_GNT): Likewise.
13235 (GRUB_PCI_REG_MAX_LAT): Likewise.
13236 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
13237 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
13238 * video/efi_uga.c (find_framebuf): Likewise.
13239 * video/sm712.c (grub_video_sm712_setup): Likewise.
13240 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
13243 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13245 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
13246 can be reliably determined to be supported.
13248 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13250 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
13251 that VESA is supported.
13252 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
13255 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13257 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
13259 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13261 * util/misc.c (make_system_path_relative_to_its_root): Work around
13262 special-casing of "/", as previous incarnation of this routine did.
13264 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13266 Fix any-emu compilation.
13268 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
13269 * grub_bin2h_SOURCES: New variable.
13271 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13273 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
13275 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13277 * util/grub.d/00_header.in: Fix handling of locale_dir.
13279 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13281 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
13282 as possible unifont location (Gentoo).
13283 Reported by: Alexander Brüning
13285 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13287 Don't try to generate lists for kernel.img.
13289 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
13290 (pkglib_MODULES): Remove kernel.img.
13291 (kernel_img_EXPORTS): Removed.
13292 (kernel_img_RELOCATABLE): New variable.
13293 * conf/x86_64-efi.rmk: Likewise.
13294 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
13296 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13298 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
13299 grub_xasprintf or grub_snprintf.
13300 (grub_vsprintf): Likewise.
13301 (grub_snprintf): New proto.
13302 (grub_vsnprintf): Likewise.
13303 (grub_xasprintf): Likewise.
13304 (grub_xvasprintf): Likewise.
13305 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
13306 (grub_sprintf): Removed.
13307 (grub_vsnprintf): New function.
13308 (grub_snprintf): Likewise.
13309 (grub_xvasprintf): Likewise.
13310 (grub_xasprintf): Likewise.
13311 (grub_vsprintf): Renamed to ...
13312 (grub_vsnprintf_real): ...this. New argument max_len.
13314 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
13316 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
13317 fix grub-script-check warning.
13319 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13321 * include/grub/font.h (grub_font_load): Fix prototype.
13323 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13325 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
13327 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13329 * include/grub/x86_64/at_keyboard.h: New file.
13331 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13333 * loader/mips/linux.c: Include missing grub/i18n.h.
13335 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13337 * normal/menu.c (notify_execution_failure): Clarify error message.
13339 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13341 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
13342 return value (and revert all return statements). Update users.
13344 2010-01-20 Dan Merillat <debian@dan.merillat.org>
13346 * kern/device.c (grub_device_iterate): Allocate new part_ent
13347 structure based on sizeof (*p) rather than sizeof (p->next), to
13348 account for structure padding.
13350 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
13351 disk is NULL, which might happen for LVM physical volumes with no
13354 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13356 * loader/mips/linux.c (grub_cmd_initrd)
13357 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
13359 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13361 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
13362 (grub_video_video_init, grub_video_bitmap_init)
13363 (grub_font_manager_init, grub_term_gfxterm_init)
13364 (grub_at_keyboard_init): New extern declarations.
13365 (grub_machine_init): Initialize gfxterm and at_keyboard.
13367 * kern/main.c (grub_main): Revert grub_printf delay kludge.
13369 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
13370 `gfxterm.mod' into core image.
13372 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13373 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13374 (kernel_img_FORMAT): Copy to ...
13376 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13377 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13378 (kernel_img_FORMAT): ... here, and ...
13380 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13381 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13382 (kernel_img_FORMAT): ... here.
13384 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
13385 and input (at_keyboard) terminals in kernel.
13386 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
13388 (pkglib_MODULES): Remove `pci.mod'.
13389 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
13390 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
13391 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
13392 (at_keyboard_mod_LDFLAGS): Remove variables.
13394 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
13396 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
13398 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
13400 * include/grub/mips/libgcc.h: Only export symbols for functions
13401 that libgcc provides.
13403 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
13407 * bus/bonito.c: New file.
13408 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
13409 GRUB_PCI_NUM_DEVICES.
13410 * term/i386/pc/serial.c: Move to ...
13411 * term/serial.c: ... here. All users updated.
13412 * util/i386/pc/grub-mkimage.c: Move to ...
13413 * util/grub-mkrawimage.c: ... here. All users updated.
13414 * term/i386/pc/at_keyboard.c: Move to ...
13415 * term/at_keyboard.c: ... here. All users updated.
13416 * conf/mips-qemu-mips.rmk: New file.
13417 * conf/mips-yeeloong.rmk: Likewise.
13418 * conf/mips.rmk: Likewise.
13419 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
13421 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
13423 (grub_ata_pciinit): Support CS5536.
13424 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
13425 * font/font_cmd.c (loadfont_command): Open file before passing it to
13427 (pseudo_file_read): New function.
13428 (pseudo_file_close): Likewise.
13429 (pseudo_fs): New structure.
13430 (load_font_module): New function.
13431 (GRUB_MOD_INIT(font_manager)): Load embedded font.
13432 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
13433 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
13434 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
13435 * include/grub/i386/at_keyboard.h: Split into ...
13436 * include/grub/at_keyboard.h: ... this ...
13437 * include/grub/i386/at_keyboard.h: ... and this.
13438 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
13440 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
13442 (grub_elf64_size): Likewise.
13443 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
13445 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
13446 * include/grub/i386/coreboot/serial.h: Rewritten.
13447 * include/grub/i386/ieee1275/serial.h: Include
13448 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
13449 * include/grub/i386/pc/serial.h: Moved from here ...
13450 * include/grub/serial.h: ... to here. All users updated.
13451 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
13452 (GRUB_PCI_NUM_BUS): Likewise.
13453 (GRUB_PCI_NUM_DEVICES): Likewise.
13454 (grub_pci_device_map_range): Add missing volatile keyword.
13455 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
13456 * include/grub/mips/at_keyboard.h: New file.
13457 * include/grub/mips/cache.h: Likewise.
13458 * include/grub/mips/io.h: Likewise.
13459 * include/grub/mips/kernel.h: Likewise.
13460 * include/grub/mips/libgcc.h: Likewise.
13461 * include/grub/mips/pci.h: Likewise.
13462 * include/grub/mips/qemu-mips/boot.h: Likewise.
13463 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13464 * include/grub/mips/qemu-mips/loader.h: Likewise.
13465 * include/grub/mips/qemu-mips/memory.h: Likewise.
13466 * include/grub/mips/qemu-mips/serial.h: Likewise.
13467 * include/grub/mips/qemu-mips/time.h: Likewise.
13468 * include/grub/mips/relocator.h: Likewise.
13469 * include/grub/mips/time.h: Likewise.
13470 * include/grub/mips/types.h: Likewise.
13471 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
13472 * include/grub/mips/yeeloong/boot.h: Likewise.
13473 * include/grub/mips/yeeloong/kernel.h: Likewise.
13474 * include/grub/mips/yeeloong/loader.h: Likewise.
13475 * include/grub/mips/yeeloong/memory.h: Likewise.
13476 * include/grub/mips/yeeloong/pci.h: Likewise.
13477 * include/grub/mips/yeeloong/serial.h: Likewise.
13478 * include/grub/mips/yeeloong/time.h: Likewise.
13479 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
13480 * kern/elf.c (grub_elf32_size): New parameter. All users
13482 (grub_elf64_size): Likewise.
13483 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
13484 Load modules before saying "Welcome to GRUB!".
13485 Call grub_refresh after saying "Welcome to GRUB!".
13486 * kern/mips/cache.S: New file.
13487 * kern/mips/cache_flush.S: Likewise.
13488 * kern/mips/dl.c: Likewise.
13489 * kern/mips/init.c: Likewise.
13490 * kern/mips/qemu-mips/init.c: Likewise.
13491 * kern/mips/startup.S: Likewise.
13492 * kern/mips/yeeloong/init.c: Likewise.
13493 * kern/term.c (grub_putcode): Handle NULL terminal.
13494 (grub_getcharwidth): Likewise.
13495 (grub_getkey): Likewise.
13496 (grub_checkkey): Likewise.
13497 (grub_getkeystatus): Likewise.
13498 (grub_getxy): Likewise.
13499 (grub_getwh): Likewise.
13500 (grub_gotoxy): Likewise.
13501 (grub_cls): Likewise.
13502 (grub_setcolorstate): Likewise.
13503 (grub_setcolor): Likewise.
13504 (grub_getcolor): Likewise.
13505 (grub_refresh): Likewise.
13506 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
13507 (write_jump): Add hatch nop.
13508 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
13509 * lib/mips/setjmp.S: New file.
13510 * loader/mips/linux.c: Likewise.
13511 * term/i386/pc/at_keyboard.c: Move from here ...
13512 * term/at_keyboard.c: ... to here.
13513 * term/i386/pc/serial.c: Moved from here ...
13514 * term/serial.c: ... to here. All users updated.
13515 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
13516 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
13517 (serial_translate_key_sequence): Avoid deadlock.
13518 (grub_serial_getkey): Handle backspace.
13519 (grub_serial_putchar): Fix newline handling.
13520 * util/i386/pc/grub-mkimage.c: Move from here ...
13521 * util/grub-mkrawimage.c: ... to here. All users updated.
13522 (generate_image): New parameters 'font_path' and 'format'.
13523 Support embedding font.
13524 Use grub_host_to_target* instead of grub_cpu_to_le*.
13525 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
13526 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
13527 (options): New option "--font".
13529 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
13530 (main): Handle "--font".
13531 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
13532 (grub_virtual_screen_setup): Set bg_color_display.
13533 (redraw_screen_rect): Use bg_color_display instead of incorrect
13535 (grub_gfxterm_cls): Likewise.
13536 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
13537 Support embedding config file.
13538 (add_segments): Likewise.
13539 (options): New option "--config".
13540 (main): Handle "--config".
13541 * video/sm712.c: New file.
13543 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13545 Fix parallel builds.
13547 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
13548 font.c depend on ascii.h).
13550 2010-01-12 Carles Pina i Estany <carles@pina.cat>
13552 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
13554 2010-01-11 Carles Pina i Estany <carles@pina.cat>
13556 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
13557 By default: disabled.
13558 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
13561 2010-01-10 Carles Pina i Estany <carles@pina.cat>
13563 * font/font.c: Update copyright years.
13564 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
13566 2010-01-10 Carles Pina i Estany <carles@pina.cat>
13568 * font/font.c: Include `ascii.h'.
13569 (ASCII_BITMAP_SIZE): New macro.
13570 (ascii_font_glyph): Define.
13571 (ascii_glyph_lookup): New function.
13572 (grub_font_get_string_width): Change comment. If glyph not found, use
13573 ascii_glyph_lookup.
13574 (grub_font_get_glyph_with_fallback): If glyph not available returns
13575 ascii_glyph_lookup.
13576 * util/grub-mkfont.c (file_formats): New enum.
13577 (options): Add `ascii-bitmaps' new option.
13578 (usage): Add `asii-bitmaps' new option.
13579 (write_font_ascii_bitmap): New function.
13580 (write_font): Rename to ...
13581 (write_font_p2): ... this. Remove print_glyphs call.
13582 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
13583 used. Call print_glyphs.
13584 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
13586 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13588 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
13589 (grub_bin2h_SOURCES): New variable.
13590 * util/bin2h.c: New file.
13592 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13594 * include/multiboot.h: Resynced with spec.
13595 * include/multiboot2.h: Likewise.
13596 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
13597 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
13599 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13601 * include/grub/term.h (grub_term_register_input,
13602 grub_term_register_output): Check return of terminal init()
13603 routines, and abort if errors are raised.
13605 * commands/terminal.c: Update copyright year.
13607 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13609 * commands/terminal.c (grub_cmd_terminal_input)
13610 (grub_cmd_terminal_output): Check return of terminal init()
13611 routines, and abort if errors are raised.
13613 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13615 * include/grub/i386/bsd.h: Fix include pathes.
13617 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13619 Add missing *BSD copyright headers.
13621 * include/grub/aout.h: Add BSD licence.
13622 * include/grub/i386/bsd.h: Parts under different licences moved to ...
13623 * include/grub/i386/freebsd_linker.h: ... here,
13624 * include/grub/i386/freebsd_reboot.h: ... here,
13625 * include/grub/i386/netbsd_bootinfo.h: ... here,
13626 * include/grub/i386/netbsd_reboot.h: ... here,
13627 * include/grub/i386/openbsd_bootarg.h: ... here,
13628 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
13629 licence to each file.
13631 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13633 * acinclude.m4: Remove `nop' assembly instruction; it's not
13634 implemented by all architectures.
13636 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13638 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
13639 ELILO. This is no longer necessary.
13641 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
13643 Added new tool, grub-scrit-check to verify grub.cfg syntax.
13645 * util/grub-script-check.c: grub-script-check tool.
13646 * conf/common.rmk: Make rules for grub-script-check.
13648 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13650 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
13651 spotting it back in 2008. Shame on me for forgetting he did.
13653 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
13655 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13657 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
13658 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
13659 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
13660 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
13661 (GRUB_VIDEO_TYPE_EFI): Rename to ...
13662 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
13664 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
13666 * include/grub/test.h: Add license header.
13667 * tests/example_functional_test.c: Likewise.
13668 * tests/example_unit_test.c: Likewise.
13669 * tests/lib/functional_test.c: Likewise.
13670 * tests/lib/test.c: Likewise.
13671 * tests/lib/unit_test.c: Likewise.
13673 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
13675 Use flag-based instead of hook-based video mode selection and "auto"
13678 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
13679 (grub_video_set_mode): Changed prototype. All users updated.
13680 (grub_video_check_mode_flag): New inline function.
13681 * video/video.c (parse_modespec): New function.
13682 (grub_video_set_mode): Parse flags and keywords.
13684 2010-01-17 Carles Pina i Estany <carles@pina.cat>
13686 * util/misc.c (grub_util_info): Fix the order of the parameters in a
13689 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
13691 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
13693 2010-01-16 Carles Pina i Estany <carles@pina.cat>
13695 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
13697 * util/grub-emu.c (usage): Likewise.
13698 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
13699 * util/i386/efi/grub-mkimage.c (usage): Likewise.
13700 * util/i386/pc/grub-mkimage.c (usage): Likewise.
13701 * util/i386/pc/grub-setup.c (usage): Likewise.
13703 2010-01-16 Carles Pina i Estany <carles@pina.cat>
13705 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
13707 (grub_util_info): Likewise.
13708 (grub_util_error): Likewise.
13709 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
13710 and/or new lines in `grub_util_warna', `grub_util_info',
13711 `grub_util_error' calls.
13712 * util/getroot.c: Likewise.
13713 * util/grub-editenv.c: Likewise.
13714 * util/grub-emu.c: Likewise.
13715 * util/grub-fstest.c: Likewise.
13716 * util/grub-mkdevicemap.c: Likewise.
13717 * util/grub-mkfont.c: Likewise.
13718 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13719 * util/grub-mkrelpath.c: Likewise.
13720 * util/grub-pe2elf.c: Likewise.
13721 * util/grub-probe.c: Likewise.
13722 * util/hostdisk.c: Likewise.
13723 * util/i386/efi/grub-mkimage.c: Likewise.
13724 * util/i386/pc/grub-mkimage.c: Likewise.
13725 * util/i386/pc/grub-setup.c: Likewise.
13726 * util/ieee1275/ofpath.c: Likewise.
13727 * util/mkisofs/eltorito.c: Likewise.
13728 * util/mkisofs/rock.c: Likewise.
13729 * util/mkisofs/write.c: Likewise.
13730 * util/raid.c: Likewise.
13731 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13732 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13734 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13736 Enable multiboot on non-pc.
13738 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
13739 multiboot.mod and multiboot2.mod to ...
13740 * conf/i386.rmk (pkglib_MODULES): ... here.
13741 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
13743 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
13744 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
13746 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
13747 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
13749 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
13750 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
13752 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
13753 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
13755 (ata_mod_SOURCES): Removed.
13756 (ata_mod_CFLAGS): Likewise.
13757 (ata_mod_LDFLAGS): Likewise.
13758 (relocator_mod_SOURCES): Removed.
13759 (relocator_mod_CFLAGS): Likewise.
13760 (relocator_mod_ASFLAGS): Likewise.
13761 (relocator_mod_LDFLAGS): Likewise.
13763 * include/grub/x86_64/multiboot.h: New file.
13764 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
13767 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13769 Video multiboot support.
13771 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
13773 * include/multiboot.h: Resynced with multiboot specification.
13774 * include/multiboot2.h: Likewise.
13775 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
13776 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
13777 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
13778 (HAS_VGA_TEXT): Likewise.
13779 (accepts_video): New variable.
13780 (grub_multiboot_set_accepts_video): New function.
13781 (grub_multiboot_get_mbi_size): Account for video structures.
13782 (set_video_mode): New function.
13783 (retrieve_video_parameters): Likewise.
13784 (grub_multiboot_make_mbi): Fill video fields.
13786 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13790 * include/grub/video.h (grub_video_driver_id): New type.
13791 (grub_video_adapter): New member 'id'. All users updated.
13792 (grub_video_get_driver_id): New proto.
13793 * video/video.c (grub_video_get_driver_id): New function.
13795 2010-01-14 Carles Pina i Estany <carles@pina.cat>
13797 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
13800 2010-01-14 Carles Pina i Estany <carles@pina.cat>
13802 * normal/cmdline.c (print_completion): Gettextizze.
13804 2001-01-14 Carles Pina i Estany <carles@pina.cat>
13806 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
13808 2010-01-14 Carles Pina i Estany <carles@pina.cat>
13810 * gettext/gettext.c (grub_gettext_translate): Push and pop
13812 (grub_gettext_delete_list): Change comment style.
13813 * kern/err.c (grub_error): Gettextizze.
13814 (grub_fatal): Gettextizze.
13816 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13818 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
13819 (grub_linux16_real_boot): ... this.
13820 * kern/i386/loader.S: Likewise.
13821 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
13822 (grub_linux16_boot): New function. Switches to text mode and calls
13823 grub_linux16_real_boot().
13825 * loader/i386/bsd.c: Include `<grub/video.h>'.
13826 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
13827 text mode before calling grub_unix_real_boot().
13829 * loader/i386/multiboot.c: Include `<grub/video.h>'.
13830 (grub_multiboot_boot): Switch to text mode before calling
13831 grub_relocator32_boot().
13833 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
13834 (grub_chainloader_boot): Switch to text mode before calling
13835 grub_chainloader_real_boot().
13837 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
13838 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
13840 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
13843 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
13844 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
13846 * util/grub.d/00_header.in: Define a "savedefault" function for use
13848 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
13850 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
13851 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
13853 * util/grub-mkconfig_lib.in (save_default_entry): Only set
13854 saved_entry if boot_once is unset.
13855 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
13856 previous saved entry (i.e. grub-reboot).
13858 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13860 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
13862 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13864 * util/grub.d/00_header.in: Use `set var=val' rather than plain
13866 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
13868 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13870 * util/grub-reboot.in: Fix --version output.
13871 * util/grub-set-default.in: Likewise.
13873 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13875 * util/grub.d/00_header.in: Silently ignore zero-sized environment
13878 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13880 * util/grub.d/00_header.in: Quote the value assigned to `default',
13881 in case it contains spaces.
13883 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13885 * util/grub.d/30_os-prober.in: Fix merge error that moved a
13886 `save_default_entry' call from the macosx case to the linux case.
13888 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13889 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
13891 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
13892 in `chosen' environment variable.
13893 * normal/menu_text.c (get_entry_number): Check if the variable
13894 matches the title of a menu entry.
13895 (run_menu): Pass menu to get_entry_number.
13897 * util/grub-reboot.in: New file.
13898 * util/grub-set-default.in: New file.
13899 * conf/common.rmk (grub-reboot): New utility.
13900 (grub-set-default): New utility.
13902 * util/grub-mkconfig_lib.in (save_default_entry): New function.
13903 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
13904 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
13905 move it to `saved_entry' for the next boot. Load environment on
13907 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
13908 * util/grub.d/10_hurd.in: Likewise.
13909 * util/grub.d/10_linux.in (linux_entry): Likewise.
13910 * util/grub.d/10_windows.in: Likewise.
13911 * util/grub.d/30_os-prober.in: Likewise.
13913 * util/grub-install.in: Create environment block.
13914 * util/i386/efi/grub-install.in: Likewise.
13915 * util/ieee1275/grub-install.in: Likewise.
13916 * util/sparc64/ieee1275/grub-install.in: Likewise.
13918 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
13920 Unit testing framework for GRUB.
13922 * Makefile.in: Test framework build rules for 'make check'.
13923 * conf/tests.rmk: Build rules for individual tests and framework.
13925 * include/grub/test.h: Header file for whitebox tests.
13926 * tests/lib/functional_test.c: Framework support for whitebox
13928 * tests/lib/test.c: Common whitebox testing code for unit and
13930 * tests/lib/unit_test.c: Framework support for whitebox unit
13933 * tests/util/grub-shell-tester.in: Support utility for grub-script
13935 * tests/util/grub-shell.in: Utility to execute grub-script
13936 commands in a Qemu instance.
13938 * tests/example_functional_test.c: Example whitebox functional
13940 * tests/example_grub_script_test.in: Example grub-script test.
13941 * tests/example_scripted_test.in: Example scripted test.
13942 * tests/example_unit_test.c: Example whitebox unit test.
13944 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13946 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
13947 Add loader/i386/multiboot_mbi.c.
13948 (multiboot2_mod_SOURCES): Likewise.
13949 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
13950 (multiboot2_mod_SOURCES): Likewise.
13951 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
13952 (grub_multiboot_make_mbi): Likewise.
13953 (grub_multiboot_free_mbi): Likewise.
13954 (grub_multiboot_init_mbi): Likewise.
13955 (grub_multiboot_add_module): Likewise.
13956 (grub_multiboot_set_bootdev): Likewise.
13957 * loader/i386/multiboot.c (mbi): Removed.
13958 (mbi_dest): Likewise.
13959 (alloc_mbi): New variable.
13960 (grub_multiboot_payload_size): Removed. All users updated.
13961 (grub_multiboot_pure_size): New variable.
13962 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
13963 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
13964 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
13965 (grub_fill_multiboot_mmap): Likewise.
13966 (grub_multiboot_get_bootdev): Likewise.
13967 (grub_multiboot): Use multiboot_mbi functions.
13968 * loader/i386/multiboot_mbi.c: New file.
13970 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13972 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
13973 it would result in module crash.
13975 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13977 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
13978 (grub_ofconsole_getwh): Split to ...
13979 (grub_ofconsole_getwh): ... this.
13980 (grub_ofconsole_dimensions): ...and this.
13981 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
13983 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
13985 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
13987 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13989 * loader/i386/pc/multiboot2.c: Removed stalled file.
13991 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13993 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
13994 Reported by: Grégoire Sutre
13996 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
13998 * util/misc.c (canonicalize_file_name): New function.
13999 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
14000 instead of realpath().
14002 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
14004 * util/grub-install.in (usage): Clarify meaning of --root-directory,
14005 and make it clearer that it's optional. Based on confusion
14008 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14010 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
14011 in premature implicit newline.
14013 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14015 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
14016 which resulted in garbled command line at the end of screen.
14018 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14020 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
14021 initialization with similar approach as with other Linux loaders.
14023 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14025 Fix i386-ieee1275 build.
14027 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
14028 and grub_term_height() for video_{width,height} initialization.
14030 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14032 Fix grub-emu build.
14034 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
14036 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14037 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14039 Support for multiple terminals.
14041 * Makefile.in (pkglib_DATA): terminal.lst.
14042 (terminal.lst): New target.
14043 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
14044 (GRUB_MOD_INIT(handler)): Likewise.
14045 (GRUB_MOD_FINI(handler)): Likewise.
14046 * commands/help.c (grub_cmd_help): Handle multiple terminals.
14047 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
14048 * commands/sleep.c (do_print): Use grub_term_restore_pos.
14049 (grub_cmd_sleep): Use grub_term_save_pos.
14050 * commands/terminal.c: New file.
14051 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
14052 commands/terminal.c and lib/charset.c.
14053 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
14054 (pkglib_MODULES): Add terminal.mod.
14055 (terminal_mod_SOURCES): New variable.
14056 (terminal_mod_CFLAGS): Likewise.
14057 (terminal_mod_LDFLAGS): Likewise.
14058 * genhandlerlist.sh: Don't handle terminals.
14059 * genmk.rb: Generate terminal-*.lst.
14060 * genterminallist.sh: New file.
14061 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
14062 (grub_is_valid_utf8): Likewise.
14063 (grub_utf8_to_ucs4_alloc): Likewise.
14064 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
14065 (grub_menu_register_viewer): Changed argument.
14066 (grub_menu_try_text): New proto.
14067 (grub_gfxmenu_try_hook): New declaration.
14068 * include/grub/normal.h (grub_normal_exit_level): New declaration.
14069 (grub_menu_init_page): Additional argument term.
14070 (grub_normal_init_page): Likewise.
14071 (grub_cmdline_get): Arguments simplified.
14072 (grub_utf8_to_ucs4_alloc): Removed.
14073 (grub_print_ucs4): Additional argument term.
14074 (grub_getstringwidth): Likewise.
14075 (grub_print_message_indented): Likewise.
14076 (grub_menu_text_register_instances): New proto.
14077 (grub_show_menu): Likewise.
14078 (read_terminal_list): Likewise.
14079 (grub_set_more): Likewise.
14080 * include/grub/parser.h: Include handler.h.
14081 * include/grub/reader.h: Rewritten.
14082 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
14083 (GRUB_TERM_WIDTH): Changed to function.
14084 (GRUB_TERM_HEIGHT): Likewise.
14085 (GRUB_TERM_BORDER_WIDTH): Likewise.
14086 (GRUB_TERM_BORDER_HEIGHT): Likewise.
14087 (GRUB_TERM_NUM_ENTRIES): Likewise.
14088 (GRUB_TERM_ENTRY_WIDTH): Likewise.
14089 (GRUB_TERM_CURSOR_X): Likewise.
14090 (grub_term_input_class): Likewise.
14091 (grub_term_output_class): Likewise.
14092 (grub_term_outputs_disabled): New declaration.
14093 (grub_term_inputs_disabled): Likewise.
14094 (grub_term_outputs): Likewise.
14095 (grub_term_inputs): Likewise.
14096 (grub_term_register_input): Rewritten.
14097 (grub_term_register_output): Likewise.
14098 (grub_term_unregister_input): Likewise.
14099 (grub_term_unregister_output): Likewise.
14100 (FOR_ACTIVE_TERM_INPUTS): New macro.
14101 (FOR_DISABLED_TERM_INPUTS): Likewise.
14102 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14103 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14104 * include/grub/terminfo.h: Add oterm argument to all protypes.
14105 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
14106 Use grub_rescue_run.
14107 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
14109 * kern/reader.c: Removed. All users updated.
14110 * kern/rescue_reader.c (grub_rescue_init): Removed.
14111 (grub_rescue_reader): Likewise.
14112 (grub_register_rescue_reader): Likewise.
14113 (grub_rescue_run): New function based on kern/reader.c.
14114 * kern/term.c: Adapted for multiterm.
14115 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
14116 (grub_is_valid_utf8): Likewise.
14117 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
14118 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
14120 * loader/i386/linux.c (grub_linux_boot): Likewise.
14121 * normal/auth.c (grub_username_get): New function.
14122 (grub_auth_check_authentication): Use grub_username_get.
14123 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
14124 * normal/color.c: Adapt for multiterm.
14125 * normal/main.c (read_config_file): Don't use grub_reader_loop.
14126 (grub_normal_init_page): Additional argument term.
14127 (read_lists): Call read_terminal_lists.
14128 (grub_enter_normal_mode): Call grub_cmdline_run.
14129 Handle grub_normal_exit_level.
14130 (grub_cmd_normal): Make reentrant.
14131 (grub_cmd_normal_exit): New function.
14132 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
14133 * normal/menu.c: Adapt for multiterm.
14134 * normal/menu_entry.c: Likewise.
14135 * normal/menu_text.c: Likewise.
14136 * normal/menu_viewer.c: Removed. All users updated.
14137 * normal/term.c: New file.
14138 * util/console.c: Change order of includes to workaround a bug in
14140 * term/terminfo.c: New argument oterm on all exported functions.
14142 * util/grub-editenv.c (grub_term_input_class): Removed.
14143 (grub_term_output_class): Likewise.
14145 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14147 Make loader output a bit more user-friendly.
14149 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
14150 is being loaded. Likewise for the Hurd.
14152 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
14153 that kernel of FreeBSD ${version} is being loaded.
14155 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
14157 (grub_cmd_initrd): Likewise.
14158 * util/grub.d/10_linux.in (linux_entry): Print message indicating
14159 that Linux ${version} is being loaded. Likewise for initrd.
14161 2010-01-09 Carles Pina i Estany <carles@pina.cat>
14163 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
14165 2010-01-08 Carles Pina i Estany <carles@pina.cat>
14167 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
14168 (GRUB_MOD_INIT): Gettextizze.
14169 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
14170 (GRUB_MOD_INIT): Gettextizze.
14171 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
14172 (grub_cmd_linux): Capitalise Linux.
14173 (GRUB_MOD_INIT): Gettextizze.
14174 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
14175 (grub_cmd_linux): Capitalise Linux.
14176 (GRUB_MOD_INIT): Gettextizze.
14177 * loader/i386/linux.c: Include `<grub/i18n.h>'.
14178 (grub_cmd_linux): Capitalise Linux.
14179 (GRUB_MOD_INIT): Gettextizze.
14180 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
14181 (GRUB_MOD_INIT): Gettextizze.
14182 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
14183 (grub_cmd_linux): Capitalise Linux.
14184 (GRUB_MOD_INIT): Gettextizze.
14185 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
14186 (grub_cpu_xnu_init): Gettextizze.
14187 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
14188 (GRUB_MOD_INIT): Gettextizze.
14189 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
14190 (GRUB_MOD_INIT): Gettextizze.
14191 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
14192 (grub_linux_load64): Capitalise Linux.
14193 (GRUB_MOD_INIT): Gettextizze.
14194 * loader/xnu.c: Include `<grub/i18n.h>'.
14195 (GRUB_MOD_INIT): Gettextizze.
14196 * po/POTFILES: Add `loader/efi/appleloader.c',
14197 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
14198 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
14199 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
14200 `loader/i386/xnu.c', `loader/multiboot_loader.c',
14201 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
14202 and `loader/xnu.c'.
14204 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14206 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
14208 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14210 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
14211 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
14212 * util/mkisofs/mkisofs.c (main): Readjust --version output.
14214 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14216 Reset Multiboot 2 support. New loader implements the draft in
14217 /branches/multiboot2 and shares as much code as possible with the
14218 production Multiboot 1 implementation.
14220 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
14221 * loader/multiboot2.c: Likewise.
14222 * loader/i386/multiboot_helper.S: Likewise.
14223 * include/multiboot2.h: Replace with latest version from the draft
14224 in /branches/multiboot2.
14226 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
14227 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
14228 and `loader/multiboot2.c'.
14229 (pkglib_MODULES): Add `multiboot2.mod'.
14230 (multiboot2_mod_SOURCES): New variable.
14231 (multiboot2_mod_LDFLAGS): Likewise.
14232 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
14234 * conf/i386-pc.rmk: Likewise.
14236 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14237 (multiboot_mod_SOURCES): Remove variable.
14238 (multiboot_mod_LDFLAGS): Likewise.
14239 (multiboot_mod_CFLAGS): Likewise.
14241 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
14242 `<multiboot2.h>' instead of `<multiboot.h>'.
14243 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
14244 (MULTIBOOT_HEADER_MAGIC): New macros.
14246 * loader/multiboot_loader.c (module_version_status): Remove variable.
14247 (find_multi_boot2_header): Remove function.
14248 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
14249 logic. Always check for the Multiboot version we're compiling for.
14250 (grub_cmd_module_loader): Likewise.
14251 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
14252 command instead of `multiboot'.
14254 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14256 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
14257 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
14260 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14261 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14263 Fix breakage introduced with previous commit.
14265 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
14267 * normal/handler.c (read_handler_list): Revert part of previous commit
14268 affecting this file.
14269 * normal/main.c (read_lists): Move read_handler_list() call back to ...
14270 (grub_normal_execute): ... here.
14272 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14274 Merge prefix-redefinition-fix branch.
14276 * normal/autofs.c (read_fs_list): Make function capable of being
14277 run multiple times, gracefuly replacing the previous data
14279 * normal/dyncmd.c (read_command_list): Likewise.
14280 * normal/handler.c (read_handler_list): Likewise.
14281 * normal/main.c (read_lists): New function. Calls all the
14282 list reading functions.
14283 (grub_normal_execute): Use read_lists() instead of calling all
14284 list reading functions explicitly. Register read_lists() as a
14285 variable hook attached to ${prefix}.
14287 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14289 Merge crypto branch.
14291 * Makefile.in (pkglib_DATA): Add crypto.lst.
14292 (crypto.lst): New target.
14293 * commands/hashsum.c: New file.
14294 * commands/password.c (check_password): Use grub_crypto_memcmp.
14295 * commands/password_pbkdf2.c: New file.
14296 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
14297 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
14298 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
14299 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
14300 -I$(srcdir)/lib/libgcrypt_wrap.
14301 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
14302 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
14303 password_pbkdf2.mod.
14304 (crypto_mod_SOURCES): New variable.
14305 (crypto_mod_CFLAGS): Likewise.
14306 (crypto_mod_LDFLAGS): Likewise.
14307 (hashsum_mod_SOURCES): New variable.
14308 (hashsum_mod_CFLAGS): Likewise.
14309 (hashsum_mod_LDFLAGS): Likewise.
14310 (pbkdf2_mod_SOURCES): New variable.
14311 (pbkdf2_mod_CFLAGS): Likewise.
14312 (pbkdf2_mod_LDFLAGS): Likewise.
14313 (password_pbkdf2_mod_SOURCES): New variable.
14314 (password_pbkdf2_mod_CFLAGS): Likewise.
14315 (password_pbkdf2_mod_LDFLAGS): Likewise.
14316 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
14317 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
14318 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
14319 Include conf/gcry.rmk.
14320 * include/grub/auth.h: Rewritten.
14321 * include/grub/crypto.h: New file.
14322 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
14323 * include/grub/normal.h (read_crypto_list): New prototype.
14324 * lib/crypto.c: New file.
14325 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14326 * lib/pbkdf2.c: Likewise.
14327 * normal/auth.c (grub_auth_strcmp): Removed.
14328 (grub_iswordseparator): Likewise.
14329 (grub_auth_strword): Likewise.
14330 (is_authenticated): Use grub_strword.
14331 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
14332 and grub_strword. Pass entered password to authentication callback.
14333 * normal/crypto.c: New file.
14334 * normal/main.c: Call read_crypto_list.
14335 * util/grub-mkpasswd-pbkdf2.c: New file.
14336 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
14338 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
14340 Fix descent and ascent calculation.
14342 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
14343 (options): New option "asce".
14345 (add_char): Ignore invalid glyphs for descent calculation.
14346 Calculate ascent from actual content.
14347 (print_glyphs): Use 'asce'.
14348 (write_font): Likewise. Allow ascent override.
14349 (main): Handle "asce" option.
14351 2010-01-06 Carles Pina i Estany <carles@pina.cat>
14353 * kern/err.c: Include `<grub/i18n.h>'.
14354 (grub_print_error): Add full stop. Gettextizze.
14355 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
14356 (grub_bsd_load_elf): Capitalise ELF.
14357 (grub_cmd_freebsd_loadenv): Add `s' in error string.
14358 (grub_cmd_freebsd_module): Likewise.
14359 (grub_cmd_freebsd_module_elf): Likewise.
14360 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
14362 2010-01-06 Carles Pina i Estany <carles@pina.cat>
14364 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
14365 * commands/search_file.c (HELP_MESSAGE): New macro.
14366 * commands/search_label.c (HELP_MESSAGE): Likewise.
14367 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
14368 * po/POTFILES: Add `commands/search_file.c',
14369 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
14370 `commands/search.c'.
14372 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14374 * config.rpath: Update from Gnulib.
14376 2010-01-05 Yves Blusseau <blusseau@zetam.org>
14378 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
14380 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
14382 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
14384 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14386 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
14387 arguments to fread so that we get a return value in bytes, rather
14388 than something that will normally be rounded down to 0.
14389 Adjust error handling to avoid producing garbage when size_t is not
14390 the same size as long long.
14392 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14394 * util/mkisofs/write.c (padblock_write): Check return value of
14397 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14399 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
14402 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
14404 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14406 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
14407 instead of manual alignment.
14408 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
14409 verbose). Avoid attempts to read past end of the device
14410 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
14411 but GRUB_DISK_CACHE_SIZE may exceed that).
14413 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14415 * commands/crc.c (grub_cmd_crc): Abort on read errors.
14416 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
14419 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14421 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
14423 (grub_efi_piwg_device_path): New structure
14424 (grub_efi_piwg_device_path_t): New type.
14425 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
14426 (devpath_1): Transform to a structure. All users updated.
14427 (devpath_2): Likewise.
14428 (devpath_3): Likewise.
14429 (devpath_4): Likewise.
14430 (devpath_5): Likewise.
14432 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14434 * loader/efi/appleloader.c: Restored. Update all users.
14436 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14438 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
14440 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
14441 (struct boot_blocklist): Move from here ...
14442 * include/grub/i386/pc/boot.h [ASM_FILE]
14443 (struct grub_boot_blocklist): ... to here. Update all users.
14444 (setup): Only initialize `start' member of `first_block'
14445 structure. Add assert() calls to verify the other members.
14447 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
14448 (generate_image): Fix broken blocklist length initialization.
14449 Add assert() call to verify blocklist `segment' field.
14451 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14453 * loader/efi/appleloader.c: Remove. Update all users.
14455 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14457 * boot/i386/pc/boot.S: Update copyright year.
14458 * boot/i386/pc/cdboot.S: Likewise.
14459 * boot/i386/pc/diskboot.S: Likewise.
14460 * boot/i386/pc/lnxboot.S: Likewise.
14461 * boot/i386/pc/pxeboot.S: Likewise.
14462 * bus/pci.c: Likewise.
14463 * commands/cmp.c: Likewise.
14464 * commands/help.c: Likewise.
14465 * commands/hexdump.c: Likewise.
14466 * commands/i386/pc/halt.c: Likewise.
14467 * commands/i386/pc/play.c: Likewise.
14468 * commands/i386/pc/vbeinfo.c: Likewise.
14469 * commands/ls.c: Likewise.
14470 * commands/test.c: Likewise.
14471 * disk/dmraid_nvidia.c: Likewise.
14472 * disk/i386/pc/biosdisk.c: Likewise.
14473 * disk/ieee1275/nand.c: Likewise.
14474 * disk/ieee1275/ofdisk.c: Likewise.
14475 * disk/lvm.c: Likewise.
14476 * disk/raid.c: Likewise.
14477 * disk/raid6_recover.c: Likewise.
14478 * disk/scsi.c: Likewise.
14479 * fs/affs.c: Likewise.
14480 * fs/cpio.c: Likewise.
14481 * fs/ext2.c: Likewise.
14482 * fs/hfs.c: Likewise.
14483 * fs/iso9660.c: Likewise.
14484 * fs/ntfs.c: Likewise.
14485 * fs/sfs.c: Likewise.
14486 * fs/udf.c: Likewise.
14487 * fs/ufs.c: Likewise.
14488 * fs/xfs.c: Likewise.
14489 * gencmdlist.sh: Likewise.
14490 * genmk.rb: Likewise.
14491 * include/grub/disk.h: Likewise.
14492 * include/grub/efi/api.h: Likewise.
14493 * include/grub/efi/efi.h: Likewise.
14494 * include/grub/efi/pe32.h: Likewise.
14495 * include/grub/elf.h: Likewise.
14496 * include/grub/fs.h: Likewise.
14497 * include/grub/i386/at_keyboard.h: Likewise.
14498 * include/grub/i386/pc/memory.h: Likewise.
14499 * include/grub/i386/pc/vbe.h: Likewise.
14500 * include/grub/i386/pci.h: Likewise.
14501 * include/grub/i386/tsc.h: Likewise.
14502 * include/grub/ieee1275/ieee1275.h: Likewise.
14503 * include/grub/ntfs.h: Likewise.
14504 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
14505 * include/grub/sparc64/libgcc.h: Likewise.
14506 * include/grub/symbol.h: Likewise.
14507 * include/grub/types.h: Likewise.
14508 * include/multiboot2.h: Likewise.
14509 * io/gzio.c: Likewise.
14510 * kern/device.c: Likewise.
14511 * kern/disk.c: Likewise.
14512 * kern/efi/efi.c: Likewise.
14513 * kern/efi/mm.c: Likewise.
14514 * kern/elf.c: Likewise.
14515 * kern/file.c: Likewise.
14516 * kern/i386/dl.c: Likewise.
14517 * kern/i386/pc/init.c: Likewise.
14518 * kern/i386/pc/startup.S: Likewise.
14519 * kern/ieee1275/ieee1275.c: Likewise.
14520 * kern/ieee1275/init.c: Likewise.
14521 * kern/main.c: Likewise.
14522 * kern/mm.c: Likewise.
14523 * kern/powerpc/dl.c: Likewise.
14524 * kern/sparc64/dl.c: Likewise.
14525 * kern/x86_64/dl.c: Likewise.
14526 * lib/hexdump.c: Likewise.
14527 * loader/efi/appleloader.c: Likewise.
14528 * loader/i386/ieee1275/linux.c: Likewise.
14529 * loader/i386/pc/chainloader.c: Likewise.
14530 * loader/i386/pc/linux.c: Likewise.
14531 * loader/i386/pc/multiboot2.c: Likewise.
14532 * loader/ieee1275/multiboot2.c: Likewise.
14533 * loader/multiboot2.c: Likewise.
14534 * loader/multiboot_loader.c: Likewise.
14535 * loader/powerpc/ieee1275/linux.c: Likewise.
14536 * normal/completion.c: Likewise.
14537 * normal/menu_entry.c: Likewise.
14538 * partmap/apple.c: Likewise.
14539 * util/grub.d/10_hurd.in: Likewise.
14540 * util/hostfs.c: Likewise.
14541 * video/readers/png.c: Likewise.
14543 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
14545 * include/grub/misc.h (GNUC_PREREQ): New macro.
14546 (ATTRIBUTE_ERROR): New macro.
14547 * include/grub/list.h (grub_bad_type_cast_real): Use
14550 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14552 * normal/menu_text.c (print_message): Change messages.
14554 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14556 * normal/menu_entry.c (store_completion): Gettextizze.
14558 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14560 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
14562 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14564 * po/POTFILES: Sort correctly.
14566 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14568 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
14569 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
14570 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
14572 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
14573 summary. Gettextizze the strings.
14574 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
14575 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
14576 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
14578 (GRUB_MOD_INIT): Remove command name from summary.
14579 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
14581 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
14582 * term/i386/pc/serial.c (options): Add full stops.
14583 (GRUB_MOD_INIT): Remove command name from the summary.
14585 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14587 * commands/acpi.c: Gettextizze help strings and/or options. Include
14588 `grub/i18n.h' if needed.
14589 * commands/blocklist.c: Likewise.
14590 * commands/boot.c: Likewise.
14591 * commands/cat.c: Likewise.
14592 * commands/cmp.c: Likewise.
14593 * commands/configfile.c: Likewise.
14594 * commands/crc.c: Likewise.
14595 * commands/date.c: Likewise.
14596 * commands/echo.c: Likewise.
14597 * commands/efi/fixvideo.c: Likewise.
14598 * commands/efi/loadbios.c: Likewise.
14599 * commands/gptsync.c: Likewise.
14600 * commands/halt.c: Likewise.
14601 * commands/handler.c: Likewise.
14602 * commands/hdparm.c: Likewise.
14603 * commands/hexdump.c: Likewise.
14604 * commands/i386/cpuid.c: Likewise.
14605 * commands/i386/pc/drivemap.c: Likewise.
14606 * commands/i386/pc/halt.c: Likewise.
14607 * commands/i386/pc/pxecmd.c: Likewise.
14608 * commands/i386/pc/vbeinfo.c: Likewise.
14609 * commands/i386/pc/vbetest.c: Likewise.
14610 * commands/ieee1275/suspend.c: Likewise.
14611 * commands/keystatus.c: Likewise.
14612 * commands/loadenv.c: Likewise.
14613 * commands/ls.c: Likewise.
14614 * commands/lsmmap.c: Likewise.
14615 * commands/lspci.c: Likewise.
14616 * commands/memrw.c: Likewise.
14617 * commands/minicmd.c: Likewise.
14618 * commands/parttool.c: Likewise.
14619 * commands/password.c: Likewise.
14620 * commands/probe.c: Likewise.
14621 * commands/read.c: Likewise.
14622 * commands/reboot.c: Likewise.
14623 * commands/search.c: Likewise.
14624 * commands/sleep.c: Likewise.
14625 * commands/test.c: Likewise.
14626 * commands/true.c: Likewise.
14627 * commands/usbtest.c: Likewise.
14628 * commands/videotest.c: Likewise.
14629 * commands/xnu_uuid.c: Likewise.
14630 * disk/loopback.c: Likewise.
14631 * hello/hello.c: Likewise.
14632 * loader/i386/bsd.c: Likewise.
14633 * term/i386/pc/serial.c: Likewise.
14634 * po/POTFILES: Add new files.
14636 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
14638 * term/i386/pc/at_keyboard.c
14639 (keyboard_controller_wait_untill_ready): Rename to ...
14640 (keyboard_controller_wait_until_ready): ... this. Update all users.
14642 2010-01-01 Carles Pina i Estany <carles@pina.cat>
14644 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
14645 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
14646 string using string width.
14647 * normal/menu_text.c (grub_print_message_indented): Use
14648 grub_print_spaces and not print_spaces.
14649 (print_timeout): Likewise.
14650 (print_spaces): Move to...
14651 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
14653 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
14655 Import from Gnulib.
14657 * gnulib/getdelim.c: New file.
14658 * gnulib/getline.c: Likewise.
14660 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
14662 * include/grub/list.h (grub_assert_fail): Removed.
14663 (grub_bad_type_cast_real): New function.
14664 (grub_bad_type_cast): New macro.
14665 (GRUB_AS_LIST): Use grub_bad_type_cast.
14666 (GRUB_AS_LIST_P): Likewise.
14667 (GRUB_AS_NAMED_LIST): Likewise.
14668 (GRUB_AS_NAMED_LIST_P): Likewise.
14669 (GRUB_AS_PRIO_LIST): Likewise.
14670 (GRUB_AS_PRIO_LIST_P): Likewise.
14671 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
14673 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
14675 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
14678 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
14680 * configure.ac: Check for TARGET_CFLAGS initialization before we
14681 initialize it ourselves (sigh).
14682 Move a few modifications to TARGET_CFLAGS to be unconditional
14683 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
14686 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
14687 * term/i386/pc/at_keyboard.c
14688 (keyboard_controller_wait_untill_ready): Likewise.
14689 (keyboard_controller_led): Rename `led_status' paramter to avoid
14692 2009-12-28 Carles Pina i Estany <carles@pina.cat>
14694 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
14697 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14699 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
14701 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14703 * normal/menu_text.c (grub_print_message_indented): Prevent
14704 past-the-end-of-array dereference.
14706 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14708 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
14709 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
14711 2009-12-27 Carles Pina i Estany <carles@pina.cat>
14713 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
14714 * normal/main.c (grub_normal_read_line): Remove a space from the
14717 2009-12-27 Carles Pina i Estany <carles@pina.cat>
14719 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
14720 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14721 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
14722 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
14723 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14724 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14725 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14727 2009-12-26 Carles Pina i Estany <carles@pina.cat>
14729 * video/readers/jpeg.c (cmd): Declare.
14730 (grub_cmd_jpegtest): Use `grub_command_t' type.
14731 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14733 (GRUB_MOD_FINI): Use `cmd' to unregister.
14734 * video/readers/png.c (cmd): Declare.
14735 (grub_cmd_pngtest): Use `grub_command_t' type.
14736 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14738 (GRUB_MOD_FINI): Use `cmd' to unregister.
14739 * video/readers/tga.c (cmd): Declare.
14740 (grub_cmd_tgatest): Use `grub_command_t' type.
14741 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14743 (GRUB_MOD_FINI): Use `cmd' to unregister.
14745 2009-12-26 Carles Pina i Estany <carles@pina.cat>
14747 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
14749 * kern/corecmd.c (grub_register_core_commands): Likewise.
14750 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
14751 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
14752 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
14753 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14754 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
14755 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
14756 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
14757 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
14758 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14759 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14760 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14761 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14762 * normal/handler.c (insert_handler): Likewise.
14763 * normal/main.c (GRUB_MOD_INIT): Likewise.
14764 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14766 2009-12-26 Carles Pina i Estany <carles@pina.cat>
14768 * commands/help.c (grub_cmd_help): Print the command name before the
14770 (GRUB_MOD_INIT): Remove command name from the summary.
14771 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
14773 * lib/arg.c (find_long): Print the command name before the summary.
14774 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
14776 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
14777 * commands/cat.c (GRUB_MOD_INIT): Likewise.
14778 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
14779 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
14780 * commands/crc.c (GRUB_MOD_INIT): Likewise.
14781 * commands/date.c (GRUB_MOD_INIT): Likewise.
14782 * commands/echo.c (GRUB_MOD_INIT): Likewise.
14783 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
14784 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
14785 * commands/handler.c (GRUB_MOD_INIT): Likewise.
14786 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
14787 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
14788 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
14789 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
14790 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
14791 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
14792 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
14793 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
14794 * commands/ls.c (GRUB_MOD_INIT): Likewise.
14795 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
14796 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
14797 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
14798 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
14799 * commands/password.c (GRUB_MOD_INIT): Likewise.
14800 * commands/probe.c (GRUB_MOD_INIT): Likewise.
14801 * commands/read.c (GRUB_MOD_INIT): Likewise.
14802 * commands/search.c (GRUB_MOD_INIT): Likewise.
14803 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
14804 * commands/test.c (GRUB_MOD_INIT): Likewise.
14805 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
14806 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14807 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14808 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
14809 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14810 * lib/arg.c (GRUB_MOD_INIT): Likewise.
14811 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
14812 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
14813 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14814 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14815 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14816 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
14817 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
14818 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
14820 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14822 Use search command for preliminar UUID search.
14824 * commands/search.c: Split into ...
14825 * commands/search_wrap.c: ...this
14826 * commands/search.c: ...and this.
14827 * commands/search_file.c: New file.
14828 * commands/search_label.c: New file.
14829 * commands/search_uuid.c: New file.
14830 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
14831 Add commands/search_wrap.c, commands/search_file.c,
14832 commands/search_label.c and commands/search_uuid.c.
14833 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
14834 (search_mod_SOURCES): Set to commands/search_wrap.c.
14835 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
14837 (search_fs_file_mod_SOURCES): New variable.
14838 (search_fs_file_mod_CFLAGS): Likewise.
14839 (search_fs_file_mod_LDFLAGS): Likewise.
14840 (search_label_mod_SOURCES): Likewise.
14841 (search_label_mod_CFLAGS): Likewise.
14842 (search_label_mod_LDFLAGS): Likewise.
14843 (search_fs_uuid_mod_SOURCES): New variable.
14844 (search_fs_uuid_mod_CFLAGS): Likewise.
14845 (search_fs_uuid_mod_LDFLAGS): Likewise.
14846 (fs_file_mod_SOURCES): Removed.
14847 (fs_file_mod_CFLAGS): Likewise.
14848 (fs_file_mod_LDFLAGS): Likewise.
14849 (fs_uuid_mod_SOURCES): Removed.
14850 (fs_uuid_mod_CFLAGS): Likewise.
14851 (fs_uuid_mod_LDFLAGS): Likewise.
14852 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
14853 Set to util/grub-install.in.
14854 * disk/fs_file.c: Removed.
14855 * disk/fs_uuid.c: Likewise.
14856 * include/grub/search.h: New file.
14857 * util/grub-install.in: Handle sparc64.
14858 Create and use load.cfg.
14859 * util/sparc64/ieee1275/grub-install.in: Removed.
14861 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14863 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
14864 Ignore return status if CF is cleared.
14865 (grub_biosdisk_get_diskinfo_standard): Likewise.
14867 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
14869 * term/i386/pc/at_keyboard.c
14870 (keyboard_controller_wait_untill_ready): New function.
14871 (grub_keyboard_controller_write, grub_keyboard_controller_read)
14872 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
14873 for keyboard polling, rather than duplicate the same loop. This
14874 saves a few bytes in code size.
14876 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14878 Support for (pxe[:server[:gateway]]) syntax and
14879 use environment variable for PXE.
14881 * commands/i386/pc/pxecmd.c (options): Removed.
14882 (print_ip): Removed.
14883 (grub_cmd_pxe): Removed
14884 (grub_cmd_pxe_unload): New function.
14885 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
14886 (grub_pxe_your_ip): Made static.
14887 (grub_pxe_default_server_ip): Likewise.
14888 (grub_pxe_default_gateway_ip): Likewise.
14889 (grub_pxe_blksize): Likewise.
14890 (parse_ip): New function.
14891 (grub_pxe_open): Support server and gateway specification.
14892 (grub_pxe_close): Free disk->data.
14893 (grub_pxefs_open): Use disk->data.
14894 (grub_pxefs_read): Likewise.
14895 (grub_env_write_readonly): New function.
14896 (set_mac_env): Likewise.
14897 (set_env_limn_ro): Likewise.
14898 (parse_dhcp_vendor): Likewise.
14899 (grub_pxe_detect): Set the environment variables.
14900 (set_ip_env): New function.
14901 (write_ip_env): Likewise.
14902 (grub_env_write_pxe_default_server): Likewise.
14903 (grub_env_write_pxe_default_gateway): Likewise.
14904 (grub_env_write_pxe_blocksize): Likewise.
14905 (GRUB_MOD_INIT(pxe)): Set environment variables.
14906 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
14907 (grub_pxe_mac_addr_t): ... this. All users updated.
14908 (grub_pxe_your_ip): Removed.
14909 (grub_pxe_server_ip): Likewise.
14910 (grub_pxe_gateway_ip): Likewise.
14911 (grub_pxe_blksize): Likewise.
14913 2009-12-25 Carles Pina i Estany <carles@pina.cat>
14915 * commands/help.c: Include `<grub/i18n.h>'.
14916 (grub_cmd_help): Gettextizze.
14917 (GRUB_MOD_INIT): Likewise.
14918 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
14919 (GRUB_MOD_INIT): Gettextizze.
14920 * commands/search.c: Include `<grub/i18n.h>'.
14921 (options): Gettextizze.
14922 (GRUB_MOD_INIT): Gettextizze.
14923 * lib/arg.c: Include `<grub/i18n.h>'.
14924 (help_options): Gettextizze.
14925 (find_long): Likewise.
14926 (grub_arg_show_help): Likewise.
14927 * normal/dyncmd.c: Include `<grub/i18n.h>'.
14928 (read_command_list): Gettextizze.
14929 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
14930 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
14932 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
14934 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
14935 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
14936 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
14937 (led_status): New variable.
14938 (keyboard_controller_led): New function.
14939 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
14940 update led status for caps lock, num lock and scroll lock.
14942 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
14944 * util/hostdisk.c (open_device): Fix a comment.
14946 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14948 * util/grub-install.in (host_os): New variable.
14949 * util/i386/efi/grub-install.in (host_os): Likewise.
14951 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14953 * util/mkisofs/write.c (padblock_write): Abort when given an
14954 excedingly large embed image, instead of silently truncating it.
14956 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14958 * include/multiboot.h: Indentation fixes.
14960 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14962 * include/multiboot.h (struct multiboot_aout_symbol_table)
14963 (struct multiboot_elf_section_header_table): New structure
14964 declarations (stolen from GRUB Legacy).
14965 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
14968 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
14969 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
14972 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14974 * include/multiboot.h: Make comments src2texi-friendly.
14976 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14978 For consistency with [multiboot]/docs/boot.S.
14980 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
14981 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
14982 (MULTIBOOT_MAGIC2): Rename from this ...
14983 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
14985 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14987 * include/multiboot.h: Remove `<grub/types.h>'.
14988 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
14989 types. Update all users.
14991 2009-12-25 Carles Pina i Estany <carles@pina.cat>
14993 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
14994 `couldn't' and `can not' by `cannot'.
14995 * commands/i386/pc/drivemap.c: Likewise.
14996 * disk/ata.c: Likewise.
14997 * disk/ieee1275/nand.c: Likewise.
14998 * fs/affs.c: Likewise.
14999 * fs/fat.c: Likewise.
15000 * fs/hfs.c: Likewise.
15001 * fs/hfsplus.c: Likewise.
15002 * fs/iso9660.c: Likewise.
15003 * fs/jfs.c: Likewise.
15004 * fs/minix.c: Likewise.
15005 * fs/reiserfs.c: Likewise.
15006 * fs/sfs.c: Likewise.
15007 * fs/udf.c: Likewise.
15008 * fs/ufs.c: Likewise.
15009 * fs/xfs.c: Likewise.
15010 * loader/powerpc/ieee1275/linux.c: Likewise.
15011 * loader/sparc64/ieee1275/linux.c: Likewise.
15012 * util/grub-probe.c: Likewise.
15013 * util/misc.c: Likewise.
15015 2009-12-24 Carles Pina i Estany <carles@pina.cat>
15017 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
15019 * commands/acpi.c: Likewise.
15020 * commands/blocklist.c: Likewise.
15021 * commands/efi/loadbios.c: Likewise.
15022 * commands/i386/pc/drivemap.c: Likewise.
15023 * commands/loadenv.c: Likewise.
15024 * commands/memrw.c: Likewise.
15025 * commands/password.c: Likewise.
15026 * commands/videotest.c: Likewise.
15027 * disk/ata.c: Likewise.
15028 * disk/ata_pthru.c: Likewise.
15029 * disk/dmraid_nvidia.c: Likewise.
15030 * disk/ieee1275/nand.c: Likewise.
15031 * disk/ieee1275/ofdisk.c: Likewise.
15032 * disk/loopback.c: Likewise.
15033 * disk/lvm.c: Likewise.
15034 * disk/mdraid_linux.c: Likewise.
15035 * disk/raid.c: Likewise.
15036 * disk/raid6_recover.c: Likewise.
15037 * disk/scsi.c: Likewise.
15038 * efiemu/main.c: Likewise.
15039 * efiemu/mm.c: Likewise.
15040 * efiemu/pnvram.c: Likewise.
15041 * efiemu/symbols.c: Likewise.
15042 * font/font.c: Likewise.
15043 * fs/cpio.c: Likewise.
15044 * fs/hfsplus.c: Likewise.
15045 * fs/iso9660.c: Likewise.
15046 * fs/jfs.c: Likewise.
15047 * fs/minix.c: Likewise.
15048 * fs/ntfs.c: Likewise.
15049 * fs/ntfscomp.c: Likewise.
15050 * fs/reiserfs.c: Likewise.
15051 * fs/ufs.c: Likewise.
15052 * fs/xfs.c: Likewise.
15053 * gettext/gettext.c: Likewise.
15054 * include/grub/auth.h: Likewise.
15055 * kern/elf.c: Likewise.
15056 * kern/file.c: Likewise.
15057 * kern/ieee1275/init.c: Likewise.
15058 * kern/ieee1275/mmap.c: Likewise.
15059 * kern/ieee1275/openfw.c: Likewise.
15060 * kern/powerpc/dl.c: Likewise.
15061 * kern/sparc64/dl.c: Likewise.
15062 * lib/arg.c: Likewise.
15063 * loader/i386/bsd.c: Likewise.
15064 * loader/i386/bsdXX.c: Likewise.
15065 * loader/i386/efi/linux.c: Likewise.
15066 * loader/i386/efi/xnu.c: Likewise.
15067 * loader/i386/ieee1275/linux.c: Likewise.
15068 * loader/i386/linux.c: Likewise.
15069 * loader/i386/multiboot.c: Likewise.
15070 * loader/i386/pc/linux.c: Likewise.
15071 * loader/i386/pc/multiboot2.c: Likewise.
15072 * loader/i386/xnu.c: Likewise.
15073 * loader/ieee1275/multiboot2.c: Likewise.
15074 * loader/macho.c: Likewise.
15075 * loader/machoXX.c: Likewise.
15076 * loader/multiboot2.c: Likewise.
15077 * loader/multiboot_loader.c: Likewise.
15078 * loader/powerpc/ieee1275/linux.c: Likewise.
15079 * loader/sparc64/ieee1275/linux.c: Likewise.
15080 * loader/xnu.c: Likewise.
15081 * loader/xnu_resume.c: Likewise.
15082 * mmap/i386/pc/mmap.c: Likewise.
15083 * normal/menu_viewer.c: Likewise.
15084 * partmap/acorn.c: Likewise.
15085 * partmap/amiga.c: Likewise.
15086 * partmap/apple.c: Likewise.
15087 * script/lexer.c: Likewise.
15088 * term/gfxterm.c: Likewise.
15089 * term/i386/pc/serial.c: Likewise.
15090 * term/i386/pc/vga.c: Likewise.
15091 * term/ieee1275/ofconsole.c: Likewise.
15092 * term/terminfo.c: Likewise.
15093 * video/bitmap.c: Likewise.
15094 * video/efi_gop.c: Likewise.
15095 * video/efi_uga.c: Likewise.
15096 * video/fb/video_fb.c: Likewise.
15097 * video/i386/pc/vbe.c: Likewise.
15098 * video/readers/tga.c: Likewise.
15099 * video/video.c: Likewise.
15101 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
15103 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
15104 * commands/lspci.c: Likewise.
15105 * commands/probe.c: Likewise.
15106 * commands/xnu_uuid.c: Likewise.
15107 * conf/i386-coreboot.rmk: Likewise.
15108 * conf/i386-efi.rmk: Likewise.
15109 * conf/i386-ieee1275.rmk: Likewise.
15110 * conf/i386-pc.rmk: Likewise.
15111 * conf/powerpc-ieee1275.rmk: Likewise.
15112 * conf/sparc64-ieee1275.rmk: Likewise.
15113 * conf/x86_64-efi.rmk: Likewise.
15114 * fs/i386/pc/pxe.c: Likewise.
15115 * gettext/gettext.c: Likewise.
15116 * include/grub/efi/graphics_output.h: Likewise.
15117 * include/grub/i386/pc/memory.h: Likewise.
15118 * kern/env.c: Likewise.
15119 * kern/i386/qemu/startup.S: Likewise.
15120 * lib/i386/pc/biosnum.c: Likewise.
15121 * lib/i386/relocator.c: Likewise.
15122 * lib/i386/relocator_asm.S: Likewise.
15123 * lib/relocator.c: Likewise.
15124 * loader/i386/bsd.c: Likewise.
15125 * loader/i386/multiboot.c: Likewise.
15126 * loader/i386/pc/chainloader.c: Likewise.
15127 * loader/i386/xnu.c: Likewise.
15128 * loader/xnu.c: Likewise.
15129 * normal/main.c: Likewise.
15130 * normal/menu_text.c: Likewise.
15131 * util/getroot.c: Likewise.
15132 * util/grub-mkconfig_lib.in: Likewise.
15133 * util/grub.d/00_header.in: Likewise.
15134 * util/i386/pc/grub-mkimage.c: Likewise.
15135 * util/mkisofs/eltorito.c: Likewise.
15136 * util/mkisofs/exclude.h: Likewise.
15137 * util/mkisofs/hash.c: Likewise.
15138 * util/mkisofs/iso9660.h: Likewise.
15139 * util/mkisofs/joliet.c: Likewise.
15140 * util/mkisofs/mkisofs.c: Likewise.
15141 * util/mkisofs/mkisofs.h: Likewise.
15142 * util/mkisofs/multi.c: Likewise.
15143 * util/mkisofs/name.c: Likewise.
15144 * util/mkisofs/rock.c: Likewise.
15145 * util/mkisofs/tree.c: Likewise.
15146 * util/mkisofs/write.c: Likewise.
15147 * video/efi_gop.c: Likewise.
15149 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15151 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
15154 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15156 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
15157 * genmk.rb (class SCRIPT): Modify the target file instead of source.
15159 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15161 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
15162 (GRUB_MOD_INIT(memrw)): Update help line.
15164 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15166 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
15167 Use grub_extcmd_t. All users updated.
15168 (options): New variable.
15169 (grub_cmd_read): Restructure for readability. Support "-v" option.
15170 (grub_cmd_write): Restructure for readability.
15172 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15174 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
15176 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15178 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
15179 with the actual contents of the correspondending make variable.
15180 * util/grub-mkrescue.in (pkglib_DATA): New variable.
15181 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
15182 specifying `*.lst' and `efiemu??.o'
15184 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15186 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
15187 after function name.
15188 Noticed by Rene Engelhard <rene@debian.org>.
15190 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15192 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
15193 (options): New variable.
15194 (iospace): Likewise.
15195 (grub_lspci_iter): List IO spaces if "-i" was given.
15196 (grub_cmd_lspci): Parse options.
15197 (GRUB_MOD_INIT(lspci)): Use extcmd.
15198 (GRUB_MOD_FINI(lspci)): Likewise.
15200 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15202 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
15203 `function' keyword.
15204 Patch by Tony Mancill <tmancill@debian.org>.
15206 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15208 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
15209 (grub_uhci_portstatus): Likewise.
15210 (grub_uhci_portstatus): Add necessary delay.
15211 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
15213 2009-12-21 Carles Pina i Estany <carles@pina.cat>
15215 * commands/acpi.c (options): Fix capitalizations and/or full stops.
15216 (GRUB_MOD_INIT): Likewise.
15217 * commands/boot.c (GRUB_MOD_INIT): Likewise.
15218 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
15219 * commands/echo.c (options): Fix capitalizations and/or full stops.
15220 * commands/efi/loadbios.c (enable_rom_area): Likewise.
15221 (enable_rom_area): Likewise.
15222 (GRUB_MOD_INIT): Likewise.
15223 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
15224 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
15225 * commands/handler.c (GRUB_MOD_INIT): Likewise.
15226 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
15227 * commands/hexdump.c (options): Likewise.
15228 * commands/i386/cpuid.c (options): Likewise.
15229 (GRUB_MOD_INIT): Likewise.
15230 * commands/i386/pc/drivemap.c (options): Likewise.
15231 (GRUB_MOD_INIT): Likewise.
15232 * commands/i386/pc/halt (options): Likewise.
15233 (GRUB_MOD_INIT): Likewise.
15234 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
15235 * commands/i386/pc/pxecmd.c (options): Likewise.
15236 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
15237 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
15238 * commands/keystatus.c (options): Likewise.
15239 (GRUB_MOD_INIT): Likewise.
15240 * commands/loadenv.c (options): Likewise.
15241 * commands/ls.c (options): Likewise.
15242 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
15243 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
15244 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
15245 * commands/parttool.c (helpmsg): Likewise.
15246 * commands/probe.c (options): Likewise.
15247 * commands/read.c (GRUB_MOD_INIT): Likewise.
15248 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
15249 * commands/search.c (options): Likewise.
15250 * commands/sleep.c (options): Likewise.
15251 * commands/test.c (GRUB_MOD_INIT): Likewise.
15252 * commands/true.c (GRUB_MOD_INIT): Likewise.
15253 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
15254 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
15255 * lib/arg.c (help_options): Likewise.
15256 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
15258 * po/POTFILES: Add `commands/loadenv.c'.
15260 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
15262 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
15263 instead of specifying them explicit.
15265 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15267 * NEWS: Add grub-probe support for GNU/Hurd.
15269 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15271 * NEWS: gettext was added after 1.97.
15273 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15275 * util/mkisofs/msdos_partition.h: New file (based on
15276 include/grub/msdos_partition.h).
15277 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
15278 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
15279 (ld_options, main): Recognize --protective-msdos-label.
15280 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
15281 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
15282 (padblock_write): If `use_protective_msdos_label' is set, patch a
15283 protective DOS-style label in the output image.
15285 * util/grub-mkrescue.in: Use --protective-msdos-label.
15287 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15289 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
15292 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15294 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
15296 (ld_options, main): Recognize `--embedded-boot'.
15297 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
15299 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
15300 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
15301 (padblock_write): Likewise. Rewrite to support embedded boot image.
15303 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
15304 for BIOS-based disk boot instead of only ElTorito.
15306 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15308 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
15309 build (not needed for bootstrap).
15311 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15313 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
15314 from i386-pc build (not needed for bootstrap).
15315 Rewrite a pair of strings.
15317 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15319 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
15321 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
15323 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
15325 2009-12-21 Andreas Born <futur.andy@googlemail.com>
15327 * kern/env.c (grub_env_context_open): Mark exported variable for
15330 2009-12-21 Andreas Born <futur.andy@googlemail.com>
15332 * kern/env.c (grub_env_export): Create nonexistent variables before
15335 2009-12-20 Carles Pina i Estany <carles@pina.cat>
15337 * include/grub/auth.h: Include `<grub/i18n.h>'.
15338 (GRUB_GET_PASSWORD): Gettextizze string.
15339 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
15341 (grub_utf8_to_ucs4_alloc): Fix indentation.
15342 (grub_print_ucs4): Likewise.
15343 (grub_getstringwidth): Likewise.
15344 (print_message_indented): New declaration.
15345 * normal/auth.c: Include `<grub/i18n.h>'.
15346 (grub_auth_check_authentication): Gettexttize string.
15347 * normal/cmdline.c: Include `<grub/i18n.h>'.
15348 (grub_cmdline_get): Gettextizze.
15349 * normal/color.c: Include `<grub/i18n.h>'.
15350 (grub_parse_color_name_pair): Gettexttize strings.
15351 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
15352 string (use `print_message_indented').
15353 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
15354 `include/grub/normal.h'.
15355 (print_message_indented): Renamed to ...
15356 (grub_print_message_indented): ... this. Remove `static' qualifer (now
15357 used in normal/main.c).
15358 (print_message): Use `grub_print_message_indented' instead of
15359 `print_message_indented'.
15360 (print_timeout): Likewise.
15361 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
15362 (grub_normal_print_device_info): Gettexttize strings.
15363 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
15365 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15367 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
15368 of arguments. Return number of tokens and not arguments. All users
15371 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15373 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
15374 non-MSDOS paritions.
15376 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15378 * include/grub/types.h (UNUSED): Removed since it conflicts with
15379 NetBSD headers. All users changed to direct __attribute__ ((unused)).
15380 Reported by Grégoire Sutre.
15382 2009-12-19 Carles Pina i Estany <carles@pina.cat>
15384 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
15385 (grub_print_ucs4_alloc): Likewise.
15386 (grub_getstringwidth): Likewise.
15387 * normal/main.c (grub_normal_init_page): Gettextize version string.
15388 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
15389 (getstringwidth): Renamed to ...
15390 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
15391 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
15392 (grub_print_ucs4): Remove `static' qualifer (now used in
15394 * po/POTFILES: Add normal/main.c.
15396 2009-12-19 Carles Pina i Estany <carles@pina.cat>
15398 * normal/menu_text.c (STANDARD_MARGIN): New macro.
15399 (print_message_indented): Add `margin_left' and `margin_right'
15401 (print_message): Update `print_message_indented' calls. Adds '\n' to the
15403 (print_timeout): Use `print_message_indented' to print the message.
15404 Deletes `second_stage' parameter.
15405 (run_menu): Update `print_timeout' calls.
15407 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15409 Fix console palette on OpenFirmware.
15411 * term/ieee1275/ofconsole.c (MAX): Removed.
15412 (colors): Redone based on VGA palette.
15413 (grub_ofconsole_setcolor): Discard brightness bit since only 8
15414 colors are supported.
15415 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
15417 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15419 Fix potential EfiEmu double prepare.
15421 * efiemu/main.c (prepared): New variable
15422 (grub_efiemu_unload): Set prepare to '0'.
15423 (grub_efiemu_prepare): Return if already prepared. Set prepared.
15425 set_virtual_address_map support.
15427 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
15429 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
15431 (grub_efiemu_crc32): Likewise.
15432 (grub_efiemu_crc64): Likewise.
15433 (grub_efiemu_set_virtual_address_map): Likewise.
15434 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
15436 (grub_autoefi_set_virtual_address_map): Likewise.
15437 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
15438 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
15439 Restructure flow to accomodate it.
15440 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
15441 (grub_efiemu_crc): Recompute CRC32.
15442 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
15443 (efiemu_ptv_relocated): ... this. Made global. All users updated.
15444 * efiemu/symbols.c (relocated_handle): New variable.
15445 (grub_efiemu_free_syms): Free relocated_handle.
15446 (grub_efiemu_alloc_syms): Allocate relocated_handle.
15447 (grub_efiemu_write_sym_markers): New function.
15448 (grub_efiemu_set_virtual_address_map): Likewise.
15450 Newer XNU parameters.
15452 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
15453 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
15454 (grub_xnu_fill_devicetree): New prototype.
15455 (grub_xnu_heap_real_start): New variable.
15456 * loader/xnu.c (get_name_ptr): New function.
15457 (grub_xnu_load_driver): Fill namelen and name.
15459 64-bit xnu support.
15461 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
15462 and 'loader/macho64.c'.
15463 * conf/i386-pc.rmk: Likewise.
15464 * conf/x86_64-efi.rmk: Likewise.
15465 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
15466 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
15467 * include/grub/macho.h (grub_macho_segment64): New structure.
15468 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
15469 (grub_macho_size32): ... to this.
15470 (grub_macho32_get_entry_point): Renamed from ...
15471 (grub_macho_get_entry_point32): ... to this.
15472 (grub_macho_contains_macho64): New prototype.
15473 (grub_macho_size64): Likewise.
15474 (grub_macho_get_entry_point64): Likewise.
15475 (grub_macho32_load): Renamed from ...
15476 (grub_macho_load32): ... to this.
15477 (grub_macho32_filesize): Renamed from ...
15478 (grub_macho_filesize32): ... to this.
15479 (grub_macho32_readfile): Renamed from ...
15480 (grub_macho_readfile32): ... to this.
15481 (grub_macho_filesize64): New prototype.
15482 (grub_macho_readfile64): Likewise.
15483 (grub_macho_parse32): Likewise.
15484 (grub_macho_parse64): Likewise.
15485 * loader/macho.c: Split into ...
15486 * loader/machoXX.c: ... and this. Replace 32 with XX.
15487 * loader/macho32.c: New file.
15488 * loader/macho64.c: Likewise.
15489 * loader/xnu.c (grub_xnu_is_64bit): New variable.
15490 (grub_cmd_xnu_kernel): Make 32-bit only.
15491 (grub_cmd_xnu_kernel64): New function.
15492 (grub_xnu_load_driver): Support Mach-O 64.
15493 (grub_cmd_xnu_mkext): Likewise.
15494 * util/grub.d/30_os-prober.in (osx_entry): New function.
15495 Generate entries for 64-bit boot too.
15497 Eliminate ad-hoc tree format in XNU and EfiEmu.
15499 * efiemu/main.c (grub_efiemu_prepare): Update comment.
15500 * efiemu/pnvram.c: Rewritten to use environment variables.
15503 Inline utf16_to_utf8.
15505 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
15506 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
15508 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
15510 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
15511 * commands/usbtest.c (grub_usb_get_string): ... move here.
15512 (usb_print_str): Fix error handling.
15513 * include/grub/usb.h (grub_usb_get_string): Remove.
15515 UTF-8 to UTF-16 transformation.
15517 * conf/common.rmk (pkglib_MODULES): Add charset.mod
15518 (charset_mod_SOURCES): New variable.
15519 (charset_mod_CFLAGS): Likewise.
15520 (charset_mod_LDFLAGS): Likewise.
15521 * include/grub/utf.h: New file.
15522 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
15524 Support for device properties.
15526 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
15527 (grub_xnu_devprop_device_header): Likewise.
15528 (grub_xnu_devprop_device_descriptor): Likewise.
15529 (grub_xnu_devprop_add_device): New prototype.
15530 (grub_xnu_devprop_remove_device): Likewise.
15531 (grub_xnu_devprop_remove_property): Likewise.
15532 (grub_xnu_devprop_add_property_utf8): Likewise.
15533 (grub_xnu_devprop_add_property_utf16): Likewise.
15534 (grub_cpu_xnu_init): Likewise.
15535 (grub_cpu_xnu_fini): Likewise.
15536 (grub_cpu_xnu_unload): Likewise.
15537 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
15538 (property_descriptor): Likewise.
15539 (devices): New variable.
15540 (grub_xnu_devprop_remove_property): New function.
15541 (grub_xnu_devprop_add_device): Likewise.
15542 (grub_xnu_devprop_remove_device): Likewise.
15543 (grub_xnu_devprop_add_property): Likewise.
15544 (grub_xnu_devprop_add_property_utf8): Likewise.
15545 (grub_xnu_devprop_add_property_utf16): Likewise.
15546 (hextoval): Likewise.
15547 (grub_cpu_xnu_fill_devprop): Likewise.
15548 (grub_cmd_devprop_load): Likewise.
15549 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
15550 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
15551 (cmd_devprop_load): New variable.
15552 (grub_cpu_xnu_init): New function.
15553 (grub_cpu_xnu_fini): Likewise.
15554 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
15555 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
15556 (grub_cmd_xnu_devtree): Likewise.
15557 (hextoval): New function.
15558 (unescape): Likewise.
15559 (grub_xnu_fill_devicetree): Likewise.
15561 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
15562 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
15564 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15566 Workaround for broken ATI VBE.
15568 * video/i386/pc/vbe.c (last_set_mode): New variable.
15569 (grub_vbe_set_video_mode): Set 'last_set_mode'.
15570 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
15571 (grub_video_vbe_setup): Don't check for reserved flag.
15573 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
15575 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
15576 the `find' command.
15578 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15580 UUID support for HFS.
15582 * fs/hfs.c (grub_hfs_uuid): New function.
15583 (grub_hfs_fs): New value .uuid.
15584 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
15586 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
15588 Fix a segfault with parsing unknown long options.
15590 * util/grub-mkrelpath.c (options): Zero terminate it.
15592 2009-12-13 Carles Pina i Estany <carles@pina.cat>
15594 * include/grub/misc.h (grub_puts): New declaration.
15595 (grub_puts_): Likewise.
15596 * kern/misc.c (grub_puts): New definition.
15597 (grub_puts_): Likewise.
15599 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15601 * util/grub-probe.c (probe): Improve error message.
15603 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15605 * loader/i386/multiboot_elfxx.c
15606 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
15609 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15611 Relocator framework
15613 * loader/i386/xnu_helper.S: Removed. All users updated.
15614 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
15615 (relocator_mod_SOURCES): New variable.
15616 (relocator_mod_CFLAGS): Likewise.
15617 (relocator_mod_LDFLAGS): Likewise.
15618 (relocator_mod_ASFLAGS): Likewise.
15619 * conf/x86_64.rmk: Likewise.
15620 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
15621 (grub_multiboot_payload_entry_offset): Likewise.
15622 (grub_multiboot_forward_relocator): Likewise.
15623 (grub_multiboot_forward_relocator_end): Likewise.
15624 (grub_multiboot_backward_relocator): Likewise.
15625 (grub_multiboot_backward_relocator_end): Likewise.
15626 (grub_multiboot_payload_eip): New variable.
15627 (grub_multiboot_payload_orig): Likewise.
15628 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
15629 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
15630 * include/grub/i386/memory.h
15631 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
15632 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
15633 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
15634 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
15635 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
15636 * include/grub/i386/relocator.h: New file.
15637 * include/grub/x86_64/relocator.h: Likewise.
15638 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
15639 (XNU_RELOCATOR): New macro.
15640 (grub_xnu_launcher_start): Remove.
15641 (grub_xnu_launcher_end): Likewise.
15642 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
15643 (grub_xnu_heap_real_start): Remove.
15644 (grub_xnu_heap_start): Change to void *. All users updated.
15645 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
15646 * lib/i386/relocator.c: New file.
15647 * lib/i386/relocator_asm.S: Likewise.
15648 * lib/i386/relocator_backward.S: Likewise.
15649 * lib/mips/relocator.c: Likewise.
15650 * lib/mips/relocator_asm.S: Likewise.
15651 * lib/relocator.c: Likewise.
15652 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
15654 (playground): Likewise.
15655 (grub_multiboot_payload_orig): New variable.
15656 (grub_multiboot_payload_dest): Likewise.
15657 (grub_multiboot_payload_size): Likewise.
15658 (grub_multiboot_payload_eip): Likewise.
15659 (grub_multiboot_payload_esp): Likewise.
15660 (grub_multiboot_boot): Use grub_relocator32_boot.
15661 (grub_multiboot_unload): Free relocators.
15662 (grub_multiboot): Setup stack. Use relocators.
15663 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
15664 (grub_multiboot_load_elfXX): Use relocators.
15665 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
15666 (grub_multiboot_payload_size): Likewise.
15667 (grub_multiboot_payload_dest): Likewise.
15668 (grub_multiboot_payload_entry_offset): Likewise.
15669 (grub_multiboot_forward_relocator): Likewise.
15670 (grub_multiboot_backward_relocator): Likewise.
15671 (grub_multiboot_real_boot): Likewise.
15672 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
15673 (grub_xnu_entry_point): Likewise.
15674 (grub_xnu_arg1): Likewise.
15675 (grub_xnu_stack): Likewise.
15676 (grub_xnu_launch): Removed.
15677 (grub_xnu_boot_resume): New function.
15678 (grub_xnu_boot): Use relocators.
15679 * loader/i386/xnu_helper.S: Removed.
15680 * loader/xnu.c (grub_xnu_heap_start): New variable.
15681 (grub_xnu_heap_size): Likewise.
15682 (grub_xnu_heap_malloc): Use relocators.
15683 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
15685 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15687 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
15690 2009-12-13 Carles Pina i Estany <carles@pina.cat>
15692 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
15693 GRUB_ERR_NONE before calling grub_env_set.
15695 2009-12-12 Robert Millan <rmh@aybabtu.com>
15697 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
15698 * genmk.rb (video): New variable.
15699 (CLEANFILES, VIDEOFILES): Add #{video}.
15700 (#{video}): New target rule.
15701 * genvideolist.sh: New file.
15702 * Makefile.in (pkglib_DATA): Add video.lst.
15703 (video.lst): New target rule.
15704 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
15706 * util/grub.d/30_os-prober.in: Replace `vbe' with
15707 ${GRUB_VIDEO_BACKEND}.
15709 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
15711 * THANKS: Add David Miller.
15713 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
15715 libpciaccess support.
15717 * Makefile.in (LIBPCIACCESS): New variable.
15718 (enable_grub_emu_pci): Likewise.
15719 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
15720 util/pci.c and commands/lspci.c.
15721 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
15722 * configure.ac (grub-emu-pci): New option.
15723 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
15724 (grub_pci_device_unmap_range): Likewise.
15725 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
15726 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
15727 (grub_pci_address_t) [!GRUB_UTIL]: New type.
15728 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
15729 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
15730 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
15731 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
15732 * include/grub/pciutils.h: New file.
15733 * util/pci.c: Likewise.
15735 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
15737 * util/misc.c: Don't include <errno.h> twice.
15739 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
15741 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
15742 name in an error message.
15743 (grub_biosdisk_rw): Likewise.
15745 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15747 Eliminate NTFS 4Gib barrier.
15749 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
15750 (read_run_data): Likewise.
15751 (grub_ntfs_read_run_list): Likewise.
15752 (grub_ntfs_read_block): Likewise.
15753 (grub_ntfs_iterate_dir): Likewise.
15754 (read_mft): Likewise.
15755 (read_data): Likewise.
15757 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
15758 to avoid 64-bit division
15759 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
15760 (grub_ntfs_rlst): Use grub_disk_addr_t.
15762 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15764 Eliminate grub-fstest 4Gib barrier.
15766 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
15767 (read_file): Fix error reporting.
15769 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15771 Eliminate hexdump 4Gib barrier.
15773 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
15774 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
15776 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15778 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
15781 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
15783 Remove miscellaneous files in distclean target.
15785 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
15787 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
15789 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
15790 if they're already set. This resolves the conflict between my
15791 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
15792 fixing the --grub-probe option again.
15793 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
15794 change on 2009-10-06, so that we now once again source
15795 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
15797 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
15799 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
15800 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
15801 `util/devicemap.c'.
15803 2009-12-08 Carles Pina i Estany <carles@pina.cat>
15805 * include/grub/misc.h (grub_printf_): New declaration.
15806 * kern/misc.c (grub_printf_): New definition.
15807 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
15808 instead of `grub_printf' and `_'.
15809 * normal/menu_entry.c (store_completion): Likewise.
15811 (grub_menu_entry_run): Likewise.
15812 * normal/menu_text.c (grub_wait_after_message): Likewise.
15813 (notify_booting): Likewise.
15814 (notify_fallback): Likewise.
15815 (notify_execution_failure): Likewise.
15817 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
15819 * configure.ac: Check for vasprintf.
15820 * util/misc.c (asprintf): Move allocation from here ...
15821 (vasprintf): ... to here. New function.
15822 (xasprintf): New function.
15823 * include/grub/util/misc.h (vasprintf, xasprintf): Add
15825 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15826 * util/grub-mkfont.c (write_font): Likewise.
15827 * util/grub-probe.c (probe): Likewise.
15828 * util/hostdisk.c (make_device_name): Likewise.
15830 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
15832 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
15833 anything even prefixed with 'cdrom' as a cdrom.
15835 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
15837 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
15840 2009-12-05 Carles Pina i Estany <carles@pina.cat>
15842 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
15843 grub_gettext_msg_list.
15844 (grub_gettext_gettranslation_from_position): Return const char *
15846 (grub_gettext_translate): Add the translated strings into a list,
15847 returns from the list if existing there.
15848 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
15849 (grub_gettext_delete_list): Delete the list.
15850 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
15851 lang environment variable is changed.
15852 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
15854 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
15856 Rename kernel.mod to kernel.img.
15858 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
15859 (kernel_mod_EXPORTS): Rename to ...
15860 (kernel_img_EXPORTS): ... this.
15861 (kernel_mod_SOURCES): Rename to ...
15862 (kernel_img_SOURCES): ... this.
15863 (kernel_mod_HEADERS): Rename to ...
15864 (kernel_img_HEADERS): ... this. All users updated.
15865 (kernel_mod_CFLAGS): Rename to ...
15866 (kernel_img_CFLAGS): ... this.
15867 (kernel_mod_ASFLAGS): Rename to ...
15868 (kernel_img_ASFLAGS): ... this.
15869 (kernel_mod_LDFLAGS): Rename to ...
15870 (kernel_img_LDFLAGS): ... this.
15871 * conf/x86_64-efi.rmk: Likewise.
15872 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
15873 (read_kernel_image): ... this. All users updated.
15874 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
15876 2009-12-05 Carles Pina i Estany <carles@pina.cat>
15878 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
15879 (print_spaces): New function.
15880 (grub_print_ucs4): New function.
15881 (getstringwidth): New function.
15882 (print_message_indented): New function.
15883 (print_message): Gettexttize strings using print_message_indented.
15884 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
15886 (get_entry_number): Gettextize and uses dynamic terminal width.
15887 (notify_booting, notify_fallback, notify_execution_failure):
15889 * normal/menu_entry.c (store_completion): Cleanup the gettextized
15892 (grub_menu_entry_run): Likewise.
15893 * PO/POTFILES: Add normal/menu_entry.c.
15895 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
15897 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
15899 2009-12-05 Carles Pina i Estany <carles@pina.cat>
15901 * util/grub-install.in: Install gettext .mo files.
15902 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
15904 2009-12-05 Carles Pina i Estany <carles@pina.cat>
15906 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
15909 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
15911 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
15912 non-firmware-dependant one in realmode.S takes precedence.
15914 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
15916 * commands/halt.c: Replace misc arch-specific headers with
15918 * commands/reboot.c: Likewise.
15919 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
15921 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
15922 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
15923 (kernel_img_SOURCES): ... to here.
15925 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
15926 * include/grub/i386/pc/init.h: Likewise.
15927 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15928 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15930 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
15932 * include/grub/i386/halt.h: Remove.
15933 * include/grub/i386/reboot.h: Likewise.
15935 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
15937 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
15939 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
15940 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
15941 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
15943 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
15944 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15945 (usage): Add missing comma in printf.
15947 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
15949 Use the same reboot approach on i386 coreboot and qemu as we do on
15952 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
15953 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
15954 * kern/i386/reboot.c: Remove.
15955 * include/grub/i386/reboot.h (grub_reboot): Export function.
15956 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
15957 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
15958 0xf000:0xfff0 instead of 0xffff:0x0000.
15959 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
15960 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
15962 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
15964 Fix $srcdir != $objdir build.
15966 * Makefile.in (po/%.po): Rewrite as ...
15967 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
15969 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
15971 Fix GNU/Hurd grub-install crash.
15972 * util/grub-probe.c (probe): Try to access `path' only when it is not
15975 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
15977 Correct module naming.
15979 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
15980 (GRUB_MOD_INIT(efi_uga)): ... to this
15981 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
15982 (GRUB_MOD_FINI(efi_uga)): ... to this
15983 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
15984 (GRUB_MOD_INIT(efi_gop)): ... to this
15985 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
15986 (GRUB_MOD_FINI(efi_gop)): ... to this
15988 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
15990 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
15992 (usage): Translate `arg' strings using gettext().
15993 Thanks to Jordi Mallach for the suggestion.
15995 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
15997 GOP support. Based on patch from Bean
15998 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16000 * video/efi_gop.c: New file.
16001 * include/grub/efi/graphics_output.h: Likewise.
16002 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
16003 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16005 * conf/x86_64-efi.rmk: Likewise.
16007 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16009 Rename efi_fb to efi_uga.
16011 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16013 (efi_fb_mod_SOURCES): Rename this ...
16014 (efi_uga_mod_SOURCES): ... to this.
16015 (efi_fb_mod_CFLAGS): Rename this ...
16016 (efi_uga_mod_CFLAGS): ... to this.
16017 (efi_fb_mod_LDFLAGS): Rename this ...
16018 (efi_uga_mod_LDFLAGS): ... to this.
16019 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16021 (efi_fb_mod_SOURCES): Rename this ...
16022 (efi_uga_mod_SOURCES): ... to this.
16023 (efi_fb_mod_CFLAGS): Rename this ...
16024 (efi_uga_mod_CFLAGS): ... to this.
16025 (efi_fb_mod_LDFLAGS): Rename this ...
16026 (efi_uga_mod_LDFLAGS): ... to this.
16027 * video/efi_fb.c: Move this ...
16028 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
16030 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16032 * po/README: New file. Explain our PO file workflow.
16034 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16036 * po/ChangeLog: Remove. Move relevant entries back to ...
16037 * ChangeLog: ... here.
16038 * po/ca.po: Remove (now handled by TLP).
16039 * po/id.po: Likewise.
16040 * po/zh_CN.po: Likewise.
16041 * Makefile.in (LINGUAS): Initialize in a way that supports
16044 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16046 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
16047 reliing on po/LINGUAS.
16048 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
16049 (po/%.po): ... this.
16051 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16053 * util/i386/efi/grub-mkimage.c: Include "progname.h".
16054 (main): Use `program_name' instead of nonexistent `progname'.
16056 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16058 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16059 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
16061 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16063 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
16065 * conf/i386-efi.rmk: Likewise.
16066 * conf/i386-ieee1275.rmk: Likewise.
16067 * conf/powerpc-ieee1275.rmk: Likewise.
16068 * conf/sparc64-ieee1275.rmk: Likewise.
16069 * conf/x86_64-efi.rmk: Likewise.
16071 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16073 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
16075 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16077 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
16079 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16081 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
16082 (grub_mkdevicemap_SOURCES): New variable.
16083 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
16084 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
16085 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
16086 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
16087 (grub_mkdevicemap_SOURCES): Remove.
16088 * conf/i386-efi.rmk: Likewise.
16089 * conf/i386-ieee1275.rmk: Likewise.
16090 * conf/i386-pc.rmk: Likewise.
16091 * conf/powerpc-ieee1275.rmk: Likewise.
16092 * conf/sparc64-ieee1275.rmk: Likewise.
16093 * conf/x86_64-efi.rmk: Likewise.
16094 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
16095 (usage): Fix strings to use `program_name'.
16096 (main): Initialize gettext.
16097 * util/grub-editenv.c: Likewise.
16098 * util/grub-emu.c: Likewise.
16099 * util/grub-fstest.c: Likewise.
16100 * util/grub-mkdevicemap.c: Likewise.
16101 * util/grub-mkfont.c: Likewise.
16102 * util/grub-mkrelpath.c: Likewise.
16103 * util/grub-pe2elf.c: Likewise.
16104 * util/grub-probe.c: Likewise.
16105 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16106 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
16107 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16109 * util/misc.c: Include `"progname.h"'.
16110 (progname): Remove variable.
16111 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
16113 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
16115 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
16116 printf and print a newline after the menuentry header line.
16117 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16119 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
16121 autoconf >= 2.60 support $(localedir).
16123 * INSTALL: Note that autoconf 2.60 is required.
16124 * configure.ac (AC_PREREQ): Bump to 2.60.
16125 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
16126 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16128 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
16130 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
16133 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16135 * normal/main.c (grub_normal_read_line): Fix off-by-one
16138 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16140 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
16141 "parser.grub" in grub_command_execute() call.
16143 2009-11-24 Carles Pina i Estany <carles@pina.cat>
16145 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
16146 * conf/i386-efi.rmk: Likewise.
16147 * conf/i386-ieee1275.rmk: Likewise.
16148 * conf/i386-pc.rmk: Likewise.
16149 * conf/powerpc-ieee1275.rmk: Likewise.
16150 * conf/sparc64-ieee1275.rmk: Likewise.
16151 * conf/x86_64-efi.rmk: Likewise.
16152 * gettext/gettex.c: Include <grub/i18n.h>.
16153 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
16155 * include/grub/i18n.h: ... to here
16156 * include/grub/i18n.h: ... to here.
16157 * kern/misc.c: Include <grub/i18n.h>
16158 (grub_gettext_dummy): Move above user.
16160 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16162 * util/Makefile.in (install-local): Convert a `for' into a normal
16165 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
16167 * autogen.sh: Add automake call.
16168 * config.guess: Remove.
16169 * config.sub: Likewise.
16170 * install-sh: Likewise.
16172 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16174 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
16176 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16178 * util/Makefile.in (install-local): Convert a make `$(foreach)'
16179 function to a normal shell `for'.
16181 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16183 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16185 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16187 * util/grub-mkrelpath.c: New file.
16188 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
16189 (grub_mkrelpath_SOURCES): New variable.
16190 * include/grub/util/misc.h: New function prototype.
16191 * util/misc.c (make_system_path_relative_to_its_root): New function.
16193 * util/grub-mkconfig_lib.in (bindir): New variable.
16194 (grub_mkrelpath): Likewise.
16195 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
16197 * util/probe.c (probe): Make the file path relative to its root.
16198 Change a info message to use the GRUB path. Enable again the
16199 check if we can read the file with GRUB facilities.
16201 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
16204 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16206 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
16209 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16211 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
16214 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16216 * util/getroot.c (grub_util_is_dmraid): New function.
16217 (grub_util_get_dev_abstraction): Treat dmraid and multipath
16218 devices as normal ones, not as LVM.
16220 2009-11-23 Carles Pina i Estany <carles@pina.cat>
16222 * conf/common.rmk: Add grub-gettext_lib target and updates
16223 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
16225 * gettext/gettext.c: New file. (Reads mo files).
16226 * include/grub/file.h (grub_file_pread): New prototype.
16227 * include/grub/i18n.h (_): New prototype.
16228 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
16230 * kern/misc.c (grub_gettext_dummy): New function.
16231 * normal/menu_text.c: Include <grub/i18n.h>.
16232 * normal/menu_text.c (print_timeout): Gettexttize string.
16233 * normal/menu_text.c (print_message): Gettexttize string.
16234 * po/POTFILES: Add `normal/menu_text.c'.
16235 * po/ca.po: Add new translations.
16236 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
16237 gettext module and defines locale_dir and lang in grub.cfg.
16238 * NEWS: Add gettext support.
16240 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16242 * util/hostdisk.c: Include `<grub/i18n.h>'.
16243 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
16244 (make_device_name): Rewrite using asprintf.
16245 (convert_system_partition_to_system_disk): Replace 0 with NULL.
16246 (find_system_device): If a device is not found, generate one just
16247 by reusing the OS path name.
16248 (read_device_map): Make it permissible for device.map not to exist.
16250 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16252 * script/sh/execute.c: Move from here ...
16253 * script/execute.c: ... to here. Update all users.
16254 * script/sh/function.c: Move from here ...
16255 * script/function.c: ... to here. Update all users.
16256 * script/sh/lexer.c: Move from here ...
16257 * script/lexer.c: ... to here. Update all users.
16258 * script/sh/main.c: Move from here ...
16259 * script/main.c: ... to here. Update all users.
16260 * script/sh/parser.y: Move from here ...
16261 * script/parser.y: ... to here. Update all users.
16262 * script/sh/script.c: Move from here ...
16263 * script/script.c: ... to here. Update all users.
16265 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16267 * configure.ac: Detect all `emu' platforms. Define
16268 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
16269 --enable-grub-emu logic. Disable include/grub/machine
16270 symlink on `emu' platforms.
16272 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
16273 * gensymlist.sh.in: Likewise.
16275 * include/grub/i386/coreboot/machine.h: Remove file.
16276 * include/grub/i386/efi/machine.h: Likewise.
16277 * include/grub/i386/ieee1275/machine.h: Likewise.
16278 * include/grub/i386/pc/machine.h: Likewise.
16279 * include/grub/i386/qemu/machine.h: Likewise.
16280 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16281 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16282 * include/grub/x86_64/efi/machine.h: Likewise.
16284 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
16285 * commands/halt.c: Likewise.
16286 * commands/reboot.c: Likewise.
16287 * include/grub/autoefi.h: Likewise.
16288 * include/grub/i386/at_keyboard.h: Likewise.
16289 * include/grub/i386/kernel.h: Likewise.
16290 * include/grub/i386/loader.h: Likewise.
16291 * include/grub/i386/pc/memory.h: Likewise.
16292 * kern/dl.c: Likewise.
16293 * kern/i386/coreboot/init.c: Likewise.
16294 * loader/i386/bsd.c: Likewise.
16295 * loader/i386/linux.c: Likewise.
16296 * loader/multiboot_loader.c: Likewise.
16297 * term/i386/pc/serial.c: Likewise.
16298 * term/usb_keyboard.c: Likewise.
16300 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
16301 `<grub/machine/machine.h>'
16302 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
16303 * util/misc.c: Remove `<grub/machine/machine.h>' and
16304 `<grub/machine/time.h>'.
16306 * Makefile.in (enable_grub_emu): Remove variable.
16307 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
16309 * conf/any-emu.rmk: New file.
16310 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
16311 (grub_emu_init.c): Move from here ...
16312 * conf/any-emu.rmk: ... to here.
16314 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
16315 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
16316 * conf/any-emu.rmk: ... to here.
16318 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16320 * include/grub/parser.h (grub_parser_register): Document need
16321 of `name' parameter.
16322 * normal/main.c (grub_normal_read_line): Simplify prompt string.
16323 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
16326 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16328 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
16330 * include/grub/i18n.h (N_): New macro.
16331 * util/mkisofs/mkisofs.h: Likewise.
16332 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
16334 (usage): Use gettext() to translate help strings when printing them.
16336 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16338 Based on patch from Bean
16339 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16341 * video/efi_fb.c: New file.
16342 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
16343 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16345 * conf/x86_64-efi.rmk: Likewise.
16347 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
16349 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
16350 * util/i386/pc/grub-setup.c: Likewise.
16352 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16354 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
16356 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
16357 file_get_storage_info to implement grub_guess_root_device.
16359 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16361 * Makefile.in (target): Use make's builtin $(shell) function
16362 instead of calling directly $(SHELL) to create the locale directories,
16363 inside the $(foreach) function.
16365 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16367 * util/grub-mkrescue.in: Print an error and usage if output option
16368 has not been given.
16370 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16372 Patch from Loïc Minier <loic.minier@ubuntu.com>.
16373 * util/grub.d/30_os-prober.in: Cope with Linux entries where
16374 root and /boot are on different devices.
16376 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16378 Fix build for srcdir != objdir.
16380 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
16381 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
16383 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
16384 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
16385 reference for input.
16387 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16389 * util/grub-mkrescue.in: Use source directory direcly (without copiing
16390 or hardlinking it). Remove -J option, Joliet is not compatible with
16391 multiple source directories.
16393 2009-11-21 Carles Pina i Estany <carles@pina.cat>
16394 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16396 * util/grub-mkrescue.in: Recognize `--override-directory' option.
16397 (process_input_dir): New function. Process an arbitrary input
16399 Misc adjustments to support both "override mode" and system-wide mode.
16401 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
16403 * configure.ac (UNIFONT_BDF): Rename to ...
16404 (FONT_SOURCE): ... this. Update all users.
16406 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
16408 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
16409 to the list of unifont files to look for.
16411 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16413 Patch from Joe Auricchio <jauricchio@gmail.com>
16414 * commands/minicmd.c (grub_mini_cmd_clear): New function.
16415 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
16416 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
16418 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
16420 * Makefile.in (install-local): Add a missing backslash.
16422 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
16424 * include/grub/x86_64/io.h: New file.
16426 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16428 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
16429 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
16430 Include `"progname.h"'.
16431 (main): Initialize gettext.
16432 * util/i386/pc/grub-setup.c: Gettexttize.
16433 * util/i386/pc/grub-mkimage.c: Likewise.
16435 * Makefile.in (po/*.po): Redefine as ...
16436 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
16438 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
16440 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16442 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
16443 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
16444 (program_name): Remove.
16445 (main): Initialize gettext support.
16446 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
16447 Include `<libintl.h>'.
16450 * util/mkisofs/eltorito.c: Gettexttize.
16451 * util/mkisofs/joliet.c: Likewise.
16452 * util/mkisofs/mkisofs.c: Likewise.
16453 * util/mkisofs/multi.c: Likewise.
16454 * util/mkisofs/rock.c: Likewise.
16455 * util/mkisofs/tree.c: Likewise.
16456 * util/mkisofs/write.c: Likewise.
16458 * po/POTFILES: Update with new files.
16460 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16462 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
16463 * util/mkisofs/iso9660.h: Likewise.
16464 * util/mkisofs/joliet.c: Likewise.
16465 * util/mkisofs/mkisofs.c: Likewise.
16466 * util/mkisofs/mkisofs.h: Likewise.
16467 * util/mkisofs/rock.c: Likewise.
16468 * util/mkisofs/tree.c: Likewise.
16469 * util/mkisofs/write.c: Likewise.
16471 * util/mkisofs/eltorito.c (rcsid): Remove.
16472 * util/mkisofs/hash.c: Likewise.
16473 * util/mkisofs/joliet.c: Likewise.
16474 * util/mkisofs/name.c: Likewise.
16475 * util/mkisofs/rock.c: Likewise.
16476 * util/mkisofs/tree.c: Likewise.
16477 * util/mkisofs/write.c: Likewise.
16479 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16481 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
16482 instead of static allocation.
16483 * util/mkisofs/match.h: Likewise.
16485 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16487 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
16488 and `util/grub.d/10_linux.in'.
16489 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
16490 translatable Shell files.
16492 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16494 * Makefile.in ($(srcdir)/aclocal.m4): New target.
16496 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16498 * INSTALL: Document Automake is needed for bootstrap.
16499 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
16500 * util/grub.d/10_kfreebsd.in (bindir): New variable.
16501 Add gettext initialization.
16502 (kfreebsd_entry): Make menuentry output translatable.
16504 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16506 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
16507 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
16508 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
16509 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
16510 (LINGUAS): Auto-generate using `po/LINGUAS'.
16511 * po/LINGUAS: New file.
16513 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16515 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
16517 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
16518 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
16519 bindtextdomain() calls for gettext initialization.
16521 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16523 * gnulib/progname.c: New file (imported from Gnulib).
16524 * gnulib/progname.h: Likewise.
16525 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16526 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
16527 (usage): Replace `progname' with `program_name'.
16528 (main): Use set_program_name() for program name initialization.
16530 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16532 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
16534 * Makefile.in (CPPFLAGS): ... to here.
16536 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16538 * aclocal.m4: Move from here ...
16539 * acinclude.m4: ... to here.
16540 * autogen.sh: Add call to `aclocal'.
16541 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
16543 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16545 * Makefile.in (CLEANFILES): Add `po/*.mo'.
16546 (LINGUAS): New variable.
16547 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
16548 (install-local): Install MO files.
16549 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
16550 * include/grub/i18n.h: New file.
16551 * po/POTFILES: New file.
16552 * po/ca.po: New file.
16553 * util/grub.d/10_linux.in (bindir): New variable.
16554 Add gettext initialization.
16555 (linux_entry): Make menuentry output translatable.
16556 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
16557 (usage): Make --help output translatable.
16558 (main): Initialize gettext.
16560 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16562 * import_gcry.py: New file (written by Vladimir with minor
16564 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
16566 * INSTALL: Document that Python is required for bootstrap.
16568 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16570 Import ciphers from libgcrypt 1.4.4.
16572 * lib/libgcrypt/cipher/ChangeLog
16573 * lib/libgcrypt/cipher/ac.c
16574 * lib/libgcrypt/cipher/arcfour.c
16575 * lib/libgcrypt/cipher/bithelp.h
16576 * lib/libgcrypt/cipher/blowfish.c
16577 * lib/libgcrypt/cipher/camellia-glue.c
16578 * lib/libgcrypt/cipher/camellia.c
16579 * lib/libgcrypt/cipher/camellia.h
16580 * lib/libgcrypt/cipher/cast5.c
16581 * lib/libgcrypt/cipher/cipher.c
16582 * lib/libgcrypt/cipher/crc.c
16583 * lib/libgcrypt/cipher/des.c
16584 * lib/libgcrypt/cipher/dsa.c
16585 * lib/libgcrypt/cipher/ecc.c
16586 * lib/libgcrypt/cipher/elgamal.c
16587 * lib/libgcrypt/cipher/hash-common.c
16588 * lib/libgcrypt/cipher/hash-common.h
16589 * lib/libgcrypt/cipher/hmac-tests.c
16590 * lib/libgcrypt/cipher/md.c
16591 * lib/libgcrypt/cipher/md4.c
16592 * lib/libgcrypt/cipher/md5.c
16593 * lib/libgcrypt/cipher/primegen.c
16594 * lib/libgcrypt/cipher/pubkey.c
16595 * lib/libgcrypt/cipher/rfc2268.c
16596 * lib/libgcrypt/cipher/rijndael-tables.h
16597 * lib/libgcrypt/cipher/rijndael.c
16598 * lib/libgcrypt/cipher/rmd.h
16599 * lib/libgcrypt/cipher/rmd160.c
16600 * lib/libgcrypt/cipher/rsa.c
16601 * lib/libgcrypt/cipher/seed.c
16602 * lib/libgcrypt/cipher/serpent.c
16603 * lib/libgcrypt/cipher/sha1.c
16604 * lib/libgcrypt/cipher/sha256.c
16605 * lib/libgcrypt/cipher/sha512.c
16606 * lib/libgcrypt/cipher/tiger.c
16607 * lib/libgcrypt/cipher/twofish.c
16608 * lib/libgcrypt/cipher/whirlpool.c
16610 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16612 Fix build for systems without error().
16614 * gnulib/error.c: New file (imported from Gnulib).
16615 * gnulib/error.h: Likewise.
16616 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
16617 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
16618 (this variable is now used by error()).
16620 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
16622 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
16623 instead of relying that char is signed.
16625 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16627 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
16628 blocksize different from specified.
16629 (grub_pxefs_read): Likewise.
16631 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
16633 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
16635 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
16636 (grub_ata_readwrite): Likewise. Update 2 format strings.
16637 (grub_atapi_read): Likewise.
16639 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
16640 * conf/i386.rmk (pkglib_MODULES): ... to here ...
16641 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
16642 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
16643 (ata_mod_LDFLAGS): Move from here ...
16644 * conf/i386.rmk: ... to here ...
16645 * conf/x86_64-efi.rmk: ... and here.
16646 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
16647 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
16649 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16651 Relicense multiboot.h, with RMS' blessing.
16653 * include/multiboot.h: Change to X11 license.
16655 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
16657 Support --version in grub-mkisofs.
16659 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
16660 (OPTION_VERSION): New macro.
16661 (ld_options): Recognize --version.
16662 (usage): Move `program_name' from here ...
16663 (program_name): ... to here. Add `static' qualifier.
16664 (main): Recognize `OPTION_VERSION'.
16666 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
16668 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
16669 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
16671 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
16673 Fix help2man generation for mkisofs.
16675 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
16676 (usage): Send output to stdout (rather than stderr).
16678 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
16680 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
16681 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
16682 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
16683 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
16684 (bin_SCRIPTS): Add `grub-mkfloppy'.
16685 (grub_mkfloppy_SOURCES): New variable.
16687 * util/grub-mkrescue.in: New file.
16688 * util/i386/pc/grub-mkfloppy.in: New file.
16690 * util/i386/coreboot/grub-mkrescue.in: Remove.
16691 * util/i386/pc/grub-mkrescue.in: Remove.
16693 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16695 * include/grub/multiboot.h (struct grub_multiboot_header): Move
16697 * include/multiboot.h (struct multiboot_header): ... to here. Update
16699 * include/grub/multiboot.h (struct grub_multiboot_info): Move
16701 * include/multiboot.h (struct multiboot_info): ... to here. Update
16703 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
16705 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
16707 * include/grub/multiboot.h (struct grub_mod_list): Move
16709 * include/multiboot.h (struct multiboot_mod_list): ... to here.
16712 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16714 * include/multiboot2.h (multiboot_word): Rename from this ...
16715 (multiboot2_word): ... to this. Update all users.
16716 (multiboot_header): Rename from this ...
16717 (multiboot2_header): ... to this. Update all users.
16718 (multiboot_tag_header): Rename from this ...
16719 (multiboot2_tag_header): ... to this. Update all users.
16720 (multiboot_tag_start): Rename from this ...
16721 (multiboot2_tag_start): ... to this. Update all users.
16722 (multiboot_tag_name): Rename from this ...
16723 (multiboot2_tag_name): ... to this. Update all users.
16724 (multiboot_tag_module): Rename from this ...
16725 (multiboot2_tag_module): ... to this. Update all users.
16726 (multiboot_tag_memory): Rename from this ...
16727 (multiboot2_tag_memory): ... to this. Update all users.
16728 (multiboot_tag_unused): Rename from this ...
16729 (multiboot2_tag_unused): ... to this. Update all users.
16730 (multiboot_tag_end): Rename from this ...
16731 (multiboot2_tag_end): ... to this. Update all users.
16733 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16735 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
16736 this platform we should support Multiboot1 first.
16738 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
16739 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
16740 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
16742 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
16744 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
16745 of write calls (converting them to fwrite() if they aren't already).
16746 (get_torito_desc): Likewise.
16747 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
16749 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
16751 * util/i386/pc/grub-install.in: Move from here ...
16752 * util/grub-install.in: ... to here. Update all users.
16754 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
16756 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
16758 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
16760 Support for El Torito without floppy emulation.
16762 * util/mkisofs/eltorito.c: Include `<errno.h>'.
16763 (init_boot_catalog): Improve error handling.
16764 (get_torito_desc): Don't use floppy emulation unless requested by
16765 user. Patch boot information table when requested via
16766 `-boot-info-table'.
16767 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
16768 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
16769 (use_boot_info_table): New variables.
16770 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
16771 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
16772 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
16773 `--eltorito-emul-floppy'.
16774 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
16775 and `OPTION_ELTORITO_EMUL_FLOPPY'.
16776 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
16777 (use_boot_info_table, get_731): New prototypes.
16778 * util/mkisofs/write.c (get_731): New function.
16780 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
16782 Fix the generation of the man page.
16784 * util/pc/i386/grub-install.in: Source
16785 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
16787 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
16789 Large file support for grub-mkisofs.
16791 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
16792 * util/mkisofs/mkisofs.c (next_extent, last_extent)
16793 (session_start): Upgrade type to `uint64_t'. Update all users.
16794 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
16795 (struct directory_entry): Upgrade type of `starting_block' and
16796 `size' to `uint64_t'. Update all users.
16797 (struct deferred): Remove unused structure.
16798 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
16800 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
16801 file is larger than `UINT32_MAX'.
16802 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
16803 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
16805 (struct deferred_write): Upgrade type of `extent' and `size' to
16806 `uint64_t'. Update all users.
16807 (last_extent_written): Upgrade type to `uint64_t'. Update all
16809 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
16810 Update all users. Upgrade type of `remain' to `int64_t' and
16811 `use' to `size_t'. Use error() to handle fread() errors.
16812 (write_files): Rely on write_one_file() rather than calling
16813 xfwrite() directly.
16815 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
16817 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
16819 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16821 * util/mkisofs/fnmatch.c: Remove.
16822 * util/mkisofs/getopt1.c: Likewise.
16823 * util/mkisofs/getopt.c: Likewise.
16824 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
16825 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
16826 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
16827 `gnulib/getopt1.c' and `gnulib/getopt.c'.
16828 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
16830 * configure.ac: Detect `mingw32msvc' host_os.
16831 Check for lstat(), getuid() and getgid().
16833 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
16834 instances of `u_char' with `uint8_t'.
16836 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
16837 [!HAVE_GETUID] (getuid): New function (stub).
16838 [!HAVE_GETGID] (getgid): Likewise.
16839 [!HAVE_LSTAT] (lstat): Likewise.
16840 [!S_IROTH] (S_IROTH): New macro (dummy).
16841 [!S_IRGRP] (S_IRGRP): Likewise.
16843 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16845 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
16846 conditional expression).
16848 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16850 Import from Gnulib.
16852 * gnulib/fnmatch.c: New file.
16853 * gnulib/fnmatch.h: Likewise.
16854 * gnulib/fnmatch_loop.c: Likewise.
16855 * gnulib/getopt.c: Likewise.
16856 * gnulib/getopt.h: Likewise.
16857 * gnulib/getopt1.c: Likewise.
16858 * gnulib/getopt_int.h: Likewise.
16859 * gnulib/gettext.h: Likewise.
16861 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16863 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
16864 * normal/handler.c (read_handler_list): Likewise.
16866 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16870 * kern/command.c (grub_register_command_prio): Use
16871 grub_zalloc() instead of explicitly zeroing data.
16872 * kern/list.c: Include `<grub/mm.h>'.
16873 (grub_named_list_find): Replace `0' with `NULL'.
16874 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
16875 (fs_module_list): Change type to `grub_named_list_t'. Update all
16877 * normal/dyncmd.c (read_command_list): Add space between function
16878 call and parenthesis.
16879 * normal/handler.c (read_handler_list): Likewise.
16881 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16883 * normal/auth.c (punishment_delay): Moved from here ...
16884 (grub_auth_strcmp): ... to here (inside function).
16886 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16888 * include/grub/list.h (struct grub_named_list): Remove `const'
16889 qualifier from `name'.
16890 (struct grub_prio_list): Likewise.
16892 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16894 * normal/auth.c: Include `<grub/time.h>'.
16895 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
16897 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16899 * normal/auth.c (punishment_delay): New variable.
16900 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
16901 (grub_auth_check_authentication): Punish failed login attempts with
16902 an incremental (2^N) delay.
16904 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16906 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
16907 path with $(srcdir).
16909 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16911 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
16913 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16915 * util/i386/coreboot/grub-mkrescue.in: New file.
16916 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
16919 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
16920 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
16921 * configure.ac: Add header and function checks to satisfy grub-mkisofs
16923 * util/mkisofs/defaults.h: New file.
16924 * util/mkisofs/eltorito.c: Likewise.
16925 * util/mkisofs/exclude.h: Likewise.
16926 * util/mkisofs/fnmatch.c: Likewise.
16927 * util/mkisofs/getopt.c: Likewise.
16928 * util/mkisofs/getopt1.c: Likewise.
16929 * util/mkisofs/hash.c: Likewise.
16930 * util/mkisofs/include/fctldefs.h: Likewise.
16931 * util/mkisofs/include/mconfig.h: Likewise.
16932 * util/mkisofs/include/prototyp.h: Likewise.
16933 * util/mkisofs/include/statdefs.h: Likewise.
16934 * util/mkisofs/iso9660.h: Likewise.
16935 * util/mkisofs/joliet.c: Likewise.
16936 * util/mkisofs/match.c: Likewise.
16937 * util/mkisofs/match.h: Likewise.
16938 * util/mkisofs/mkisofs.c: Likewise.
16939 * util/mkisofs/mkisofs.h: Likewise.
16940 * util/mkisofs/multi.c: Likewise.
16941 * util/mkisofs/name.c: Likewise.
16942 * util/mkisofs/rock.c: Likewise.
16943 * util/mkisofs/tree.c: Likewise.
16944 * util/mkisofs/write.c: Likewise.
16946 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16948 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
16951 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16953 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
16954 `grub-mkimage' (and use $0 when possible).
16956 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16958 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
16959 error message for excessively large memory map.
16961 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16963 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
16966 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16968 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
16969 message for coreboot users.
16971 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
16973 Fix build with GNU gold.
16975 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
16976 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
16977 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
16979 * aclocal.m4: Likewise.
16981 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
16983 * configure.ac (AC_PREREQ): Bump to 2.59d.
16984 * INSTALL: Make it more clear when Autoconf and Ruby are
16985 needed and when to run `./autogen.sh'.
16987 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
16989 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
16992 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16994 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
16996 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16998 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
16999 giving it to GNU Mach.
17001 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17003 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
17004 GNU partition number to get internal GRUB partition number.
17006 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17008 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
17009 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
17011 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
17013 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
17014 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
17017 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
17019 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
17021 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17025 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
17026 `-isystem=$(srcdir)/include'.
17028 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17030 * util/i386/pc/grub-install.in: Remove hint that device.map should be
17031 checked (grub-install doesn't currently rely on it).
17033 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
17037 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
17038 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17039 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
17040 * conf/i386-ieee1275.rmk: Likewise.
17041 * conf/i386-pc.rmk: Likewise.
17042 * conf/powerpc-ieee1275.rmk: Likewise.
17043 * conf/sparc64-ieee1275.rmk: Likewise.
17044 * conf/x86_64-efi.rmk: Likewise.
17046 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17048 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
17050 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17052 * include/grub/misc.h: Stop checking for APPLE_CC.
17054 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17056 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
17057 doesn't cause an infinite call loop.
17059 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
17061 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
17064 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17066 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
17068 * Makefile.in: Likewise.
17070 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17072 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
17074 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17076 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
17078 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17080 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
17082 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17084 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
17086 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
17088 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17090 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
17091 in $(MAKEINFO) invocation. This makes it clear in output that
17092 errors are being ignored.
17094 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17096 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
17098 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17099 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
17100 * conf/i386-ieee1275.rmk: Likewise.
17101 * conf/i386-pc.rmk: Likewise.
17102 * conf/powerpc-ieee1275.rmk: Likewise.
17103 * conf/sparc64-ieee1275.rmk: Likewise.
17104 * conf/x86_64-efi.rmk: Likewise.
17106 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
17108 * util/grub-editenv.c (main): If only a command is given, use
17109 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
17110 (usage): FILENAME is now optional and has a default.
17112 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
17114 Improve grub-mkconfig performance when there are several menu
17115 entries on a single filesystem.
17117 * util/grub.d/10_linux.in (linux_entry): Cache the output of
17118 prepare_grub_to_access_device.
17119 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17120 * util/grub.d/30_os-prober.in: Likewise.
17122 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17124 * util/grub.d/10_freebsd.in: Remove.
17125 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
17126 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
17128 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17130 * docs/grub.cfg: Fix example usage of *BSD loaders.
17132 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17134 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
17135 grub_util_error() call.
17137 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17139 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
17140 `reserved_first_sector' member.
17141 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
17142 `reserved_first_sector' to 1.
17143 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
17144 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
17145 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
17146 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
17147 filesystems which begin at first sector.
17148 (options): New option --skip-fs-probe.
17149 (main): Handle --skip-fs-probe and pass it to setup().
17151 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17153 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
17154 (memset): Fix function prototype.
17156 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17157 2009-10-25 Vasily Averin <vvs@parallels.com>
17159 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
17160 `dirent.direntlen == 0'.
17162 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17164 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
17166 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
17168 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17170 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
17171 `__trampoline_setup' and `__ucmpdi2'.
17172 * include/grub/powerpc/libgcc.h: Only export symbols for functions
17173 that libgcc provides.
17175 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17177 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
17178 * include/grub/sparc64/libgcc.h (memset): Likewise.
17179 * include/grub/misc.h (memset, memcmp): New function prototypes.
17181 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17183 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
17185 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
17187 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17189 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
17190 * docs/grub.cfg: Compensate for recent change in multiboot
17191 loader (since 2009-08-14 it won't pass filename to payload).
17192 * util/grub.d/10_hurd.in: Likewise.
17194 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
17196 * config.guess: Update to latest version from config git
17198 * config.sub: Likewise.
17200 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
17202 Fix build on sparc64.
17204 * configure.ac: Perform checks for libgcc symbols before
17205 adding `-nostdlib' to LDFLAGS.
17207 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17209 Let user specify OpenBSD root device.
17211 * loader/i386/bsd.c (openbsd_root): New variable.
17212 (openbsd_opts): New option 'root'.
17213 (OPENBSD_ROOT_ARG): New macro.
17214 (grub_openbsd_boot): Use 'openbsd_root'.
17215 (grub_cmd_openbsd): Fill 'openbsd_root'.
17217 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17219 * NEWS: Misc adjustments.
17221 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17223 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
17225 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17227 * configure.ac: Bump version to 1.97.
17229 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
17231 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
17232 -mno-3dnow on x86 architectures. Some toolchains enable these
17233 features by default, but they rely on registers that aren't enabled
17234 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
17236 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
17238 Make entry text a bit more readable.
17240 * util/grub.d/10_linux.in: Add `with' before `Linux'.
17242 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17244 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
17246 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17248 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
17251 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17253 * configure.ac: Add missing dollar.
17255 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17257 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
17259 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
17260 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
17262 * include/grub/sparc64/libgcc.h: Likewise. Use
17263 preprocessor conditionals.
17265 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17267 * conf/common.rmk (grub-dumpbios): Remove rule.
17268 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
17269 * util/grub-dumpbios.in: Remove file.
17271 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17273 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
17274 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
17276 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
17277 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
17280 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
17281 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
17282 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
17283 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
17286 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
17288 * term/tparm.c: Switch to GPLv3.
17290 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17292 * include/grub/i386/cpuid.h: Add header protection.
17294 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17296 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
17298 * include/grub/i386/cpuid.h: New file.
17299 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
17300 (has_longmode): Rename to ...
17301 (grub_cpuid_has_longmode): ... this. Update all users. Remove
17302 `static' attribute.
17303 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
17304 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
17305 on a CPU that doesn't implement AMD64 instruction set.
17307 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17309 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
17310 that version.texi is rebuilt on version number changes.
17312 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17314 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
17317 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17319 * util/i386/pc/grub-install.in: Source
17320 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
17321 that the --grub-probe option will work.
17322 * util/sparc64/ieee1275/grub-install.in: Likewise.
17324 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
17326 * configure.ac: Bump version to 1.97~beta4.
17328 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
17330 Resync grub-mkdevicemap in x86_64-efi.
17332 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
17333 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
17334 `util/devicemap.c'.
17336 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
17338 * util/grub-editenv.c (create_envblk_file): Write new block with a
17339 .new suffix and then rename it into place, to ensure atomic
17342 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
17344 Do not automatically install headers.
17346 * Makefile.in (include_DATA): Remove. Update all users.
17348 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
17350 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
17351 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
17353 * util/osdetect.lua: Remove.
17354 * script/lua/lauxlib.c: Likewise.
17355 * script/lua/ldebug.c: Likewise.
17356 * script/lua/grub_main.c: Likewise.
17357 * script/lua/lauxlib.h: Likewise.
17358 * script/lua/ldebug.h: Likewise.
17359 * script/lua/ltablib.c: Likewise.
17360 * script/lua/liolib.c: Likewise.
17361 * script/lua/lstrlib.c: Likewise.
17362 * script/lua/lualib.h: Likewise.
17363 * script/lua/ldo.c: Likewise.
17364 * script/lua/ldump.c: Likewise.
17365 * script/lua/ldo.h: Likewise.
17366 * script/lua/loslib.c: Likewise.
17367 * script/lua/lundump.c: Likewise.
17368 * script/lua/grub_lib.c: Likewise.
17369 * script/lua/ldblib.c: Likewise.
17370 * script/lua/lundump.h: Likewise.
17371 * script/lua/lmem.c: Likewise.
17372 * script/lua/grub_lib.h: Likewise.
17373 * script/lua/lmathlib.c: Likewise.
17374 * script/lua/lstate.c: Likewise.
17375 * script/lua/ltm.c: Likewise.
17376 * script/lua/lvm.c: Likewise.
17377 * script/lua/lmem.h: Likewise.
17378 * script/lua/lstate.h: Likewise.
17379 * script/lua/ltm.h: Likewise.
17380 * script/lua/ltable.c: Likewise.
17381 * script/lua/lvm.h: Likewise.
17382 * script/lua/llex.c: Likewise.
17383 * script/lua/lgc.c: Likewise.
17384 * script/lua/grub_lua.h: Likewise.
17385 * script/lua/loadlib.c: Likewise.
17386 * script/lua/lfunc.c: Likewise.
17387 * script/lua/lopcodes.c: Likewise.
17388 * script/lua/lparser.c: Likewise.
17389 * script/lua/ltable.h: Likewise.
17390 * script/lua/llex.h: Likewise.
17391 * script/lua/lgc.h: Likewise.
17392 * script/lua/lfunc.h: Likewise.
17393 * script/lua/lbaselib.c: Likewise.
17394 * script/lua/lopcodes.h: Likewise.
17395 * script/lua/lparser.h: Likewise.
17396 * script/lua/lzio.c: Likewise.
17397 * script/lua/linit.c: Likewise.
17398 * script/lua/lobject.c: Likewise.
17399 * script/lua/llimits.h: Likewise.
17400 * script/lua/lstring.c: Likewise.
17401 * script/lua/lzio.h: Likewise.
17402 * script/lua/lapi.c: Likewise.
17403 * script/lua/lcode.c: Likewise.
17404 * script/lua/lua.h: Likewise.
17405 * script/lua/lobject.h: Likewise.
17406 * script/lua/lstring.h: Likewise.
17407 * script/lua/lapi.h: Likewise.
17408 * script/lua/lcode.h: Likewise.
17409 * script/lua/luaconf.h: Likewise.
17411 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
17413 * docs/grub.texi (Command-line and menu entry commands): Document
17414 date and echo commands.
17416 2009-09-24 Pavel Roskin <proski@gnu.org>
17418 * include/grub/kernel.h (struct grub_module_header): Remove
17419 `grub_module_header_types'. Make `type' unsigned. Make `size'
17420 32-bit on all platforms.
17421 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
17422 8-bit field. Use grub_host_to_target32() for `size'.
17423 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
17424 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
17425 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
17427 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17429 Fix "lost keypress" bug in at_keyboard.
17431 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
17432 Checks for readyness of input buffer (without flushing it).
17433 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
17434 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
17436 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17438 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
17439 size check within GRUB_MACHINE_PCBIOS section.
17441 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17443 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
17445 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
17446 KEYBOARD_ISREADY check.
17447 (grub_at_keyboard_checkkey): Rename to ...
17448 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
17449 Remove gratuitous cast.
17451 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
17453 * configure.ac: Call AC_PROG_MKDIR_P.
17454 * Makefile.in (docs/stamp-vti): Create docs directory. Create
17455 version.texi in $(builddir) rather than $(srcdir).
17456 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
17457 to makeinfo's @include search path.
17459 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
17461 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
17463 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
17465 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
17468 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
17470 Build info documentation. Some code borrowed from Automake.
17472 * configure.ac: Check for makeinfo.
17473 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
17474 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
17476 (MOSTLYCLEANFILES): Add vti.tmp.
17477 (docs/version.texi, docs/stamp-vti): Update automatically.
17478 (docs/grub.info): Build info documentation. Use --force and ignore
17480 (all-local): Add $(INFOS).
17481 (install-local): Install info files.
17482 (uninstall): Uninstall info files.
17483 * docs/version.texi: Remove from revision control. This file is
17484 automatically generated on build now.
17485 * gendistlist.sh: Add `*.info'.
17487 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
17489 * kern/term.c: Fix indentation.
17491 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
17493 * util/hostdisk.c: Fix a comment.
17495 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
17497 Fix regression introduced in r2539.
17499 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
17502 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
17504 * util/grub.d/30_os-prober.in: Don't throw away stderr from
17505 os-prober. Under normal operation, it does not print anything to
17506 stderr; if it does, we need to debug it, and throwing away stderr
17507 makes that excessively difficult.
17509 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
17511 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
17513 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17515 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
17516 AC_LANG_PROGRAM from autoconf.
17517 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
17518 prototypes (fixes warning).
17520 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
17521 `--disable-werror' was used.
17523 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17525 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
17526 uninitialized `lastaddr'.
17528 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17530 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
17532 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
17534 * commands/test.c (get_fileinfo): Return immediately if
17535 grub_fs_probe fails.
17537 2009-09-14 José Martínez <xosemp@gmail.com>
17539 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
17541 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
17543 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
17546 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
17548 * configure.ac: Remove --enable-grub-pe2elf. Only build
17549 grub-pe2elf when needed by the build system itself.
17550 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
17552 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17554 * configure.ac: Bump version to 1.97~beta3.
17555 * docs/version.texi: Likewise.
17557 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17559 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
17560 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
17562 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
17563 (grub_linux_setup_video): ... to here (with some adjustments).
17565 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17567 Fix memory corruption issue (spotted by Colin Watson).
17569 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
17570 causing returned size to be stored in an incorrect memory location.
17571 Fix use of uninitialized value when storing the returned size.
17573 2009-09-12 Yves Blusseau <blusseau@zetam.org>
17575 Change clean rules to properly remove files
17577 * genmk.rb: add new clean rules
17578 * Makefile.in (clean): add the new targets
17579 (mostlyclean): likewise
17581 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
17583 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
17585 * fs/ntfs.c (init_file): Understand 64-bit sizes for
17586 non-resident files.
17588 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
17590 * configure.ac: Don't look for help2man when cross-compiling. Fixes
17591 part of bug #27349.
17593 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
17595 * util/grub-mkconfig.in: Make the created config mode 400 and
17596 print a warning if it fails.
17598 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
17600 * util/grub.d/40_custom.in: Ask user to type custom entries below
17601 comment, rather than below 'exec tail' line.
17603 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
17605 * util/grub.d/40_custom.in: Make sure that the explanatory text is
17606 visible in grub.cfg.
17608 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
17610 * util/grub.d/40_custom.in: Make it a little clearer how to use this
17613 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
17615 * docs/grub.cfg: Add an example menu entry for memtest86+.
17617 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
17619 * config.guess: Update to latest version from config git.
17620 * config.sub: Likewise.
17622 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
17624 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
17625 unknown-command case. Fixes bug #27320.
17627 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
17629 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
17630 `help' if the command exists.
17632 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
17634 * INSTALL: Require GCC 4.1.3 or later.
17636 2009-09-06 Yves Blusseau <blusseau@zetam.org>
17638 * Makefile.in (RMKFILES): add i386-qemu.rmk
17639 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
17640 $(srcdir)/stamp-h.in
17642 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
17644 * util/grub-probe.c (probe): Comment out buggy codepath, which
17645 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
17646 should be re-enabled after 1.97.
17648 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
17650 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
17653 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
17655 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
17656 unnecessary calls to grub_error.
17658 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
17660 * NEWS: Mention `keystatus' and Unicode fonts.
17662 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
17664 * configure.ac: Bump version to 1.97~beta2.
17665 * docs/version.texi: Likewise.
17667 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
17669 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
17670 containing unwind information in some cases where it previously did
17671 not. Use -fno-dwarf2-cfi-asm if available to restore the old
17672 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
17675 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
17677 Embedding loadenv module into grub-emu
17679 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
17681 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
17682 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
17683 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
17684 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
17685 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
17686 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
17688 2009-09-03 Magnus Granberg <zorry@ume.nu>
17690 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
17691 include -fPIE in the default specs.
17692 * configure.ac: Check if pie_possible is yes and add -fno-PIE
17695 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
17697 * INSTALL: Note that GNU Bison 2.3 or later is required.
17699 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
17701 * kern/i386/pc/startup.S: Fix typo.
17703 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17705 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
17708 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
17710 * docs/grub.texi (Naming convention): Describe one-based partition
17712 (Device syntax): Likewise.
17713 (File name syntax): Likewise.
17714 (Block list syntax): Likewise.
17715 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
17717 (File name syntax): Likewise.
17718 (Command-line and menu entry commands): Document acpi, blocklist,
17719 crc, export, insmod, keystatus, ls, set, and unset commands.
17721 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
17723 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
17724 to avoid implying that only one of --shift, --ctrl, or --alt may be
17727 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
17729 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
17730 rather than comparing against S_IFREG, which will almost never work.
17732 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
17734 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
17735 (write_blocklists): Likewise.
17737 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
17739 * script/lua/grub_lua.h (fputs): Supply a format string as the first
17740 argument to grub_printf.
17742 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
17744 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
17747 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17749 * kern/file.c (grub_file_read): Spelling fix
17751 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17753 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
17754 loading of headers in some cases.
17756 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
17758 * configure.ac: Bump version to 1.97~beta1.
17759 * docs/version.texi: Likewise.
17761 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17763 * include/grub/i386/xnu.h: Add license header.
17764 include grub/err.h explicitly.
17766 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
17768 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
17769 to `ufs' in the vfs.root.mountfrom kernel parameter.
17771 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
17773 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
17775 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
17776 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
17778 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
17779 `ARRAY_SIZE' macro.
17781 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17783 * kern/file.c (grub_file_read): Check offset.
17784 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
17785 * fs/jfs.c (grub_jfs_read_file): Likewise.
17786 * fs/ntfs.c (grub_ntfs_read): Likewise.
17787 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
17788 * fs/minix.c (grub_minix_read_file): Correct offset check.
17789 * fs/ufs.c (grub_ufs_read_file): Likewise.
17791 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
17793 * term/i386/pc/console.c (bios_data_area): Cast
17794 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
17796 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17798 1-bit optimised blitters.
17800 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
17802 (grub_video_fbblit_replace_24bit_1bit): Likewise.
17803 (grub_video_fbblit_replace_16bit_1bit): Likewise.
17804 (grub_video_fbblit_replace_8bit_1bit): Likewise.
17805 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
17806 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
17807 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
17808 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
17810 (grub_video_fbblit_replace_24bit_1bit): Likewise.
17811 (grub_video_fbblit_replace_16bit_1bit): Likewise.
17812 (grub_video_fbblit_replace_8bit_1bit): Likewise.
17813 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
17814 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
17815 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
17816 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
17818 * video/video.c (grub_video_get_blit_format): Return
17819 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
17821 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
17823 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
17824 the first argument to grub_printf.
17826 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
17827 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
17829 Add `getkeystatus' terminal method. Add a new `keystatus' command
17832 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
17833 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
17834 modifier key bitmasks.
17835 (struct grub_term_input): Add `getkeystatus' member.
17836 (grub_getkeystatus): Add prototype.
17837 * kern/term.c (grub_getkeystatus): New function.
17839 * include/grub/i386/pc/memory.h
17840 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
17841 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
17843 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
17844 (grub_console_term_input): Set `getkeystatus' member.
17845 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
17847 (grub_usb_keyboard_getreport): Likewise.
17848 (grub_usb_keyboard_checkkey): Likewise.
17849 (grub_usb_keyboard_getkeystatus): New function.
17850 (grub_usb_keyboard_term): Set `getkeystatus' member.
17852 * commands/keystatus.c: New file.
17853 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
17854 (keystatus_mod_SOURCES): New variable.
17855 (keystatus_mod_CFLAGS): Likewise.
17856 (keystatus_mod_LDFLAGS): Likewise.
17857 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
17858 commands/keystatus.c.
17859 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17860 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17861 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17863 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17864 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17866 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17868 Split befs.mod and afs.mod into *_be.mod and *.mod
17870 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
17871 (grub_fstest_SOURCES): Likewise.
17872 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
17873 (afs_be_mod_SOURCES): New variable.
17874 (afs_be_mod_CFLAGS): Likewise.
17875 (afs_be_mod_LDFLAGS): Likewise.
17876 (befs_be_mod_SOURCES): Likewise.
17877 (befs_be_mod_CFLAGS): Likewise.
17878 (befs_be_mod_LDFLAGS): Likewise.
17879 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
17880 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17881 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17882 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17883 (grub_emu_SOURCES): Likewise.
17884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17885 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17886 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17887 * fs/afs_be.c: New file.
17888 * fs/befs_be.c: New file.
17889 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
17890 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
17891 (U16): Replaced with ...
17892 (grub_afs_to_cpu16): ...this. All users updated.
17893 (U32): Replaced with ...
17894 (grub_afs_to_cpu32): ...this. All users updated.
17895 (U64): Replaced with ...
17896 (grub_afs_to_cpu64): ...this. All users updated.
17897 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
17898 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
17899 (grub_afs_validate_sblock): Check only one endianness.
17900 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
17901 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
17902 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
17903 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
17904 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
17905 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
17906 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
17907 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
17909 2009-08-26 Bean <bean123ch@gmail.com>
17911 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
17913 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17914 (grub_xfs_inode_block): Change return type to grub_uint64_t.
17915 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
17917 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17919 NetBSD memory map support.
17921 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
17922 (grub_netbsd_btinfo_mmap_header): New structure.
17923 (grub_netbsd_btinfo_mmap_entry): Likewise.
17924 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
17926 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17928 Enable bsd.mod on coreboot.
17930 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
17931 (bsd_mod_SOURCES): New variable.
17932 (bsd_mod_CFLAGS): Likewise.
17933 (bsd_mod_LDFLAGS): Likewise.
17934 (bsd_mod_ASFLAGS): Likewise.
17935 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
17936 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
17938 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17940 Cleanup NetBSD root support.
17942 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
17943 grub_bsd_get_device.
17946 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
17948 * util/grub.d/00_header.in: Move check for the video backend of
17949 gfxterm from here ...
17950 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
17951 a suitable video backend.
17953 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17955 Fix breakage in grub-setup.
17957 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
17958 "msdos_partition_map".
17960 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17962 Fix breakage in normal/auth.c.
17964 * normal/auth.c (grub_iswordseparator): New function.
17966 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17968 Authentication support.
17970 * commands/password.c: New file.
17971 * conf/common.rmk (pkglib_MODULES): Add password.mod.
17972 (password_mod_SOURCES): New variable.
17973 (password_mod_CFLAGS): Likewise.
17974 (password_mod_LDFLAGS): Likewise.
17975 (normal_mod_SOURCES): Add normal/auth.c.
17976 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
17978 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17979 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17980 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17981 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17982 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17983 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17984 * include/grub/auth.h: New file.
17985 * include/grub/err.h (grub_err_t): New enum value
17986 GRUB_ERR_ACCESS_DENIED.
17987 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
17989 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
17990 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
17992 * normal/auth.c: New file.
17993 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
17994 (grub_cmdline_run): Don't allow to go to command line without
17996 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
17997 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
17998 menuentry without superuser rights.
17999 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
18000 user isn't a superuser.
18002 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18004 Save space by inlining misc.c functions.
18006 * kern/misc.c (grub_iswordseparator): Made static.
18007 * kern/misc.c (grub_strcat): Moved from here ...
18008 * include/grub/misc.h (grub_strcat): ... here. Inlined.
18009 * kern/misc.c (grub_strncat): Moved from here ...
18010 * include/grub/misc.h (grub_strncat): ... here. Inlined.
18011 * kern/misc.c (grub_strcasecmp): Moved from here ...
18012 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
18013 * kern/misc.c (grub_strncasecmp): Moved from here ...
18014 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
18015 * kern/misc.c (grub_isalpha): Moved from here ...
18016 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
18017 * kern/misc.c (grub_isdigit): Moved from here ...
18018 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
18019 * kern/misc.c (grub_isgraph): Moved from here ...
18020 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
18021 * kern/misc.c (grub_tolower): Moved from here ...
18022 * include/grub/misc.h (grub_tolower): ... here. Inlined.
18024 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18026 * script/sh/function.c (grub_script_function_find): Cut error message
18027 not to flood terminal.
18028 * script/sh/lexer.c (grub_script_yylex): Remove command line length
18030 * script/sh/script.c (grub_script_arg_add): Duplicate string.
18032 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
18034 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
18035 `report' grub_uint8_t *.
18036 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
18037 Use a 50-millisecond timeout rather than just repeating
18038 grub_usb_keyboard_getreport 50 times.
18039 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
18041 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18043 Rename *_partition_map to part_*
18045 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
18046 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
18047 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
18048 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
18050 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
18052 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
18053 * util/grub-probe.c (probe_partmap): Don't transform partition name
18054 to get module name.
18056 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18058 Fix OpenBSD and NetBSD support.
18060 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
18061 memory address conflict.
18062 (OPENBSD_MMAP_ACPI): New definition.
18063 (OPENBSD_MMAP_NVS): Likewise.
18064 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
18065 and OPENBSD_MMAP_NVS.
18066 Add memory map terminator
18067 Explicit cast when calling grub_unix_real_boot.
18068 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
18070 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18072 Let user specify NetBSD root device.
18074 * loader/i386/bsd.c (netbsd_root): New variable.
18075 (netbsd_opts): New option 'root'.
18076 (NETBSD_ROOT_ARG): New macro.
18077 (grub_netbsd_boot): Use 'netbsd_root'.
18078 (grub_bsd_unload): Free 'netbsd_root'.
18079 (grub_cmd_netbsd): Fill 'netbsd_root'.
18081 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18083 Support for 64-bit NetBSD.
18085 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
18086 point when booting non-FreeBSD.
18088 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18090 Support --no-smp and --no-acpi for NetBSD.
18092 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
18093 (NETBSD_AB_NOACPI): Likewise.
18094 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
18095 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
18097 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18099 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
18101 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
18102 errors. Call grub_error when needed.
18104 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18106 * commands/search.c (search_fs): Try searching without autoload first.
18107 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18108 filesystem module explicitly for faster booting.
18110 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
18112 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
18114 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
18116 * util/grub.d/30_os-prober.in: Disable os-prober if
18117 `GRUB_DISABLE_OS_PROBER' was set to true.
18119 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
18121 * partmap/pc.c: Rename to ...
18122 * partmap/msdos.c: ... this. Update all users.
18123 (grub_pc_partition_map): Rename to ...
18124 (grub_msdos_partition_map): ... this. Update all users.
18126 * parttool/pcpart.c: Rename to ...
18127 * parttool/msdospart.c: ... this. Update all users.
18129 * include/grub/pc_partition.h: Rename to ...
18130 * include/grub/msdos_partition.h: ... this. Update all users.
18131 (grub_pc_partition_bsd_entry): Rename to ...
18132 (grub_msdos_partition_bsd_entry): ... this. Update all users.
18133 (grub_pc_partition_disk_label): Rename to ...
18134 (grub_msdos_partition_disk_label): ... this. Update all users.
18135 (grub_pc_partition_entry): Rename to ...
18136 (grub_msdos_partition_entry): ... this. Update all users.
18137 (grub_pc_partition_mbr): Rename to ...
18138 (grub_msdos_partition_mbr): ... this. Update all users.
18139 (grub_pc_partition): Rename to ...
18140 (grub_msdos_partition): ... this. Update all users.
18141 (grub_pc_partition_is_empty): Rename to ...
18142 (grub_msdos_partition_is_empty): ... this. Update all users.
18143 (grub_pc_partition_is_extended): Rename to ...
18144 (grub_msdos_partition_is_extended): ... this. Update all users.
18145 (grub_pc_partition_is_bsd): Rename to ...
18146 (grub_msdos_partition_is_bsd): ... this. Update all users.
18148 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
18149 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
18150 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
18151 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
18152 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
18153 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
18154 (gpt_mod_LDFLAGS): Rename to ...
18155 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
18156 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
18157 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
18158 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
18159 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
18160 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
18161 (part_gpt_mod_LDFLAGS): ... this.
18162 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
18163 `pcpart.mod' to `msdospart.mod'.
18164 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
18166 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
18167 (msdospart_mod_LDFLAGS): ... this.
18169 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18171 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
18172 (openbsd_opts): Likewise.
18173 (netbsd_opts): Likewise.
18174 (freebsd_flags): Added 0 terminator.
18175 (openbsd_flags): Likewise.
18176 (netbsd_flags): Likewise.
18177 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
18178 (grub_cmd_freebsd): Transformed into extended command.
18179 (grub_cmd_openbsd): Likewise.
18180 (grub_cmd_netbsd): Likewise.
18181 (cmd_freebsd): Changed type to grub_extcmd_t.
18182 (cmd_openbsd): Likewise.
18183 (cmd_netbsd): Likewise.
18184 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
18185 grub_cmd_openbsd as extended commands.
18186 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
18187 cmd_netbsd and cmd_openbsd
18189 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18191 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
18193 2009-08-21 Pavel Roskin <proski@gnu.org>
18195 * Makefile.in (install-local): When checking if a file is in the
18196 build directory, use "test -e" to detect symlinks.
18198 * Makefile.in (install-local): Remove all files in
18199 $(DESTDIR)$(pkglibdir) before installing new files there.
18201 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
18203 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
18206 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
18208 * util/grub-mkconfig.in: Don't use gfxterm by default if not
18209 explicitly specified by the user.
18211 2009-08-18 Pavel Roskin <proski@gnu.org>
18213 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
18214 grub_uint8_t pointer for data.
18215 * include/grub/fbutil.h (struct grub_video_fbblit_info):
18217 * video/fb/fbutil.c: Remove unnecessary casts.
18219 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18223 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
18224 (grub_vbe_set_video_mode): Save active mode info
18225 only after setting the mode.
18226 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
18229 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18231 Rename variables for clarity.
18233 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
18234 (active_vbe_mode_info): ... this. All users updated.
18235 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
18237 (initial_mode): Rename to ...
18238 (initial_vbe_mode): ... this. All users updated.
18239 (mode_in_use): Rename to ..
18240 (vbe_mode_in_use): ... this. All users updated.
18241 (mode_list): Rename to ..
18242 (vbe_mode_list): ... this. All users updated.
18243 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
18244 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
18245 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
18246 'mode_list_size' to 'vbe_mode_list_size'.
18247 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
18248 'best_mode_info' to 'best_vbe_mode_info' and
18249 'best_mode' to 'best_vbe_mode'
18251 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18253 Remove duplicate grub_video_fb_get_video_ptr.
18255 * include/grub/fbutil.h (get_data_ptr): Rename to ...
18256 (grub_video_fb_get_video_ptr): ... this.
18257 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
18258 * video/fb/fbutil.c: Add comment about addressing.
18259 (get_data_ptr): Rename to ...
18260 (grub_video_fb_get_video_ptr): ... this. All users updated.
18261 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
18263 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18265 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
18266 grub_dprintf() that was just added.
18268 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18270 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
18271 (DEFAULT_VIDEO_MODE): Remove macros.
18272 (grub_linux_boot): Remove assumption that Linux has FB support,
18273 and use "text" as default video mode.
18275 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
18277 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
18279 * fs/fat.c (grub_fat_read_data): Likewise.
18281 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18283 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
18285 (grub_module): Likewise.
18287 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18289 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
18290 mbi->cmdline but free playground.
18292 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18294 Handle group offset on UFS1.
18296 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
18297 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
18299 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18301 Split ufs.mod into ufs1.mod and ufs2.mod.
18303 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
18304 (grub_fstest_SOURCES): Likewise.
18305 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
18306 (ufs_mod_SOURCES): Remove.
18307 (ufs_mod_CFLAGS): Likewise.
18308 (ufs_mod_LDFLAGS): Likewise.
18309 (ufs1_mod_SOURCES): New variable.
18310 (ufs1_mod_CFLAGS): Likewise.
18311 (ufs1_mod_LDFLAGS): Likewise.
18312 (ufs2_mod_SOURCES): New variable.
18313 (ufs2_mod_CFLAGS): Likewise.
18314 (ufs2_mod_LDFLAGS): Likewise.
18315 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
18316 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18318 (grub_emu_SOURCES): Likewise.
18319 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18320 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18321 (grub_setup_SOURCES): Likewise.
18322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18323 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
18324 (grub_setup_SOURCES): Likewise.
18325 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18327 * fs/ufs2.c: New file.
18328 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
18330 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18334 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
18335 subsystem at the end.
18336 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
18337 (video_fb_mod_SOURCES): New variable.
18338 (video_fb_mod_CFLAGS): Likewise.
18339 (video_fb_mod_LDFLAGS): Likewise.
18340 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
18341 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
18342 * video/i386/pc/vbeblit.c: Moved from here ...
18343 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
18344 * video/i386/pc/vbefill.c: Moved from here ...
18345 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
18346 * video/i386/pc/vbeutil.c: Moved from here ...
18347 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
18348 * include/grub/i386/pc/vbeblit.h: Moved from here ...
18349 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
18350 * include/grub/i386/pc/vbefill.h: Moved from here ...
18351 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
18352 * include/grub/i386/pc/vbeutil.h: Moved from here ...
18353 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
18354 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
18355 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
18356 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
18357 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
18358 (grub_video_adapter): Added 'get_info_and_fini'.
18359 (grub_video_get_info_and_fini): New prototype.
18360 (grub_video_set_mode): make modestring const char *.
18361 * loader/i386/linux.c (grub_linux_setup_video): Use
18362 grub_video_get_info_and_fini.
18363 (grub_linux_boot): Move modesetting just before booting.
18364 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
18365 grub_video_get_info_and_fini.
18366 * video/i386/pc/vbe.c: Moved framebuffer part ...
18367 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
18368 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
18369 grub_video_fbstd_colors and grub_video_fb_set_palette.
18370 (grub_video_vbe_init): Clear 'framebuffer' variable and use
18371 grub_video_fb_init.
18372 (grub_video_vbe_fini): Use grub_video_fb_fini.
18373 (grub_video_vbe_setup): Use framebuffer.render_target instead of
18374 render_target and use grub_video_fb_set_active_render_target and
18375 grub_video_fb_set_palette.
18376 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
18377 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
18378 (grub_video_vbe_adapter): Use framebuffer.
18379 * video/video.c (grub_video_get_info_and_fini): New function.
18380 (grub_video_set_mode): Make modestring const char *.
18381 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
18382 values are already initialised.
18384 2009-08-14 Pavel Roskin <proski@gnu.org>
18386 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
18388 * boot/i386/pc/diskboot.S: Likewise.
18389 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
18390 sectors allow compilation on MacOSX.
18391 * conf/i386-pc.rmk: Enable unconditional compilation of
18394 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
18396 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
18397 * util/grub.d/00_header.in: Enter interruptible sleep if
18398 GRUB_HIDDEN_TIMEOUT is set.
18400 2009-08-13 Yves Blusseau <blusseau@zetam.org>
18402 * include/grub/symbol.h: Add the LOCAL macro.
18403 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
18404 starting with "L_".
18406 2009-08-13 Pavel Roskin <proski@gnu.org>
18408 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
18409 any modern compilers we support.
18411 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
18412 Use local labels starting with "L_" so that Apple assembler
18413 knows they are local.
18415 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
18417 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
18418 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
18419 (bsd_kernel_types): ... this enum.
18421 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
18422 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
18423 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
18425 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
18426 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
18427 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
18430 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18432 * util/grub-dumpdevtree: Moved from here ...
18433 * util/i386/efi/grub-dumpdevtree: ... to here.
18434 (hexify): New function. Converts a string to its hex version.
18435 Generate hex versions of "efi" and "device-properties" by calling
18436 hexify() on the ASCII strings rather than by hardcoding numbers.
18438 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18440 * fs/jfs.c: Update copyright year.
18442 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
18444 * util/grub.d/00_header.in: Fix a comment.
18445 * util/grub.d/10_linux.in: Likewise.
18446 * util/grub.d/10_windows.in: Likewise.
18447 * util/grub.d/10_hurd.in: Likewise.
18449 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
18451 * util/grub-mkconfig.in: Allow the user to specify the used font
18454 2009-08-08 Pavel Roskin <proski@gnu.org>
18456 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
18457 available, xfs.mod needs it now.
18459 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
18460 the "g" modifier in sed when the intention is to strip something
18461 once. This fixes comparison of kernels with multiple dashes.
18463 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
18464 on it. Add missing space before closing bracket. Fix
18465 misleading formatting.
18467 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18469 * docs/grub.texi: Major overhaul. Remove all sections that are
18470 specific to GRUB Legacy, or mostly composed of Legacy-specific
18473 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18475 * docs/version.texi: New file. Provides version information for
18478 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18480 * docs/grub.texi: Update CVS information to SVN.
18481 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
18483 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18485 * util/grub-mkconfig.in: Remove a wrong `fi'.
18487 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18489 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
18490 (grub_jfs_uuid): New function.
18491 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
18493 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18495 * util/grub-mkconfig_lib.in (font_path): Move the functionality
18497 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
18498 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
18500 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18502 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
18503 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
18506 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
18507 not just "vmlinu[zx]".
18508 Moved from here ...
18509 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
18512 * util/grub.d/10_linux.in (find_latest): Moved from here ...
18513 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
18516 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18518 * util/grub.d/10_freebsd.in: Use an absolute device path for
18519 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
18521 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
18523 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
18524 handling of multiple abstraction modules.
18526 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
18528 Fix a bug resulting in black screen when loading Linux using a
18531 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
18534 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
18535 (grub_vbe_bios_getset_dac_palette_width): New function.
18536 (grub_vbe_bios_get_dac_palette_width)
18537 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
18538 grub_vbe_bios_getset_dac_palette_width()).
18540 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
18541 check for return status.
18542 (grub_vbe_get_video_mode_info): When getting information for a packed
18543 mode (<= 8 bpp), obtain DAC palette width using
18544 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
18545 {red,green,blue}_mark_size.
18547 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
18549 * commands/search.c (options): Fix help output to match actual code.
18551 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
18553 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
18556 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18558 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
18559 on XFS or ReiserFS.
18561 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18563 Support Apple partition map with sector size different from 512 bytes.
18565 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
18566 (apple_partition_map_iterate): Respect 'aheader.blocksize'
18567 and 'apart.partmap_size'.
18569 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18570 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
18574 * commands/i386/cpuid.c (options): New variable.
18575 (grub_cmd_cpuid): Return real error.
18576 (GRUB_MOD_INIT(cpuid)): Declare options.
18578 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
18580 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
18583 2009-07-31 Bean <bean123ch@gmail.com>
18585 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
18587 (grub_fshelp_node): Move inode field to the end.
18588 (grub_xfs_data): Remove inode field.
18589 (grub_xfs_inode_block): Calculate inode size using sblock.
18590 (grub_xfs_inode_offset): Likewise.
18591 (grub_xfs_read_inode): Calculate inode size using sblock.
18592 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
18593 (grub_xfs_iterate_dir): Calculate inode size using sblock.
18594 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
18595 to match inode size.
18596 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
18597 not accessible when data is null.
18598 (grub_xfs_open): Likewise.
18600 2009-07-31 Bean <bean123ch@gmail.com>
18602 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
18603 Don't change pv->disk if it's already set.
18605 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
18606 (grub_raid_register): ... here.
18607 (grub_raid_rescan): Removed.
18609 * include/grub/raid.h (grub_raid_rescan): Removed.
18611 * util/grub-fstest.c: Remove include file <grub/raid.h>.
18612 (fstest): Replace grub_raid_rescan with module fini function followed
18615 * util/grub-probe.c: Add include file <grub/raid.h>.
18616 (probe_raid_level): New function.
18617 (probe): Detect abstraction by walking the disk device, support two
18618 level of abstraction (LVM on RAID) when detecting partition map.
18620 2009-07-31 Pavel Roskin <proski@gnu.org>
18622 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
18623 to grub_zalloc(), it was erroneous.
18624 Reported by Bean <bean123ch@gmail.com>
18626 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
18628 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
18629 embedding zone, not only the first one.
18631 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
18633 * term/gfxterm.c (clear_char): New function.
18634 (grub_virtual_screen_setup): Use clear_char.
18635 (scroll_up): Likewise.
18636 (grub_virtual_screen_cls): Likewise.
18638 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
18640 * util/deviceiter.c (get_acceleraid_disk_name): New static
18642 (grub_util_iterate_devices): Handle Accelraid devices.
18643 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
18645 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
18647 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
18648 separator for the suggested gfxpayload string (';' collides with the
18649 parser and needs escaping).
18651 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18653 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
18654 Clear direction flag before jumping to OS.
18655 (grub_multiboot2_real_boot): Likewise.
18657 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
18659 * util/i386/pc/grub-install: Fix parsing of --disk-module
18662 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
18664 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
18667 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
18669 * util/grub-mkconfig.in (package_version): New variable.
18670 Use it do display the version.
18672 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
18674 * kern/file.c (grub_file_open): Revert to previous check with
18677 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18679 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
18680 from help line. It's out of sync with code.
18682 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18684 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
18685 entries on failed boot.
18687 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
18689 * kern/file.c (grub_file_open): Fix an error check.
18691 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
18693 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
18694 partition map couldn't be identified.
18696 2009-07-23 Pavel Roskin <proski@gnu.org>
18698 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
18699 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
18700 case of little endian words becomes just an optimization.
18701 Respect const modifier.
18702 (md5_final): Use code that doesn't depend on endianness.
18704 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
18705 to avoid loss of upper bits if align is unsigned and shorter
18708 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
18710 UUID support for UFS
18712 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
18713 (grub_ufs_uuid): New function.
18714 (grub_ufs_fs): add .uuid
18716 2009-07-21 Pavel Roskin <proski@gnu.org>
18718 * kern/dl.c (grub_dl_check_header): Make static.
18720 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
18722 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
18723 add drivemap for Vista. It breaks Windows 7.
18725 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
18727 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
18730 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18734 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
18735 (grub_fstest_SOURCES): Likewise.
18736 (pkglib_MODULES): Add befs.mod.
18737 (befs_mod_SOURCES): New variable.
18738 (befs_mod_CFLAGS): Likewise.
18739 (befs_mod_LDFLAGS): Likewise.
18740 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18741 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18742 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18743 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18744 (grub_setup_SOURCES): Likewise.
18745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18746 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18747 (grub_setup_SOURCES): Likewise.
18748 * fs/befs.c: New file.
18749 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
18750 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
18751 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
18752 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
18753 (B_KEY_INDEX_ALIGN): New declaration.
18754 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
18755 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
18756 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
18757 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
18758 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
18759 (grub_afs_mount) [MODE_BFS]: Likewise.
18760 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
18761 (grub_afs_fs): Use GRUB_AFS_FSNAME
18762 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
18763 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
18764 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
18765 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
18767 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
18769 * util/getroot.c (find_root_device): Add support for MacOSX.
18770 * util/hostdisk.c: Likewise.
18772 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18774 * font/font.c (find_glyph): Check whether a font is present to avoid
18775 segmentation fault.
18777 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
18779 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
18781 2009-07-20 Pavel Roskin <proski@gnu.org>
18783 * configure.ac: Trim excessively wordy excuses.
18785 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18787 Add symlink, mtime and label support to AtheFS.
18789 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
18790 (grub_afs_iterate_dir): Handle symlinks.
18791 (grub_afs_open): Use grub_afs_read_symlink.
18792 (grub_afs_dir): Likewise.
18794 (grub_afs_label): New function.
18795 (grub_afs_fs): Add grub_afs_label.
18796 (grub_afs_read_symlink): New function.
18798 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18800 Fix AtheFS support.
18802 * fs/afs.c: Fix comments style.
18803 (grub_afs_blockrun): Declare as packed.
18804 (grub_afs_datastream): Likewise.
18805 (grub_afs_bnode): Likewise.
18806 (grub_afs_btree): Likewise.
18807 (grub_afs_sblock): Likewise.
18808 Declare `name' as char.
18809 (grub_afs_inode): Declare as packed.
18810 Change void *vnode to grub_uint32_t unused.
18811 (grub_afs_iterate_dir): Check that key_size is positive.
18812 (grub_afs_mount): Don't read superblock twice.
18813 (grub_afs_dir): Don't free node in case of error,
18814 grub_fshelp_find_file already handles this.
18815 (grub_afs_open): Likewise.
18817 2009-07-19 Pavel Roskin <proski@gnu.org>
18819 * Makefile.in: Remove LIBLZO and enable_lzo.
18820 * conf/i386-pc.rmk: Remove lzo support.
18821 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
18822 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
18824 * kern/i386/pc/lzo1x.S: Remove.
18825 * kern/i386/pc/startup.S: Remove lzo support.
18826 * util/i386/pc/grub-mkimage.c: Likewise.
18828 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
18830 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
18831 * fs/xfs.c (grub_xfs_dir): Likewise.
18832 * fs/afs.c (grub_afs_dir): Likewise.
18833 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
18834 (grub_iso9660_open): Likewise.
18835 * fs/jfs.c (grub_jfs_open): Likewise.
18836 * fs/ext2.c (grub_ext2_dir): Likewise.
18837 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
18838 * script/sh/lexer.c (grub_script_yylex): Likewise.
18840 2009-07-16 Pavel Roskin <proski@gnu.org>
18842 * configure.ac: Never add "-c" to CFLAGS.
18844 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
18846 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
18847 grub_cv_cc_efiemu should be used.
18849 * configure.ac: Typo fixes.
18851 * kern/mm.c (grub_zalloc): New function.
18852 (grub_debug_zalloc): Likewise.
18853 * include/grub/mm.h: Declare grub_zalloc() and
18854 grub_debug_zalloc().
18855 * util/misc.c (grub_zalloc): New function.
18856 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
18857 instead of grub_malloc(), remove unneeded initializations.
18858 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
18859 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
18860 * commands/parttool.c (grub_cmd_parttool): Likewise.
18861 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
18862 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
18863 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
18864 * disk/usbms.c (grub_usbms_finddevs): Likewise.
18865 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
18866 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
18867 (grub_cmd_efiemu_pnvram): Likewise.
18868 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
18869 * fs/iso9660.c (grub_iso9660_mount): Likewise.
18870 (grub_iso9660_iterate_dir): Likewise.
18871 * fs/jfs.c (grub_jfs_opendir): Likewise.
18872 * fs/ntfs.c (list_file): Likewise.
18873 (grub_ntfs_mount): Likewise.
18874 * kern/disk.c (grub_disk_open): Likewise.
18875 * kern/dl.c (grub_dl_load_core): Likewise.
18876 * kern/elf.c (grub_elf_file): Likewise.
18877 * kern/env.c (grub_env_context_open): Likewise.
18878 (grub_env_set): Likewise.
18879 (grub_env_set_data_slot): Likewise.
18880 * kern/file.c (grub_file_open): Likewise.
18881 * kern/fs.c (grub_fs_blocklist_open): Likewise.
18882 * loader/i386/multiboot.c (grub_module): Likewise.
18883 * loader/xnu.c (grub_xnu_create_key): Likewise.
18884 (grub_xnu_create_value): Likewise.
18885 * normal/main.c (grub_normal_add_menu_entry): Likewise.
18886 (read_config_file): Likewise.
18887 * normal/menu_entry.c (make_screen): Likewise.
18888 * partmap/sun.c (sun_partition_map_iterate): Likewise.
18889 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
18890 * script/sh/script.c (grub_script_parse): Likewise.
18891 * video/bitmap.c (grub_video_bitmap_create): Likewise.
18892 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18893 * video/readers/png.c (grub_png_output_byte): Likewise.
18894 (grub_video_reader_png): Likewise.
18896 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18898 Enable all targets that can be built by default
18900 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
18901 grub-mkfont and grub-fstest if they can be built
18903 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18905 Fix hang and segmentation fault in grub-emu-usb
18907 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
18908 * util/usb.c (grub_libusb_devices): likewise
18909 (grub_libusb_init): rename to ...
18910 (GRUB_MOD_INIT (libusb)):...this
18911 (grub_libusb_fini): rename to ..
18912 (GRUB_MOD_FINI (libusb)):...this
18913 * disk/usbms.c (grub_usbms_transfer): fix retry logic
18914 * include/grub/disk.h (grub_raid_init): removed, it's useless
18915 (grub_raid_fini): likewise
18916 (grub_lvm_init): likewise
18917 (grub_lvm_fini): likewise
18918 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
18921 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18925 * Makefile.in (LIBUSB): new macro
18926 * genmk.rb (Utility/print_tail): new method
18927 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
18928 (top level): call util.print_tail at the end.
18930 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18932 Make FreeBSD accept zpool.cache
18934 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
18935 type is /boot/zfs/zpool.cache
18937 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18941 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
18942 correct wrong typedef
18943 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
18945 2009-07-15 Pavel Roskin <proski@gnu.org>
18947 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
18948 * kern/disk.c (struct grub_disk_cache): Likewise.
18950 * commands/probe.c (options): Typo fix.
18952 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
18953 Increase to 0x5a to accommodate FAT32. Adjust other offsets
18955 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
18957 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
18958 the end of "Error" to make the message more readable.
18960 * boot/i386/pc/boot.S (kernel_segment): Remove.
18961 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
18964 * boot/i386/pc/boot.S (boot_version): Remove.
18965 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
18968 * include/grub/i386/pc/boot.h: Sort all offsets.
18969 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
18970 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
18971 * boot/i386/pc/boot.S: Assert location of every offset listed in
18972 include/grub/i386/pc/boot.h.
18974 2009-07-13 Pavel Roskin <proski@gnu.org>
18976 * include/grub/i386/coreboot/machine.h: Rename
18977 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
18978 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
18979 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
18981 * kern/dl.c: Force native word size to suppress warnings when
18982 compiling grub-emu.
18984 * kern/device.c (grub_device_iterate): Change struct part_ent to
18985 hold the name, not a pointer to it. Use one grub_malloc() per
18986 partition, not two. Free partition_name if grub_malloc() fails.
18987 Set ents to NULL only before grub_partition_iterate() is called.
18989 2009-07-11 Bean <bean123ch@gmail.com>
18991 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
18994 2009-07-10 Bean <bean123ch@gmail.com>
18995 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
18997 * kern/ieee1275/openfw.c (grub_children_iterate)
18998 (grub_devalias_iterate): Fix size evaluation for property or path
18999 strings, which was broken since r2132.
19001 2009-07-07 Pavel Roskin <proski@gnu.org>
19003 * commands/search.c (search_file): Merge into ...
19004 (search_fs): ... this. Accept search type as argument.
19005 (grub_cmd_search): Pass search type to search_fs().
19007 * include/grub/util/console.h: New file.
19008 * util/console.c: Use it instead of grub/machine/console.h.
19009 * util/grub-emu.c: Likewise.
19011 * lib/arg.c (find_long_option): Remove.
19012 (find_long): Add `len' argument, make `s' const char *.
19013 (grub_arg_parse): Parse long options in place, not in a
19016 2009-07-06 Pavel Roskin <proski@gnu.org>
19018 * commands/search.c (search_fs): Fix potential NULL pointer
19021 * commands/search.c (search_fs): Replace QUID macro with quid_fn
19024 2009-07-06 Daniel Mierswa <impulze@impulze.org>
19026 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
19029 2009-07-05 Pavel Roskin <proski@gnu.org>
19031 * include/grub/i386/linux.h (struct linux_kernel_params):
19032 Restore padding3, it's still needed.
19034 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
19036 * util/osdetect.lua: Likewise.
19038 2009-07-05 Bean <bean123ch@gmail.com>
19040 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
19042 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
19043 (grub_lua_getenv): Likewise.
19044 (grub_lua_setenv): Likewise.
19045 (save_errno): New function.
19046 (push_result): Likewise.
19047 (grub_lua_enum_device): Likewise.
19048 (grub_lua_enum_file): Likewise.
19049 (grub_lua_file_open): Likewise.
19050 (grub_lua_file_close): Likewise.
19051 (grub_lua_file_seek): Likewise.
19052 (grub_lua_file_read): Likewise.
19053 (grub_lua_file_getline): Likewise.
19054 (grub_lua_file_getsize): Likewise.
19055 (grub_lua_file_getpos): Likewise.
19056 (grub_lua_file_eof): Likewise.
19057 (grub_lua_file_exist): Likewise.
19058 (grub_lua_add_menu): Likewise.
19060 * script/lua/grub_lua.h (isupper): New inline function.
19061 (islower): Likewise.
19062 (ispunct): Likewise.
19063 (isxdigit): Likewise.
19064 (strcspn): Change to normal function.
19065 (strpbkr): New function declaration.
19066 (memchr): Likewise.
19068 * script/lua/grub_main.c (scan_str): New function.
19069 (strcspn): Likewise.
19070 (strpbrk): Likewise.
19071 (memchr): Likewise.
19073 * script/lua/linit.c (lualibs): Enable the string library.
19075 * util/osdetect.lua: New file.
19077 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
19079 * include/grub/i386/linux.h (struct linux_kernel_params): Add
19080 `capabilities' member.
19082 2009-07-02 Pavel Roskin <proski@gnu.org>
19084 * genparttoollist.sh: Add missing newline at the end.
19086 2009-07-01 Pavel Roskin <proski@gnu.org>
19088 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
19090 * util/hostdisk.c (open_device): Remove `const' from
19091 `sysctl_size', as sysctlbyname() can change it (in this case it
19092 doesn't actually happen).
19094 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
19095 using signed long int constants.
19097 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
19098 constant to avoid a warning on FreeBSD.
19100 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
19103 * Makefile.in: Install include/grub/machine symlink.
19105 * Makefile.in: When installing symlinks, use "cp -fR", which
19106 works on FreeBSD and MacOSX.
19107 From Yves Blusseau <cl7m42e02@sneakemail.com>
19109 * kern/dl.c (grub_dl_resolve_symbol): Make static.
19110 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
19112 * util/misc.c: Move grub_reboot() and grub_halt() ...
19113 * util/grub-emu.c: ... here. Make main_env static.
19114 * include/grub/util/misc.h: Remove main_env.
19116 * kern/mm.c: Use correct format to print size_t.
19118 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
19119 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
19120 * kern/powerpc/dl.c: Likewise.
19121 * kern/sparc64/dl.c: Likewise.
19122 * kern/x86_64/dl.c: Likewise.
19124 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19126 Fix grub-emu build on sparc64-ieee1275.
19128 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
19129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
19131 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19133 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
19134 (grub_reboot, grub_halt): New functions.
19136 * util/i386/pc/misc.c: Delete. Update all users.
19137 * util/sparc64/ieee1275/misc.c: Likewise.
19138 * util/powerpc/ieee1275/misc.c: Likewise.
19140 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19142 * conf/i386.rmk (setjmp_mod_SOURCES)
19143 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
19144 * conf/common.rmk (setjmp_mod_SOURCES)
19145 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
19146 to use $(target_cpu).
19147 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
19148 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
19149 * conf/powerpc-ieee1275.rmk: Likewise.
19150 * conf/sparc64-ieee1275.rmk: Likewise.
19152 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
19153 $(target_cpu) for kern/$(target_cpu)/dl.c.
19154 * conf/i386-efi.rmk: Likewise.
19155 * conf/i386-ieee1275.rmk: Likewise.
19156 * conf/x86_64-efi.rmk: Likewise.
19157 * conf/i386-coreboot.rmk: Likewise.
19158 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
19159 $(target_cpu) for kern/$(target_cpu)/dl.c and for
19160 kern/$(target_cpu)/cache.S.
19161 * conf/sparc64-ieee1275.rmk: Likewise.
19163 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19165 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
19166 type to `grub_uint8_t', and adjust `padding9' accordingly.
19168 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19170 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
19172 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
19173 assembly in final jump, using register constraints.
19175 (grub_linux_boot): For text mode, initialize `have_vga' using
19176 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
19178 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
19179 right before the final jump.
19181 Set `video_mode' to 0x3.
19183 Document initialization of `video_page', `video_mode' and
19186 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19188 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
19189 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
19190 and set GRUB_LINUX_FLAG_QUIET appropriately.
19192 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19194 Fix build on Debian / sparc.
19196 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
19198 2009-06-28 Pavel Roskin <proski@gnu.org>
19200 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
19203 * util/grub.d/10_linux.in: Match SUSE style initrd names.
19205 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19207 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
19210 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19214 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
19215 file can't be opened. grub_file_open() is already supposed to set
19216 grub_errno / grub_errmsg appropriately.
19217 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19219 2009-06-27 Pavel Roskin <proski@gnu.org>
19220 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19222 * include/grub/dl.h: Include grub/elf.h.
19223 (struct grub_dl): Add symtab field.
19224 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
19225 GRUB_MODULES_MACHINE_READONLY.
19226 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
19227 of the header for read-only modules.
19228 (grub_dl_unload): Free mod->symtab for read-only modules.
19229 * kern/i386/dl.c: Use mod->symtab.
19230 * kern/powerpc/dl.c: Likewise.
19231 * kern/sparc64/dl.c: Likewise.
19232 * kern/x86_64/dl.c: Likewise.
19234 * conf/i386-qemu.rmk: New file.
19235 * kern/i386/qemu/startup.S: Likewise.
19236 * kern/i386/qemu/mmap.c: Likewise.
19237 * boot/i386/qemu/boot.S: Likewise.
19238 * include/grub/i386/qemu/time.h: Likewise.
19239 * include/grub/i386/qemu/serial.h: Likewise.
19240 * include/grub/i386/qemu/kernel.h: Likewise.
19241 * include/grub/i386/qemu/console.h: Likewise.
19242 * include/grub/i386/qemu/boot.h: Likewise.
19243 * include/grub/i386/qemu/init.h: Likewise.
19244 * include/grub/i386/qemu/machine.h: Likewise.
19245 * include/grub/i386/qemu/loader.h: Likewise.
19246 * include/grub/i386/qemu/memory.h: Likewise.
19248 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
19249 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
19250 [qemu] (pkglib_IMAGES): Add `boot.img'.
19251 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
19252 [qemu] (boot_img_FORMAT): New variables.
19253 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
19254 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
19255 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
19256 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19257 [qemu] (kernel_img_FORMAT): New variables.
19259 * configure.ac: Recognise `i386-qemu'.
19261 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
19262 (for no compression).
19263 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
19264 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
19265 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
19266 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
19269 2009-06-27 Pavel Roskin <proski@gnu.org>
19271 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
19273 * efiemu/prepare32.c: Likewise.
19274 * efiemu/prepare64.c: Likewise.
19276 2009-06-26 Pavel Roskin <proski@gnu.org>
19278 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
19279 * include/grub/elf.h: Define symbols without "32" or "64" based
19280 on GRUB_TARGET_WORDSIZE.
19281 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
19282 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
19284 * efiemu/loadcore64.c: Likewise.
19285 * loader/i386/bsd32.c: Likewise.
19286 * loader/i386/bsd64.c: Likewise.
19287 * kern/dl.c: Remove own ELF definitions.
19288 * util/i386/efi/grub-mkimage.c: Likewise.
19290 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
19292 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
19293 segment 0x0 unconditionally, because the reference generated by
19294 GAS is an absolute address.
19296 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19298 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
19299 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
19301 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19303 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
19304 indexes. Check for -f explicitly.
19305 (search_file): Improve error message.
19306 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
19308 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19310 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
19311 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
19313 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19315 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
19316 * conf/i386-ieee1275.rmk: Likewise.
19317 * conf/i386-coreboot.rmk: Likewise.
19319 * kern/i386/pc/startup.S (grub_stop): Remove function.
19320 * kern/i386/ieee1275/startup.S: Likewise.
19321 * kern/i386/coreboot/startup.S: Likewise.
19322 * kern/i386/misc.S (grub_stop): New function.
19324 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19326 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
19327 * kern/i386/realmode.S (real_to_prot): ... to here.
19329 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19331 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
19333 (kernel_elf_SOURCES): Rename to ...
19334 (kernel_img_SOURCES): ... this.
19335 (kernel_elf_HEADERS): Rename to ...
19336 (kernel_img_HEADERS): ... this. Update all users.
19337 (kernel_elf_ASFLAGS): Rename to ...
19338 (kernel_img_ASFLAGS): ... this.
19339 (kernel_elf_CFLAGS): Rename to ...
19340 (kernel_img_CFLAGS): ... this.
19341 (kernel_elf_LDFLAGS): Rename to ...
19342 (kernel_img_LDFLAGS): ... this.
19343 * conf/i386-coreboot.rmk: Likewise.
19344 * conf/powerpc-ieee1275.rmk: Likewise.
19346 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
19349 2009-06-21 Pavel Roskin <proski@gnu.org>
19351 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
19352 to match nested functions.
19353 * loader/sparc64/ieee1275/linux.c: Likewise.
19355 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
19357 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19359 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
19360 all i386 platforms.
19362 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19364 Fix asm file handling on ELF, and remove workarounds.
19366 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
19367 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
19368 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
19369 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
19371 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
19373 Load BSD ELF modules
19375 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
19376 and loader/i386/bsd64.c
19377 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
19378 (FREEBSD_MODTYPE_ELF_MODULE): New definition
19379 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
19380 (grub_freebsd_load_elfmodule32): New declaration
19381 (grub_freebsd_load_elfmoduleobj64): Likewise
19382 (grub_freebsd_load_elf_meta32): Likewise
19383 (grub_freebsd_load_elf_meta64): Likewise
19384 (grub_freebsd_add_meta): Likewise
19385 (grub_freebsd_add_meta_module): Likewise
19386 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
19387 (grub_freebsd_add_meta_module): Likewise and move module-specific
19388 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
19389 (grub_cmd_freebsd): Add elf-kernel specific parts
19390 based on grub_freebsd_add_meta_module
19391 (grub_cmd_freebsd_module): Add type parsing moved from
19392 grub_freebsd_add_meta_module
19393 (grub_cmd_freebsd_module_elf): New function
19394 (cmd_freebsd_module_elf): New variable
19395 (GRUB_MOD_INIT): Register freebsd_module_elf
19396 * loader/i386/bsd32.c: New file
19397 * loader/i386/bsd64.c: Likewise
19398 * loader/i386/bsdXX.c: Likewise
19399 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
19400 (grub_elf64_load): Likewise
19401 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
19403 (grub_elf64_load_hook_t): Likewise
19405 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
19407 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
19409 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
19410 don't write a menu entry for recovery mode.
19412 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19414 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
19415 after it's no longer needed.
19417 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19419 * include/grub/i386/loader.h (grub_linux_prot_size)
19420 (grub_linux_tmp_addr, grub_linux_real_addr)
19421 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
19422 GRUB_MACHINE_PCBIOS.
19423 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
19424 common grub_util_info() call to ...
19425 (generate_image): ... here.
19426 Fix use of uninitialized memory, comparison of signed with
19427 unsigned integers and memory leak.
19428 Remove bogus module address message.
19430 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19432 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
19434 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
19436 2009-06-19 Pavel Roskin <proski@gnu.org>
19438 * configure.ac: Remove stray AC_MSG_CHECKING.
19440 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
19442 * disk/scsi.c (grub_scsi_open): use continue instead of big if
19444 2009-06-18 Pavel Roskin <proski@gnu.org>
19446 * conf/common.rmk: Add fs_file.mod.
19447 * disk/fs_file.c: New file.
19448 * include/grub/disk.h (enum grub_disk_dev_id): Add
19449 GRUB_DISK_DEVICE_FILE_ID.
19451 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19453 Fix build with Apple's toolchain. Part 2
19455 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
19458 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19460 Fix build with Apple's toolchain. Part 1
19462 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
19464 * configure.ac: remove a leftover AC_MSG_RESULT
19465 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
19468 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19472 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
19473 (decomp_block): initialize ch
19474 use grub_memcpy instead of memcpy
19476 2009-06-17 Pavel Roskin <proski@gnu.org>
19478 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
19479 version, use declarations needed to use vga_text as the startup
19482 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
19483 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
19485 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
19486 and grub_at_keyboard_fini(), it's done on module load and
19489 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
19491 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
19492 file can't be found.
19493 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19495 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19497 Fix newline handling
19499 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
19500 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
19501 (grub_script_yylex): don't segfault on unterminated script
19502 newline terminates command and variable
19504 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19506 avoid double grub_adjust_range call. Bug reported by David Simner
19508 * kern/disk.c (grub_disk_write): change to raw disk access before
19511 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
19513 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
19514 spaces, for the benefit of help2man.
19515 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19517 2009-06-16 Pavel Roskin <proski@gnu.org>
19519 * kern/i386/halt.c: Include grub/machine/init.h.
19520 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
19522 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
19524 * util/grub.d/30_os-prober.in: Use ${root} in the generated
19525 drivemap menuentry.
19527 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
19529 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
19532 2009-06-16 Pavel Roskin <proski@gnu.org>
19534 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
19535 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
19536 save %dx, we only need %dl and we never change it.
19537 * boot/i386/pc/cdboot.S: Don't set the root drive.
19538 * boot/i386/pc/pxeboot.S: Likewise.
19539 * include/grub/i386/pc/boot.h: Remove
19540 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
19541 GRUB_BOOT_MACHINE_DRIVE_CHECK.
19542 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
19543 * kern/i386/pc/init.c (make_install_device): Remove references
19544 to grub_root_drive.
19545 * kern/i386/pc/startup.S: Likewise.
19546 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
19548 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19552 * commands/xnu_uuid.c: new file
19553 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
19554 (xnu_uuid_mod_SOURCES): new variable
19555 (xnu_uuid_mod_CFLAGS): likewise
19556 (xnu_uuid_mod_LDFLAGS): likewise
19557 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19558 * conf/i386-ieee1275.rmk: likewise
19559 * conf/i386-pc.rmk: likewise
19560 * conf/powerpc-ieee1275.rmk: likewise
19561 * conf/sparc64-ieee1275.rmk: likewise
19562 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
19564 2009-06-16 Pavel Roskin <proski@gnu.org>
19566 * configure.ac: Avoid '==' in test command, it's not portable.
19568 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19572 * commands/probe.c: new file
19573 * conf/common.rmk (pkglib_MODULES): add probe.mod
19574 (probe_mod_SOURCES): new variable
19575 (probe_mod_CFLAGS): likewise
19576 (probe_mod_LDFLAGS): likewise
19577 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19578 * conf/i386-ieee1275.rmk: likewise
19579 * conf/i386-pc.rmk: likewise
19580 * conf/powerpc-ieee1275.rmk: likewise
19581 * conf/sparc64-ieee1275.rmk: likewise
19583 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
19585 Fix handling of string like \"hello\" and "a
19588 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
19589 (grub_script_yylex): fix parsing of quoting, escaping and newline
19591 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
19593 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
19596 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
19598 * util/grub-mkconfig.in: Fix parsing of --output option.
19600 2009-06-12 Pavel Roskin <proski@gnu.org>
19602 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
19603 genmk.rb don't need to be generated or installed.
19605 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19607 * commands/i386/pc/drivemap_int13h.S: add more comments
19609 2009-06-11 Pavel Roskin <proski@gnu.org>
19611 * Makefile.in (uninstall): Uninstall manuals.
19613 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
19614 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
19615 and update-grub_lib in two places.
19616 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
19618 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
19619 a compiler warning.
19621 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
19622 `entry_lo' to fix variable shadowing.
19624 2009-06-11 Christian Franke <franke@computer.org>
19626 * kern/misc.c (__enable_execute_stack): Add missing return type
19627 to prevent gcc warning.
19629 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
19631 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
19633 2009-06-11 Pavel Roskin <proski@gnu.org>
19635 * Makefile.in: Don't rely on any scripts being executable.
19636 Always use $(SHELL) to run shell scripts.
19638 * configure.ac: Always define ___main if using -nostdlib. This
19639 fixes tests on Cygwin.
19641 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
19645 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
19646 is in bytes and not in blocks
19648 2009-06-11 Pavel Roskin <proski@gnu.org>
19650 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
19653 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
19655 * util/grub.d/30_os-prober.in: Fix a comment. Source
19656 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
19657 to set the root device. Place drivemap command in the generated
19660 2009-06-11 Pavel Roskin <proski@gnu.org>
19662 * configure.ac: Remove host_m32. Issues with 64-bit utilities
19663 have long been resolved.
19665 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
19667 * util/grub.d/10_linux.in: Capitalise "Linux".
19669 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
19671 2009-06-11 Pavel Roskin <proski@gnu.org>
19673 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
19674 fix a gcc warning and ensure that the function won't ever exit.
19676 * kern/i386/ieee1275/init.c: Add missing prototype for
19677 grub_stop_floppy().
19679 * loader/ieee1275/multiboot2.c [__i386__]: Include
19680 grub/cpu/multiboot.h.
19682 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
19683 casts to short - they are not portable and cause warnings. Fix
19684 use of uninitialized values in input_buf. Use ARRAY_SIZE.
19686 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
19690 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
19692 (grub_get_root_biosnumber_saved): new variable
19693 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
19694 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
19695 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
19696 %dx after the call if necessary
19697 * conf/common.rmk (pkglib_MODULES): remove boot.mod
19698 (boot_mod_SOURCES): remove
19699 (boot_mod_CFLAGS): remove
19700 (boot_mod_LDFLAGS): remove
19701 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
19702 (boot_mod_SOURCES): new variable
19703 (boot_mod_CFLAGS): likewise
19704 (boot_mod_LDFLAGS): likewise
19705 * conf/i386-efi.rmk: likewise
19706 * conf/i386-ieee1275.rmk: likewise
19707 * conf/i386-pc.rmk: likewise
19708 * conf/powerpc-ieee1275.rmk: likewise
19709 * conf/sparc64-ieee1275.rmk: likewise
19710 * conf/x86_64-efi.rmk: likewise
19711 * include/grub/i386/pc/biosnum.h: new file
19712 * lib/i386/pc/biosnum.c: likewise
19713 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
19714 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
19715 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
19717 2009-06-10 Pavel Roskin <proski@gnu.org>
19719 * io/gzio.c (test_header): Don't reuse one buffer for all data.
19720 Use separate variables. Read only the file size at the end, but
19721 not the checksum that we don't use.
19723 * kern/file.c (grub_file_read): Use void pointer for the buffer.
19724 Adjust all callers.
19726 * kern/ieee1275/openfw.c: Remove libc includes.
19727 * kern/ieee1275/cmain.c: Likewise.
19728 * include/grub/ieee1275/ieee1275.h: Likewise.
19730 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
19733 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
19735 * Makefile.in: Remove all trailing whitespace.
19736 * conf/i386-pc.rmk: Likewise.
19737 * conf/powerpc-ieee1275.rmk: Likewise.
19738 * conf/sparc64-ieee1275.rmk: Likewise.
19739 * docs/grub.texi: Likewise.
19740 * docs/texinfo.tex: Likewise.
19741 * disk/fs_uuid.c: Likewise.
19742 * disk/lvm.c: Likewise.
19743 * disk/scsi.c: Likewise.
19744 * disk/ata.c: Likewise.
19745 * disk/ieee1275/ofdisk.c: Likewise.
19746 * disk/i386/pc/biosdisk.c: Likewise.
19747 * disk/host.c: Likewise.
19748 * disk/raid.c: Likewise.
19749 * disk/efi/efidisk.c: Likewise.
19750 * disk/usbms.c: Likewise.
19751 * disk/memdisk.c: Likewise.
19752 * disk/loopback.c: Likewise.
19753 * kern/powerpc/dl.c: Likewise.
19754 * kern/device.c: Likewise.
19755 * kern/dl.c: Likewise.
19756 * kern/sparc64/dl.c: Likewise.
19757 * kern/ieee1275/ieee1275.c: Likewise.
19758 * kern/term.c: Likewise.
19759 * kern/fs.c: Likewise.
19760 * kern/i386/dl.c: Likewise.
19761 * kern/i386/pc/startup.S: Likewise.
19762 * kern/i386/pc/init.c: Likewise.
19763 * kern/i386/pc/mmap.c: Likewise.
19764 * kern/i386/pc/lzo1x.S: Likewise.
19765 * kern/i386/ieee1275/init.c: Likewise.
19766 * kern/i386/realmode.S: Likewise.
19767 * kern/i386/tsc.c: Likewise.
19768 * kern/partition.c: Likewise.
19769 * kern/corecmd.c: Likewise.
19770 * kern/file.c: Likewise.
19771 * kern/efi/efi.c: Likewise.
19772 * kern/efi/init.c: Likewise.
19773 * kern/efi/mm.c: Likewise.
19774 * kern/main.c: Likewise.
19775 * kern/err.c: Likewise.
19776 * kern/env.c: Likewise.
19777 * kern/disk.c: Likewise.
19778 * kern/generic/millisleep.c: Likewise.
19779 * kern/generic/rtc_get_time_ms.c: Likewise.
19780 * kern/misc.c: Likewise.
19781 * kern/parser.c: Likewise.
19782 * genmk.rb: Likewise.
19783 * configure.ac: Likewise.
19784 * boot/i386/pc/diskboot.S: Likewise.
19785 * boot/i386/pc/pxeboot.S: Likewise.
19786 * boot/i386/pc/boot.S: Likewise.
19787 * boot/i386/pc/lnxboot.S: Likewise.
19788 * boot/i386/pc/cdboot.S: Likewise.
19789 * parttool/pcpart.c: Likewise.
19790 * video/readers/tga.c: Likewise.
19791 * video/video.c: Likewise.
19792 * video/bitmap.c: Likewise.
19793 * lib/envblk.c: Likewise.
19794 * lib/i386/setjmp.S: Likewise.
19795 * fs/xfs.c: Likewise.
19796 * fs/afs.c: Likewise.
19797 * fs/fat.c: Likewise.
19798 * fs/ntfs.c: Likewise.
19799 * fs/udf.c: Likewise.
19800 * fs/affs.c: Likewise.
19801 * fs/iso9660.c: Likewise.
19802 * fs/hfs.c: Likewise.
19803 * fs/fshelp.c: Likewise.
19804 * fs/ext2.c: Likewise.
19805 * fs/jfs.c: Likewise.
19806 * fs/reiserfs.c: Likewise.
19807 * fs/hfsplus.c: Likewise.
19808 * fs/minix.c: Likewise.
19809 * fs/cpio.c: Likewise.
19810 * fs/sfs.c: Likewise.
19811 * fs/ufs.c: Likewise.
19812 * efiemu/prepare.c: Likewise.
19813 * efiemu/loadcore_common.c: Likewise.
19814 * efiemu/runtime/efiemu.sh: Likewise.
19815 * efiemu/runtime/efiemu.S: Likewise.
19816 * efiemu/runtime/efiemu.c: Likewise.
19817 * efiemu/pnvram.c: Likewise.
19818 * efiemu/main.c: Likewise.
19819 * efiemu/i386/pc/cfgtables.c: Likewise.
19820 * efiemu/i386/loadcore64.c: Likewise.
19821 * efiemu/i386/loadcore32.c: Likewise.
19822 * efiemu/loadcore.c: Likewise.
19823 * efiemu/symbols.c: Likewise.
19824 * efiemu/mm.c: Likewise.
19825 * include/grub/autoefi.h: Likewise.
19826 * include/grub/datetime.h: Likewise.
19827 * include/grub/term.h: Likewise.
19828 * include/grub/hfs.h: Likewise.
19829 * include/grub/lvm.h: Likewise.
19830 * include/grub/i386/tsc.h: Likewise.
19831 * include/grub/i386/linux.h: Likewise.
19832 * include/grub/i386/xnu.h: Likewise.
19833 * include/grub/i386/efiemu.h: Likewise.
19834 * include/grub/i386/pc/biosdisk.h: Likewise.
19835 * include/grub/i386/pc/memory.h: Likewise.
19836 * include/grub/i386/pc/vbe.h: Likewise.
19837 * include/grub/parttool.h: Likewise.
19838 * include/grub/video.h: Likewise.
19839 * include/grub/memory.h: Likewise.
19840 * include/grub/fs.h: Likewise.
19841 * include/grub/partition.h: Likewise.
19842 * include/grub/xnu.h: Likewise.
19843 * include/grub/efi/api.h: Likewise.
19844 * include/grub/efi/pe32.h: Likewise.
19845 * include/grub/efi/memory.h: Likewise.
19846 * include/grub/multiboot.h: Likewise.
19847 * include/grub/usbdesc.h: Likewise.
19848 * include/grub/multiboot2.h: Likewise.
19849 * include/grub/acpi.h: Likewise.
19850 * include/grub/efiemu/efiemu.h: Likewise.
19851 * include/grub/disk.h: Likewise.
19852 * include/grub/ieee1275/ieee1275.h: Likewise.
19853 * include/grub/net.h: Likewise.
19854 * include/grub/machoload.h: Likewise.
19855 * include/grub/macho.h: Likewise.
19856 * include/multiboot.h: Likewise.
19857 * genmoddep.awk: Likewise.
19858 * normal/main.c: Likewise.
19859 * normal/menu_entry.c: Likewise.
19860 * normal/menu_viewer.c: Likewise.
19861 * normal/completion.c: Likewise.
19862 * normal/cmdline.c: Likewise.
19863 * normal/misc.c: Likewise.
19864 * normal/datetime.c: Likewise.
19865 * bus/usb/usbtrans.c: Likewise.
19866 * bus/usb/ohci.c: Likewise.
19867 * bus/usb/uhci.c: Likewise.
19868 * bus/usb/usb.c: Likewise.
19869 * mmap/efi/mmap.c: Likewise.
19870 * mmap/i386/pc/mmap_helper.S: Likewise.
19871 * mmap/i386/pc/mmap.c: Likewise.
19872 * mmap/i386/mmap.c: Likewise.
19873 * mmap/i386/uppermem.c: Likewise.
19874 * mmap/mmap.c: Likewise.
19875 * commands/acpi.c: Likewise.
19876 * commands/echo.c: Likewise.
19877 * commands/blocklist.c: Likewise.
19878 * commands/loadenv.c: Likewise.
19879 * commands/usbtest.c: Likewise.
19880 * commands/boot.c: Likewise.
19881 * commands/parttool.c: Likewise.
19882 * commands/search.c: Likewise.
19883 * commands/cat.c: Likewise.
19884 * commands/i386/pc/play.c: Likewise.
19885 * commands/i386/pc/drivemap.c: Likewise.
19886 * commands/i386/pc/vbeinfo.c: Likewise.
19887 * commands/i386/pc/acpi.c: Likewise.
19888 * commands/i386/pc/vbetest.c: Likewise.
19889 * commands/ls.c: Likewise.
19890 * commands/cmp.c: Likewise.
19891 * commands/test.c: Likewise.
19892 * commands/efi/acpi.c: Likewise.
19893 * commands/gptsync.c: Likewise.
19894 * commands/help.c: Likewise.
19895 * partmap/amiga.c: Likewise.
19896 * partmap/apple.c: Likewise.
19897 * partmap/acorn.c: Likewise.
19898 * partmap/pc.c: Likewise.
19899 * partmap/sun.c: Likewise.
19900 * partmap/gpt.c: Likewise.
19901 * script/sh/lexer.c: Likewise.
19902 * script/sh/function.c: Likewise.
19903 * font/font.c: Likewise.
19904 * font/font_cmd.c: Likewise.
19905 * loader/powerpc/ieee1275/linux.c: Likewise.
19906 * loader/efi/chainloader.c: Likewise.
19907 * loader/multiboot_loader.c: Likewise.
19908 * loader/macho.c: Likewise.
19909 * loader/i386/multiboot.c: Likewise.
19910 * loader/i386/linux.c: Likewise.
19911 * loader/i386/pc/linux.c: Likewise.
19912 * loader/i386/pc/multiboot2.c: Likewise.
19913 * loader/i386/pc/chainloader.c: Likewise.
19914 * loader/i386/pc/xnu.c: Likewise.
19915 * loader/i386/bsd_trampoline.S: Likewise.
19916 * loader/i386/efi/linux.c: Likewise.
19917 * loader/i386/multiboot_elfxx.c: Likewise.
19918 * loader/i386/bsd_helper.S: Likewise.
19919 * loader/i386/bsd.c: Likewise.
19920 * loader/i386/linux_trampoline.S: Likewise.
19921 * loader/i386/xnu_helper.S: Likewise.
19922 * loader/i386/xnu.c: Likewise.
19923 * loader/i386/bsd_pagetable.c: Likewise.
19924 * loader/i386/multiboot_helper.S: Likewise.
19925 * loader/xnu.c: Likewise.
19926 * loader/xnu_resume.c: Likewise.
19927 * io/gzio.c: Likewise.
19928 * term/efi/console.c: Likewise.
19929 * term/terminfo.c: Likewise.
19930 * term/ieee1275/ofconsole.c: Likewise.
19931 * term/i386/pc/serial.c: Likewise.
19932 * term/i386/pc/vesafb.c: Likewise.
19933 * term/i386/pc/vga.c: Likewise.
19934 * term/usb_keyboard.c: Likewise.
19935 * term/gfxterm.c: Likewise.
19936 * aclocal.m4: Likewise.
19937 * util/lvm.c: Likewise.
19938 * util/grub.d/30_os-prober.in: Likewise.
19939 * util/grub.d/10_hurd.in: Likewise.
19940 * util/console.c: Likewise.
19941 * util/grub-macho2img.c: Likewise.
19942 * util/grub-probe.c: Likewise.
19943 * util/hostfs.c: Likewise.
19944 * util/i386/pc/grub-mkimage.c: Likewise.
19945 * util/i386/pc/grub-setup.c: Likewise.
19946 * util/i386/efi/grub-mkimage.c: Likewise.
19947 * util/grub-mkconfig.in: Likewise.
19948 * util/raid.c: Likewise.
19949 * util/resolve.c: Likewise.
19950 * util/grub-mkdevicemap.c: Likewise.
19951 * util/grub-emu.c: Likewise.
19952 * util/getroot.c: Likewise.
19953 * util/hostdisk.c: Likewise.
19954 * util/usb.c: Likewise.
19955 * util/grub-editenv.c: Likewise.
19956 * util/misc.c: Likewise.
19958 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
19960 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
19961 `genparttoollist.sh'.
19962 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
19963 Add `*.sh' to the list find searches for and change `mdate.sh'
19966 2009-06-10 Pavel Roskin <proski@gnu.org>
19968 * include/grub/multiboot2.h: Provide compatibility defines for
19970 * include/multiboot2.h: Include stdint.h only if needed, using
19972 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
19974 * loader/ieee1275/multiboot2.c: Likewise.
19975 * loader/multiboot2.c: Likewise.
19976 * loader/multiboot_loader.c: Likewise.
19978 * configure.ac: Use -nostdlib when probing for the target. It
19979 should not be required to have libc for the target.
19981 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
19982 they fail without libc headers for the target.
19983 * include/grub/powerpc/libgcc.h: Use weak attribute for all
19985 * include/grub/sparc64/libgcc.h: Likewise. Don't use
19986 preprocessor conditionals.
19988 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
19989 build system doesn't need to be aware of the tar.c internals.
19991 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
19993 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
19995 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
19997 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
19998 disk limit to 26 for IDE, Virtio, Xen and SCSI.
20000 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
20002 * util/i386/pc/grub-install.in: Change the error message if UUIDs
20003 aren't available if ata.mod gets used.
20005 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
20007 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
20008 initialising controller.
20009 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20011 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20013 * util/i386/pc/grub-install.in: Add a parameter --disk-module
20014 to choose between ata and biosdisk module on i386-pc.
20016 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
20018 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
20019 Subclass and Programming Interface fields in terms of the 3 byte
20020 Class Code register.
20021 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20023 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
20024 interface is OHCI. Add grub_dprintf for symmetry with
20026 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
20027 interface is UHCI. Add interf variable for programming
20028 interface. Print interface with class/subclass.
20030 * bus/usb/ohci.c: Set interf with correct field.
20032 * bus/usb/uhci.c: Remove unneeded doubled lines.
20033 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
20034 Remove whitespace inside comment.
20036 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
20038 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
20039 as fallback an equivalent option without depth.
20041 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20043 Not fail if unable to retrieve C/H/S on LBA disks
20045 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
20046 if unable to retrieve C/H/S on LBA disks
20048 2009-06-08 Pavel Roskin <proski@gnu.org>
20050 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
20053 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20055 * Makefile.in (uninstall): Remove all $lib_DATA files.
20057 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20059 Bugfix: install on partitionless device
20061 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
20064 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20066 * Makefile.in (uninstall): Remove all $include_DATA files.
20068 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20070 * commands/true.c: New file. Implement the true and false commands.
20071 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
20072 (true_mod_SOURCES): New variable.
20073 (true_mod_CFLAGS): Likewise.
20074 (true_mod_LDFLAGS): Likewise.
20076 2009-06-05 Colin D Bennett <colin@gibibit.com>
20078 Optimized font character lookup using binary search instead of linear
20079 search. Fonts now are required to have the character index ordered by
20082 * font/font.c (load_font_index): Verify that fonts have ordered
20084 (find_glyph): Use binary search instead of linear search to find a
20085 character in a font.
20087 2009-06-05 Michael Scherer <misc@mandriva.org>
20089 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
20090 uses case sensitive btree.
20091 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
20092 only for case insensitive filesystems.
20094 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
20096 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
20097 * conf/common.rmk (search_mod_CFLAGS): likewise
20099 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20101 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
20102 compensate a compiler bug
20104 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20106 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
20109 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20111 Definitions for creating asm symbols with Apple's CC
20113 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
20114 [APPLE_CC] (VARIABLE): likewise
20116 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20118 Disable lnxboot.img when compiled
20121 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
20122 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
20123 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
20124 [! APPLE_CC] (CODE_LENG): skip
20125 [! APPLE_CC] (setup_sects): likewise
20126 [! APPLE_CC]: skip filling
20128 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20130 Address in trampolines based on 32-bit registers when compiled
20133 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
20135 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
20137 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20139 Avoid aliases when compiling with Apple's CC for PCBIOS machine
20141 * kern/misc.c [APPLE_CC] (memcpy): new function
20142 [APPLE_CC] (memmove): likewise
20143 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
20144 (memcpy): define alias conditionally on !APPLE_CC
20147 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
20148 APPLE_CC are defined
20149 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
20150 (grub_assert_fail): make prototype conditional
20152 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20154 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
20156 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
20158 (CLEANFILES): add grub-macho2img
20159 (grub_macho2img_SOURCES): new variable
20160 * kern/i386/pc/startup.S (bss_start): new variable
20161 (bss_end): likewise
20162 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
20163 * util/grub-macho2img.c: new file
20165 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20167 Use objconv when compiling with Apple's CC
20169 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
20170 (efiemu64.o): likewise
20171 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
20172 when compiling with Apple's CC
20173 (efiemu64_s.o): likewise
20174 * configure.ac: check for objconv when compiling with Apple's CC
20175 * genmk.rb: use objconv for modules when compiled with Apple's CC
20177 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20179 Define segment as well as section when compiling with
20182 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
20183 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
20184 (efiemu_convert_pointer): likewise
20185 (efiemu_set_virtual_address_map): likewise
20186 (efiemu_convert_pointer): likewise
20187 (efiemu_getcrc32): likewise
20188 (init_crc32_table): likewise
20189 (reflect): likewise
20190 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
20191 (GRUB_MOD_DEP): likewise
20193 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20195 Allow a compilation without -mcmodel=large
20197 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
20198 when compiled without -mcmodel=large
20199 (filter_memory_map): remove memory post 4 GiB when compiled
20200 without -mcmodel=large
20201 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
20202 TARGET_CFLAGS when -mcmodel=large isn't supported
20204 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20206 Remove nested functions in efiemu core
20208 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
20210 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20212 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
20214 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
20216 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
20218 (grub_cpu_is_tsc_supported): likewise
20219 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
20221 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20223 Absolute addressing through constant with Apple's cc
20225 * kern/i386/pc/startup.S: Define necessary constants
20226 and address through it when using ABS with Apple's CC
20227 * boot/i386/pc/diskboot.S: likewise
20228 * boot/i386/pc/boot.S: likewise
20229 * boot/i386/pc/lnxboot.S: likewise
20230 * boot/i386/pc/cdboot.S: likewise
20231 * mmap/i386/pc/mmap_helper.S: likewise
20232 * commands/i386/pc/drivemap_int13h.S: likewise
20234 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20236 Check if compiler is apple cc
20238 * Makefile.in (ASFLAGS): new variable
20239 (TARGET_ASFLAGS): likewise
20240 (TARGET_MODULE_FORMAT): likewise
20241 (TARGET_APPLE_CC): likewise
20242 (OBJCONV): likewise
20243 (TARGET_IMG_CFLAGS): likewise
20244 (TARGET_CPPFLAGS): add includedir
20245 * configure.ac: call grub_apple_cc and grub_apple_target_cc
20246 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
20247 Check for linker script only if compiler isn't Apple's CC
20248 (TARGET_MODULE_FORMAT): set
20249 (TARGET_APPLE_CC): likewise
20250 (TARGET_ASFLAGS): likewise
20251 (ASFLAGS): likewise
20252 Check for objcopy only if compiler isn't Apple's CC
20253 Check for BSS symbol only if compiler isn't Apple's CC
20254 * genmk.rb: adapt nm options if we use Apple's utils
20255 * aclocal.m4 (grub_apple_cc): new test
20256 (grub_apple_target_cc): likewise
20258 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20260 Simplify sed expressions and improve awk
20262 * Makefile.in (install-local): simplify sed expression
20263 * gencmdlist.sh: likewise
20264 * genmoddep.awk: avoid adding module as a dependency of itself
20266 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20268 Add missing start symbols
20270 * boot/i386/pc/boot.S: add start
20271 * boot/i386/pc/pxeboot.S: likewise
20273 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20275 Fix wrong assumptions with grub-mkimage on EFI
20277 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
20278 (relocate_addresses): consider both r_addend and value at offset
20279 (make_mods_section): zerofill modinfo and header
20280 (convert_elf): write prefix here
20282 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20284 Use .asciz instead of .string
20286 * i386/pc/diskboot.S: use .asciz instead of .string
20287 * i386/pc/boot.S: likewise
20288 * include/grub/dl.h (GRUB_MOD_DEP): likewise
20289 (GRUB_MOD_NAME): likewise
20291 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20295 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
20296 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
20297 (grub_video_setup): remove
20298 (grub_video_set_mode): new prototype
20299 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
20301 (linux_vesafb_res): compile only on PCBIOS
20302 (grub_linux_boot): support gfxpayload
20303 * loader/i386/pc/xnu.c (video_hook): new function
20304 (grub_xnu_set_video): support gfxpayload
20305 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
20306 (DEFAULT_VIDEO_HEIGHT): likewise
20307 (DEFAULT_VIDEO_FLAGS): likewise
20308 (DEFAULT_VIDEO_MODE): new definition
20309 (video_hook): new function
20310 (grub_gfxterm_init): use grub_video_set_mode
20311 * util/grub.d/30_os-prober.in: remove explicit modesetting before
20313 * video/video.c (grub_video_setup): removed
20314 (grub_video_set_mode): new function based on grub_gfxterm_init and
20317 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20319 Avoid calling biosdisk in drivemap
20321 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
20322 (revparse_biosdisk): likewise
20323 (list_mappings): derive name from id directly
20324 (grub_cmd_drivemap): use tryparse_diskstring
20326 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20330 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
20331 (grub_lexer_param): add tokenonhold
20332 (grub_script_create_cmdline): remove cmdline. All callers updated
20333 (grub_script_function_create): make functionname
20334 grub_script_arg. All callers updated
20335 (grub_script_execute_argument_to_string): new prototype
20336 * kern/parser.c (state_transitions): reorder
20337 (grub_parser_cmdline_state): fix a bug and make more compact
20338 * script/sh/execute.c (grub_script_execute_argument_to_string):
20340 (grub_script_execute_cmdline): use new format
20341 * script/sh/function.c (grub_script_function_create): make functionname
20342 grub_script_arg. All callers updated
20343 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
20344 (grub_script_yylex): remove
20345 (grub_script_yylex2): renamed to ...
20346 (grub_script_yylex): ...renamed
20347 parse the expressions like a${b}c
20348 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
20349 (GRUB_PARSER_TOKEN_VAR): remove
20350 (GRUB_PARSER_TOKEN_NAME): likewise
20351 ("if"): declare as typeless
20352 ("while"): likewise
20353 ("function"): likewise
20358 (argument): likewise
20359 (script): accept empty scripts and make exit on error
20360 (arguments): use GRUB_PARSER_TOKEN_ARG
20361 (function): likewise
20362 (command): move error handling to script
20363 (menuentry): move grub_script_lexer_ref before
20364 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
20365 argument. All callers updated
20367 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20369 Prevent GRUB from probing floppies during boot.
20371 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
20372 * commands/search.c (options): Add --no-floppy.
20373 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
20374 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
20375 --no-floppy when searching for UUIDs.
20377 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20379 Simplify the code duplication in commands/search.c.
20381 * commands/search.c (search_label, search_fs_uuid): Merge into ...
20382 (search_fs): ... this. Update all users.
20384 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
20386 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
20388 2009-05-28 Pavel Roskin <proski@gnu.org>
20390 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
20391 Remove the original symlink explicitly.
20393 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
20394 just one slash. That's how grub_fshelp_find_file() does it.
20396 2009-05-26 Pavel Roskin <proski@gnu.org>
20398 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
20401 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
20404 2009-05-25 Christian Franke <franke@computer.org>
20406 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
20408 (grub_atapi_identify): Add wait after drive select.
20409 (grub_ata_identify): Do more strict status register check before
20410 calling grub_atapi_identify (). Suppress error message if status
20411 register is 0x00 after command failure. Add status register
20412 check after PIO read to avoid bogus identify due to stuck DRQ.
20413 Thanks to Pavel Roskin for testing.
20414 (grub_device_initialize): Remove unsafe status register check.
20415 Thanks to 'phcoder' for problem report and patch.
20416 Prevent sign extension in debug message.
20418 2009-05-23 Colin D Bennett <colin@gibibit.com>
20420 Cleaned up `include/grub/normal.h'. Grouped prototypes by
20421 definition file, and functions defined in `normal/menu.c' have had
20422 their prototypes moved to `include/grub/menu.h' for consistency.
20424 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
20426 (grub_menu_get_entry): Likewise.
20427 (grub_menu_get_timeout): Likewise.
20428 (grub_menu_set_timeout): Likewise.
20429 (grub_menu_execute_entry): Likewise.
20430 (grub_menu_execute_with_fallback): Likewise.
20431 (grub_menu_entry_run): Likewise.
20433 * include/grub/normal.h: Re-ordered and grouped function
20434 prototypes by file that the function is defined in.
20435 (grub_menu_execute_callback): Removed; moved to menu.h.
20436 (grub_menu_get_entry): Likewise.
20437 (grub_menu_get_timeout): Likewise.
20438 (grub_menu_set_timeout): Likewise.
20439 (grub_menu_execute_entry): Likewise.
20440 (grub_menu_execute_with_fallback): Likewise.
20441 (grub_menu_entry_run): Likewise.
20442 (grub_menu_addentry): Renamed from this ...
20443 (grub_normal_add_menu_entry): ... to this.
20445 * normal/main.c (grub_menu_addentry): Renamed from this ...
20446 (grub_normal_add_menu_entry): ... to this.
20448 * script/sh/execute.c (grub_script_execute_menuentry): Update
20449 reference to renamed grub_menu_addentry function.
20451 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
20453 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
20455 2009-05-22 Pavel Roskin <proski@gnu.org>
20457 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
20458 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
20459 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
20460 compiling for the i386 targets, but not for the utilities.
20462 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
20464 (grub_root_drive): Likewise.
20465 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
20467 (grub_root_drive): Change size to byte.
20468 (grub_start_addr): Remove.
20469 (grub_end_addr): Likewise.
20470 (grub_apm_bios_info): Likewise.
20472 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
20474 * normal/i386: Remove.
20475 * normal/powerpc: Likewise.
20476 * normal/sparc64: Likewise.
20477 * normal/x86_64: Likewise.
20479 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
20481 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
20482 * loader/i386/linux_trampoline.S: Fix indentation
20483 * loader/i386/xnu_helper.S: Likewise
20485 2009-05-18 Colin D Bennett <colin@gibibit.com>
20487 Display error messages when parsing a Lua statement fails.
20488 Previously, executing a syntactically invalid statement like
20489 ")foo" or "bar;" would silently fail.
20491 * script/lua/grub_main.c (handle_lua_error): New function.
20492 (grub_lua_parse_line): Improved reporting of Lua parser and
20495 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20497 Remove -Werror which causes build to fail on some systems
20499 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
20500 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
20501 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
20503 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20505 trampoline for linux on 64-bit platform
20507 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
20508 loader/i386/efi/linux_trampoline.S
20509 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
20511 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
20513 * loader/i386/linux_trampoline.S: moved here
20514 * loader/i386/efi/linux.c (allocate_pages): reserve space for
20516 (jumpvector): removed
20517 (grub_linux_trampoline_start): new declaration
20518 (grub_linux_trampoline_end): likewise
20519 (grub_linux_boot): use trampoline when on 64-bit platform
20520 * loader/i386/linux.c: likewise
20522 2009-05-16 Pavel Roskin <proski@gnu.org>
20524 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
20525 const to avoid a warning.
20526 (grub_lua_setenv): Likewise.
20527 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
20528 lmsg to fix a warning.
20530 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
20532 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
20533 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20534 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
20535 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20536 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20537 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20538 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20539 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20541 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
20543 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
20545 2009-05-16 Bean <bean123ch@gmail.com>
20547 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
20548 (lua_mod_SOURCES): New variable.
20549 (lua_mod_CFLAGS): Likewise.
20550 (lua_mod_LDFLAGS): Likewise.
20552 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
20553 (setjmp_mod_SOURCES): New variable.
20554 (setjmp_mod_CFLAGS): Likewise.
20555 (setjmp_LDFLAGS): Likewise.
20557 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
20558 (setjmp_mod_SOURCES): New variable.
20559 (setjmp_mod_CFLAGS): Likewise.
20560 (setjmp_LDFLAGS): Likewise.
20562 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20563 (setjmp_mod_SOURCES): New variable.
20564 (setjmp_mod_CFLAGS): Likewise.
20565 (setjmp_LDFLAGS): Likewise.
20567 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20568 (setjmp_mod_SOURCES): New variable.
20569 (setjmp_mod_CFLAGS): Likewise.
20570 (setjmp_LDFLAGS): Likewise.
20572 * normal/i386/setjmp.S: Moved from here ...
20573 * lib/i386/setjmp.S: ... Moved here
20574 * normal/x86_64/setjmp.S: Moved from here ...
20575 * lib/x86_64/setjmp.S: ... Moved here
20576 * normal/powerpc/setjmp.S: Moved from here ...
20577 * lib/powerpc/setjmp.S: ... Moved here
20578 * normal/sparc64/setjmp.S: Moved from here ...
20579 * lib/sparc64/setjmp.S: ... Moved here
20581 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
20582 returns_twice in mingw.
20584 * script/lua/grub_lib.c: New file.
20585 * script/lua/grub_lib.h: Likewise.
20586 * script/lua/grub_lua.h: Likewise.
20587 * script/lua/grub_main.c: Likewise.
20588 * script/lua/lapi.c: Likewise.
20589 * script/lua/lapi.h: Likewise.
20590 * script/lua/lauxlib.c: Likewise.
20591 * script/lua/lauxlib.h: Likewise.
20592 * script/lua/lbaselib.c: Likewise.
20593 * script/lua/lcode.c: Likewise.
20594 * script/lua/lcode.h: Likewise.
20595 * script/lua/ldblib.c: Likewise.
20596 * script/lua/ldebug.c: Likewise.
20597 * script/lua/ldebug.h: Likewise.
20598 * script/lua/ldo.c: Likewise.
20599 * script/lua/ldo.h: Likewise.
20600 * script/lua/ldump.c: Likewise.
20601 * script/lua/lfunc.c: Likewise.
20602 * script/lua/lfunc.h: Likewise.
20603 * script/lua/lgc.c: Likewise.
20604 * script/lua/lgc.h: Likewise.
20605 * script/lua/linit.c: Likewise.
20606 * script/lua/liolib.c: Likewise.
20607 * script/lua/llex.c: Likewise.
20608 * script/lua/llex.h: Likewise.
20609 * script/lua/llimits.h: Likewise.
20610 * script/lua/lmathlib.c: Likewise.
20611 * script/lua/lmem.c: Likewise.
20612 * script/lua/lmem.h: Likewise.
20613 * script/lua/loadlib.c: Likewise.
20614 * script/lua/lobject.c: Likewise.
20615 * script/lua/lobject.h: Likewise.
20616 * script/lua/lopcodes.c: Likewise.
20617 * script/lua/lopcodes.h: Likewise.
20618 * script/lua/loslib.c: Likewise.
20619 * script/lua/lparser.c: Likewise.
20620 * script/lua/lparser.h: Likewise.
20621 * script/lua/lstate.c: Likewise.
20622 * script/lua/lstate.h: Likewise.
20623 * script/lua/lstring.c: Likewise.
20624 * script/lua/lstring.h: Likewise.
20625 * script/lua/lstrlib.c: Likewise.
20626 * script/lua/ltable.c: Likewise.
20627 * script/lua/ltable.h: Likewise.
20628 * script/lua/ltablib.c: Likewise.
20629 * script/lua/ltm.c: Likewise.
20630 * script/lua/ltm.h: Likewise.
20631 * script/lua/lua.h: Likewise.
20632 * script/lua/luaconf.h: Likewise.
20633 * script/lua/lualib.h: Likewise.
20634 * script/lua/lundump.c: Likewise.
20635 * script/lua/lundump.h: Likewise.
20636 * script/lua/lvm.c: Likewise.
20637 * script/lua/lvm.h: Likewise.
20638 * script/lua/lzio.c: Likewise.
20639 * script/lua/lzio.h: Likewise.
20641 2009-05-16 Bean <bean123ch@gmail.com>
20643 * include/grub/kernel.h (grub_module_header_types): Add type
20646 * kern/main.c (grub_load_config): New function.
20647 (grub_main): Call grub_load_config to read boot config.
20649 * grub-mkimage (generate_image): New parameter config_path.
20650 (options): New option --config.
20651 (main): Parse --config option, and pass it to generate_image.
20653 2009-05-14 Christian Franke <franke@computer.org>
20655 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
20656 This fixes build on Cygwin.
20658 2009-05-14 Pavel Roskin <proski@gnu.org>
20660 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
20661 jump. This saves two bytes, so the typical case of 2 swapped
20662 drives would fit 32 bytes.
20664 2009-05-13 Pavel Roskin <proski@gnu.org>
20666 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
20667 grub_uint32_t to avoid a warning.
20669 * loader/i386/linux.c (allocate_pages): When assigning
20670 real_mode_mem, cast through grub_size_t to fix a warning. The
20671 code already makes sure that the value would fit a pointer.
20672 (grub_linux_setup_video): Cast render_target->data to
20673 grub_size_t to fix a warning.
20675 2009-05-13 Javier Martín <lordhabbit@gmail.com>
20677 * commands/i386/pc/drivemap.c: New file - implement drivemap
20679 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
20680 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
20682 2009-05-13 Pavel Roskin <proski@gnu.org>
20684 * util/i386/pc/grub-setup.c (setup): Remove unused variable
20685 embedding_area_exists.
20687 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
20689 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
20690 it easier to understand / work with.
20691 Improve warning messages for cases where there's no embedding area,
20692 or when it is too small (or core.img too large).
20694 2009-05-13 Pavel Roskin <proski@gnu.org>
20696 * loader/i386/pc/multiboot2.c: Add necessary includes for
20697 grub_multiboot2_real_boot().
20699 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
20700 PX record is always little-endian. We only need the lower 2
20703 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
20704 facilitate code reuse.
20705 (grub_cpio_mount): Use "struct head", not a char buffer. This
20706 fixes a warning reported by gcc 4.4.
20708 * kernel/disk.c (grub_disk_read): Use void pointer for the
20710 (grub_disk_write): Use const void pointer for the buffer.
20711 Adjust all callers. Remove unnecessary casts.
20713 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
20715 * util/i386/pc/grub-install.in: Update copyright year.
20717 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20721 * commands/gptsync.c: new file
20722 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
20723 (gptsync_mod_SOURCES): new variable
20724 (gptsync_mod_CFLAGS): likewise
20725 (gptsync_mod_LDFLAGS): likewise
20726 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
20728 (GRUB_PC_PARTITION_TYPE_HFS): likewise
20729 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
20730 * conf/i386-ieee1275.rmk: likewise
20731 * conf/i386-pc.rmk: likewise
20732 * conf/powerpc-ieee1275.rmk: likewise
20734 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20738 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
20739 (grub_dl_ref): likewise
20741 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
20743 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
20744 split in two functions (one for msdos and one for gpt).
20746 2009-05-08 Pavel Roskin <proski@gnu.org>
20748 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
20751 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
20752 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
20753 Initialize them with -1. Add sanity check for bad1. Eliminate
20756 2009-05-08 David S. Miller <davem@davemloft.net>
20758 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
20760 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
20762 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
20765 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
20767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20768 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
20770 2009-05-05 David S. Miller <davem@davemloft.net>
20772 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
20774 2009-05-05 Pavel Roskin <proski@gnu.org>
20776 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
20777 of grub_dl_ref() and grub_dl_unref().
20778 * commands/parttool.c: Remove preprocessor conditionals around
20779 grub_dl_ref() and grub_dl_unref().
20780 * fs/affs.c: Likewise.
20781 * fs/afs.c: Likewise.
20782 * fs/cpio.c: Likewise.
20783 * fs/ext2.c: Likewise.
20784 * fs/fat.c: Likewise.
20785 * fs/hfs.c: Likewise.
20786 * fs/hfsplus.c: Likewise.
20787 * fs/iso9660.c: Likewise.
20788 * fs/jfs.c: Likewise.
20789 * fs/minix.c: Likewise.
20790 * fs/ntfs.c: Likewise.
20791 * fs/reiserfs.c: Likewise.
20792 * fs/sfs.c: Likewise.
20793 * fs/udf.c: Likewise.
20794 * fs/ufs.c: Likewise.
20795 * fs/xfs.c: Likewise.
20796 * include/grub/dl.h: Likewise.
20797 * loader/xnu.c: Likewise.
20799 2009-05-04 Pavel Roskin <proski@gnu.org>
20801 * commands/acpi.c: Remove unused variable my_mod.
20802 * partmap/amiga.c: Likewise.
20803 * partmap/apple.c: Likewise.
20804 * partmap/gpt.c: Likewise.
20805 * partmap/pc.c: Likewise.
20806 * partmap/sun.c: Likewise.
20807 * term/gfxterm.c: Likewise.
20808 * term/i386/pc/vesafb.c: Likewise.
20809 * term/i386/pc/vga.c: Likewise.
20811 2009-05-04 David S. Miller <davem@davemloft.net>
20813 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
20814 pointer args to grub_ieee1275_get_property().
20816 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
20818 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
20819 devices, and do not traverse down under controller nodes.
20821 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
20822 (grub_ofdisk_open): Use it to un-escape "," characters.
20823 * kern/disk.c (find_part_sep): New.
20824 (grub_disk_open): Use it to find the first non-escaped ','
20825 character in the disk name.
20826 * util/ieee1275/devicemap.c (escape_of_path): New.
20827 (grub_util_emit_devicemap_entry): Use it.
20828 * util/sparc64/ieee1275/grub-install.in: Update script to
20829 strip partition specifiers properly by not triggering on
20830 '\' escaped ',' characters.
20832 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20834 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
20836 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
20838 (linux_vesafb_modes): Add a lot of additional modes to the list (based
20839 on documentation from Wikipedia).
20841 2009-05-04 Pavel Roskin <proski@gnu.org>
20843 * disk/ata.c: Spelling fixes.
20844 * disk/raid.c: Likewise.
20845 * disk/usbms.c: Likewise.
20846 * disk/dmraid_nvidia.c: Likewise.
20847 * kern/ieee1275/openfw.c: Likewise.
20848 * kern/ieee1275/init.c: Likewise.
20849 * kern/ieee1275/cmain.c: Likewise.
20850 * boot/i386/pc/cdboot.S: Likewise.
20851 * video/readers/png.c: Likewise.
20852 * video/i386/pc/vbe.c: Likewise.
20853 * fs/udf.c: Likewise.
20854 * fs/hfs.c: Likewise.
20855 * fs/reiserfs.c: Likewise.
20856 * efiemu/runtime/efiemu.c: Likewise.
20857 * efiemu/main.c: Likewise.
20858 * efiemu/mm.c: Likewise.
20859 * include/grub/elf.h: Likewise.
20860 * include/grub/xnu.h: Likewise.
20861 * include/grub/usbdesc.h: Likewise.
20862 * include/grub/usb.h: Likewise.
20863 * include/grub/script_sh.h: Likewise.
20864 * include/grub/lib/LzmaEnc.h: Likewise.
20865 * include/grub/efiemu/efiemu.h: Likewise.
20866 * include/grub/command.h: Likewise.
20867 * normal/menu.c: Likewise.
20868 * normal/main.c: Likewise.
20869 * normal/datetime.c: Likewise.
20870 * bus/usb/uhci.c: Likewise.
20871 * mmap/i386/uppermem.c: Likewise.
20872 * mmap/mmap.c: Likewise.
20873 * commands/acpi.c: Likewise.
20874 * commands/test.c: Likewise.
20875 * partmap/apple.c: Likewise.
20876 * font/font.c: Likewise.
20877 * loader/sparc64/ieee1275/linux.c: Likewise.
20878 * loader/macho.c: Likewise.
20879 * loader/i386/bsd_trampoline.S: Likewise.
20880 * loader/i386/bsd.c: Likewise.
20881 * loader/xnu.c: Likewise.
20882 * term/i386/pc/vesafb.c: Likewise.
20883 * term/usb_keyboard.c: Likewise.
20884 * util/resolve.c: Likewise.
20885 * util/getroot.c: Likewise.
20887 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
20889 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
20891 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20893 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
20896 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20898 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
20899 parameter only available on BIOS.
20901 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20903 Removed wrong semicolon in declaration
20905 * grub/misc.h (grub_dprintf): remove semicolon
20907 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20909 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
20910 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
20911 is done by grub_cmd_linux() now).
20912 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
20913 restore video to text mode.
20914 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
20915 indicates lack of "vga=" parameter. "vga=0" is mapped to
20916 `GRUB_LINUX_VID_MODE_NORMAL'.
20918 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
20920 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
20921 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
20922 and `normal/script.c'. Add `kern/rescue_reader.c',
20923 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
20924 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
20925 `grub_script.tab.c'.
20927 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20928 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20929 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20930 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20931 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20933 * Makefile.in: Remove duplicated 2008 in Copyright line.
20935 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20937 * util/misc.c (grub_util_warn): New function. Emits a warning
20939 * include/grub/util/misc.h (grub_util_warn): New declaration.
20941 * util/i386/pc/grub-install.in: Understand --force and pass it down
20944 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
20946 (setup): Improve error messages and add warnings when requested to
20947 install in odd layouts. Refuse to install using blocklists unless
20950 2009-05-04 martin f. krafft <madduck@madduck.net>
20952 * disk/raid.c (grub_raid_scan_device): Improve debug message.
20954 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20956 Updated copyright year
20958 * fs/hfsplus.c: updated copyright year
20960 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20964 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
20965 in the space previously used by unused3
20966 (grub_hfsplus_uuid): new function
20967 (grub_hfsplus_fs): added uuid field
20969 2009-05-03 Pavel Roskin <proski@gnu.org>
20971 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
20972 suppress warnings. It's no longer needed.
20973 * disk/host.c: Likewise.
20974 * disk/ata_pthru.c: Likewise.
20975 * disk/loopback.c: Likewise.
20976 * hook/datehook.c: Likewise.
20977 * parttool/pcpart.c: Likewise.
20978 * fs/i386/pc/pxe.c: Likewise.
20979 * fs/ntfscomp.c: Likewise.
20980 * efiemu/main.c: Likewise.
20981 * mmap/mmap.c: Likewise.
20982 * commands/crc.c: Likewise.
20983 * commands/hexdump.c: Likewise.
20984 * commands/hdparm.c: Likewise.
20985 * commands/acpi.c: Likewise.
20986 * commands/echo.c: Likewise.
20987 * commands/minicmd.c: Likewise.
20988 * commands/blocklist.c: Likewise.
20989 * commands/memrw.c: Likewise.
20990 * commands/loadenv.c: Likewise.
20991 * commands/usbtest.c: Likewise.
20992 * commands/lsmmap.c: Likewise.
20993 * commands/boot.c: Likewise.
20994 * commands/parttool.c: Likewise.
20995 * commands/configfile.c: Likewise.
20996 * commands/search.c: Likewise.
20997 * commands/ieee1275/suspend.c: Likewise.
20998 * commands/cat.c: Likewise.
20999 * commands/i386/pc/pxecmd.c: Likewise.
21000 * commands/i386/pc/play.c: Likewise.
21001 * commands/i386/pc/halt.c: Likewise.
21002 * commands/i386/pc/vbeinfo.c: Likewise.
21003 * commands/i386/pc/vbetest.c: Likewise.
21004 * commands/lspci.c: Likewise.
21005 * commands/date.c: Likewise.
21006 * commands/handler.c: Likewise.
21007 * commands/ls.c: Likewise.
21008 * commands/test.c: Likewise.
21009 * commands/cmp.c: Likewise.
21010 * commands/efi/loadbios.c: Likewise.
21011 * commands/efi/fixvideo.c: Likewise.
21012 * commands/halt.c: Likewise.
21013 * commands/help.c: Likewise.
21014 * commands/reboot.c: Likewise.
21015 * hello/hello.c: Likewise.
21016 * script/sh/main.c: Likewise.
21017 * loader/xnu.c: Likewise.
21018 * term/terminfo.c: Likewise.
21019 * term/i386/pc/serial.c: Likewise.
21020 * term/usb_keyboard.c: Likewise.
21022 2009-05-03 David S. Miller <davem@davemloft.net>
21024 * normal/menu.c: Include grub/parser.h
21026 2009-05-03 Pavel Roskin <proski@gnu.org>
21028 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
21030 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
21031 Suggested by Javier Martín <lordhabbit@gmail.com>
21033 * util/i386/pc/grub-mkrescue.in: Allow for the case when
21034 efiemu??.o doesn't exist.
21035 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
21038 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
21040 FreeBSD 64-bit support
21042 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
21043 and loader/i386/bsd_trampoline.S
21044 (bsd_mod_ASFLAGS): new variable
21045 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
21046 (FREEBSD_MODTYPE_KERNEL64): likewise
21047 (grub_bsd64_trampoline_start): likewise
21048 (grub_bsd64_trampoline_end): likewise
21049 (grub_bsd64_trampoline_selfjump): likewise
21050 (grub_bsd64_trampoline_gdt): likewise
21051 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
21052 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
21053 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
21054 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
21055 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
21057 * loader/i386/bsd_pagetable.c: new file
21058 * loader/i386/bsd_trampoline.S: likewise
21059 * loader/i386/bsd.c (ALIGN_QWORD): new macro
21060 (ALIGN_VAR): likewise
21061 (entry_hi): new variable
21062 (kern_end_mdofs): likewise
21063 (is_64bit): likewise
21064 (grub_freebsd_add_meta): use ALIGN_VAR
21065 (grub_e820_mmap): new declaration
21066 (grub_freebsd_add_mmap): new function
21067 (grub_freebsd_add_meta_module): support 64 bit kernels
21068 (grub_freebsd_list_modules): use ALIGN_VAR
21069 (gdt_descriptor): new declaration
21070 (grub_freebsd_boot): support 64 bit kernels
21071 (grub_bsd_elf64_hook): new function
21072 (grub_bsd_load_elf): support elf64
21074 2009-05-03 Bean <bean123ch@gmail.com>
21076 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
21077 after we get the result of if statement.
21079 2009-05-03 Bean <bean123ch@gmail.com>
21081 * Makefile.in (enable_efiemu): New variable.
21083 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
21085 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
21087 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
21088 path, add -mno-red-zone option.
21089 (efiemu64_s.o): Likewise.
21090 (efiemu64.o): Use macro $^ for source file.
21092 * configure.ac (--enable-efiemu): New option.
21094 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21098 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
21099 (pkglib_MODULES): add xnu.mod
21100 (xnu_mod_SOURCES): new variable
21101 (xnu_mod_CFLAGS): likewise
21102 (xnu_mod_LDFLAGS): likewise
21103 (xnu_mod_ASFLAGS): likewise
21104 * conf/i386-pc.rmk: likewise
21105 * conf/x86_64-efi.rmk: likewise
21106 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
21108 * include/grub/i386/macho.h: new file
21109 * include/grub/i386/xnu.h: likewise
21110 * include/grub/macho.h: likewise
21111 * include/grub/machoload.h: likewise
21112 * include/grub/x86_64/macho.h: likewise
21113 * include/grub/x86_64/xnu.h: likewise
21114 * include/grub/xnu.h: likewise
21115 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
21116 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
21117 * loader/i386/efi/xnu.c: new file
21118 * loader/i386/pc/xnu.c: likewise
21119 * loader/i386/xnu.c: likewise
21120 * loader/i386/xnu_helper.S: likewise
21121 * loader/macho.c: likewise
21122 * loader/xnu.c: likewise
21123 * loader/xnu_resume.c: likewise
21124 * util/grub-dumpdevtree: likewise
21125 * include/grub/i386/pit.h: include grub/err.h
21126 (grub_pit_wait): export
21127 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
21129 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21133 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
21134 _linux_efi, linux_efi.
21135 new files in grub-emu
21136 new targets efiemu32.o and efiemu64.o
21137 * loader/linux_normal_efiemu.c: likewise
21138 * loader/i386/efi/linux.c: added preliminary efiemu support
21139 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
21141 * include/grub/autoefi.h: new file
21142 * include/grub/i386/efiemu.h: likewise
21143 * include/grub/i386/pc/efiemu.h: likewise
21144 * include/grub/efi/api.h: add LL suffix when necessary
21145 new definitions relating to tables
21146 * include/grub/efiemu/efiemu.h: new file
21147 * include/grub/efiemu/runtime.h: likewise
21148 * efiemu/prepare.c: likewise
21149 * efiemu/loadcore_common.c: likewise
21150 * efiemu/loadcore64.c: likewise
21151 * efiemu/runtime/efiemu.sh: likewise
21152 * efiemu/runtime/efiemu.S: likewise
21153 * efiemu/runtime/efiemu.c: likewise
21154 * efiemu/runtime/config.h: likewise
21155 * efiemu/prepare32.c: likewise
21156 * efiemu/main.c: likewise
21157 * efiemu/modules/pnvram.c: likewise
21158 * efiemu/modules/i386: likewise
21159 * efiemu/modules/i386/pc: likewise
21160 * efiemu/modules/acpi.c: likewise
21161 * efiemu/i386/pc/cfgtables.c: likewise
21162 * efiemu/i386/loadcore64.c: likewise
21163 * efiemu/i386/loadcore32.c: likewise
21164 * efiemu/prepare64.c: likewise
21165 * efiemu/loadcore.c: likewise
21166 * efiemu/symbols.c: likewise
21167 * efiemu/mm.c: likewise
21168 * efiemu/loadcore32.c: likewise
21170 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21174 * commands/acpi.c: new file
21175 * commands/i386/pc/acpi.c: likewise
21176 * commands/efi/acpi.c: likewise
21177 * include/grub/acpi.h: likewise
21178 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
21179 (acpi_mod_SOURCES): new variable
21180 (acpi_mod_CFLAGS): likewise
21181 (acpi_mod_LDFLAGS): likewise
21182 * conf/i386-efi.rmk: likewise
21183 * conf/x86_64-efi.rmk: likewise
21185 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21187 Missing part from mmap patch
21189 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
21190 (grub_mmap_unregister)
21191 (grub_mmap_free_and_unregister): use grub_mmap_register
21193 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21197 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
21198 * loader/i386/linux.c (find_mmap_size): likewise
21199 (allocate_pages): likewise
21200 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
21201 (grub_fill_multiboot_mmap): likewise
21202 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
21203 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
21204 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
21205 (OPENBSD_MMAP_RESERVED): likewise
21206 * include/grub/i386/pc/memory.h: include grub/memory.h
21207 (grub_lower_mem): removed
21208 (grub_upper_mem): likewise
21209 (GRUB_MACHINE_MEMORY_ACPI): new definition
21210 (GRUB_MACHINE_MEMORY_NVS): likewise
21211 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
21212 (GRUB_MACHINE_MEMORY_HOLE): likewise
21213 (grub_machine_mmap_register): likewise
21214 (grub_machine_mmap_unregister): likewise
21215 (grub_machine_get_upper): likewise
21216 (grub_machine_get_lower): likewise
21217 (grub_machine_get_post64): likewise
21218 * include/grub/i386/efi/memory.h: new file
21219 * include/grub/x86_64/efi/memory.h: likewise
21220 * include/grub/efi/memory.h: likewise
21221 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
21222 (mmap_mod_SOURCES): new variable
21223 (mmap_mod_LDFLAGS): likewise
21224 (mmap_mod_ASFLAGS): likewise
21225 * conf/i386-coreboot.rmk: likewise
21226 * conf/i386-ieee1275.rmk: likewise
21227 * conf/i386-efi.rmk: likewise
21228 * conf/x86_64-efi.rmk: likewise
21229 * include/grub/types.h (UINT_TO_PTR): new macro
21230 (PTR_TO_UINT32): likewise
21231 (PTR_TO_UINT64): likewise
21232 * include/grub/memory.h: new file
21233 * mmap/i386/pc/mmap.c: likewise
21234 * mmap/i386/pc/mmap_helper.S: likewise
21235 * mmap/i386/uppermem.c: likewise
21236 * mmap/mmap.c: likewise
21237 * mmap/efi/mmap.c: likewise
21238 * kern/i386/coreboot/init.c (grub_machine_init): don't use
21240 * kern/i386/pc/init.c (grub_lower_mem): removed variable
21241 (grub_upper_mem): likewise
21242 (grub_machine_init): don't use grub_upper_mem,
21243 make grub_lower_mem local
21244 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
21245 grub_mmap_iterate and grub_mmap_get_upper
21246 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
21248 2009-05-02 Bean <bean123ch@gmail.com>
21250 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
21251 script/sh/parser.y.
21252 (pkglib_MODULES): Add normal.mod and sh.mod.
21253 (normal_SOURCES): New variable.
21254 (normal_mod_CFLAGS): Likewise.
21255 (normal_mod_LDFLAGS): Likewise.
21256 (sh_mod_SOURCES): Likewise.
21257 (sh_mod_CFLAGS): Likewise.
21258 (sh_mod_LDFLAGS): Likewise.
21260 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
21261 script/sh/lexer.c_DEPENDENCIES.
21262 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
21263 kern/rescue_reader.c and kern/rescue_parser.c.
21264 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
21265 (grub_emu_SOURCES): Change source files.
21266 (pkglib_MODULES): Remove normal.mod.
21267 (normal_SOURCES): Removed.
21268 (normal_mod_CFLAGS): Likewise.
21269 (normal_mod_LDFLAGS): Likewise.
21270 * conf/i386-coreboot.rmk: Likewise.
21271 * conf/i386-efi.rmk: Likewise.
21272 * conf/i386-ieee1276.rmk: Likewise.
21273 * conf/powerpc-ieee1275.rmk: Likewise.
21274 * conf/sparc64-ieee1275.rmk: Likewise.
21275 * conf/x86_64-efi.rmk: Likewise.
21277 * include/grub/command.h (grub_command_execute): New inline function.
21279 * include/grub/menu.h (grub_menu_entry): Removed commands field.
21281 * include/grub/normal.h: Remove <grub/setjmp.h>.
21282 (grub_fs_module_list): Moved to normal/autofs.c.
21283 (grub_exit_env): Removed.
21284 (grub_command_execute): Likewise.
21285 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
21287 (read_command_list): New function declaration.
21288 (read_fs_list): Likewise.
21290 * include/parser.h: Include <grub/reader.h>.
21291 (grub_parser_split_cmdline): Change type of getline parameter.
21292 (grub_parser): New structure.
21293 (grub_parser_class): New variable.
21294 (grub_parser_execute): New function declaration.
21295 (grub_register_rescue_parser): Likewise.
21296 (grub_parser_register): New inline function.
21297 (grub_parser_unregister): Likewise.
21298 (grub_parser_get_current): Likewise.
21299 (grub_parser_set_current): Likewise.
21301 * include/grub/reader.h: New file.
21302 * kern/reader.c: Likewise.
21303 * kern/rescue_parser.c: Likewise.
21304 * kern/rescue_reader.c: Likewise.
21305 * normal/autofs.c: Likewise.
21306 * normal/dyncmd.c: Likewise.
21308 * include/grub/rescue.h: Removed.
21309 * normal/command.h: Likewise.
21311 * include/grub/script.h: Moved to ...
21312 * include/grub/script_sh.h: ... Moved here.
21313 * normal/execute.c: Moved to ...
21314 * script/sh/execute.c: ... Moved here.
21315 * normal/function.c: Moved to ...
21316 * script/sh/function.c: ... Moved here.
21317 * normal/lexer.c: Moved to ...
21318 * script/sh/lexer.c: ... Moved here.
21319 * normal/parser.y: Moved to ...
21320 * script/sh/parser.y: ... Moved here.
21321 * normal/script.c: Moved to ...
21322 * script/sh/script.c: ... Moved here.
21324 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
21326 (grub_exit_env): Removed.
21327 (fs_module_list): Moved to normal/autofs.c.
21328 (grub_file_getline): Don't handle comment here.
21329 (free_menu): Skip removed field entry->commands.
21330 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
21332 (read_config_file): Removed nested parameter, change getline function.
21333 (grub_enter_normal_mode): Removed.
21334 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
21335 (read_command_list): Likewise.
21336 (autoload_fs_module): Moved to normal/autofs.c.
21337 (read_fs_list): Likewise.
21338 (reader_nested): New variable.
21339 (grub_normal_execute): Run parser.sh to switch to sh parser.
21340 (grub_cmd_rescue): Removed.
21341 (cmd_normal): Removed.
21342 (grub_cmd_normal): Unregister itself at the beginning. Don't register
21344 (grub_cmdline_run): New function.
21345 (grub_normal_reader_init): Likewise.
21346 (grub_normal_read_line): Likewise.
21347 (grub_env_write_pager): Likewise.
21348 (cmdline): New variable.
21349 (grub_normal_reader): Likewise.
21350 (GRUB_MOD_INIT): Register normal reader and set as current, register
21351 pager hook, register normal command with grub_register_command_prio,
21352 so that it won't show up in command.lst.
21353 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
21354 grub_fs_autoload_hook.
21356 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
21357 (grub_menu_execute_entry): Replace grub_script_execute with
21358 grub_parser_execute, change parameter to grub_command_execute.
21360 * normal/menu_text.c: Remove <grub/script.h>.
21362 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
21363 and <grub/parser.h>.
21364 (run): Change editor_getline to use new parser interface. Change
21365 parameter to grub_command_execute.
21367 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
21368 <grub/reader.h> and <grub/parser.h>.
21369 (grub_load_normal_mode): Execute normal command.
21370 (grub_main): Call grub_register_core_commands,
21371 grub_register_rescue_parser and grub_register_rescue_reader, use
21372 grub_reader_loop to enter input loop.
21374 * kern/parser.c (grub_parser_split_cmdline): Change type of
21376 (grub_parser_class): New variable.
21377 (grub_parser_execute): New function.
21379 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
21380 * loader/multiboot2.c: Likewise.
21381 * loader/sparc64/ieee1275/linux.c: Likewise.
21383 * util/grub-emu.c (read_command_list): New dummy function.
21385 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21387 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
21388 count to 16 for CCISS and IDA.
21390 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21392 * normal/menu_text.c (grub_wait_after_message): Print a newline
21393 after waiting for user input.
21395 * loader/i386/linux.c: Include `<grub/normal.h>'.
21396 (grub_cmd_linux): Improve the error message about `ask' mode, by
21397 waiting for user input so it's not missed (we can do this, since
21398 user requested interaction).
21400 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21402 Added missing lst to grub-mkrescue
21404 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
21405 and ${input_dir}/parttool.lst
21407 2009-04-30 David S. Miller <davem@davemloft.net>
21409 * util/hostdisk.c (device_is_wholedisk): New function.
21410 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
21411 zero only if device_is_wholedisk() returns true.
21413 * util/hostdisk.c (convert_system_partition_to_system_disk):
21414 Handle virtual disk devices named /dev/vdiskX as found on sparc
21417 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
21418 lettered partition specifier is found, convert to numbered.
21420 2009-04-29 David S. Miller <davem@davemloft.net>
21422 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
21423 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21425 * normal/command.c: Add missing newline at end of file.
21427 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
21429 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
21430 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
21431 grub_ofdisk_read): Likewise, and deal similarly with the fact that
21432 ihandles have a 32-bit type but need to be stored in a "void *".
21434 2009-04-28 Pavel Roskin <proski@gnu.org>
21436 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
21437 not disk. Adjust all dependencies.
21438 (grub_fs_uuid_close): Use grub_device_close(), not
21441 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
21442 parent's partition, don't copy it by reference, as it gets freed
21445 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21447 Preboot hooks support
21449 * commands/boot.c (struct grub_preboot_t): new declaration
21450 (preboots_head): new variable
21451 (preboots_tail): likewise
21452 (grub_loader_register_preboot_hook): new function
21453 (grub_loader_unregister_preboot_hook): likewise
21454 (grub_loader_set): launch preboot hooks
21455 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
21456 (grub_loader_register_preboot_hook): new declaration
21457 (grub_loader_unregister_preboot_hook): likewise
21459 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21463 * disk/scsi.c (grub_scsi_open): added missing cast when
21464 calling grub_dprintf
21466 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
21468 Bug and warning fixes
21470 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
21472 * commands/test.c (test_parse): fixed bug with file tests and corrected
21473 declaration of find_file
21475 2009-04-26 Pavel Roskin <proski@gnu.org>
21477 * Makefile.in: Don't install empty manual pages if help2man is
21478 missing. Use help2man option for output, not shell redirection.
21480 2009-04-26 David S. Miller <davem@davemloft.net>
21482 * util/grub-mkdevicemap.c (make_device_map): Add missing
21483 NESTED_FUNC_ATTR to process_device().
21485 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21489 * commands/test.c: rewritten to use bash-like test
21491 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21493 Parttool autoloading and improvements
21495 * Makefile.in (pkglib_DATA): add parttool.lst
21496 (parttool.lst): new target
21497 * genmk.rb: generate parttool-*
21498 (CLEANFILES): add #{parttool}
21499 (PARTTOOLFILES): new variable
21500 * genparttoollist.sh: new file
21501 * parttool/pcpart.c (grub_pcpart_boot): more feedback
21502 (grub_pcpart_type): likewise
21503 * commands/parttool.c (helpmsg): new variable
21504 (grub_cmd_parttool): output help if not enough arguments are supplied
21506 (GRUB_MOD_INIT(parttool)): use helpmsg
21508 2009-04-24 David S. Miller <davem@davemloft.net>
21510 Avoiding opening same device multiple times in device iterator.
21512 * kern/device.c: (grub_device_iterate): Define struct part_ent,
21513 and use it to build a list of partitions in iterate_disk() and
21514 iterate_partition().
21516 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
21519 * disk/ieee1275/nand.c (grub_nand_iterate): Return
21520 grub_devalias_iterate() result instead of unconditional 0.
21521 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
21522 Also, capture hook return value, either directly or via
21523 grub_children_iterate(), and propagate to caller.
21524 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
21525 grub_children_iterate): Return value is now 'int' instead of
21527 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
21528 like a proper iterator, stopping when hooks return non-zero.
21529 (grub_devalias_iterate): Likewise.
21531 2009-04-23 David S. Miller <davem@davemloft.net>
21533 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
21535 2009-04-22 David S. Miller <davem@davemloft.net>
21537 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
21538 is larger than address_cells, use that value for address_cells too.
21540 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
21541 IEEE1275_MAX_PATH_LEN): Define.
21542 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
21543 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
21544 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
21545 'devtype'. Explicitly NULL terminate devalias expansion.
21547 * util/sparc64/ieee1275/misc.c: New file.
21548 * util/sparc64/ieee1275/grub-setup.c: New file.
21549 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
21550 * util/sparc64/ieee1275/grub-mkimage.c: New file.
21551 * util/sparc64/ieee1275/grub-install.in: New file.
21552 * util/ieee1275/ofpath.c: New file.
21553 * util/ieee1275/devicemap.c: New file.
21554 * util/devicemap.c: New file.
21555 * util/deviceiter.c: New file.
21556 * kern/sparc64/ieee1275/init.c: New file.
21557 * include/grub/util/ofpath.h: New file.
21558 * include/grub/util/deviceiter.h: New file.
21559 * util/grub-mkdevicemap.c: Include deviceiter.h.
21560 Implement using grub_util_emit_devicemap_entry and
21561 grub_util_iterate_devices.
21562 * conf/i386-corebook.rmk: Build util/deviceiter.c and
21563 util/devicemap.c into grub-mkdevicemap
21564 * conf/i386-efi.rmk: Likewise.
21565 * conf/i386-ieee1275.rmk: Likewise.
21566 * conf/i386-pc.rmk: Likewise.
21567 * conf/powerpc-ieee1275.rmk: Likewise.
21568 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
21569 images and installation utilities. Build kernel as image
21570 instead of as elf binary. Use common rules as much as possible.
21572 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21574 Correct GPT definition
21576 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
21579 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
21581 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
21583 2009-04-19 David S. Miller <davem@davemloft.net>
21585 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
21586 (grub_rescue_cmd_linux): Rename to...
21587 (grub_cmd_linux): and fix prototype.
21588 (grub_rescue_cmd_initrd): Rename to...
21589 (grub_cmd_initrd): and fix prototype.
21590 (cmd_linux, cmd_initrd): New.
21591 (GRUB_MOD_INIT(linux)): Use grub_register_command().
21592 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
21594 2009-04-17 Pavel Roskin <proski@gnu.org>
21596 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
21598 (grub_ohci_transfer): Likewise.
21600 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
21602 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
21603 return without a value. Fix inconsistent indentation.
21605 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
21606 match struct grub_fs.
21608 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
21609 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
21610 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21611 * commands/lspci.c (grub_lspci_iter): Likewise.
21613 2009-04-16 Bean <bean123ch@gmail.com>
21615 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
21618 2009-04-15 Pavel Roskin <proski@gnu.org>
21620 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
21621 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
21622 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
21625 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
21627 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
21628 that no multiple data or metadata areas are supported and `Unknown
21631 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
21633 Move loader out of the kernel
21635 * kern/loader.c: moved to ...
21636 * commands/boot.c: ... moved here
21637 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
21638 * commands/boot.c (grub_cmd_boot): moved here. All users updated
21639 * include/grub/kernel.h (grub_machine_fini): export
21640 * include/grub/loader.h (grub_loader_is_loaded): update declaration
21641 (grub_loader_set): likewise
21642 (grub_loader_unset): likewise
21643 (grub_loader_boot): likewise
21644 * conf/common.rmk: new module boot.mod
21645 (pkglib_MODULES): add boot.mod
21646 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
21647 (grub_emu_SOURCES): likewise
21648 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
21649 (grub_emu_SOURCES): likewise
21650 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
21651 (grub_emu_SOURCES): likewise
21652 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
21653 (grub_emu_SOURCES): likewise
21654 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
21655 (grub_emu_SOURCES): likewise
21656 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
21657 (grub_emu_SOURCES): likewise
21658 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
21659 (grub_emu_SOURCES): likewise
21661 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
21663 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
21665 * kern/misc.c (grub_itoa): Removed function
21666 (grub_ltoa): likewise
21667 (grub_vsprintf): use grub_lltoa
21669 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
21673 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
21674 * conf/i386-coreboot.rmk: likewise
21675 * conf/i386-ieee1275.rmk: likewise
21676 * conf/powerpc-ieee1275.rmk: likewise
21678 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
21680 * INSTALL: Add that `./autogen.sh' needs to be run before
21683 2009-04-14 Bean <bean123ch@gmail.com>
21685 * Makefile.in (pkglib_DATA): Add handler.lst.
21686 (handler.lst): New rule.
21688 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
21689 * conf/i386-coreboot.rmk: Likewise.
21690 * conf/i386-ieee1275.rmk: Likewise.
21691 * conf/i386-efi.rmk: Likewise.
21692 * conf/x86_64-efi.rmk: Likewise.
21693 * conf/powerpc-ieee1275.rmk: Likewise.
21694 * conf/sparc64-ieee1275.rmk: Likewise.
21696 * genhandlerlist.sh: New file.
21698 * genmk.rb: Add rules to generate handler.lst.
21700 * include/grub/normal.h (grub_file_getline): New function definition.
21701 (read_handler_list): Likewise.
21702 (free_handler_list): Likewise.
21704 * include/grub/term.h (grub_term_register_input): Add name parameter
21705 for auto generation of handler.lst.
21706 (grub_term_register_output): Likewise.
21708 * normal/handler.c: New file.
21710 * normal/main.c (get_line): Renamed to grub_file_getline.
21711 (read_config_file): Use the newly renamed grub_file_getline.
21712 (read_command_list): Likewise.
21713 (read_fs_list): Likewise.
21714 (grub_normal_execute): Call read_handler_list to parse handler.lst.
21715 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
21717 * term/efi/console.c (grub_console_init): Add name parameter for auto
21718 generation of handler.lst.
21719 * term/gfxterm.c: Likewise.
21720 * term/i386/pc/at_keyboard.c: Likewise.
21721 * term/i386/pc/console.c: Likewise.
21722 * term/i386/pc/serial.c: Likewise.
21723 * term/i386/pc/vesafb.c: Likewise.
21724 * term/i386/pc/vga.c: Likewise.
21725 * term/i386/pc/vga_text.c: Likewise.
21726 * term/ieee1275/ofconsole.c: Likewise.
21727 * term/usb_keyboard.c: Likewise.
21729 2009-04-14 Bean <bean123ch@gmail.com>
21731 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
21732 properly with null character.
21734 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
21736 * configure: Remove.
21737 * config.h.in: Likewise.
21738 * stamp-h.in: Likewise.
21739 * DISTLIST: Likewise.
21740 * conf/common.mk: Likewise.
21741 * conf/i386-coreboot.mk: Likewise.
21742 * conf/i386-efi.mk: Likewise.
21743 * conf/i386-ieee1275.mk: Likewise.
21744 * conf/i386.mk: Likewise.
21745 * conf/i386-pc.mk: Likewise.
21746 * conf/powerpc-ieee1275.mk: Likewise.
21747 * conf/sparc64-ieee1275.mk: Likewise.
21748 * conf/x86_64-efi.mk: Likewise.
21750 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
21753 2009-04-14 John Stanley <jpsinthemix@verizon.net>
21754 David S. Miller <davem@davemloft.net>
21756 * util/hostdisk.c (make_device_name): Fix buffer length
21759 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
21761 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
21762 <sys/param.h> and <sys/sysctl.h>.
21763 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
21764 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
21765 opening the device and reset them afterwards.
21767 2009-04-13 Pavel Roskin <proski@gnu.org>
21769 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
21770 Reported by John Stanley <jpsinthemix@verizon.net>
21772 2009-04-13 Robert Millan <rmh@aybabtu.com>
21774 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
21775 that name for menuentries when appropriate.
21777 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
21779 * util/grub.d/10_freebsd.in: Add a missing `fi'.
21781 2009-04-13 Robert Millan <rmh@aybabtu.com>
21783 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
21784 to Linux, simply abort telling the user it's no longer supported.
21786 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
21788 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
21789 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
21790 `freebsd_loadenv' only when devices.hints exist.
21792 2009-04-13 Pavel Roskin <proski@gnu.org>
21794 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
21796 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
21798 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
21800 (grub_drive): Likewise.
21802 2009-04-13 David S. Miller <davem@davemloft.net>
21804 * kern/sparc64/ieee1275/ieee1275.c: New file.
21805 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
21806 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
21807 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
21808 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
21809 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
21810 grub_ieee1275_alloc_physmem): Declare new exported functions.
21812 * include/grub/sparc64/ieee1275/loader.h: New file.
21813 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21814 * include/grub/sparc64/kernel.h: Likewise.
21815 * loader/sparc64/ieee1275/linux.c: Likewise.
21817 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
21818 (grub_fstest_SOURCES): Likewise.
21820 * util/hostdisk.c (make_device_name): Do not make any assumptions
21821 about the length of drive names.
21823 * kern/dl.c (grub_dl_load_file): Close file immediately when
21824 we are done using it.
21826 2009-04-12 David S. Miller <davem@davemloft.net>
21828 * kern/misc.c (grub_ltoa): Fix cast when handling negative
21829 values. Noticed by Pavel Roskin.
21831 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
21834 * genmk.rb: Add more flexible image type specification, also
21835 pass --strip-unneeded to objcopy.
21836 * conf/i386-pc.rmk: Use *_FORMAT.
21837 * conf/i386-pc.mk: Rebuilt.
21839 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
21840 (OFDISK_HASH_SZ): Define.
21841 (ofdisk_hash): New hash table.
21842 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
21843 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
21844 instead of device phandle which is not unique.
21846 * kern/sparc64/ieee1275/init.c: Delete, replace with...
21847 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
21848 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
21849 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
21850 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
21851 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
21852 GRUB_KERNEL_MACHINE_DATA_END): Define.
21853 (grub_kernel_image_size, grub_total_module_size): Declare.
21855 2009-04-12 Pavel Roskin <proski@gnu.org>
21857 * configure.ac: Change the logic when we check for target tools.
21858 Do it when the target is specified and it's different from the
21859 specified value of the host.
21861 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
21863 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
21864 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
21865 GNU/kFreeBSD. Check if a device is a character device. Use
21866 DIOCGMEDIASIZE to get the size.
21867 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
21868 support for GNU/kFreeBSD.
21869 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
21870 is a character device instead of a block device. Add support for
21871 FreeBSD device names.
21873 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
21874 is a character device instead of a block device.
21876 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
21877 is a character device instead of a block device.
21879 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
21881 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
21882 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
21883 FreeBSD. Check if a device is a character device. Use
21884 DIOCGMEDIASIZE to get the size.
21885 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
21886 support for FreeBSD.
21887 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
21888 is a character device instead of a block device. Add support for
21889 FreeBSD device names.
21891 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
21892 a character device instead of a block device.
21893 (grub_util_check_char_device): New function.
21895 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
21896 a character device instead of a block device.
21898 * include/grub/util/getroot.h (grub_util_check_char_device): New
21901 2009-04-11 David S. Miller <davem@davemloft.net>
21903 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
21905 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
21906 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
21907 function, if present.
21908 (__bswapdi2): Likewise.
21910 * include/grub/sparc64/ieee1275/boot.h: New file.
21911 * boot/sparc64/ieee1275/boot.S: Likewise.
21912 * boot/sparc64/ieee1275/diskboot.S: Likewise.
21914 * kern/misc.c (grub_ltoa): New function.
21915 (grub_vsprintf): Use it to format 'long' integers.
21917 2009-04-10 David S. Miller <davem@davemloft.net>
21919 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
21920 slots are of type grub_ieee1275_cell_t.
21921 (grub_nand_read): Likewise.
21922 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
21923 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
21924 macros are used to compare values in arg/ret block of the call.
21925 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21926 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
21927 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
21928 grub_ieee1275_instance_to_path, grub_ieee1275_write,
21929 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
21930 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
21931 grub_ieee1275_close, grub_ieee1275_set_property,
21932 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
21933 grub_ieee1275_cell_t.
21934 * kern/ieee1275/openfw.c (grub_map): Likewise.
21935 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
21936 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
21938 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
21939 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
21940 (grub_devalias_iterate): Likewise.
21942 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21946 * fs/ufs.c (INODE_NBLOCKS): new definition
21947 (struct grub_ufs_dirent): added fields for non-BSD dirents
21948 (grub_ufs_get_file_block): fixed double indirect handling
21949 (grub_ufs_lookup_symlink): use more robust way to determine whether
21951 (grub_ufs_find_file): support for non-BSD dirents
21952 (grub_ufs_dir): support for non-BSD dirents
21954 2009-04-10 Bean <bean123ch@gnail.com>
21956 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
21957 attribute, otherwise the size would be wrong for i386 platform.
21959 * include/grub/pci.h (grub_pci_read_word): New inline function.
21960 (grub_pci_read_byte): Likewise.
21961 (grub_pci_write): Likewise.
21962 (grub_pci_write_word): Likewise.
21963 (grub_pci_write_byte): Likewise.
21965 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
21967 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
21968 (find_framebuf): Scan pci to locate the frame buffer address.
21970 * commands/efi/fixvideo.c: New file.
21972 * commands/efi/loadbios.c: Likewise.
21974 * commands/memrw.c: Likewise.
21976 * util/grub-dumpbios.in: Likewise.
21978 * conf/common.rmk (grub-dumpbios): New utility.
21979 (pkglib_MODULES): New module memrw.mod.
21980 (memrw_mod_SOURCE): New macro.
21981 (memrw_mod_CFLAGS): Likewise.
21982 (memrw_mod_LDFLAGS): Likewise.
21984 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
21986 (loadbios_mod_SOURCE): New macro.
21987 (loadbios_mod_CFLAGS): Likewise.
21988 (loadbios_mod_LDFLAGS): Likewise.
21989 (fixvideo_mod_SOURCE): Likewise.
21990 (fixvideo_mod_CFLAGS): Likewise.
21991 (fixvideo_mod_LDFLAGS): Likewise.
21993 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
21995 (loadbios_mod_SOURCE): New macro.
21996 (loadbios_mod_CFLAGS): Likewise.
21997 (loadbios_mod_LDFLAGS): Likewise.
21998 (fixvideo_mod_SOURCE): Likewise.
21999 (fixvideo_mod_CFLAGS): Likewise.
22000 (fixvideo_mod_LDFLAGS): Likewise.
22002 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
22004 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
22006 2009-04-07 David S. Miller <davem@davemloft.net>
22008 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
22009 support for R_SPARC_OLO10 relocations. Fix compile warning for
22010 R_SPARC_WDISP30 case.
22011 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
22013 2009-04-06 Pavel Roskin <proski@gnu.org>
22015 * include/grub/misc.h (ARRAY_SIZE): New macro.
22016 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
22018 * loader/i386/linux.c (allocate_pages): Use free_pages().
22019 (grub_linux_unload): Don't use free_pages().
22020 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
22021 wrong index. Treat all other modes as text modes.
22022 (grub_cmd_linux): Initialize vid_mode unconditionally to
22023 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
22025 * commands/help.c (print_command_help): Use cmd->prio, not
22026 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
22028 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
22032 * parttool/pcpart.c: new file
22033 * commands/parttool.c: likewise
22034 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
22035 (parttool_mod_SOURCES): new variable
22036 (parttool_mod_CFLAGS): likewise
22037 (parttool_mod_LDFLAGS): likewise
22038 (pcpart_mod_SOURCES): likewise
22039 (pcpart_mod_CFLAGS): likewise
22040 (pcpart_mod_LDFLAGS): likewise
22041 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
22042 and parttool/pcpart.c
22043 * conf/i386-efi.rmk: likewise
22044 * conf/i386-ieee1275.rmk: likewise
22045 * conf/i386-pc.rmk: likewise
22046 * conf/powerpc-ieee1275.rmk: likewise
22047 * conf/sparc64-ieee1275.rmk: likewise
22048 * conf/x86_64-ieee1275.rmk: likewise
22050 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22052 Support for mtime and further expandability of dir command
22054 * include/grub/lib/datetime.h: moved to ...
22055 * include/grub/datetime.h: ... moved here and added
22056 declaration of grub_unixtime2datetime. All users updated
22057 * include/grub/fs.h: new syntax for dir and mtime functions in
22059 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
22060 and GRUB_FSHELP_FLAGS_MASK
22061 * commands/ls.c (grub_ls_list_files): Write mtime in long format
22062 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
22063 (grub_ext2_mtime): new function
22064 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
22065 (grub_hfsplus_mtime): new function
22066 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
22067 (GRUB_UFS_ATTR_FILE): likewise
22068 (GRUB_UFS_ATTR_LNK): likewise
22069 (struct grub_ufs_sblock): new fields mtime
22070 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
22072 (grub_ufs_dir): mtime support
22073 (grub_ufs_mtime): new function
22074 * fs/affs.c (grub_affs_dir): use new dir syntax
22075 * fs/afs.c (grub_afs_dir): likewise
22076 * fs/cpio.c (grub_cpio_dir): likewise
22077 * fs/fat.c (grub_fat_find_dir): likewise
22078 * fs/hfs.c (grub_hfs_dir): likewise
22079 * fs/iso9660.c (grub_iso9660_dir): likewise
22080 * fs/jfs.c (grub_jfs_dir): likewise
22081 * fs/minix.c (grub_minix_dir): likewise
22082 * fs/ntfs.c (grub_ntfs_dir): likewise
22083 * fs/reiserfs.c (grub_reiserfs_dir): likewise
22084 * fs/sfs.c (grub_sfs_dir): likewise
22085 * fs/xfs.c (grub_xfs_dir): likewise
22086 * util/hostfs.c (grub_hostfs_dir): likewise
22087 * lib/datetime.c: moved to ...
22088 * normal/datetime.c: ... moved here
22089 (grub_unixtime2datetime): new function
22090 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
22091 * normal/completion.c (iterate_dir): use new dir syntax
22092 * normal/misc.c (grub_normal_print_device_info): tell the
22093 last modification time of a volume
22094 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
22095 * conf/common.rmk: added lib/datetime.c to ls.mod
22096 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
22097 (normal_mod_SOURCES): likewise
22098 (datetime_mod_SOURCES): Removed lib/datetime.c
22099 * conf/i386-efi.rmk: likewise
22100 * conf/i386-ieee1275.rmk: likewise
22101 * conf/i386-pc.rmk: likewise
22102 * conf/powerpc-ieee1275.rmk: likewise
22103 * conf/sparc64-ieee1275.rmk: likewise
22104 * conf/x86_64-efi.rmk: likewise
22106 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22108 Trim trailing spaces in FAT label and support mtools-like labels
22110 * fs/fat.c (grub_fat_iterate_dir): New function based
22111 on grub_fat_find_dir
22112 (grub_fat_find_dir): use grub_fat_iterate_dir
22113 (grub_fat_label): likewise
22115 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22117 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
22119 remove extraneous kernel_elf_HEADERS
22121 2009-04-04 Bean <bean123ch@gnail.com>
22123 * include/grub/util/misc.h: Add dummy function fsync for mingw.
22125 * util/misc.c: Likewise.
22127 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22129 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
22130 instead of grub_printf.
22132 2009-04-03 Robert Millan <rmh@aybabtu.com>
22134 * loader/i386/linux.c (grub_linux_setup_video): Fill
22135 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
22136 values from `mode info' structure instead of hardcoded
22139 2009-04-01 Pavel Roskin <proski@gnu.org>
22141 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
22143 * genmk.rb: Likewise.
22144 * configure.ac: Likewise.
22146 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
22148 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
22149 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
22151 2009-04-01 David S. Miller <davem@davemloft.net>
22153 * normal/sparc64/setjmp.S: Fix setjmp implementation.
22154 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
22155 (grub_setjmp): Mark with 'returns_twice' attribute.
22156 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
22157 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
22158 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
22160 2009-04-01 Robert Millan <rmh@aybabtu.com>
22162 Reapply fix from 2008-07-28 which was accidentally reverted; also
22163 perform the same fix to a similar check in same function.
22165 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22166 with the same number are found, just use issue a warning with
22167 grub_dprintf(), as this error has been reported to be non-fatal.
22169 2009-03-31 Pavel Roskin <proski@gnu.org>
22171 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
22172 for cross-compilation.
22174 2009-03-30 Robert Millan <rmh@aybabtu.com>
22176 Fix i386-ieee1275 build.
22178 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
22179 Remove declaration.
22181 2009-03-30 Pavel Roskin <proski@gnu.org>
22183 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
22184 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
22185 zero-terminated, rely only on the strlen value. Fix comparison
22186 of strings differing in length.
22188 2009-03-30 Robert Millan <rmh@aybabtu.com>
22190 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
22191 checking for abi version. Improve error messages on BIOS to notify
22192 user about `linux16' command.
22194 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
22198 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
22199 in case of collision
22200 * disk/scsi.c (grub_scsi_open): free scsi in case of error
22202 2009-03-29 Robert Millan <rmh@aybabtu.com>
22204 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
22205 set `vid_mode' accordingly.
22206 (grub_linux_boot): Process `vid_mode' and set video mode.
22208 2009-03-29 Robert Millan <rmh@aybabtu.com>
22210 * util/grub.d/10_linux.in (linux_entry): New function.
22211 Factorize generation of Linux boot entries.
22213 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
22215 Make the format of Environment Block plain text. The boot loader
22216 part is not tested well yet.
22218 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
22220 (envblk): Likewise.
22221 (usage): Remove "info" and "clear". Add "unset". Update the
22222 description of "set", as this does not delete variables any
22224 (create_envblk_file): Complete rewrite.
22225 (open_envblk_file): Likewise.
22226 (cmd_info): Removed.
22227 (cmd_list): Likewise.
22228 (cmd_set): Likewise.
22229 (cmd_clear): Likewise.
22230 (list_variables): New function.
22231 (write_envblk): Likewise.
22232 (set_variables): Likewise.
22233 (unset_variables): Likewise.
22234 (main): Complete rewrite.
22236 * commands/loadenv.c (buffer): Removed.
22237 (envblk): Likewise.
22238 (open_envblk_file): New function.
22239 (read_envblk_file): Complete rewrite.
22240 (grub_cmd_load_env): Likewise.
22241 (grub_cmd_list_env): Likewise.
22242 (struct blocklist): New struct.
22243 (free_blocklists): New function.
22244 (check_blocklists): Likewise.
22245 (write_blocklists): Likewise.
22246 (grub_cmd_save_env): Complete rewrite.
22248 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
22249 a plain text signature.
22250 (GRUB_ENVBLK_MAXLEN): Removed.
22251 (struct grub_envblk): Complete rewrite.
22252 (grub_envblk_find): Removed.
22253 (grub_envblk_insert): Likewise.
22254 (grub_envblk_open): New prototype.
22255 (grub_envblk_set): Likewise.
22256 (grub_envblk_delete): Put const to VALUE.
22257 (grub_envblk_iterate): Put const to NAME and VALUE.
22258 (grub_envblk_close): New prototype.
22259 (grub_envblk_buffer): New inline function.
22260 (grub_envblk_size): Likewise.
22262 * lib/envblk.c: Include grub/mm.h.
22263 (grub_env_find): Removed.
22264 (grub_envblk_open): New function.
22265 (grub_envblk_close): Likewise.
22266 (escaped_value_len): Likewise.
22267 (find_next_line): Likewise.
22268 (grub_envblk_insert): Removed.
22269 (grub_envblk_set): New function.
22270 (grub_envblk_delete): Complete rewrite.
22271 (grub_envblk_iterate): Likewise.
22273 2009-03-28 Robert Millan <rmh@aybabtu.com>
22275 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
22276 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
22277 variables. Use 16-bit loader.
22278 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
22280 * kern/i386/loader.S (grub_linux_boot): Rename to ...
22281 (grub_linux16_boot): ... this. Update all users.
22282 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
22283 (grub_linux_boot): ... this. Update all users.
22285 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
22286 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
22287 commands to `linux16' and `initrd16'.
22288 (GRUB_MOD_FINI(linux)): Rename to ...
22289 (GRUB_MOD_FINI(linux16)): ... this.
22291 2009-03-24 Pavel Roskin <proski@gnu.org>
22293 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
22294 not just for compilation.
22296 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
22298 Move multiboot helper out of kernel
22300 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
22301 `loader/i386/multiboot_helper.S'.
22302 * conf/i386-coreboot.rmk: Likewise
22303 * conf/i386-ieee1275.rmk: Likewise
22305 * kern/i386/loader.S: Move multiboot helpers from here...
22306 * loader/i386/multiboot_helper.S: ...moved here
22307 * include/grub/i386/loader.h: Move declarations of multiboot
22308 helpers from here...
22309 * include/grub/i386/multiboot.h: ...moved here
22310 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
22312 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22314 * kern/env.c (grub_env_context_open): Added an argument to specify
22315 whether a new context inherits exported variables from current
22316 one. This is useful when making a sandbox to interpret a config
22318 All callers updated.
22320 * include/grub/env.h (grub_env_context_open): Updated the prototype.
22322 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22324 * kern/env.c (grub_env_context_close): Fix memory leaks.
22326 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22328 * normal/main.c (grub_normal_execute): Added an argument
22329 BATCH to specify if an interactive interface should be provided
22330 after reading a config file.
22331 All callers updated.
22332 (read_command_list): Prevent being executed twice.
22333 (read_fs_list): Likewise.
22335 * include/grub/normal.h (grub_normal_execute): Updated the
22338 2009-03-22 Pavel Roskin <proski@gno.org>
22340 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
22342 * kern/i386/pc/startup.S: Likewise.
22343 * kern/i386/efi/startup.S: Likewise.
22344 * kern/i386/ieee1275/startup.S: Likewise.
22345 * kern/i386/coreboot/startup.S: Likewise.
22346 * kern/x86_64/efi/startup.S: Likewise.
22348 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
22349 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
22350 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
22352 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
22354 Bugfixes in multiboot for bugs uncovered by solaris kernel.
22356 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
22358 Use vaddr of correct segment for entry_point.
22360 2009-03-21 Bean <bean123ch@gmail.com>
22362 * commands/blocklist.c: Add include file <grub/command.h>, remove
22363 <grub/normal.h> and <grub/arg.h>.
22364 (grub_cmd_blocklist): Use the new command interface.
22365 (GRUB_MOD_INIT): Likewise.
22366 (GRUB_MOD_FINI): Likewise.
22367 * commands/boot.c: Likewise.
22368 * commands/cat.c: Likewise.
22369 * commands/cmp.c: Likewise.
22370 * commands/configfile.c: Likewise.
22371 * commands/crc.c: Likewise.
22372 * commands/echo.c: Likewise.
22373 * commands/halt.c: Likewise.
22374 * commands/handler.c: Likewise.
22375 * commands/hdparm.c: Likewise.
22376 * commands/help.c: Likewise.
22377 * commands/hexdump.c: Likewise.
22378 * commands/loadenv.c: Likewise.
22379 * commands/ls.c: Likewise.
22380 * commands/lsmmap.c: Likewise.
22381 * commands/lspci.c: Likewise.
22382 * commands/loadenv.c: Likewise.
22383 * commands/read.c: Likewise.
22384 * commands/reboot.c: Likewise.
22385 * commands/search.c: Likewise.
22386 * commands/sleep.c: Likewise.
22387 * commands/test.c: Likewise.
22388 * commands/usbtest.c: Likewise.
22389 * commands/videotest.c: Likewise.
22390 * commands/i386/cpuid.c: Likewise.
22391 * commands/i386/pc/halt.c: Likewise.
22392 * commands/i386/pc/play.c: Likewise.
22393 * commands/i386/pc/pxecmd.c: Likewise.
22394 * commands/i386/pc/vbeinfo.c: Likewise.
22395 * commands/i386/pc/vbetest.c: Likewise.
22396 * commands/ieee1275/suspend.c: Likewise.
22397 * disk/loopback.c: Likewise.
22398 * font/font_cmd.c: Likewise.
22399 * hello/hello.c: Likewise.
22400 * loader/efi/appleloader.c: Likewise.
22401 * loader/efi/chainloader.c: Likewise.
22402 * loader/i386/bsd.c: Likewise.
22403 * loader/i386/efi/linux.c: Likewise.
22404 * loader/i386/ieee1275/linux.c: Likewise.
22405 * loader/i386/linux.c: Likewise.
22406 * loader/i386/pc/chainloader.c: Likewise.
22407 * loader/i386/pc/linux.c: Likewise.
22408 * loader/powerpc/ieee1275/linux.c: Likewise.
22409 * loader/multiboot_loader.c: Likewise.
22410 * term/gfxterm.c: Likewise.
22411 * term/i386/pc/serial.c: Likewise.
22412 * term/terminfo.c: Likewise.
22414 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
22415 * term/i386/pc/vga.c: Likewise.
22416 * video/readers/jpeg.c: Likewise.
22417 * video/readers/png.c: Likewise.
22418 * video/readers/tga.c: Likewise.
22420 * util/grub-fstest (cmd_loopback): Removed.
22421 (cmd_blocklist): Likewise.
22422 (cmd_ls): Likewise.
22423 (grub_register_command): Likewise.
22424 (grub_unregister_command): Likewise.
22425 (execute_command): Use grub_command_find to locate command and execute
22428 * include/grub/efi/chainloader.h: Removed.
22429 * loader/efi/chainloader_normal.c: Likewise.
22430 * loader/i386/bsd_normal.c: Likewise.
22431 * loader/i386/pc/chainloader_normal.c: Likewise.
22432 * loader/i386/pc/multiboot_normal.c: Likewise.
22433 * loader/linux_normal.c: Likewise.
22434 * loader/multiboot_loader_normal.c: Likewise.
22435 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22437 * gencmdlist.sh: Scan new registration command grub_register_extcmd
22438 and grub_register_command_p1.
22440 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
22441 kern/command.c, lib/arg.c and commands/extcmd.c.
22442 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
22443 (minicmd_mod_SOURCES): New variable.
22444 (minicmd_mod_CFLAGS): Likewise.
22445 (minicmd_mod_LDFLAGS): Likewise.
22446 (extcmd_mod_SOURCES): Likewise.
22447 (extcmd_mod_CFLAGS): Likewise.
22448 (extcmd_mod_LDFLAGS): Likewise.
22449 (boot_mod_SOURCES): Removed.
22450 (boot_mod_CFLAGS): Likewise.
22451 (boot_mod_LDFLAGS): Likewise.
22453 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
22455 (kernel_img_HEADERS): Add command.h.
22456 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
22457 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
22459 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
22460 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
22461 remove the corresponding normal mode command.
22462 (normal_mod_SOURCES): Remove normal/arg.c.
22463 * conf/i386-coreboot.rmk: Likewise.
22464 * conf/i386-efi.rmk: Likewise.
22465 * conf/i386-ieee1275.rmk: Likewise.
22466 * conf/powerpc-ieee1275.rmk: Likewise.
22467 * conf/x86_64-efi.rmk: Likewise.
22469 * include/grub/arg.h: Move from here ...
22470 * include/grub/lib/arg.h: ... to here.
22472 * normal/arg.c: Move from here ...
22473 * lib/arg.c: ... to here.
22475 * commands/extcmd.c: New file.
22476 * commands/minicmd.c: Likewise.
22477 * include/grub/command.h: Likewise.
22478 * include/grub/extcmd.h: Likewise.
22479 * kern/command.c: Likewise.
22480 * kern/corecmd.c: Likewise.
22482 * kern/list.c (grub_list_iterate): Return int instead of void.
22483 (grub_list_insert): New function.
22484 (grub_prio_list_insert): Likewise.
22486 * kern/rescue.c (grub_rescue_command): Removed.
22487 (grub_rescue_command_list): Likewise.
22488 (grub_rescue_register_command): Likewise.
22489 (grub_rescue_unregister_command): Likewise.
22490 (grub_rescue_cmd_boot): Move to minicmd.c
22491 (grub_rescue_cmd_help): Likewise.
22492 (grub_rescue_cmd_info): Likewise.
22493 (grub_rescue_cmd_boot): Likewise.
22494 (grub_rescue_cmd_testload): Likewise.
22495 (grub_rescue_cmd_dump): Likewise.
22496 (grub_rescue_cmd_rmmod): Likewise.
22497 (grub_rescue_cmd_lsmod): Likewise.
22498 (grub_rescue_cmd_exit): Likewise.
22499 (grub_rescue_print_devices): Moved to corecmd.c.
22500 (grub_rescue_print_files): Likewise.
22501 (grub_rescue_cmd_ls): Likewise.
22502 (grub_rescue_cmd_insmod): Likewise.
22503 (grub_rescue_cmd_set): Likewise.
22504 (grub_rescue_cmd_unset): Likewise.
22505 (attempt_normal_mode): Use grub_command_find to get normal module.
22506 (grub_enter_rescue_mode): Use grub_register_core_commands to register
22507 commands, remove grub_rescue_register_command calls.
22509 * normal/command.c (grub_register_command): Removed.
22510 (grub_unregister_command): Likewise.
22511 (grub_command_find): Likewise.
22512 (grub_iterate_commands): Likewise.
22513 (rescue_command): Likewise.
22514 (export_command): Moved to corecmd.c.
22515 (set_command): Removed.
22516 (unset_command): Likewise.
22517 (insmod_command): Likewise.
22518 (rmmod_command): Likewise.
22519 (lsmod_command): Likewise.
22520 (grub_command_init): Likewise.
22522 * normal/completion.c (iterate_command): Use cmd->prio to check for
22524 (complete_arguments): Use grub_extcmd_t structure to find options.
22525 (grub_normal_do_completion): Change function grub_iterate_commands to
22526 grub_command_iterate.
22528 * normal/execute.c (grub_script_execute_cmd): No need to parse
22531 * normal/main.c (grub_dyncmd_dispatcher): New function.
22532 (read_command_list): Register unload commands as dyncmd.
22533 (grub_cmd_normal): Use new command interface, register rescue,
22534 unregister normal at entry, register normal, unregister rescue at exit.
22536 * include/grub/list.h (grub_list_test_t): New type.
22537 (grub_list_iterate): Return int instead of void.
22538 (grub_list_insert): New function.
22539 (GRUB_AS_NAMED_LIST_P): New macro.
22540 (GRUB_AS_PRIO_LIST): Likewise.
22541 (GRUB_AS_PRIO_LIST_P): Likewise.
22542 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
22543 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
22544 (grub_prio_list): New structure.
22545 (grub_prio_list_insert): New function.
22546 (grub_prio_list_remove): New inline function.
22548 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
22549 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
22550 (GRUB_COMMAND_FLAG_MENU): Likewise.
22551 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22552 (GRUB_COMMAND_FLAG_TITLE): Likewise.
22553 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22554 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
22555 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
22556 (grub_command): Likewise.
22557 (grub_register_command): Likewise.
22558 (grub_command_find): Likewise.
22559 (grub_iterate_commands): Likewise.
22560 (grub_command_init): Likewise.
22561 (grub_arg_parse): Likewise.
22562 (grub_arg_show_help): Likewise.
22564 * include/grub/rescue.h (grub_rescue_register_command): Removed.
22565 (grub_rescue_unregister_command): Likewise.
22567 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
22568 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
22569 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
22571 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
22572 grub_rescue_cmd_initrd.
22573 * include/grub/i386/loader.h: Likewise.
22574 * include/grub/x86_64/loader.h: Likewise.
22576 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
22578 2009-03-21 Bean <bean123ch@gmail.com>
22580 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
22581 instead of stat in mingw environment.
22583 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
22585 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
22587 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
22590 2009-03-21 Bean <bean123ch@gmail.com>
22592 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
22593 out of range error.
22595 2009-03-18 Michel Dänzer <michel@daenzer.net>
22597 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
22598 checking inode flags for EXT4_EXTENTS_FLAG.
22600 2009-03-18 Robert Millan <rmh@aybabtu.com>
22602 * loader/i386/linux.c: Include `<grub/video.h>' and
22603 `<grub/i386/pc/vbe.h>'..
22604 (grub_linux_setup_video): New function. Loosely based on the EFI one.
22605 (grub_linux32_boot): Attempt to configure video settings with
22606 grub_linux_setup_video().
22607 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
22608 to avoid grub_console_fini() which would step out of graphical mode
22611 2009-03-14 Robert Millan <rmh@aybabtu.com>
22613 Fix build on powerpc.
22614 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
22616 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
22618 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
22619 background image command.
22621 2009-03-12 Colin D Bennett <colin@gibibit.com>
22623 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
22624 (grub_gfxterm_putchar): Extract pairs of identical calls to
22625 draw_cursor out of conditional blocks.
22627 2009-03-11 Pavel Roskin <proski@gnu.org>
22629 * fs/hfs.c (grub_hfs_strncasecmp): New function.
22630 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
22632 2009-03-11 Robert Millan <rmh@aybabtu.com>
22634 * loader/i386/multiboot_elfxx.c
22635 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
22637 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
22639 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
22642 2009-03-11 Robert Millan <rmh@aybabtu.com>
22644 * loader/i386/multiboot.c (code_size): New variable.
22645 (grub_multiboot): Define offsets by adding to `code_size' rather
22646 than subtracting from `grub_multiboot_payload_size'. Provide
22647 4-byte alignment to MBI and others by increasing
22648 `boot_loader_name_length' appropriately.
22650 * loader/i386/multiboot_elfxx.c
22651 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
22653 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
22655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
22658 2009-03-08 Robert Millan <rmh@aybabtu.com>
22660 Make loader/i386/linux.c usable on i386-pc again.
22662 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
22664 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
22667 2009-03-07 Bean <bean123ch@gmail.com>
22669 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
22672 2009-03-06 Robert Millan <rmh@aybabtu.com>
22674 Fix display issue on terminals with screen size other than 80x25
22675 (e.g. gfxterm with resolution higher than 640x480).
22677 * normal/main.c (grub_normal_init_page): Display title text in a
22678 position relative to the center of the terminal instead of relying
22679 on a hardcoded offset.
22681 2009-03-04 Robert Millan <rmh@aybabtu.com>
22683 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
22686 * Makefile.in (host_kernel): New variable.
22687 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
22688 scripts instead of just the windows one.
22689 * configure.ac: Initialize and AC_SUBST `host_kernel'.
22691 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
22693 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
22695 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22696 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22697 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22699 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22700 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22702 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
22704 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
22705 or if there's no space for the disk label and print the partition number on a
22708 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
22710 * util/misc.c: Include <time.h>.
22711 (grub_millisleep): New function.
22713 2009-03-04 Bean <bean123ch@gmail.com>
22715 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
22716 another option -mno-red-zone.
22718 * commands/handler.c: Change module description.
22720 * kern/handler.c: Add missing space at the end of description line.
22722 * kern/list.c: Likewise.
22724 2009-03-03 Robert Millan <rmh@aybabtu.com>
22726 Move more components to the relocation area, and fix mbi pointer
22727 handling to use the destination rather than the origin (thanks to
22728 Vladimir Serbinenko for spotting).
22730 * loader/i386/multiboot.c (mbi_dest): New variable.
22731 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
22732 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
22735 2009-03-01 Bean <bean123ch@gmail.com>
22737 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
22738 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
22739 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
22740 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
22742 * loader/i386/efi/linux.c (acpi_guid): New variable.
22743 (acpi_guid): Likewise.
22744 (EBDA_SEG_ADDR): New constant.
22745 (LOW_MEM_ADDR): Likewise.
22746 (FAKE_EBDA_SEG): Likewise.
22747 (fake_bios_data): New function.
22748 (grub_linux_boot): Call fake_bios_data.
22750 2009-03-01 Bean <bean123ch@gmail.com>
22752 * commands/terminal.c: Removed.
22754 * commands/handler.c: New file.
22756 * include/grub/list.h: Likewise.
22758 * include/grub/handler.h: Likewise.
22760 * kern/list.c: Likewise.
22762 * kern/handler.c: Likewise.
22764 * kern/term.h: Include header file <grub/handler.h>.
22765 (grub_term_input): Move next field to the beginning.
22766 (grub_term_output): Likewise.
22767 (grub_term_input_class): New variable.
22768 (grub_term_output_class): Likewise.
22769 (grub_term_register_input): Changed to inline function.
22770 (grub_term_register_output): Likewise.
22771 (grub_term_unregister_input): Likewise.
22772 (grub_term_unregister_output): Likewise.
22773 (grub_term_set_current_input): Likewise.
22774 (grub_term_set_current_output): Likewise.
22775 (grub_term_get_current_input): Likewise.
22776 (grub_term_get_current_output): Likewise.
22777 (grub_term_iterate_input): Removed.
22778 (grub_term_iterate_output): Likewise.
22780 * kern/term.c (grub_term_list_input): Removed.
22781 (grub_term_list_output): Likewise.
22782 (grub_term_input_class): New variable.
22783 (grub_term_output_class): Likewise.
22784 (grub_cur_term_input): Change variable as macro.
22785 (grub_cur_term_output): Likewise.
22786 (grub_term_register_input): Removed.
22787 (grub_term_register_output): Likewise.
22788 (grub_term_unregister_input): Likewise.
22789 (grub_term_unregister_output): Likewise.
22790 (grub_term_set_current_input): Likewise.
22791 (grub_term_set_current_output): Likewise.
22792 (grub_term_iterate_input): Likewise.
22793 (grub_term_iterate_output): Likewise.
22794 (grub_term_get_current_input): Likewise.
22795 (grub_term_get_current_output): Likewise.
22797 * util/grub-editenv.c: Include header file <grub/handler.h>.
22798 (grub_term_get_current_input): Removed.
22799 (grub_term_get_current_output): Likewise.
22800 (grub_term_input_class): New variable.
22801 (grub_term_output_class): Likewise.
22803 * util/grub-fstest.c (grub_term_get_current_input): Removed.
22804 (grub_term_get_current_output): Likewise.
22805 (grub_term_input_class): New variable.
22806 (grub_term_output_class): Likewise.
22808 * util/grub-probe.c (grub_term_get_current_input): Removed.
22809 (grub_term_get_current_output): Likewise.
22810 (grub_term_input_class): New variable.
22811 (grub_term_output_class): Likewise.
22813 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
22814 (grub_term_get_current_output): Likewise.
22815 (grub_term_input_class): New variable.
22816 (grub_term_output_class): Likewise.
22818 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
22819 (terminal_mod_SOURCES): Likewise.
22820 (terminal_mod_CFLAGS): Likewise.
22821 (terminal_mod_LDFLAGS): Likewise.
22823 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
22825 (kernel_img_SOURCES): Add list.c and handler.c.
22826 (kernel_img_HEADERS): Add list.h and handler.h.
22828 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
22830 (kernel_mod_SOURCES): Add list.c and handler.c.
22831 (kernel_mod_HEADERS): Add list.h and handler.h.
22833 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
22835 (kernel_elf_SOURCES): Add list.c and handler.c.
22836 (kernel_elf_HEADERS): Add list.h and handler.h.
22838 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
22840 (kernel_elf_SOURCES): Add list.c and handler.c.
22841 (kernel_elf_HEADERS): Add list.h and handler.h.
22843 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
22845 (kernel_mod_SOURCES): Add list.c and handler.c.
22846 (kernel_mod_HEADERS): Add list.h and handler.h.
22848 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
22850 (kernel_elf_SOURCES): Add list.c and handler.c.
22851 (kernel_elf_HEADERS): Add list.h and handler.h.
22853 2009-02-27 Robert Millan <rmh@aybabtu.com>
22855 Factorize elf32 / elf64 code in Multiboot loader. This will
22856 prevent it from getting out of sync again.
22858 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
22859 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
22860 grub_multiboot_load_elf64): Move from here ...
22861 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
22862 grub_multiboot_load_elf): ... to here (new file).
22864 2009-02-27 Robert Millan <rmh@aybabtu.com>
22866 * util/grub.d/10_linux.in: Rename "single-user mode" to
22869 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
22871 Don't leak in SCSI code.
22872 * disk/scsi.c (grub_scsi_close): free `scsi'.
22874 2009-02-27 Robert Millan <rmh@aybabtu.com>
22876 * loader/i386/pc/multiboot.c: Move from here ...
22877 * loader/i386/multiboot.c: ... to here. Update all users.
22879 2009-02-27 Robert Millan <rmh@aybabtu.com>
22881 Patch from Alexandre Bique <bique.alexandre@gmail.com>
22882 * util/i386/pc/grub-setup.c (setup): Fix directory path.
22884 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
22886 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
22889 2009-02-27 Robert Millan <rmh@aybabtu.com>
22891 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
22892 `0x' qualifier as 0 when base is specified as parameter).
22894 2009-02-24 Bean <bean123ch@gmail.com>
22896 * configure.ac: Check for -mcmodel=large in x86_64 target.
22898 * include/grub/efi/api.h (efi_call_10): New macro.
22899 (efi_wrap_10): New function.
22901 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
22902 (GRUB_PE32_REL_BASED_HIGH): Likewise.
22903 (GRUB_PE32_REL_BASED_LOW): Likewise.
22904 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
22905 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
22906 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
22907 (GRUB_PE32_REL_BASED_SECTION): Likewise.
22908 (GRUB_PE32_REL_BASED_REL): Likewise.
22909 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
22910 (GRUB_PE32_REL_BASED_DIR64): Likewise.
22911 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
22913 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
22916 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
22917 (efi_wrap_10): New function.
22919 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
22921 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
22922 MB/MBP model (NV chipset).
22923 (devdata_devs): Add devpath_5 to the list.
22925 * load/i386/efi/linux.c (video_base): Remove variable.
22926 (RGB_MASK): New macro.
22927 (RGB_MAGIC): Likewise.
22928 (LINE_MIN): Likewise.
22929 (LINE_MAX): Likewise.
22930 (FBTEST_STEP): Likewise.
22931 (FBTEST_COUNT): Likewise.
22932 (fb_list): New variable.
22933 (grub_find_video_card): Remove function.
22934 (find_framebuf): New function.
22935 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
22938 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
22939 problem for x86_64.
22941 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
22943 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
22945 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
22948 2009-02-22 Robert Millan <rmh@aybabtu.com>
22950 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
22951 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
22952 in our relocation, instead of using it directly from heap. Also
22953 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
22955 2009-02-21 Robert Millan <rmh@aybabtu.com>
22957 Implement USB keyboard support (based on patch by Marco Gerards)
22959 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
22960 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
22961 (usb_keyboard_mod_LDFLAGS): New variables.
22963 * term/usb_keyboard.c: New file.
22965 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22967 Corrected wrong declaration
22969 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
22971 2009-02-14 Christian Franke <franke@computer.org>
22973 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
22974 (grub_lspci_iter): Print class code and programming interface byte.
22976 2009-02-14 Christian Franke <franke@computer.org>
22978 * gendistlist.sh: Ignore `.svn' directories.
22980 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
22982 * fs/fat.c: Add 2009 to Copyright line.
22984 2009-02-14 Christian Franke <franke@computer.org>
22986 * commands/hdparm.c: New file. Provides `hdparm' command
22987 which sends ATA commands via grub_disk_ata_pass_through ().
22989 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
22991 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
22992 and <grub/cpu/io.h> to include/grub/ata.h.
22993 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
22994 (GRUB_CDROM_SECTOR_SIZE): Remove.
22995 (GRUB_ATA_*): Move to include/grub/ata.h.
22996 (GRUB_ATAPI_*): Likewise.
22997 (enum grub_ata_commands): Likewise.
22998 (enum grub_ata_timeout_milliseconds): Likewise.
22999 (struct grub_ata_device): Likewise.
23000 (grub_ata_regset): Likewise.
23001 (grub_ata_regget): Likewise.
23002 (grub_ata_regset2): Likewise.
23003 (grub_ata_regget2): Likewise.
23004 (grub_ata_check_ready): Likewise.
23005 (grub_ata_wait_not_busy): Remove static, exported in
23006 include/grub/ata.h.
23007 (grub_ata_wait_drq): Likewise.
23008 (grub_ata_pio_read): Likewise.
23010 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
23011 function for hdparm.mod.
23013 * include/grub/ata.h: New file, contains declarations from
23015 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
23017 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
23018 (grub_disk_ata_pass_through): New exported variable.
23020 * kern/disk.c (grub_disk_ata_pass_through): New variable.
23022 2009-02-13 Colin D Bennett <colin@gibibit.com>
23024 Support multiple fallback entries, and provide an API to support
23025 executing default+fallback menu entries. Renamed the `terminal' menu
23028 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
23029 variable declaration.
23030 (grub_menu_execute_callback): New structure declaration.
23031 (grub_menu_execute_callback_t): New typedef.
23032 (grub_menu_execute_with_fallback): New function declaration.
23033 (grub_menu_get_entry): Likewise.
23034 (grub_menu_get_timeout): Likewise.
23035 (grub_menu_set_timeout): Likewise.
23037 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
23039 * normal/menu.c (grub_wait_after_message): Moved to
23040 `normal/menu_text.c'.
23041 (draw_border): Likewise.
23042 (print_message): Likewise.
23043 (print_entry): Likewise.
23044 (print_entries): Likewise.
23045 (grub_menu_init_page): Likewise.
23046 (get_entry_number): Likewise.
23047 (print_timeout): Likewise.
23048 (run_menu): Likewise.
23049 (grub_menu_execute_entry): Likewise.
23050 (show_text_menu): Likewise.
23051 (get_and_remove_first_entry_number): New function.
23052 (grub_menu_execute_with_fallback): Likewise.
23053 (get_entry): Renamed to ...
23054 (grub_menu_get_entry): .. this and made it global.
23055 (get_timeout): Renamed to ...
23056 (grub_menu_get_timeout): ... this and made it global.
23057 (set_timeout): Renamed to ...
23058 (grub_menu_set_timeout): ... this and made it global.
23059 (grub_normal_terminal_menu_viewer): Renamed to ...
23060 (grub_normal_text_menu_viewer): ... this.
23062 * normal/menu_text.c: New file. Extracted text-menu-specific code
23063 from normal/menu.c.
23065 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
23066 (normal_mod_SOURCES): Likewise.
23068 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23069 (normal_mod_SOURCES): Likewise.
23071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23072 (normal_mod_SOURCES): Likewise.
23074 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
23075 (normal_mod_SOURCES): Likewise.
23077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23078 (normal_mod_SOURCES): Likewise.
23080 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23081 (normal_mod_SOURCES): Likewise.
23083 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23084 (normal_mod_SOURCES): Likewise.
23086 2009-02-11 Robert Millan <rmh@aybabtu.com>
23088 * util/grub.d/00_header.in: Update old reference to `font' command.
23090 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
23092 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
23094 Based on patch from Javier Martín.
23096 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
23098 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
23099 to avoid false positives with FAT.
23100 (grub_fstest_SOURCES): Likewise.
23101 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23102 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23104 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23105 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23106 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23108 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
23110 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
23111 bpb.version_specific.fat12_or_fat16.fstype and
23112 bpb.version_specific.fat32.fstype.
23114 2009-02-08 Robert Millan <rmh@aybabtu.com>
23116 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
23118 2009-02-08 Robert Millan <rmh@aybabtu.com>
23120 * Makefile.in (host_os, host_cpu): New variables.
23121 (target_os): Remove. Update all users.
23123 2009-02-08 Marco Gerards <marco@gnu.org>
23125 * Makefile.in (enable_grub_emu_usb): New variable.
23126 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
23127 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
23128 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
23129 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
23130 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
23131 `usbtest.mod' and `usbms.mod'.
23132 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
23133 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
23134 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
23135 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
23136 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
23139 * disk/usbms.c: New file.
23141 * include/grub/usb.h: Likewise.
23143 * include/grub/usbtrans.h: Likewise.
23145 * include/grub/usbdesc.h: Likewise.
23147 * bus/usb/usbtrans.c: Likewise.
23149 * bus/usb/ohci.c: Likewise.
23151 * bus/usb/uhci.c: Likewise.
23153 * bus/usb/usbhub.c: Likewise.
23155 * bus/usb/usb.c: Likewise.
23157 * commands/usbtest.c: Likewise.
23159 * util/usb.c: Likewise.
23161 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
23163 * configure.ac: Test for libusb presence.
23165 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
23167 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
23169 * kern/mm.c: Add more comments.
23171 2009-02-08 Robert Millan <rmh@aybabtu.com>
23173 Patch from Javier Martín.
23174 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
23175 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
23177 2009-02-08 Robert Millan <rmh@aybabtu.com>
23179 * fs/cpio.c: Split tar functionality to ...
23180 * fs/tar.c: ... here (new file). Update all users.
23182 2009-02-07 Robert Millan <rmh@aybabtu.com>
23184 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
23185 backward-incompatible features.
23187 Based on patch from Javier Martín, with some adjustments.
23189 2009-02-07 Michael Scherer <misc@mandriva.org>
23191 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
23193 2009-02-07 Robert Millan <rmh@aybabtu.com>
23195 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
23196 position of `disk/lvm.c' to ensure grub_init_all() always picks it
23197 after the RAID stuff.
23199 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
23201 Fixes problem when running vbetest command as reported by
23202 Vladimir Serbinenko <phcoder@gmail.com>.
23204 * (grub_vbe_set_video_mode): Fixed problem with text modes.
23206 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
23208 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
23209 /dev/md/NpN style mdraid devices.
23211 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23213 * util/unifont2pff.rb: Remove.
23215 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23217 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
23220 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23222 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
23223 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23224 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23225 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23227 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23228 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23230 2009-02-02 Christian Franke <franke@computer.org>
23232 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
23234 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
23236 * INSTALL: Note that we now require at least autoconf 2.59 and
23237 that LZO is optional.
23239 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23241 Base on patch on bug #24154 created by Tomas Tintera
23242 <trosos@seznam.cz>.
23244 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
23246 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23248 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
23249 <bero@arklinux.org>.
23251 * normal/parser.y (script_init): Add missing semicolon.
23253 2009-01-31 Colin D Bennett <colin@gibibit.com>
23255 * normal/main.c: Add include to grub/menu_viewer.h.
23256 (free_menu_entry_classes): Added.
23257 (grub_normal_menu_addentry): Added class property handling.
23258 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
23259 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
23261 * normal/menu_viewer.c: New file.
23263 * normal/menu.c (run_menu_entry): Renamed to ...
23264 (grub_menu_execute_entry): ... this and made it as global.
23265 (grub_menu_run): Renamed to ...
23266 (show_text_menu): ... this and made it local.
23267 (show_text_menu): Adapt to new function names.
23268 (grub_normal_terminal_menu_viewer): New global variable.
23270 * include/grub/menu.h: New file.
23272 * include/grub/menu_viewer.h: New file.
23274 * include/grub/normal.h: Added include to grub/menu.h.
23275 (grub_menu_entry): Moved to include/grub/menu.h.
23276 (grub_menu_entry_t): Likewise.
23277 (grub_menu): Likewise.
23278 (grub_menu_t): Likewise.
23279 (grub_normal_terminal_menu_viewer): Added.
23280 (grub_menu_execute_entry): Likewise.
23281 (grub_menu_run): Removed.
23283 * DISTLIST: Added include/grub/menu.h.
23284 Added include/grub/menu_viewer.h.
23285 Added normal/menu_viewer.c.
23287 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
23289 * normal/execute.c (grub_script_execute_menuentry): Changed to use
23290 arglist for menutitle arguments.
23292 * normal/main.c (grub_normal_menu_addentry): Likewise.
23294 * normal/parser.y (menuentry): Likewise.
23296 * normal/script.c (grub_script_create_cmdmenu): Likewise.
23298 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
23299 (grub_script_create_cmdmenu): Likewise.
23301 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
23303 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
23306 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
23308 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
23310 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
23312 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23314 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23316 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23318 2009-01-30 Christian Franke <franke@computer.org>
23320 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
23321 in option help text.
23323 2009-01-27 Pavel Roskin <proski@gnu.org>
23325 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
23327 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23329 * commands/lsmmap.c: Add include to grub/machine/memory.h.
23331 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
23333 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
23334 unregister function.
23336 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23338 * disk/scsi.c (grub_scsi_read): Fix sign problem.
23340 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
23342 * util/grub-mkfont.c (usage): Fix typo.
23344 * util/elf/grub-mkimage.c (load_modules): Fix warning.
23346 2009-01-26 Daniel Mierswa <impulze@impulze.org>
23348 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
23350 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
23352 * kern/misc.c (grub_strcasecmp): New function.
23353 (grub_strcasecmp): Use grub_size_t instead of int for length.
23355 * include/grub/misc.h: Update function prototypes.
23357 2009-01-26 Robert Millan <rmh@aybabtu.com>
23359 * configure.ac: Fix cross-compilation check.
23361 2009-01-22 Christian Franke <franke@computer.org>
23363 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
23364 (precision) digit string. Allow `.format2' without `format1' (width).
23365 Limit input chars for `%s' output to `format2' if specified. This is
23366 compatible with standard printf ().
23368 2009-01-22 Christian Franke <franke@computer.org>
23370 * disk/ata.c (grub_ata_wait_status): Replace by ...
23371 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
23372 other status bits may be invalid while BSY is asserted.
23373 (grub_ata_check_ready): New function.
23374 (grub_ata_cmd): Removed.
23375 (grub_ata_wait_drq): New function.
23376 (grub_ata_strncpy): Remove inline.
23377 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
23378 and error check now done by grub_ata_wait_drq ().
23379 (grub_ata_pio_write): Likewise.
23380 (grub_atapi_identify): Set DEV before check for !BSY. Use
23381 grub_ata_wait_drq () to wait for data.
23382 (grub_ata_device_initialize): Add status register check to
23383 detect missing SATA slave devices. Add debug messages.
23384 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
23385 (grub_atapi_packet): Set DEV before check for !BSY. Replace
23386 transfer loop by grub_ata_pio_write ().
23387 (grub_ata_identify): Set DEV before check for !BSY. Use
23388 grub_ata_wait_drq () to wait for data.
23389 (grub_ata_setaddress): Set DEV before check for !BSY.
23390 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
23391 read/write in one loop. Fix invalid command on write. Fix incomplete
23392 command on (size % batch) == 0. Add missing error check after write of
23393 last block. Add debug messages.
23394 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
23396 2009-01-19 Christian Franke <franke@computer.org>
23398 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
23399 (GRUB_ATAPI_IREASON_*): Likewise.
23400 (grub_ata_pio_write): Fix timeout error return.
23401 (grub_atapi_identify): Add grub_ata_wait () after cmd.
23402 (grub_atapi_wait_drq): New function.
23403 (grub_atapi_packet): New parameter `size'.
23404 Use grub_atapi_wait_drq () and direct write instead of
23405 grub_ata_pio_write ().
23406 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
23407 reads the number of bytes requested by the device for each DRQ
23409 (grub_atapi_write): Remove old implementation, return not
23410 implemented instead.
23412 2009-01-19 Christian Franke <franke@computer.org>
23414 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
23415 of 512 to calculate data size.
23416 (grub_scsi_read12): Likewise.
23417 (grub_scsi_write10): Likewise.
23418 (grub_scsi_write12): Likewise.
23419 (grub_scsi_read): Adjust size according to blocksize.
23420 Add checks for invalid blocksize and unaligned transfer.
23422 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
23424 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
23426 * term/gfxterm.c (write_char): Fix background rendering for wide
23429 2009-01-19 Robert Millan <rmh@aybabtu.com>
23431 * config.guess: Update to latest version from config git.
23432 * config.sub: Likewise.
23434 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
23436 * Makefile.in: Change font compilation to use new grub-mkfont instead
23439 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
23440 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
23441 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23442 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23443 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
23444 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
23445 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
23446 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
23447 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23449 2009-01-16 Christian Franke <franke@computer.org>
23451 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
23452 (enum grub_ata_timeout_milliseconds): New enum.
23453 (grub_ata_wait_status): Add parameter milliseconds.
23454 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
23455 recovery from timed-out commands.
23456 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
23457 return grub_errno instead of REG_ERROR.
23458 (grub_ata_pio_write): Add parameter milliseconds.
23459 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
23460 Pass milliseconds to grub_ata_wait_status () and
23461 grub_ata_pio_read ().
23462 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
23463 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
23464 grub_ata_wait_status (). Fix IDENTIFY timeout check.
23465 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
23466 It is not suitable for device detection, because DEV bit is ignored,
23467 the command may run too long, and not all devices set the signature
23469 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
23470 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
23471 Fix device selection, DEV bit must be set first to address the registers
23472 of the correct device.
23473 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
23474 grub_ata_pio_read/write ().
23475 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
23476 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
23478 2009-01-13 Carles Pina i Estany <carles@pina.cat>
23480 * util/grub-editenv.c (main): Use fseeko(), not fseek().
23482 2009-01-13 Bean <bean123ch@gmail.com>
23484 * util/grub-mkfont.c (write_font): forget to remove some debug code.
23486 2009-01-13 Bean <bean123ch@gmail.com>
23488 * Makefile.in: (enable_grub_mkfont): New variable.
23489 (freetype_cflags): Likewise.
23490 (freetype_libs): Likewise.
23492 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
23493 (grub_mkfont_SOURCES): New variable.
23494 (grub_mkfont_CFLAGS): Likewise.
23495 (grub_mkfont_LDFLAGS): Likewise.
23497 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
23498 library if `--enable-grub-mkfont' is requested.
23499 (enable_grub_mkfont): New variable.
23500 (freetype_cflags): Likewise.
23501 (freetype_libs): Likewise.
23503 * util/grub-mkfont.c: New file.
23505 2009-01-12 Christian Franke <franke@computer.org>
23507 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
23508 mode check. Fix setting of compat_use[].
23510 2009-01-10 Robert Millan <rmh@aybabtu.com>
23512 Update a few copyright years which we forgot to do in 2008 (only for
23513 files whose changes made in 2008 were copyright-significant)
23515 * Makefile.in: Add 2008 to Copyright line.
23516 * disk/ieee1275/ofdisk.c: Likewise.
23517 * disk/efi/efidisk.c: Likewise.
23518 * kern/dl.c: Likewise.
23519 * kern/sparc64/ieee1275/init.c: Likewise.
23520 * kern/mm.c: Likewise.
23521 * kern/efi/mm.c: Likewise.
23522 * boot/i386/pc/boot.S: Likewise.
23523 * genfslist.sh: Likewise.
23524 * fs/iso9660.c: Likewise.
23525 * fs/hfs.c: Likewise.
23526 * fs/jfs.c: Likewise.
23527 * fs/minix.c: Likewise.
23528 * fs/ufs.c: Likewise.
23529 * gensymlist.sh.in: Likewise.
23530 * genkernsyms.sh.in: Likewise.
23531 * include/grub/misc.h: Likewise.
23532 * include/grub/types.h: Likewise.
23533 * include/grub/symbol.h: Likewise.
23534 * include/grub/elf.h: Likewise.
23535 * include/grub/kernel.h: Likewise.
23536 * include/grub/disk.h: Likewise.
23537 * include/grub/dl.h: Likewise.
23538 * include/grub/i386/linux.h: Likewise.
23539 * include/grub/i386/pc/biosdisk.h: Likewise.
23540 * include/grub/efi/api.h: Likewise.
23541 * include/grub/efi/pe32.h: Likewise.
23542 * include/grub/util/misc.h: Likewise.
23543 * normal/execute.c: Likewise.
23544 * normal/arg.c: Likewise.
23545 * normal/completion.c: Likewise.
23546 * normal/lexer.c: Likewise.
23547 * normal/parser.y: Likewise.
23548 * normal/misc.c: Likewise.
23549 * commands/i386/pc/vbeinfo.c: Likewise.
23550 * commands/hexdump.c: Likewise.
23551 * commands/terminal.c: Likewise.
23552 * commands/ls.c: Likewise.
23553 * commands/help.c: Likewise.
23554 * partmap/pc.c: Likewise.
23555 * loader/efi/chainloader.c: Likewise.
23556 * loader/multiboot_loader.c: Likewise.
23557 * loader/i386/pc/multiboot2.c: Likewise.
23558 * term/efi/console.c: Likewise.
23559 * term/i386/pc/serial.c: Likewise.
23560 * util/lvm.c: Likewise.
23561 * util/console.c: Likewise.
23562 * util/i386/efi/grub-mkimage.c: Likewise.
23563 * util/raid.c: Likewise.
23565 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
23567 * commands/videotest.c: Removed include to grub/machine/memory.h.
23569 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
23570 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
23571 (video_mod_SOURCES): Removed.
23572 (video_mod_CFLAGS): Likewise.
23573 (video_mod_LDFLAGS): Likewise.
23574 (gfxterm_mod_SOURCES): Likewise.
23575 (gfxterm_mod_CFLAGS): Likewise.
23576 (gfxterm_mod_LDFLAGS): Likewise.
23577 (videotest_mod_SOURCES): Likewise.
23578 (videotest_mod_CFLAGS): Likewise.
23579 (videotest_mod_LDFLAGS): Likewise.
23580 (bitmap_mod_SOURCES): Likewise.
23581 (bitmap_mod_CFLAGS): Likewise.
23582 (bitmap_mod_LDFLAGS): Likewise.
23583 (tga_mod_SOURCES): Likewise.
23584 (tga_mod_CFLAGS): Likewise.
23585 (tga_mod_LDFLAGS): Likewise.
23586 (jpeg_mod_SOURCES): Likewise.
23587 (jpeg_mod_CFLAGS): Likewise.
23588 (jpeg_mod_LDFLAGS): Likewise.
23589 (png_mod_SOURCES): Likewise.
23590 (png_mod_CFLAGS): Likewise.
23591 (png_mod_LDFLAGS): Likewise.
23593 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
23594 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
23595 (video_mod_SOURCES): Added.
23596 (video_mod_CFLAGS): Likewise.
23597 (video_mod_LDFLAGS): Likewise.
23598 (videotest_mod_SOURCES): Likewise.
23599 (videotest_mod_CFLAGS): Likewise.
23600 (videotest_mod_LDFLAGS): Likewise.
23601 (bitmap_mod_SOURCES): Likewise.
23602 (bitmap_mod_CFLAGS): Likewise.
23603 (bitmap_mod_LDFLAGS): Likewise.
23604 (tga_mod_SOURCES): Likewise.
23605 (tga_mod_CFLAGS): Likewise.
23606 (tga_mod_LDFLAGS): Likewise.
23607 (jpeg_mod_SOURCES): Likewise.
23608 (jpeg_mod_CFLAGS): Likewise.
23609 (jpeg_mod_LDFLAGS): Likewise.
23610 (png_mod_SOURCES): Likewise.
23611 (png_mod_CFLAGS): Likewise.
23612 (png_mod_LDFLAGS): Likewise.
23613 (gfxterm_mod_SOURCES): Likewise.
23614 (gfxterm_mod_CFLAGS): Likewise.
23615 (gfxterm_mod_LDFLAGS): Likewise.
23617 * term/gfxterm.c: Removed include to grub/machine/memory.h,
23618 grub/machine/console.h.
23620 2009-01-04 Jerone Young <jerone@gmail.com>
23622 Make on screen instructions clearer
23624 Based on patch created by Jidanni <jidanni@jidanni.org>
23626 * normal/menu.c: print clearer instructions on the screen
23628 2009-01-02 Colin D Bennett <colin@gibibit.com>
23632 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
23633 build system and fixed gfxterm.c to work with different sized fonts.
23635 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
23637 * configure: Re-generated.
23639 * DISTLIST: Removed font/manager.c.
23641 Added font/font_cmd.c.
23643 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
23646 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
23648 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
23650 * kern/term.c: Changed users of grub_utf8_to_ucs4.
23652 * normal/menu.c: Likewise.
23654 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
23655 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
23657 * include/grub/font.h: Replaced with new file.
23659 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
23660 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
23661 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
23662 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
23663 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
23664 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
23665 fg_red, fg_green, fg_blue, fg_alpha.
23666 (grub_video_adapter): Removed blit_glyph.
23667 (grub_video_blit_glyph): Removed.
23669 * font/manager.c: Removed file.
23671 * font/font.c: New file.
23673 * font/font_cmd.c: Likewise.
23675 * video/video.c (grub_video_blit_glyph): Removed.
23677 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
23678 (grub_video_vbe_map_rgba): Likewise.
23679 (grub_video_vbe_unmap_color_int): Likewise.
23680 (grub_video_vbe_blit_glyph): Removed.
23681 (grub_video_vbe_adapter): Removed blit_glyph.
23683 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
23684 (get_pixel): Likewise.
23685 (set_pixel): Likewise.
23687 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
23689 * term/gfxterm.c: Adapted to new font engine.
23691 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
23693 * term/i386/pc/vga.c: Likewise.
23695 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
23697 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
23699 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23701 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23703 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
23705 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
23707 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
23709 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
23711 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23713 * util/grub.d/00_header.in: Changed to use new loadfont command.
23715 * util/grub-mkconfig_lib.in: Changed font extension.
23717 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
23719 * util/getroot.c (grub_util_get_grub_dev): Add support for
23720 /dev/md/dNNpNN style partitionable mdraid devices.
23722 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
23724 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
23725 at a time limit of the PXE TFTP API correctly.
23726 (grub_pxefs_close): Likewise.
23728 2008-11-29 Robert Millan <rmh@aybabtu.com>
23730 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
23731 grub_ata_device_initialize() calls.
23733 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
23735 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
23737 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
23739 2008-11-28 Robert Millan <rmh@aybabtu.com>
23741 Fix build on powerpc-ieee1275. Based on patch created by
23742 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
23743 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23744 `kern/ieee1275/mmap.c'.
23745 * include/grub/powerpc/ieee1275/memory.h: New file.
23747 Provide grub-install on coreboot.
23748 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
23749 (grub_install_SOURCES): New variable.
23750 * util/i386/pc/grub-install.in: Add a few condition checks to make it
23751 usable on coreboot.
23753 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
23755 * util/grub-fstest.c (grub_term_get_current_input): Change return type
23756 to `grub_term_input_t'.
23757 (grub_term_get_current_output): Change return type to
23758 `grub_term_output_t'.
23760 2008-11-22 Robert Millan <rmh@aybabtu.com>
23762 Fix breakage on coreboot due to declaration mismatch.
23763 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
23764 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
23765 grub_vga_text_cls().
23767 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
23768 comments. Avoid copying one more byte than necessary (just in case).
23770 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
23771 to 0x200000 (avoids trouble with some OFW implementations, and matches
23772 with the one in Yaboot).
23773 Reported by Manoel Abranches
23775 2008-11-20 Robert Millan <rmh@aybabtu.com>
23777 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
23778 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
23780 * util/grub-mkconfig_lib.in (grub_warn): New function.
23781 (convert_system_path_to_grub_path): Use grub_warn() when issuing
23782 warnings, to obtain consistent formatting.
23783 * util/grub.d/00_header.in: Likewise.
23784 * util/update-grub_lib.in: Likewise.
23786 * loader/i386/linux.c (allocate_pages): Fix a warning.
23787 Move comment text to `#error' stanza.
23789 Harmonize ieee1275's grub_available_iterate() with the generic
23790 grub_machine_mmap_iterate() interface (fixes a recently-introduced
23791 build problem on i386-ieee1275):
23792 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
23793 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
23794 parameter `type'. Update all users of this function.
23795 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
23796 `kern/ieee1275/mmap.c'.
23797 * kern/ieee1275/init.c
23798 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
23800 (grub_machine_mmap_iterate): ... this.
23801 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
23802 return type to `grub_err_t'. Update all implementations of this
23803 function prototype.
23804 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
23807 Add `lsmmap' command (lists firmware-provided memory map):
23808 * commands/lsmmap.c: New file.
23809 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
23810 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
23812 * conf/powerpc-ieee1275.rmk: Likewise.
23813 * conf/i386-coreboot.rmk: Likewise.
23814 * conf/i386-ieee1275.rmk: Likewise.
23816 2008-11-19 Robert Millan <rmh@aybabtu.com>
23818 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
23819 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
23820 constraints to initrd allocation (based on code from
23821 loader/i386/pc/linux.c). Without them, initrd was allocated too high
23822 for Linux to find it.
23824 2008-11-14 Robert Millan <rmh@aybabtu.com>
23826 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
23827 order to cope with duplicate slashes.
23829 2008-11-14 Robert Millan <rmh@aybabtu.com>
23831 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
23832 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
23833 don't want to mess with lower memory, because it is used in the Linux
23836 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
23837 an appropriate place in lower memory, between 0x10000 and 0x90000,
23838 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
23839 is in our heap (probably as a result of it being corrupted during
23840 decompression). Add #error instance with comment to explain why this
23841 loader isn't currently usable on PC/BIOS.
23843 2008-11-14 Robert Millan <rmh@aybabtu.com>
23845 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
23846 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
23848 2008-11-12 Robert Millan <rmh@aybabtu.com>
23850 Make loader/i386/linux.c buildable on i386-pc (although disabled).
23852 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
23853 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
23855 * include/grub/i386/pc/memory.h: ... to here.
23857 2008-11-12 Robert Millan <rmh@aybabtu.com>
23859 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
23862 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
23863 (grub_console_cur_color, grub_console_real_putchar)
23864 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
23865 (grub_console_setcolorstate, grub_console_setcolor)
23866 (grub_console_getcolor): Move from here ...
23867 * include/grub/i386/vga_common.h: ... to here (new file).
23869 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
23870 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
23871 `<grub/i386/io.h>'.
23872 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
23873 `<grub/i386/vga_common.h>'.
23875 2008-11-12 Robert Millan <rmh@aybabtu.com>
23877 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
23878 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
23879 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
23881 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
23882 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
23884 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
23885 grub_console_init() with call to grub_vga_text_init().
23886 (grub_machine_fini): Replace call to
23887 grub_console_fini() with call to grub_vga_text_fini() and
23888 grub_at_keyboard_fini().
23890 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
23891 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
23892 (grub_console_setcolorstate, grub_console_setcolor)
23893 (grub_console_getcolor): New function prototypes.
23895 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
23896 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
23897 (grub_vga_text_setcursor): Static-ize.
23898 (grub_vga_text_term): New structure.
23899 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
23901 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
23902 (grub_console_cur_color, grub_console_standard_color)
23903 (grub_console_normal_color, grub_console_highlight_color)
23904 (map_char, grub_console_putchar, grub_console_getcharwidth)
23905 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
23906 (grub_console_getcolor): Move from here ...
23907 * term/i386/vga_common.c: ... to here (same function names).
23909 2008-11-12 Robert Millan <rmh@aybabtu.com>
23911 Use newly-added Multiboot support in coreboot.
23913 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
23914 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
23916 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
23917 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
23918 (codestart): Store the MBI in `startup_multiboot_info' when we're
23919 being loaded using Multiboot.
23921 * kern/i386/coreboot/init.c (grub_machine_init): Move
23922 grub_at_keyboard_init() call to beginning of function (useful for
23923 debugging). Call grub_machine_mmap_init() before attempting to use
23924 grub_machine_mmap_iterate().
23925 (grub_lower_mem, grub_upper_mem): Move from here ...
23926 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
23929 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
23930 function prototype.
23932 2008-11-12 Robert Millan <rmh@aybabtu.com>
23934 Fix a regression introduced by the at_keyboard.mod split. Because
23935 some terminals are default on some platforms and non-default on
23936 others, the first terminal being registered determines which is
23937 going to be default.
23939 * kern/term.c (grub_term_register_input): If this is the first
23940 terminal being registered, set it as the current one.
23941 (grub_term_register_output): Likewise.
23943 * term/efi/console.c (grub_console_init): Do not call
23944 grub_term_set_current_output() or grub_term_set_current_input().
23945 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
23946 * term/i386/pc/console.c (grub_console_init): Likewise.
23947 (grub_console_fini): Do not call grub_term_set_current_input()
23948 (but leave grub_term_set_current_output() to restore text mode).
23950 2008-11-10 Robert Millan <rmh@aybabtu.com>
23952 * util/grub.d/00_header.in: Add backward compatibility check for
23953 versions of terminal.mod that don't understand `terminal_input' or
23956 2008-11-09 Robert Millan <rmh@aybabtu.com>
23958 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
23959 `terminal_input' / `terminal_output', not `terminal'.
23961 2008-11-08 Robert Millan <rmh@aybabtu.com>
23963 * Makefile.in (include_DATA): Fix srcdir=. assumption.
23964 (DISTCLEANFILES): Add `build_env.mk'.
23966 2008-11-08 Robert Millan <rmh@aybabtu.com>
23968 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
23969 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
23970 members. Update all users.
23971 * util/console.c (grub_ncurses_term): Split in ...
23972 (grub_ncurses_term_input): ... this, and ...
23973 (grub_ncurses_term_output): ... this. Update all users.
23974 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
23976 2008-11-08 Robert Millan <rmh@aybabtu.com>
23978 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
23979 (PKGDATA): Add $(pkgdata_SRCDIR).
23980 (pkglib_BUILDDIR): New variable.
23981 (pkgdata_SRCDIR): New variable.
23982 (build_env.mk): New target.
23983 (include_DATA): New variable.
23984 (install-local): Install $(include_DATA) files in $(includedir).
23986 2008-11-07 Pavel Roskin <proski@gnu.org>
23988 * gendistlist.sh: Use C locale for sorting to ensure consistent
23989 output on all systems.
23991 * util/grub.d/00_header.in: Remove incorrect space before
23994 2008-11-07 Robert Millan <rmh@aybabtu.com>
23996 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
23998 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
23999 * loader/multiboot_loader.c (find_multi_boot2_header): New function
24000 (based on find_multi_boot1_header).
24001 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
24002 using find_multi_boot2_header(), and abort if neither Multiboot or
24003 Multiboot headers were found.
24005 2008-11-07 Robert Millan <rmh@aybabtu.com>
24007 Modularize at_keyboard.mod:
24009 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
24010 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24011 (at_keyboard_mod_LDFLAGS): New variables.
24013 Actual terminal split:
24015 * include/grub/term.h (struct grub_term): Split in ...
24016 (struct grub_term_input): ... this, and ...
24017 (struct grub_term_output): ... this. Update all users.
24018 (grub_term_set_current): Split in ...
24019 (grub_term_set_current_input): ... this, and ...
24020 (grub_term_set_current_output): ... this.
24021 (grub_term_get_current): Split in ...
24022 (grub_term_get_current_input): ... this, and ...
24023 (grub_term_get_current_output): ... this.
24024 (grub_term_register): Split in ...
24025 (grub_term_register_input): ... this, and ...
24026 (grub_term_register_output): ... this.
24027 (grub_term_unregister): Split in ...
24028 (grub_term_unregister_input): ... this, and ...
24029 (grub_term_unregister_output): ... this.
24030 (grub_term_iterate): Split in ...
24031 (grub_term_iterate_input): ... this, and ...
24032 (grub_term_iterate_output): ... this.
24034 * kern/term.c (grub_term_list): Split in ...
24035 (grub_term_list_input): ... this, and ...
24036 (grub_term_list_output): ... this. Update all users.
24037 (grub_cur_term): Split in ...
24038 (grub_cur_term_input): ... this, and ...
24039 (grub_cur_term_output): ... this. Update all users.
24040 (grub_term_set_current): Split in ...
24041 (grub_term_set_current_input): ... this, and ...
24042 (grub_term_set_current_output): ... this.
24043 (grub_term_get_current): Split in ...
24044 (grub_term_get_current_input): ... this, and ...
24045 (grub_term_get_current_output): ... this.
24046 (grub_term_register): Split in ...
24047 (grub_term_register_input): ... this, and ...
24048 (grub_term_register_output): ... this.
24049 (grub_term_unregister): Split in ...
24050 (grub_term_unregister_input): ... this, and ...
24051 (grub_term_unregister_output): ... this.
24052 (grub_term_iterate): Split in ...
24053 (grub_term_iterate_input): ... this, and ...
24054 (grub_term_iterate_output): ... this.
24056 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
24057 a check for input and one for output (and only attempt to get keys
24058 from user when input works).
24060 * util/grub-probe.c (grub_term_get_current): Split in ...
24061 (grub_term_get_current_input): ... this, and ...
24062 (grub_term_get_current_output): ... this.
24063 * util/grub-fstest.c: Likewise.
24064 * util/i386/pc/grub-setup.c: Likewise.
24065 * util/grub-editenv.c: Likewise.
24067 Portability adjustments:
24069 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
24070 `term/i386/pc/at_keyboard.c'.
24071 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
24072 grub_keyboard_controller_init() (now handled by terminal .init).
24073 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
24074 grub_at_keyboard_init().
24075 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
24076 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
24077 at_keyboard.mod via input terminal interface).
24078 * include/grub/i386/coreboot/console.h: Convert into a stub for
24079 `<grub/i386/pc/console.h>'.
24081 Migrate full terminals to new API:
24083 * term/efi/console.c (grub_console_term): Split into ...
24084 (grub_console_term_input): ... this, and ...
24085 (grub_console_term_output): ... this. Update all users.
24086 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
24087 (grub_ofconsole_init): Split into ...
24088 (grub_ofconsole_init_input): ... this, and ...
24089 (grub_ofconsole_init_output): ... this.
24090 (grub_ofconsole_term): Split into ...
24091 (grub_ofconsole_term_input): ... this, and ...
24092 (grub_ofconsole_term_output): ... this. Update all users.
24093 * term/i386/pc/serial.c (grub_serial_term): Split into ...
24094 (grub_serial_term_input): ... this, and ...
24095 (grub_serial_term_output): ... this. Update all users.
24096 * term/i386/pc/console.c (grub_console_term): Split into ...
24097 (grub_console_term_input): ... this, and ...
24098 (grub_console_term_output): ... this. Update all users.
24099 (grub_console_term_input): Only enable it on PC/BIOS platform.
24100 (grub_console_init): Remove grub_keyboard_controller_init() call.
24102 Migrate input terminals to new API:
24104 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
24105 `i386' and `i386/pc' to enable build on x86_64 (this driver is
24106 i386-specific anyway).
24107 (grub_console_checkkey): Rename to ...
24108 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
24110 (grub_keyboard_controller_orig): New variable.
24111 (grub_console_getkey): Rename to ...
24112 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
24114 (grub_keyboard_controller_init): Static-ize. Save original
24115 controller value so that it can be restored ...
24116 (grub_keyboard_controller_fini): ... here (new function).
24117 (grub_at_keyboard_term): New structure.
24118 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
24121 Migrate output terminals to new API:
24123 * term/i386/pc/vga.c (grub_vga_term): Change type to
24124 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24125 members. Update all users.
24126 * term/gfxterm.c (grub_video_term): Change type to
24127 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24128 members. Update all users.
24129 * include/grub/i386/pc/console.h (grub_console_checkkey)
24130 (grub_console_getkey): Do not export (no longer needed by gfxterm,
24133 Migrate `terminal' command and userland tools to new API:
24135 * commands/terminal.c (grub_cmd_terminal): Split into ...
24136 (grub_cmd_terminal_input): ... this, and ...
24137 (grub_cmd_terminal_output): ... this.
24138 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
24139 `terminal_input' and `terminal_output'.
24140 * util/grub.d/00_header.in: Adjust `terminal' calls to new
24141 `terminal_input' / `terminal_output' API.
24142 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
24143 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
24144 provided ${GRUB_TERMINAL}, convert it).
24146 2008-11-04 Robert Millan <rmh@aybabtu.com>
24148 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
24150 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
24152 2008-11-03 Bean <bean123ch@gmail.com>
24154 * kern/elf.c (grub_elf32_load): Revert to previous code.
24155 (grub_elf64_load): Likewise.
24157 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
24159 2008-11-01 Robert Millan <rmh@aybabtu.com>
24161 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
24162 (TARGET_CPPFLAGS): Likewise.
24163 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
24165 2008-11-01 Carles Pina i Estany <carles@pina.cat>
24167 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
24169 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
24171 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
24172 addition of objects until the code is not going to be able to fail.
24174 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
24176 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
24177 (add a missing NULL check, and correct them by moving the pointer
24178 operations after the actual check).
24180 2008-10-29 Robert Millan <rmh@aybabtu.com>
24182 * util/i386/pc/grub-install.in: Handle empty string as output from
24183 make_system_path_relative_to_its_root().
24185 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
24187 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
24188 circular metadata worst case scenario. If the metadata is circular
24189 then copy the wrap in place.
24190 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
24191 project lib/format_text/layout.h
24192 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
24194 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
24196 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
24198 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
24200 * util/update-grub_lib.in: Mention filename in warning message.
24202 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
24204 * NEWS: Update for rename of update-grub to grub-mkconfig.
24206 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
24208 * util/update-grub_lib.in: Copy to ...
24209 * util/grub-mkconfig_lib.in: ... this. Update all users.
24210 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
24211 * util/update-grub.in: Rename to ...
24212 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
24213 option. Add `--output' option to allow users to specify the generated
24214 configuration file. Default to stdout.
24215 (update_grub_dir): Rename to ...
24216 (grub_mkconfig_dir): ... this.
24217 (grub_cfg): Default to an empty string.
24218 * conf/common.rmk (update-grub): Rename to ...
24219 (grub-mkconfig): ... this.
24220 (update-grub_lib): Copy to ...
24221 (grub-mkconfig_lib): ... this.
24222 (update-grub_SCRIPTS): Copy to ...
24223 (grub-mkconfig_SCRIPTS): ... this. Update all users.
24224 (update-grub_DATA): Rename to ...
24225 (grub-mkconfig_DATA): ... this.
24227 2008-09-28 Robert Millan <rmh@aybabtu.com>
24229 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
24230 to `modified'. Add the real `created' field.
24231 (grub_iso9660_uuid): Use `modified' rather than `created' for
24232 constructing the UUID.
24234 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
24236 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
24237 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
24239 2008-09-28 Bean <bean123ch@gmail.com>
24241 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
24242 Thanks to Christian Franke for finding this bug.
24244 2008-09-25 Robert Millan <rmh@aybabtu.com>
24246 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
24247 instances of grub_util_get_disk_name() (see previous commit).
24249 2008-09-25 Robert Millan <rmh@aybabtu.com>
24251 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
24252 `util/i386/get_disk_name.c'.
24253 * conf/i386-efi.rmk: Likewise.
24254 * conf/x86_64-efi.rmk: Likewise.
24255 * conf/i386-coreboot.rmk: Likewise.
24256 * conf/i386-ieee1275.rmk: Likewise.
24257 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
24258 `util/ieee1275/get_disk_name.c'.
24259 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
24260 * util/ieee1275/get_disk_name.c: Remove file.
24261 * util/i386/get_disk_name.c: Remove file.
24262 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
24263 "hd%d" for device.map entries, rather than using
24264 grub_util_get_disk_name().
24266 2008-09-24 Carles Pina i Estany <carles@pina.cat>
24268 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
24270 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
24272 2008-09-24 Carles Pina i Estany <carles@pina.cat>
24274 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
24276 (GRUB_TERM_PPAGE): Changed to 0x4900.
24278 2008-09-24 Robert Millan <rmh@aybabtu.com>
24280 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
24281 macros (they were i386-pc specific).
24282 * include/grub/sparc64/ieee1275/console.h: Likewise.
24283 * include/grub/efi/console.h: Likewise.
24285 2008-09-22 Bean <bean123ch@gmail.com>
24287 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
24288 resident and in attribute list.
24290 * include/grub/ntfs.h (BMP_LEN): Removed.
24292 2008-09-22 Bean <bean123ch@gmail.com>
24294 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
24295 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
24297 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
24298 error occurs, as grub_disk_open will call grub_disk_close, which will
24299 call p->close (scsi).
24301 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
24303 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
24304 (AC_PREREQ): Bumped to 2.59.
24305 (AC_TRY_COMPILE): Replace obsolete macro with ...
24306 (AC_COMPILE_IFELSE): ... this.
24307 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
24308 (AC_LINK_IFELSE): ... this.
24310 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
24312 * autogen.sh: Add a call to `gendistlist.sh'.
24314 2008-09-19 Christian Franke <franke@computer.org>
24316 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
24317 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
24318 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
24319 Export __enable_execute_stack() to modules.
24320 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
24323 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
24325 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
24328 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
24330 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
24331 #include <grub/util/hostdisk.h>.
24333 2008-09-08 Robert Millan <rmh@aybabtu.com>
24335 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
24336 segments when their filesz is zero (grub_file_read() interprets
24337 zero-size as "read until EOF", which results in memory corruption).
24338 Use `lowest_segment' rather than 0 for calculating the current
24339 segment load address.
24341 2008-09-08 Robert Millan <rmh@aybabtu.com>
24343 * util/hostdisk.c (open_device): Replace a grub_util_info() call
24344 with grub_dprintf("hostdisk", ...), as it was so verbose that it
24345 clobbered useful information.
24347 2008-09-08 Robert Millan <rmh@aybabtu.com>
24349 * include/grub/util/biosdisk.h: Move to ...
24350 * include/grub/util/hostdisk.h: ... here. Update all users.
24351 * util/biosdisk.c: Move to ...
24352 * util/hostdisk.c: ... here. Update all users.
24354 2008-09-07 Robert Millan <rmh@aybabtu.com>
24356 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
24358 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
24359 and length can be stored directly in the `mbi->mmap_addr' and
24360 `mbi->mmap_length' struct fields.
24362 2008-09-07 Robert Millan <rmh@aybabtu.com>
24364 * conf/i386.rmk: New file. Provides declaration for building
24366 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
24367 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
24369 Include `conf/i386.mk'.
24370 * conf/i386-efi.rmk: Likewise.
24371 * conf/x86_64-efi.rmk: Likewise.
24372 * conf/i386-coreboot.rmk: Likewise.
24373 * conf/i386-ieee1275.rmk: Likewise.
24375 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
24377 Based on patch created by Colin D Bennett <colin@gibibit.com>.
24378 Adds optimization support for BGR based modes.
24380 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
24381 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24382 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24383 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24384 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24385 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24386 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24387 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24388 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24389 (grub_video_i386_vbeblit_index_index): Likewise.
24390 (grub_video_i386_vbeblit_replace_directN): Added.
24391 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24392 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24393 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24394 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24395 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24396 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24397 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24398 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24399 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24400 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24401 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24402 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24403 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24405 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
24406 (grub_video_i386_vbefill_R8G8B8): Likewise.
24407 (grub_video_i386_vbefill_index): Likewise.
24408 (grub_video_i386_vbefill_direct32): Added.
24409 (grub_video_i386_vbefill_direct24): Likewise.
24410 (grub_video_i386_vbefill_direct16): Likewise.
24411 (grub_video_i386_vbefill_direct8): Likewise.
24413 * include/grub/video.h (grub_video_blit_format): Removed
24414 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
24415 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
24416 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
24417 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
24418 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
24420 * video/video.c (grub_video_get_blit_format): Updated to use new
24421 blit formats. Added handling for 16 bit color modes.
24423 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
24425 (common_blitter): Updated to use new blitters.
24427 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
24429 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24430 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24431 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24432 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24433 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24434 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24435 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24436 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24437 (grub_video_i386_vbeblit_index_index): Likewise.
24438 (grub_video_i386_vbeblit_replace_directN): Added.
24439 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24440 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24441 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24442 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24443 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24444 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24445 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24446 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24447 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24448 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24449 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24450 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24451 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24453 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
24454 (grub_video_i386_vbefill_R8G8B8): Likewise.
24455 (grub_video_i386_vbefill_index): Likewise.
24456 (grub_video_i386_vbefill_direct32): Added.
24457 (grub_video_i386_vbefill_direct24): Likewise.
24458 (grub_video_i386_vbefill_direct16): Likewise.
24459 (grub_video_i386_vbefill_direct8): Likewise.
24461 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
24464 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
24467 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
24470 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
24473 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
24475 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
24478 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
24480 * fs/iso9660.c (grub_iso9660_date): New structure.
24481 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
24482 (grub_iso9660_uuid): New function.
24484 2008-09-05 Bean <bean123ch@gmail.com>
24486 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
24488 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
24489 insensitive bit for names in Win32 and Win32 & DOS namespace.
24491 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
24493 * include/grub/types.h (LONG_MAX): Likewise.
24495 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
24497 * util/getroot.c: Include <config.h>.
24498 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
24499 add support for /dev/md/N devices and handle LVM double dash escaping.
24501 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
24503 * config.guess: Update to latest version from config git.
24504 * config.sub: Likewise.
24506 2008-09-03 Robert Millan <rmh@aybabtu.com>
24508 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
24509 `disk->total_sectors'.
24511 2008-09-01 Colin D Bennett <colin@gibibit.com>
24513 * include/grub/normal.h: Fixed incorrect comment for
24514 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
24516 2008-09-01 Colin D Bennett <colin@gibibit.com>
24518 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
24519 values with defines.
24521 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
24522 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
24523 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
24524 (GRUB_VBE_MODEATTR_COLOR): Likewise.
24525 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
24526 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
24527 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
24528 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
24529 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
24530 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
24531 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
24532 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
24533 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
24534 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
24535 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
24536 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
24537 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
24538 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
24539 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
24541 2008-08-31 Robert Millan <rmh@aybabtu.com>
24543 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
24545 (grub_multiboot): Fix a few warnings.
24547 2008-08-31 Robert Millan <rmh@aybabtu.com>
24549 * loader/i386/pc/multiboot.c: Update comment not to say that
24550 boot_device support is unimplemented.
24552 2008-08-31 Robert Millan <rmh@aybabtu.com>
24554 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
24555 or memory map support are unimplemented.
24557 2008-08-31 Colin D Bennett <colin@gibibit.com>
24559 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
24561 2008-08-31 Colin D Bennett <colin@gibibit.com>
24563 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
24564 total video memory in 'vbeinfo' output; show color format details for
24567 2008-08-30 Pavel Roskin <proski@gnu.org>
24569 * util/genmoddep.c: Remove for real this time.
24570 * DISTLIST: Remove util/genmoddep.c.
24572 2008-08-30 Robert Millan <rmh@aybabtu.com>
24574 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
24575 as required by Multiboot spec (it was already 4-byte aligned, but
24578 2008-08-29 Pavel Roskin <proski@gnu.org>
24580 * kern/powerpc/ieee1275/crt0.S: Rename to ...
24581 * kern/powerpc/ieee1275/startup.S: ... this.
24582 * conf/powerpc-ieee1275.rmk: Adjust for the above.
24583 * DISTLIST: Likewise.
24585 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
24586 grub/cpu/kernel.h. Add start label for consistency with other
24587 platforms. Add grub_prefix immediately after start. Add jump
24588 to the code after grub_prefix.
24589 * include/grub/powerpc/kernel.h: Provide valid values for
24590 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
24592 2008-08-29 Bean <bean123ch@gmail.com>
24594 * configure.ac: Change host_os to cygwin for mingw.
24595 (asprintf): New check for function.
24597 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
24598 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
24600 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
24601 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
24602 sync, sleep and grub_util_get_disk_size for mingw.
24604 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
24605 to get size in mingw.
24606 (open_device): Use flag O_BINARY if it's defined.
24607 (find_root_device): Add dummy code for mingw.
24609 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
24610 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
24611 (get_scsi_disk_name): Return 0 for mingw.
24613 * util/hostfs.c: #include <grub/util/misc.h>.
24614 (grub_hostfs_open): Use "rb" flag to open file, use
24615 grub_util_get_disk_size to get disk size for mingw.
24617 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
24618 (asprintf): New function if HAVE_ASPRINTF is not set.
24619 (sync): New function for mingw.
24621 (grub_util_get_disk_size): Likewise.
24623 2008-08-28 Pavel Roskin <proski@gnu.org>
24625 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24628 2008-08-28 Robert Millan <rmh@aybabtu.com>
24630 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
24632 2008-08-28 Robert Millan <rmh@aybabtu.com>
24634 Change find_grub_drive() syntax so it doesn't prevent it from
24635 detecting NULL names as errors.
24637 * util/biosdisk.c (find_grub_drive): Move free slot search code
24639 (find_free_slot): ... to here.
24640 (read_device_map): Use find_free_slot() to search for free slots.
24642 2008-08-27 Marco Gerards <marco@gnu.org>
24644 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
24645 (scsi_mod_SOURCES): New variable.
24646 (scsi_mod_CFLAGS): Likewise
24647 (scsi_mod_LDFLAGS): Likewise.
24649 * disk/scsi.c: New file.
24651 * include/grub/scsi.h: Likewise.
24653 * include/grub/scsicmd.h: Likewise.
24655 * disk/ata.c: Include <grub/scsi.h>.
24656 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
24658 (grub_ata_iterate): Skip ATAPI devices.
24659 (grub_ata_open): Only handle ATAPI devices.
24660 (struct grub_atapi_read): Removed.
24661 (grub_atapi_readsector): Likewise.
24662 (grub_ata_read): No longer handle ATAPI devices.
24663 (grub_ata_write): Likewise.
24664 (grub_atapi_iterate): New function.
24665 (grub_atapi_read): Likewise.
24666 (grub_atapi_write): Likewise.
24667 (grub_atapi_open): Likewise.
24668 (grub_atapi_close): Likewise.
24669 (grub_atapi_dev): New variable.
24670 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
24671 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
24673 * include/grub/disk.h (enum grub_disk_dev_id): Add
24674 `GRUB_DISK_DEVICE_SCSI_ID'.
24676 2008-08-26 Robert Millan <rmh@aybabtu.com>
24678 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
24679 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
24682 2008-08-23 Bean <bean123ch@gmail.com>
24684 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
24685 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
24686 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
24687 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
24689 (raid5rec_mod_SOURCES): New macro.
24690 (raid5rec_mod_CFLAGS): Likewise.
24691 (raid5rec_mod_LDFLAGS): Likewise.
24692 (raid6rec_mod_SOURCES): Likewise.
24693 (raid6rec_mod_CFLAGS): Likewise.
24694 (raid6rec_mod_LDFLAGS): Likewise.
24695 (mdraid_mod_SOURCES): Likewise.
24696 (mdraid_mod_CFLAGS): Likewise.
24697 (mdraid_mod_LDFLAGS): Likewise.
24698 (dm_nv_mod_SOURCES): Likewise.
24699 (dm_nv_mod_CFLAGS): Likewise.
24700 (dm_nv_mod_LDFLAGS): Likewise.
24702 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
24703 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
24704 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
24706 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
24707 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
24709 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24711 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24713 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24717 * disk/raid5_recover.c: New file.
24719 * disk/raid6_recover.c: Likewise.
24721 * disk/mdraid_linux.c: Likewise.
24723 * disk/dmraid_nvidia.c: Likewise.
24725 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
24728 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
24729 calculate the size of raid device.
24730 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
24731 different layout of raid5.
24732 (grub_raid_scan_device): Remove code specific to mdraid.
24733 (grub_raid_list): New variable.
24734 (free_array): New function.
24735 (grub_raid_register): Likewise.
24736 (grub_raid_unregister): Likewise.
24737 (grub_raid_rescan): Likewise.
24738 (GRUB_MOD_INIT): Don't iterate device here.
24739 (GRUB_MOD_FINI): Use free_array to release resource.
24741 * include/grub/raid.h: Remove macro and structure specific to mdraid.
24742 (grub_raid5_recover_func_t): New function variable type.
24743 (grub_raid6_recover_func_t): Likewise.
24744 (grub_raid5_recover_func): New variable.
24745 (grub_raid6_recover_func): Likewise.
24746 (grub_raid_register): New function.
24747 (grub_raid_unregister): Likewise.
24748 (grub_raid_rescan): Likewise.
24749 (grub_raid_block_xor): Likewise.
24751 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
24752 (CMD_CRC): New macro.
24754 (read_file): Handle device as well as file.
24755 (cmd_crc): New function.
24756 (fstest): Handle multiple disks.
24757 (options): Remove part, raw and long, add root and diskcount.
24758 (usage): Add crc, remove -p, -r, -l, add -r and -c.
24759 (main): Find the first non option entry and ignore subsequent options,
24760 add handling for the new options, support multiple disks.
24762 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
24764 2008-08-23 Bean <bean123ch@gmail.com>
24766 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
24768 * genfslist.sh: Ignore kernel.mod.
24770 * genpartmaplist.sh: Likewise.
24772 2008-08-23 Robert Millan <rmh@aybabtu.com>
24774 * util/getroot.c (find_root_device): Skip anything that starts with
24775 a dot, not just directories. This avoids things like /dev/.tmp.md0.
24777 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
24779 * util/update-grub.in (GRUB_GFXMODE): Export variable.
24780 * util/grub.d/00_header.in: Allow the administrator to change default
24781 gfxmode via ${GRUB_GFXMODE}.
24783 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
24785 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
24787 2008-08-21 Robert Millan <rmh@aybabtu.com>
24789 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
24791 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
24792 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
24794 2008-08-20 Carles Pina i Estany <carles@pina.cat>
24796 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
24797 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
24799 2008-08-19 Robert Millan <rmh@aybabtu.com>
24801 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
24802 (struct grub_virtual_screen): Remove `cursor_color'.
24803 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
24805 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
24807 2008-08-18 Robert Millan <rmh@aybabtu.com>
24809 Unify (identical) linux_normal.c files.
24810 * loader/i386/efi/linux_normal.c: Move from here ...
24811 * loader/linux_normal.c: ... to here. Update all users.
24812 * loader/i386/pc/linux_normal.c: Delete. Update all users.
24813 * loader/i386/ieee1275/linux_normal.c: Likewise.
24815 2008-08-18 Robert Millan <rmh@aybabtu.com>
24817 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
24818 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
24819 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
24820 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
24821 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
24823 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
24824 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
24825 (GRUB_LINUX_CL_END_OFFSET): ... to here.
24826 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
24827 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
24828 (GRUB_EFI_CL_END_OFFSET): Rename to ...
24829 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
24830 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
24831 Initialize `params->video_cursor_x' and `params->video_cursor_y'
24832 portably using grub_getxy().
24833 Replace `-EFI' with `-bzImage' in boot message.
24835 2008-08-17 Robert Millan <rmh@aybabtu.com>
24837 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
24839 2008-08-17 Robert Millan <rmh@aybabtu.com>
24841 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
24843 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
24844 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
24845 (grub_machine_mmap_iterate): New function declaration.
24846 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
24848 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
24851 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
24852 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
24853 Move e820 parsing from here ...
24854 * kern/i386/pc/mmap.c: New file.
24855 (grub_machine_mmap_iterate): ... to here.
24857 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
24858 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
24859 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
24860 (grub_available_iterate): Redeclare to return `void', and redeclare
24861 its hook to use grub_uint64_t as addr and size parameters, and rename
24863 (grub_machine_mmap_iterate): ... this. Update all users.
24865 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
24866 to make it more readable. Rename to ...
24867 (grub_machine_mmap_iterate): ... this.
24869 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
24870 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
24871 (grub_multiboot): Allocate an extra region after the payload, and fill
24872 it with a Multiboot memory map. Adjust a.out loader to calculate size
24873 with the extra space.
24874 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
24875 with the extra space.
24877 2008-08-17 Carles Pina i Estany <carles@pina.cat>
24879 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
24881 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
24883 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
24884 mdate-sh to the list `find' searches for.
24885 * DISTLIST: Regenerated.
24887 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
24889 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
24890 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
24891 genmoddep.awk, gensymlist.sh.in.
24892 (DISTDIRS): Add bus, docs, hook, lib.
24893 * DISTLIST: Regenerated.
24894 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
24896 2008-08-16 Robert Millan <rmh@aybabtu.com>
24898 * disk/raid.c (grub_raid_init): Handle/report errors set by
24899 grub_device_iterate().
24900 * disk/lvm.c (grub_lvm_init): Likewise.
24902 2008-08-15 Bean <bean123ch@gmail.com>
24904 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24906 (datetime_mod_SOURCES): New macro.
24907 (datetime_mod_CFLAGS): Likewise.
24908 (datetime_mod_LDFLAGS): Likewise.
24909 (date_mod_SOURCES): Likewise.
24910 (date_mod_CFLAGS): Likewise.
24911 (date_mod_LDFLAGS): Likewise.
24912 (datehook_mod_SOURCES): Likewise.
24913 (datehook_mod_CFLAGS): Likewise.
24914 (datehook_mod_LDFLAGS): Likewise.
24916 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24918 (datetime_mod_SOURCES): New macro.
24919 (datetime_mod_CFLAGS): Likewise.
24920 (datetime_mod_LDFLAGS): Likewise.
24921 (date_mod_SOURCES): Likewise.
24922 (date_mod_CFLAGS): Likewise.
24923 (date_mod_LDFLAGS): Likewise.
24924 (datehook_mod_SOURCES): Likewise.
24925 (datehook_mod_CFLAGS): Likewise.
24926 (datehook_mod_LDFLAGS): Likewise.
24928 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24930 (datetime_mod_SOURCES): New macro.
24931 (datetime_mod_CFLAGS): Likewise.
24932 (datetime_mod_LDFLAGS): Likewise.
24933 (date_mod_SOURCES): Likewise.
24934 (date_mod_CFLAGS): Likewise.
24935 (date_mod_LDFLAGS): Likewise.
24936 (datehook_mod_SOURCES): Likewise.
24937 (datehook_mod_CFLAGS): Likewise.
24938 (datehook_mod_LDFLAGS): Likewise.
24940 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24942 (datetime_mod_SOURCES): New macro.
24943 (datetime_mod_CFLAGS): Likewise.
24944 (datetime_mod_LDFLAGS): Likewise.
24945 (date_mod_SOURCES): Likewise.
24946 (date_mod_CFLAGS): Likewise.
24947 (date_mod_LDFLAGS): Likewise.
24948 (datehook_mod_SOURCES): Likewise.
24949 (datehook_mod_CFLAGS): Likewise.
24950 (datehook_mod_LDFLAGS): Likewise.
24952 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24954 (datetime_mod_SOURCES): New macro.
24955 (datetime_mod_CFLAGS): Likewise.
24956 (datetime_mod_LDFLAGS): Likewise.
24957 (date_mod_SOURCES): Likewise.
24958 (date_mod_CFLAGS): Likewise.
24959 (date_mod_LDFLAGS): Likewise.
24960 (datehook_mod_SOURCES): Likewise.
24961 (datehook_mod_CFLAGS): Likewise.
24962 (datehook_mod_LDFLAGS): Likewise.
24964 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
24966 * commands/date.c: New file.
24968 * hook/datehook.c: Likewise.
24970 * include/grub/lib/datetime.h: Likewise.
24972 * include/grub/i386/cmos.h: Likewise.
24974 * lib/datetime.c: Likewise.
24976 * lib/i386/datetime.c: Likewise.
24978 * lib/efi/datetime.c: Likewise.
24980 2008-08-14 Robert Millan <rmh@aybabtu.com>
24982 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
24983 (grub_mkelfimage_SOURCES): New variable.
24984 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
24986 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
24987 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
24988 * conf/powerpc-ieee1275.rmk: Likewise.
24989 * conf/i386-ieee1275.rmk: Likewise.
24991 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
24992 * kern/i386/coreboot/init.c: Likewise.
24994 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
24995 with `<grub/cpu/kernel.h>'.
24996 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
24998 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
24999 * kern/i386/coreboot/startup.S: Likewise.
25001 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
25002 (GRUB_MOD_GAP): Remove.
25003 * include/grub/powerpc/kernel.h: New file.
25004 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
25005 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25006 * include/grub/i386/kernel.h: New file.
25007 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
25008 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
25009 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25011 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
25013 Use --directory when invoking grub_mkimage.
25015 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
25016 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
25017 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
25018 and GRUB_KERNEL_CPU_PREFIX.
25020 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
25022 * include/grub/err.h (grub_err_printf): New function prototype.
25023 * util/misc.c (grub_err_printf): New function.
25024 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
25026 * kern/err.c (grub_print_error): Use grub_err_printf.
25028 2008-08-13 Robert Millan <rmh@aybabtu.com>
25030 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
25032 2008-08-13 Robert Millan <rmh@aybabtu.com>
25034 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
25037 2008-08-12 Robert Millan <rmh@aybabtu.com>
25039 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
25040 of the relocation code from here ...
25041 (grub_multiboot): ... to here.
25042 (forward_relocator, backward_relocator): Move from here ...
25043 * kern/i386/loader.S (grub_multiboot_forward_relocator)
25044 (grub_multiboot_backward_relocator): ... to here.
25045 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
25046 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
25047 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
25048 (grub_multiboot_forward_relocator_end)
25049 (grub_multiboot_backward_relocator)
25050 (grub_multiboot_backward_relocator_end): New variables.
25052 2008-08-12 Bean <bean123ch@gmail.com>
25054 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
25056 2008-08-11 Robert Millan <rmh@aybabtu.com>
25058 * kern/i386/linuxbios/startup.S: Move from here ...
25059 * kern/i386/coreboot/startup.S: ... to here.
25061 * kern/i386/linuxbios/init.c: Move from here ...
25062 * kern/i386/coreboot/init.c: ... to here.
25064 * kern/i386/linuxbios/table.c: Move from here ...
25065 * kern/i386/coreboot/mmap.c: ... to here.
25067 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
25069 2008-08-11 Robert Millan <rmh@aybabtu.com>
25071 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
25072 errors. Leave it to the upper layer to handle them.
25074 2008-08-09 Christian Franke <franke@computer.org>
25076 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
25077 * conf/common.rmk: Install `grub-pe2elf' only if requested.
25078 Install `grub.d/10_windows' only on Cygwin.
25079 * configure.ac: Add subst of `target_os'.
25080 Check `target_os' also before setting TARGET_OBJ2ELF.
25081 Add `--enable-grub-pe2elf'.
25083 2008-08-08 Robert Millan <rmh@aybabtu.com>
25085 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25086 (grub_last_time): Change type to grub_uint64_t.
25087 (grub_disk_open): Migrate code from to using grub_get_time_ms().
25088 (grub_disk_close): Likewise.
25090 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25091 (run_menu): Migrate code from to using grub_get_time_ms().
25093 * util/misc.c (grub_get_time_ms): New function.
25095 2008-08-08 Marco Gerards <marco@gnu.org>
25097 * disk/ata.c (grub_ata_regget): Change return type to
25099 (grub_ata_regget2): Likewise.
25100 (grub_ata_wait_status): New function.
25101 (grub_ata_wait_busy): Removed function, updated all users to use
25102 `grub_ata_wait_status'.
25103 (grub_ata_wait_drq): Likewise.
25104 (grub_ata_cmd): New function.
25105 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
25107 (grub_ata_pio_write): Add error handling.
25108 (grub_atapi_identify): Likewise.
25109 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
25111 (grub_ata_identify): Use `grub_ata_cmd' and improve error
25112 handling. Actually use the detected registers. Reorder the
25113 detection logic such that it is easier to read.
25114 (grub_ata_pciinit): Do not assign the same ID to each controller.
25115 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
25117 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
25119 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
25121 2008-08-08 Marco Gerards <marco@gnu.org>
25125 2008-08-07 Bean <bean123ch@gmail.com>
25127 * include/grub/x86_64/pci.h: New file.
25129 2008-08-07 Christian Franke <franke@computer.org>
25131 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
25132 (TIMER2_GATE): Likewise.
25133 (grub_pit_wait): Add enable/disable of the timer2 gate
25134 bit of port 0x61. This fixes a possible infinite loop.
25136 2008-08-07 Bean <bean123ch@gmail.com>
25138 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
25139 kern/i386/tsc.c and kern/i386/pit.c.
25141 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
25144 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
25147 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
25149 2008-08-07 Bean <bean123ch@gmail.com>
25151 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
25153 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
25155 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
25156 multiple inclusion. Add #include <grub/types.h>.
25158 2008-08-06 Christian Franke <franke@computer.org>
25160 * conf/common.rmk: Build and install `10_windows'.
25161 * util/grub.d/10_windows.in: New script.
25163 2008-08-06 Pavel Roskin <proski@gnu.org>
25165 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
25167 2008-08-06 Robert Millan <rmh@aybabtu.com>
25169 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
25170 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
25172 2008-08-06 Bean <bean123ch@gmail.com>
25174 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
25175 (grub_pxefs_fs_int): Remove dummy definition.
25176 (grub_pxefs_open): Use data->block_size to store the current block
25178 (grub_pxefs_read): Use block size stored in data->block_size. As the
25179 value of grub_pxe_blksize can be changed after the file is opened.
25181 2008-08-06 Bean <bean123ch@gmail.com>
25183 * fs/i386/pc/pxe.c (curr_file): new variable.
25184 (grub_pxefs_open): Simply the handling of pxe file system. Don't
25185 require the dummy internal file system anymore.
25186 (grub_pxefs_read): Removed.
25187 (grub_pxefs_close): Likewise.
25188 (grub_pxefs_fs_int): Likewise.
25189 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
25190 connection when we switch file.
25191 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
25193 2008-08-06 Robert Millan <rmh@aybabtu.com>
25195 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
25197 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
25198 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
25200 * kern/i386/halt.c: New file.
25201 * kern/i386/reboot.c: Likewise.
25202 * include/grub/i386/reboot.h: Likewise.
25203 * include/grub/i386/halt.h: Likewise.
25205 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
25206 Include `<grub/cpu/halt.h>'.
25207 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
25208 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
25210 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
25211 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
25212 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
25213 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
25214 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
25215 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
25217 * include/grub/i386/at_keyboard.h: ... to here.
25219 2008-08-05 Robert Millan <rmh@aybabtu.com>
25221 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
25222 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
25223 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
25224 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25225 `kern/generic/millisleep.c'.
25227 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
25228 instead of grub_get_rtc().
25229 (grub_tsc_init): Initialize `tsc_boot_time'.
25231 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
25232 (grub_machine_init): Use grub_tsc_init() rather than
25233 installing an RTC-based handler via grub_install_get_time_ms().
25235 * kern/i386/pit.c: New file.
25236 * include/grub/i386/pit.h: Likewise.
25238 2008-08-05 Bean <bean123ch@gmail.com>
25240 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
25242 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
25243 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
25244 (pxe_mod_SOURCES): New macro.
25245 (pxe_mod_CFLAGS): Likewise.
25246 (pxe_mod_LDFLAGS): Likewise.
25247 (pxecmd_mod_SOURCES): Likewise.
25248 (pxecmd_mod_CFLAGS): Likewise.
25249 (pxecmd_mod_LDFLAGS): Likewise.
25251 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
25252 (grub_pxe_call): Likewise.
25254 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
25256 * commands/i386/pc/pxecmd.c: New file.
25258 * fs/i386/pc/pxe.c: Likewise.
25260 * include/grub/i386/pc/pxe.h: Likewise.
25262 2008-08-05 Bean <bean123ch@gmail.com>
25264 * util/console.c (grub_console_cur_color): New variable.
25265 (grub_console_standard_color): Likewise.
25266 (grub_console_normal_color): Likewise.
25267 (grub_console_highlight_color): Likewise.
25268 (color_map): Likewise.
25269 (use_color): Likewise.
25270 (NUM_COLORS): New macro.
25271 (grub_ncurses_setcolorstate): Handle color properly.
25272 (grub_ncurses_setcolor): Don't change color here, just remember the
25273 settings, color will be set in grub_ncurses_setcolorstate.
25274 (grub_ncurses_getcolor): New function.
25275 (grub_ncurses_init): Initialize color pairs.
25276 (grub_ncurses_term): New member grub_ncurses_getcolor.
25278 2008-08-05 Colin D Bennett <colin@gibibit.com>
25280 High resolution timer support. Implemented for x86 CPUs using TSC.
25281 Extracted generic grub_millisleep() so it's linked in only as needed.
25282 This requires a Pentium compatible CPU; if the RDTSC instruction is
25283 not supported, then it falls back on the generic grub_get_time_ms()
25284 implementation that uses the machine's RTC.
25286 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
25287 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25288 `kern/generic/millisleep.c'.
25290 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
25291 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
25293 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
25294 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
25296 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25298 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25299 `kern/generic/millisleep.c'.
25301 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25303 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
25305 * kern/generic/rtc_get_time_ms.c: New file.
25307 * kern/generic/millisleep.c: New file.
25309 * kern/misc.c: Don't include
25310 <kern/time.h> anymore.
25311 (grub_millisleep_generic): Removed.
25313 * commands/sleep.c (grub_interruptible_millisleep): Uses
25314 grub_get_time_ms() instead of grub_get_rtc().
25316 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
25318 (grub_cpu_is_cpuid_supported): New inline function.
25319 (grub_cpu_is_tsc_supported): New inline function.
25320 (grub_tsc_init): New function prototype.
25321 (grub_tsc_get_time_ms): New function prototype.
25323 * kern/i386/tsc.c (grub_get_time_ms): New file.
25325 * include/grub/time.h: Include <grub/types.h.
25326 (grub_millisleep_generic): Removed.
25327 (grub_get_time_ms): New prototype.
25328 (grub_install_get_time_ms): New prototype.
25329 (grub_rtc_get_time_ms): New prototype.
25331 * kern/time.c (grub_get_time_ms): New function.
25332 (grub_install_get_time_ms): New function.
25334 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
25335 <grub/time.h> anymore.
25336 (grub_millisleep): Removed.
25337 (grub_machine_init): Call grub_tsc_init.
25339 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
25340 get_time_ms() implementation.
25342 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
25343 (ieee1275_get_time_ms): New function.
25344 (grub_machine_init): Install get_time_ms() implementation.
25346 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
25347 (grub_machine_init): Call grub_tsc_init().
25348 (grub_millisleep): Removed.
25350 * kern/ieee1275/init.c (grub_millisleep): Removed.
25351 (grub_machine_init): Install ieee1275_get_time_ms()
25353 (ieee1275_get_time_ms): New function.
25354 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
25357 2008-08-05 Marco Gerards <marco@gnu.org>
25359 * disk/ata.c: Include <grub/pci.h>.
25360 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
25361 (grub_ata_initialize): Rewritten.
25362 (grub_ata_device_initialize): New function.
25364 2008-08-04 Pavel Roskin <proski@gnu.org>
25366 * kern/main.c: Include grub/mm.h.
25368 2008-08-04 Robert Millan <rmh@aybabtu.com>
25370 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
25371 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
25372 corruption problem).
25374 2008-08-04 Robert Millan <rmh@aybabtu.com>
25376 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
25377 warnings introduced in my last commit.
25379 2008-08-03 Robert Millan <rmh@aybabtu.com>
25381 Make PCI available on all i386 architectures.
25383 * include/grub/i386/pc/pci.h: Move from here ...
25384 * include/grub/i386/pci.h: ... to here.
25386 * include/grub/i386/pc/pci.h: Remove.
25387 * include/grub/i386/efi/pci.h: Remove.
25388 * include/grub/x86_64/efi/pci.h: Remove.
25390 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
25391 `<grub/cpu/pci.h>'.
25393 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
25394 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
25395 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
25397 * conf/i386-ieee1275.rmk: Likewise.
25399 2008-08-03 Robert Millan <rmh@aybabtu.com>
25401 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
25402 (grub_console_setcursor): Make it possible to set cursor off.
25404 2008-08-03 Robert Millan <rmh@aybabtu.com>
25406 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
25407 of modules instead of assuming which platform provides what.
25408 * util/update-grub.in: Likewise.
25410 2008-08-03 Robert Millan <rmh@aybabtu.com>
25412 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
25413 instead of `grub_install_dos_part' to determine whether a drive needs
25414 to be prepended to prefix (`grub_install_dos_part' is not reliable,
25415 because it can be overridden when loading GRUB via Multiboot).
25417 2008-08-02 Robert Millan <rmh@aybabtu.com>
25419 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
25421 2008-08-02 Robert Millan <rmh@aybabtu.com>
25423 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
25424 of informational grub_dprintf() calls.
25426 2008-08-02 Robert Millan <rmh@aybabtu.com>
25428 * disk/memdisk.c (memdisk_size): Don't initialize.
25429 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
25431 * include/grub/i386/pc/kernel.h
25432 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
25433 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
25434 (grub_memdisk_image_size, grub_arch_memdisk_addr)
25435 (grub_arch_memdisk_size): Remove.
25437 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
25438 field (was only used to transfer a constant). Add `type' field to
25439 support multiple module types.
25440 (grub_module_iterate): New function.
25442 * kern/device.c (grub_device_open): Do not hide error messages
25443 when grub_disk_open() fails. Use grub_print_error() instead.
25445 * kern/i386/pc/init.c (grub_arch_modules_addr)
25446 (grub_arch_memdisk_size): Remove functions.
25447 (grub_arch_modules_addr): Return the module address in high memory
25448 (now that it isn't copied anymore).
25450 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
25451 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
25452 decompression routine (grub_total_module_size already includes that
25453 now). Don't copy modules back to low memory.
25455 * kern/main.c: Include `<grub/mm.h>'.
25456 (grub_load_modules): Split out (and use) ...
25457 (grub_module_iterate): ... this function, which iterates through
25458 module objects and runs a hook.
25459 Comment out grub_mm_init_region() call, as it would cause non-ELF
25460 modules to be overwritten.
25462 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
25463 the memdisk image in its own region, make it part of the module list.
25464 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
25465 (main): Parse --memdisk|-m option, and pass user-provided path as
25466 parameter to generate_image().
25467 (add_segments): Pass `memdisk_path' down to load_modules().
25468 (load_modules): Embed memdisk image in module section when requested.
25469 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
25470 `header.type' instead of `header.offset'.
25472 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
25473 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
25474 (memdisk_mod_LDFLAGS): New variables.
25475 * conf/i386-coreboot.rmk: Likewise.
25476 * conf/i386-ieee1275.rmk: Likewise.
25478 2008-08-02 Robert Millan <rmh@aybabtu.com>
25480 * loader/i386/pc/multiboot.c (playground, forward_relocator)
25481 (backward_relocator): New variables. Used to allocate and relocate
25482 the payload, respectively.
25483 (grub_multiboot_load_elf32): Load into heap instead of requested
25484 address, install the appropriate relocator code in each bound of
25485 the payload, and set the entry point such that
25486 grub_multiboot_real_boot() will jump to one of them.
25488 * kern/i386/loader.S (grub_multiboot_payload_size)
25489 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25490 (grub_multiboot_payload_entry_offset): New variables.
25491 (grub_multiboot_real_boot): Set cpu context to what the relocator
25492 expects, and jump to the relocator instead of the payload.
25494 * include/grub/i386/loader.h (grub_multiboot_payload_size)
25495 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25496 (grub_multiboot_payload_entry_offset): Export.
25498 2008-08-01 Bean <bean123ch@gmail.com>
25500 * normal/menu_entry.c (editor_getline): Don't return the original
25501 string as result, as it will be released by lexer once it has done
25504 2008-08-01 Robert Millan <rmh@aybabtu.com>
25506 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
25507 within menuentries, not before them.
25508 util/grub.d/10_hurd.in: Likewise.
25510 2008-08-01 Bean <bean123ch@gmail.com>
25512 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
25513 (bufio_mod_SOURCES): New macro.
25514 (bufio_mod_CFLAGS): Likewise.
25515 (bufio_mod_LDFLAGS): Likewise.
25517 * include/grub/bufio.h: New file.
25519 * io/bufio.c: Likewise.
25521 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
25522 (grub_video_reader_png): Use grub_buffile_open to open file.
25524 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
25525 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
25527 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
25528 (grub_video_reader_tga): Use grub_buffile_open to open file.
25530 * font/manager.c: Include <grub/bufio.h>.
25531 (add_font): Use grub_buffile_open to open file.
25533 2008-07-31 Robert Millan <rmh@aybabtu.com>
25535 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
25536 ELF segments, use a macro for arbitrarily accessing any of them instead
25537 of preparing a pointer that allows access to one at a time.
25538 (grub_multiboot_load_elf64): Likewise.
25540 2008-07-31 Bean <bean123ch@gmail.com>
25542 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
25543 GRUB_KERNEL_MACHINE_DATA_END.
25545 2008-07-30 Robert Millan <rmh@aybabtu.com>
25547 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
25548 Increase from 0x50 to 0x60.
25549 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
25550 use UUIDs to identify the root drive for them. If that's not
25552 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
25553 check, for cross-disk installs.
25555 2008-07-30 Robert Millan <rmh@aybabtu.com>
25557 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
25558 is non-empty, use it to set the `prefix' environment variable instead
25559 of the usual approach.
25560 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
25561 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
25562 environment variable instead of dummy make_install_device().
25564 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
25565 (start): Insert a data section, with `grub_prefix' variable.
25566 * kern/i386/linuxbios/startup.S: Likewise.
25568 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
25569 New variable reference.
25570 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
25571 New macro. Defines offset of `grub_prefix' within startup.S (relative
25573 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
25574 section within startup.S (relative to `start').
25575 * include/grub/i386/coreboot/kernel.h: Likewise.
25577 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
25578 Overwrite grub_prefix with its contents, at the beginning of the
25580 (main): Understand -p|--prefix.
25582 2008-07-30 Robert Millan <rmh@aybabtu.com>
25584 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
25586 2008-07-30 Robert Millan <rmh@aybabtu.com>
25588 * term/i386/pc/vga_text.c (grub_console_cls): Use
25589 grub_console_gotoxy() to go back to beginning of the screen.
25590 Found by Patrick Georgi <patrick.georgi@coresystems.de>
25592 2008-07-29 Christian Franke <franke@computer.org>
25594 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
25595 Add conversion of emulated mount points on Cygwin.
25597 2008-07-29 Christian Franke <franke@computer.org>
25599 * util/update-grub.in: Add a check for admin
25601 Remove old `grub.cfg.new' before creation.
25602 Add `-f' to `mv' to handle the different filesystem
25603 semantics of Windows.
25605 2008-07-29 Bean <bean123ch@gmail.com>
25607 * normal/main.c (get_line): Fix buffer overflow bug.
25609 2008-07-28 Robert Millan <rmh@aybabtu.com>
25611 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
25612 (struct grub_apple_header): New struct. Describes the layout of
25613 the partmap header.
25614 (apple_partition_map_iterate): Check the header magic as well as the
25615 partition magic (which was already being checked).
25617 2008-07-28 Pavel Roskin <proski@gnu.org>
25619 * genmk.rb: Add a warning to the beginning of the output that
25620 it's a generated file and should not be edited.
25622 2008-07-28 Robert Millan <rmh@aybabtu.com>
25624 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25625 with the same number are found, just use issue a warning with
25626 grub_dprintf(), as this error has been reported to be non-fatal.
25628 2008-07-27 Robert Millan <rmh@aybabtu.com>
25630 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
25633 2008-07-27 Bean <bean123ch@gmail.com>
25635 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
25636 (grub_fat_find_dir): Ignore case when comparing filename.
25638 2008-07-27 Bean <bean123ch@gmail.com>
25640 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
25641 smallino, as it's more descriptive, and i8count can be confused with
25642 the other field count.
25643 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
25646 2008-07-27 Bean <bean123ch@gmail.com>
25648 * commands/crc.c: New file.
25650 * lib/crc.c: Likewise.
25652 * include/grub/lib/crc.h: Likewise.
25654 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
25656 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
25657 (hexdump): Move this function to ...
25659 * lib/hexdump.c: ... here.
25661 * include/grub/hexdump.h: Renamed to ...
25663 * include/grub/lib/hexdump.h: ... this.
25665 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
25667 * util/grub-editenv.c: Likewise.
25669 * include/envblk.h: Renamed to ...
25671 * include/lib/envblk.h: ... this.
25673 * util/envblk.c: Renamed to ...
25675 * lib/envblk.c: ... this.
25677 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
25679 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
25680 (pkglib_MODULES): Add crc.mod.
25681 (hexdump_mod_SOURCES): Add lib/hexdump.c.
25682 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
25683 (crc_mod_SOURCES): New macro.
25684 (crc_mod_CFLAGS): Likewise.
25685 (crc_mod_LDFLAGS): Likewise.
25687 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
25689 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25691 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25695 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25697 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
25699 * commands/help.c: Include <grub/term.h>.
25700 (TERM_WIDTH): Removed. Updated all users.
25702 2008-07-27 Pavel Roskin <proski@gnu.org>
25704 * util/getroot.c (find_root_device): Rephrase a comment to avoid
25705 spurious warnings about a comment within a comment.
25707 2008-07-25 Robert Millan <rmh@aybabtu.com>
25709 * util/getroot.c (find_root_device): Skip devices that match
25710 /dev/dm-[0-9]. This lets the real device be found for any type of
25711 abstraction (LVM, EVMS, RAID..).
25712 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
25713 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
25714 device is found first, find_root_device() will now skip it.
25716 2008-07-24 Pavel Roskin <proski@gnu.org>
25718 * include/grub/types.h: Use __builtin_bswap32() and
25719 __builtin_bswap64() with gcc 4.3 and newer.
25721 2008-07-24 Christian Franke <franke@computer.org>
25723 * util/i386/pc/grub-install.in: If `--debug' is specified,
25724 pass `--verbose' to grub-setup.
25725 Abort script if make_system_path_relative_to_its_root() fails.
25727 2008-07-24 Bean <bean123ch@gmail.com>
25729 * configure.ac: Fixed a bug caused by the previous cygwin patch,
25730 variable `target_platform' should be `platform'.
25732 2008-07-24 Bean <bean123ch@gmail.com>
25734 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
25735 (grub_png_init_fixed_block): New function.
25736 (grub_png_decode_image_data): Handle fixed huffman code compression.
25738 2008-07-24 Bean <bean123ch@gmail.com>
25740 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
25741 (grub_pe2elf_SOURCES): New macro.
25742 (CLEANFILES): Add grub-pe2elf.
25744 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
25745 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
25746 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
25747 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
25748 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
25749 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
25750 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
25751 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
25752 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
25753 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
25754 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
25755 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
25756 (GRUB_PE32_DT_FUNCTION): Likewise.
25757 (GRUB_PE32_REL_I386_DIR32): Likewise.
25758 (GRUB_PE32_REL_I386_REL32): Likewise.
25759 (grub_pe32_symbol): New structure.
25760 (grub_pe32_reloc): Likewise.
25762 * util/grub-pe2elf.c: New file.
25764 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
25765 start symbol in non pc platform.
25767 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
25769 The following patches are from Christian Franke.
25771 * include/grub/dl.h: Remove .previous, gas supports this only
25774 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
25775 Remove .type, gas supports this only for ELF format.
25777 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
25778 nullbytes in symbol table. This fixes an infinite loop if table is
25781 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
25782 TARGET_IMG_LDFLAGS and EXEEXT.
25784 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
25785 TARGET_IMG_LDFLAGS_AC.
25786 (grub_CHECK_STACK_ARG_PROBE): New function.
25788 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
25790 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
25792 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
25793 to set TARGET_IMG_LD* accordingly.
25794 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
25795 Add call to grub_CHECK_STACK_ARG_PROBE.
25796 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
25798 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
25800 * genmk.rb: Add EXEEXT to CLEANFILES.
25802 2008-07-23 Robert Millan <rmh@aybabtu.com>
25804 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
25805 define the codes for arrows and lines used for the menu).
25806 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
25809 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
25810 fonts, because the latter are too slow.
25812 2008-07-21 Bean <bean123ch@gmail.com>
25814 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
25815 a20. Run keyboard test last, as it will cause macbook to halt.
25817 2008-07-18 Pavel Roskin <proski@gnu.org>
25819 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
25820 load foreign architecture modules correctly anyway. Keep
25821 support for loading host architecture modules, whether we
25822 compile them or not.
25824 2008-07-17 Pavel Roskin <proski@gnu.org>
25826 * configure.ac: Use -m32 or -m64 regardless of whether we had to
25827 change target_cpu. The compiler default can mismatch target_cpu
25830 * disk/efi/efidisk.c: Fix format warnings on x86_64.
25831 * kern/efi/efi.c: Likewise.
25833 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
25834 target compiler is functional.
25835 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
25838 * configure.ac: Default to efi platform for x86_64-apple. Allow
25839 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
25840 adjustments from the rest, only do them if target is not
25841 explicitly given. Merge other adjustments with the final sanity
25842 check. Remove an extraneous check for supported CPU. Be
25843 specific which CPU and which platform is not supported.
25845 * configure.ac: Default to pc platform for x86_64.
25847 2008-07-17 Robert Millan <rmh@aybabtu.com>
25849 Partial LinuxBIOS -> Coreboot rename.
25851 * conf/i386-linuxbios.rmk: Renamed to ...
25852 * conf/i386-coreboot.rmk: ... this.
25853 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
25854 * configure.ac: Accept "coreboot" as input platform (but maintain
25855 compatibility with "linuxbios").
25856 * include/grub/i386/linuxbios: Renamed to ...
25857 * include/grub/i386/coreboot: ... this.
25859 2008-07-17 Bean <bean123ch@gmail.com>
25861 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
25862 (appleldr_mod_SOURCE): New variable.
25863 (appleldr_mod_CFLAGS): Likewise.
25864 (appleldr_mod_LDFLAGS): Likewise.
25865 (pci_mod_SOURCES): Likewise.
25866 (pci_mod_CFLAGS): Likewise.
25867 (pci_mod_LDFLAGS): Likewise.
25868 (lspci_mod_SOURCES): Likewise.
25869 (lspci_mod_CFLAGS): Likewise.
25870 (lspci_mod_LDFLAGS): Likewise.
25872 * conf/x86_64-efi.rmk: New file.
25874 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
25876 (grub_efidisk_write): Likewise.
25878 * include/efi/api.h (efi_call_0): New macro.
25879 (efi_call_1): Likewise.
25880 (efi_call_2): Likewise.
25881 (efi_call_3): Likewise.
25882 (efi_call_4): Likewise.
25883 (efi_call_5): Likewise.
25884 (efi_call_6): Likewise.
25886 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
25887 grub_rescue_cmd_chainloader.
25889 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
25890 (grub_pe32_optional_header): Change some fields based on i386 or
25892 (GRUB_PE32_PE32_MAGIC): Likewise.
25894 * include/grub/efi/uga_draw.h: New file.
25896 * include/grub/elf.h (STN_ABS): New constant.
25897 (R_X86_64_NONE): Relocation constant for x86_64.
25898 (R_X86_64_64): Likewise.
25899 (R_X86_64_PC32): Likewise.
25900 (R_X86_64_GOT32): Likewise.
25901 (R_X86_64_PLT32): Likewise.
25902 (R_X86_64_COPY): Likewise.
25903 (R_X86_64_GLOB_DAT): Likewise.
25904 (R_X86_64_JUMP_SLOT): Likewise.
25905 (R_X86_64_RELATIVE): Likewise.
25906 (R_X86_64_GOTPCREL): Likewise.
25907 (R_X86_64_32): Likewise.
25908 (R_X86_64_32S): Likewise.
25909 (R_X86_64_16): Likewise.
25910 (R_X86_64_PC16): Likewise.
25911 (R_X86_64_8): Likewise.
25912 (R_X86_64_PC8): Likewise.
25914 * include/grub/i386/efi/pci.h: New file.
25916 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
25917 Change it value based on platform.
25918 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
25919 (GRUB_E820_RAM): Likewise.
25920 (GRUB_E820_RESERVED): Likewise.
25921 (GRUB_E820_ACPI): Likewise.
25922 (GRUB_E820_NVS): Likewise.
25923 (GRUB_E820_EXEC_CODE): Likewise.
25924 (GRUB_E820_MAX_ENTRY): Likewise.
25925 (grub_e820_mmap): New structure.
25926 (linux_kernel_header): Change the efi field according to different
25927 kernel version, also field from linux_kernel_header.
25929 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
25931 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
25932 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
25933 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
25934 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
25935 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
25936 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
25937 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
25938 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
25939 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
25940 (GRUB_PCI_ADDR_IO_MASK): Likewise.
25942 * include/grub/x86_64/efi/kernel.h: New file.
25944 * include/grub/x86_64/efi/loader.h: Likewise.
25946 * include/grub/x86_64/efi/machine.h: Likewise.
25948 * include/grub/x86_64/efi/pci.h: Likewise.
25950 * include/grub/x86_64/efi/time.h: Likewise.
25952 * include/grub/x86_64/linux.h: Likewise.
25954 * include/grub/x86_64/setjmp.h: Likewise.
25956 * include/grub/x86_64/time.h: Likewise.
25958 * include/grub/x86_64/types.h: Likewise.
25960 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
25961 GRUB_TARGET_SIZEOF_VOID_P.
25963 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
25964 (grub_efi_locate_handle): Likewise.
25965 (grub_efi_open_protocol): Likewise.
25966 (grub_efi_set_text_mode): Likewise.
25967 (grub_efi_stall): Likewise.
25968 (grub_exit): Likewise.
25969 (grub_reboot): Likewise.
25970 (grub_halt): Likewise.
25971 (grub_efi_exit_boot_services): Likewise.
25972 (grub_get_rtc): Likewise.
25974 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
25975 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
25976 (grub_efi_allocate_pages): Wrap efi calls.
25977 (grub_efi_free_pages): Wrap efi calls.
25978 (grub_efi_get_memory_map): Wrap efi calls.
25980 * kern/x86_64/dl.c: New file.
25982 * kern/x86_64/efi/callwrap.S: Likewise.
25984 * kern/x86_64/efi/startup.S: Likewise.
25986 * loader/efi/appleloader.c: Likewise.
25988 * loader/efi/chainloader.c (cmdline): New variable.
25989 (grub_chainloader_unload): Wrap efi calls.
25990 (grub_chainloader_boot): Likewise.
25991 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
25994 * loader/efi/chainloader_normal.c (chainloader_command):
25995 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
25998 * loader/i386/efi/linux.c (allocate_pages): Change allocation
26000 (grub_e820_add_region): New function.
26001 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
26003 (grub_find_video_card): New function.
26004 (grub_linux_setup_video): New function.
26005 (grub_rescue_cmd_linux): Probe for video information.
26007 * normal/x86_64/setjmp.S: New file.
26009 * term/efi/console.c (map_char): New function.
26010 (grub_console_putchar): Map unicode char.
26011 (grub_console_checkkey): Wrap efi calls.
26012 (grub_console_getkey): Likewise.
26013 (grub_console_getwh): Likewise.
26014 (grub_console_gotoxy): Likewise.
26015 (grub_console_cls): Likewise.
26016 (grub_console_setcolorstate): Likewise.
26017 (grub_console_setcursor): Likewise.
26019 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
26021 2008-07-16 Pavel Roskin <proski@gnu.org>
26023 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
26026 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
26027 pointer, not an integer. This fixes a warning and prevents
26028 precision loss on 64-bit systems.
26029 (relocate_addresses): Remove unneeded cast.
26031 2008-07-15 Pavel Roskin <proski@gnu.org>
26033 * kern/i386/ieee1275/init.c: Include grub/cache.h.
26035 * term/ieee1275/ofconsole.c: Disable code unused on i386.
26037 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
26038 Fix comparison between signed and unsigned.
26040 * include/grub/i386/ieee1275/console.h: Declare
26041 grub_console_init() and grub_console_fini().
26043 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
26044 It's empty and unused.
26046 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
26047 beginning to avoid warnings with some compilers.
26049 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
26050 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
26052 2008-07-14 Pavel Roskin <proski@gnu.org>
26054 * kern/env.c (grub_register_variable_hook): Don't copy empty
26055 string, it leaks memory. Pass "" to grub_env_set(), it should
26056 handle constant strings.
26058 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
26059 * commands/cmp.c (grub_cmd_cmp): Likewise.
26060 * kern/dl.c (grub_dl_flush_cache): Likewise.
26061 (grub_dl_load_core): Likewise.
26062 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
26063 (grub_elf64_load_phdrs): Likewise.
26065 2008-07-13 Pavel Roskin <proski@gnu.org>
26067 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
26068 between signed and unsigned.
26069 (LzmaEnc_Finish): Fix warning about an unused parameter.
26071 2008-07-13 Bean <bean123ch@gmail.com>
26073 * Makefile.in (enable_lzo): New rule.
26075 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
26077 * configure.ac (ENABLE_LZO): New option --enable-lzo.
26079 * boot/i386/pc/lnxboot.S: #include <config.h>.
26081 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
26082 its value according to the compression algorithm used, lzo or lzma.
26084 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
26085 compression algorithm according to configure macro.
26087 * kern/i386/pc/startup.S (codestart): Likewise.
26089 * kern/i386/pc/lzma_decode.S: New file.
26091 * include/grub/lib/LzFind.h: Likewise.
26093 * include/grub/lib/LzHash.h: Likewise.
26095 * include/grub/lib/LzmaDec.h: Likewise.
26097 * include/grub/lib/LzmaEnc.h: Likewise.
26099 * include/grub/lib/LzmaTypes.h: Likewise.
26101 * lib/LzFind.c: Likewise.
26103 * lib/LzmaDec.c: Likewise.
26105 * lib/LzmaEnc.c: Likewise.
26107 2008-07-13 Bean <bean123ch@gmail.com>
26109 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
26110 (grub_ext4_extent_header): New structure.
26111 (grub_ext4_extent): Likewise.
26112 (grub_ext4_extent_idx): Likewise.
26113 (grub_ext4_find_leaf): New function.
26114 (grub_ext2_read_block): Handle extents.
26116 2008-07-12 Robert Millan <rmh@aybabtu.com>
26118 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
26120 2008-07-11 Robert Millan <rmh@aybabtu.com>
26122 * util/grub.d/40_custom.in: New file. Example on how to add custom
26123 entries to /etc/grub.d.
26124 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
26125 40_custom (implicitly, by merging all the grub.d rules).
26127 2008-07-11 Pavel Roskin <proski@gnu.org>
26129 * commands/read.c (grub_getline): Fix invalid memory access.
26130 Don't add newline to the variable value.
26132 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
26133 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
26134 (serial_hw_get_port): Check validity of the port number.
26135 (grub_cmd_serial): Check return value of serial_hw_get_port().
26137 2008-07-07 Pavel Roskin <proski@gnu.org>
26139 * boot/i386/pc/diskboot.S (notification_string): Replace
26140 "Loading kernel" with just "loading". This is shorter, less
26141 confusing and saves a few bytes for possible future changes.
26143 2008-07-05 Pavel Roskin <proski@gnu.org>
26145 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
26146 size for ATAPI devices, they are undefined. Output sector
26147 number in decimal form.
26149 * disk/ata.c: Use named constants for status bits.
26151 2008-07-04 Pavel Roskin <proski@gnu.org>
26153 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
26154 grub_addr_t before casting it to the void pointer to fix a
26155 warning. Non-addressable regions are discarded earlier.
26156 (grub_arch_modules_addr): Cast _end to grub_addr_t.
26157 * kern/i386/linuxbios/table.c: Include grub/misc.h.
26158 (check_signature): Don't shadow table_header.
26159 (grub_linuxbios_table_iterate): Cast numeric constants to
26160 grub_linuxbios_table_header_t.
26161 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
26164 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
26167 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
26168 pointer, which can cause warnings. Support 64-bit addresses.
26170 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
26171 of sizeof(long). This fixes PowerPC image generation on x86_64.
26173 2008-07-04 Robert Millan <rmh@aybabtu.com>
26175 This fixes a performance issue when pc & gpt partmap iterators
26176 didn't abort iteration even after our hook found what it was
26177 looking for (often causing expensive probes of non-existent drives).
26179 Some callers relied on previous buggy behaviour, since they would
26180 raise an error when their own hooks caused early abortion of its
26183 * kern/device.c (grub_device_open): Improve error message.
26184 * disk/lvm.c (grub_lvm_open): Likewise.
26185 * disk/raid.c (grub_raid_open): Likewise.
26187 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
26188 when hook requests it, independently of grub_errno.
26189 (pc_partition_map_probe): Do not fail when find_func() caused
26190 early abortion of pc_partition_map_iterate().
26192 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
26193 when hook requests it, independently of grub_errno.
26194 (gpt_partition_map_probe): Do not fail when find_func() caused
26195 early abortion of gpt_partition_map_iterate().
26197 * kern/partition.c (grub_partition_iterate): Abort parent iteration
26198 when hook requests it, independently of grub_errno. Do not fail when
26199 part_map_iterate_hook() caused early abortion of p->iterate().
26201 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
26202 when grub_partition_iterate() returned with non-zero.
26204 2008-07-03 Pavel Roskin <proski@gnu.org>
26206 * disk/ata.c (grub_ata_pio_write): Check status before writing,
26207 like we do in grub_ata_pio_read().
26208 (grub_ata_readwrite): Always write individual sectors. Fix the
26209 sector count for the remainder.
26210 (grub_ata_write): Enable writing to ATA devices. Correctly
26211 report error for ATAPI devices.
26213 2008-07-02 Pavel Roskin <proski@gnu.org>
26215 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
26218 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
26219 for every read sector, we already increment it for the whole
26220 batch. This fixes reading more than 256 sectors at once.
26222 * util/grub-editenv.c (cmd_info): Cast argument to long
26223 explicitly. ptrdiff_t reduces to int on i386.
26225 * util/grub-editenv.c (main): Be specific which parameter is
26228 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
26229 (memdisk): Make memdisk_orig_addr a pointer.
26231 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
26232 for file offsets, use grub_off_t instead. Fix printf format
26235 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
26236 there. Real unexpected warnings should not drown in the noise
26237 about known problems.
26239 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
26240 grub_disk_addr_t for memory addresses.
26242 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
26243 explicitly to fix a warning.
26245 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
26247 * Makefile.in (MODULE_LDFLAGS): New variable.
26248 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
26249 the linker accepts --build-id=none.
26250 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
26252 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
26254 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
26255 those in Linux XFS code. Provide a way to access 64-bit parent
26257 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
26258 the end of struct grub_xfs_dir_header.
26260 2008-07-02 Bean <bean123ch@gmail.com>
26262 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
26263 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26264 and GRUB_IEEE1275_FLAG_NO_ANSI.
26266 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
26267 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26268 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
26270 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
26271 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
26273 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
26274 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
26276 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
26277 esc sequence on non ANSI terminal.
26278 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
26280 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
26283 2008-07-02 Bean <bean123ch@gmail.com>
26285 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
26286 (grub_editenv_SOURCES): New variable.
26287 (pkglib_MODULES): Add loadenv.mod.
26288 (loadenv_mod_SOURCES): New variable.
26289 (loadenv_mod_CFLAGS): Likewise.
26290 (loadenv_mod_LDFLAGS): Likewise.
26292 * include/grub/envblk.h: New file.
26294 * util/envblk.c: New file.
26296 * util/grub-editenv.c: New file.
26298 * commands/loadenv.c: New file.
26300 2008-07-01 Pavel Roskin <proski@gnu.org>
26302 * include/multiboot2.h (struct multiboot_tag_module): Use char,
26303 not unsigned char. This fixes warnings and is consistent with
26306 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
26308 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
26310 * term/tparm.c (analyze): Always set *popcount.
26312 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
26313 cast to fix a warning.
26315 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
26316 cast to suppress a warning.
26318 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
26319 grub_fshelp_read_file() expects.
26321 * fs/fat.c: Fix UUID calculation on big-endian systems. We
26322 write uuid as a 32-bit value in CPU byte order, so declare and
26325 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
26326 long if the format specifier expects it.
26327 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
26328 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26329 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
26330 long to fix a warning.
26331 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
26332 grub_dprintf() arguments to fix warnings.
26334 2008-06-30 Pavel Roskin <proski@gnu.org>
26336 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
26337 install_bsd_part immediately before core.img is embedded or
26338 modified on disk. This fixes core.img verification if core.img
26339 cannot be embedded.
26341 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
26342 core_path to calculate the blocklist.
26343 Patch from Javier Martín <lordhabbit@gmail.com>
26345 2008-06-29 Robert Millan <rmh@aybabtu.com>
26347 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
26348 block to disk block.
26349 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
26350 Patch from Niels Böhm <bitbucket@arcor.de>
26352 2008-06-29 Robert Millan <rmh@aybabtu.com>
26354 * util/update-grub_lib.in (font_path): Search for fonts in
26355 /boot/grub first, which is more likely to be readable (we aren't
26356 deciding where fonts live, just looking for them).
26358 2008-06-26 Pavel Roskin <proski@gnu.org>
26360 * util/biosdisk.c (read_device_map): Don't leave dead map
26361 entries for devices failing stat() check.
26363 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
26364 core_path_dev for the core.img path on the target device.
26366 2008-06-26 Robert Millan <rmh@aybabtu.com>
26368 * disk/fs_uuid.c: New file.
26369 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
26370 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
26371 (fs_uuid_mod_LDFLAGS): New variables.
26372 * include/grub/disk.h (grub_disk_dev_id): Add
26373 `GRUB_DISK_DEVICE_UUID_ID'.
26374 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
26375 implement iterate().
26377 2008-06-26 Robert Millan <rmh@aybabtu.com>
26379 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
26380 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
26381 Linux image includes no initrd.
26383 2008-06-21 Javier Martín <lordhabbit@gmail.com>
26385 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
26386 call to resolve the core image location that effectively appended the
26389 2008-06-21 Robert Millan <rmh@aybabtu.com>
26391 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
26394 * util/grub.d/10_hurd.in: ... to here ...
26395 * util/grub.d/10_linux.in: ... and here.
26397 2008-06-19 Robert Millan <rmh@aybabtu.com>
26399 * kern/main.c (grub_main): Export `prefix' variable immediately
26400 after it has been set by grub_machine_set_prefix().
26402 2008-06-19 Robert Millan <rmh@aybabtu.com>
26404 * commands/search.c (search_label, search_fs_uuid, search_file): Print
26405 search result when not saving to variable, not the other way around.
26406 When saving to variable, abort iteration as soon as a match is found.
26408 2008-06-19 Robert Millan <rmh@aybabtu.com>
26410 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
26411 check for partition that provides /boot/grub. Its logic is flawed,
26412 as it prevents prepare_grub_to_access_device() from being called
26415 2008-06-19 Robert Millan <rmh@aybabtu.com>
26417 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
26418 "insmod" command directly when abstraction modules are needed,
26419 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
26420 since it had already been processed).
26422 2008-06-19 Pavel Roskin <proski@gnu.org>
26424 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
26425 changed. This is needed in case GRUB_LIBDIR changes.
26426 * conf/i386-ieee1275.rmk: Likewise.
26427 * conf/i386-linuxbios.rmk: Likewise.
26428 * conf/i386-pc.rmk: Likewise.
26429 * conf/powerpc-ieee1275.rmk: Likewise.
26431 2008-06-18 Pavel Roskin <proski@gnu.org>
26433 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
26434 kernel_elf_symlist.c to symlist.c for consistency with other
26435 architectures. Update all users.
26436 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26438 2008-06-18 Robert Millan <rmh@aybabtu.com>
26440 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
26443 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
26444 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
26445 a RAID device, run setup() for all members independently on whether
26446 LVM abstraction is being used.
26447 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
26448 If grub-mkimage has set `*install_dos_part == -2', don't override this
26450 Perform *install_dos_part adjustments independently on whether
26451 we're embedding or not.
26452 Clarify error message when image is too big for embedding.
26453 Remove duplicate *install_dos_part stanza.
26455 2008-06-17 Robert Millan <rmh@aybabtu.com>
26457 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
26458 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
26460 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
26461 values in grub_ofconsole_normal_color and
26462 grub_ofconsole_highlight_color (they're not directly related to
26463 background and foreground).
26464 (grub_ofconsole_setcolorstate): Extract background and foreground
26465 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
26467 2008-06-17 Robert Millan <rmh@aybabtu.com>
26469 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
26470 /boot/grub for the check in last commit, not /boot (they could be
26471 different partitions).
26473 2008-06-16 Robert Millan <rmh@aybabtu.com>
26475 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
26476 asked to setup access for the same partition that provides /boot,
26477 don't bother using UUIDs since our root already has the value we
26480 2008-06-16 Robert Millan <rmh@aybabtu.com>
26482 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
26484 Patch from Sven Mueller <sven@debian.org>.
26486 2008-06-16 Robert Millan <rmh@aybabtu.com>
26488 * util/update-grub.in: Check for $EUID instead of $UID.
26489 Reported by Vincent Zweije.
26491 2008-06-16 Bean <bean123ch@gmail.com>
26493 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
26494 (grub_ext2_read_block): Likewise.
26495 (grub_ext2_read_inode): Likewise.
26496 (grub_ext2_mount): Likewise.
26497 (grub_ext2_close): Likewise.
26498 (grub_ext3_get_journal): Removed.
26500 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
26501 (grub_reiserfs_read_symlink): Likewise.
26502 (grub_reiserfs_mount): Likewise.
26503 (grub_reiserfs_open): Likewise.
26504 (grub_reiserfs_read): Likewise.
26505 (grub_reiserfs_close): Likewise.
26506 (grub_reiserfs_get_journal): Removed.
26508 * fs/fshelp.c (grub_fshelp_read): Removed.
26509 (grub_fshelp_map_block): Likewise.
26511 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
26512 (grub_fshelp_journal): Likewise.
26513 (grub_fshelp_read): Likewise.
26514 (grub_fshelp_map_block): Likewise.
26516 2008-06-16 Pavel Roskin <proski@gnu.org>
26518 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
26519 floating point anymore.
26520 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
26522 2008-06-15 Pavel Roskin <proski@gnu.org>
26524 * commands/ls.c (grub_ls_list_files): Use integer calculations
26525 for human readable format, avoid floating point use.
26526 * kern/misc.c (grub_ftoa): Remove.
26527 (grub_vsprintf): Remove floating point support.
26529 2008-06-15 Robert Millan <rmh@aybabtu.com>
26531 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
26533 Reported by Max Vozeler.
26535 2008-06-15 Robert Millan <rmh@aybabtu.com>
26537 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
26538 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
26540 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
26541 the beginning of the prefix.
26543 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
26544 It is assumed that if we have a memdisk, grub-mkimage has set
26545 grub_prefix to include the "(memdisk)" drive in it.
26547 2008-06-15 Robert Millan <rmh@aybabtu.com>
26549 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
26550 Initialize keyboard controller after registering the terminal, so that
26551 grub_printf() can be called from grub_keyboard_controller_init().
26553 2008-06-15 Robert Millan <rmh@aybabtu.com>
26555 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
26556 extent-btree which is written as big endian on disk.
26557 Reported by Alain Greppin <al@chilibi.org>.
26559 2008-06-14 Robert Millan <rmh@aybabtu.com>
26561 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
26562 * util/i386/pc/grub-install.in (modules): Likewise.
26564 2008-06-13 Pavel Roskin <proski@gnu.org>
26566 * commands/ls.c (grub_ls_list_files): Fix format warnings.
26568 2008-06-13 Bean <bean123ch@gmail.com>
26570 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
26572 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
26574 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
26575 to indicate sparse block.
26577 2008-06-12 Pavel Roskin <proski@gnu.org>
26579 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
26580 number, grub_fshelp_read() does it for us.
26582 * fs/fshelp.c (grub_fshelp_read): New function. Implement
26583 linear disk read with journal translation.
26584 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
26585 * include/grub/fshelp.h: Declare grub_fshelp_read().
26587 2008-06-09 Pavel Roskin <proski@gnu.org>
26589 * fs/minix.c (grub_minix_mount): Handle error reading
26592 2008-06-08 Robert Millan <rmh@aybabtu.com>
26594 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
26595 don't append the RAID prefix afterwards.
26596 Reported by Clint Adams.
26598 2008-06-08 Robert Millan <rmh@aybabtu.com>
26600 Based on description from Pavel:
26601 * kern/disk.c (grub_disk_check_range): Rename to ...
26602 (grub_disk_adjust_range): ... this. Add a comment explaining the
26603 tasks performed by this function.
26605 2008-06-08 Robert Millan <rmh@aybabtu.com>
26607 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
26608 `num_serial' (for consistency with other variables).
26609 (struct grub_ntfs_data): Add `uuid' member.
26610 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
26611 (grub_ntfs_uuid): New function.
26612 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
26614 2008-06-07 Pavel Roskin <proski@gnu.org>
26616 * util/biosdisk.c (open_device): Revert last change to the
26617 function, it broke installation. The sector needs to be
26618 different dependent on which device is opened.
26620 2008-06-06 Robert Millan <rmh@aybabtu.com>
26622 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
26623 rest of GRUB, and breakage doesn't happen if its value were modified.
26625 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26626 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
26627 a constant (same value).
26628 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
26629 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
26631 2008-06-06 Robert Millan <rmh@aybabtu.com>
26633 * util/biosdisk.c (open_device): Do not modify sector offset when
26634 accessing a partition. kern/disk.c already handles this for us.
26636 2008-06-06 Robert Millan <rmh@aybabtu.com>
26638 * util/grub-emu.c (grub_machine_init): Move code in this function from
26640 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
26641 segfault in case grub_printf() is called).
26643 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
26644 grub_probe. Update all users not to explicitly add it again.
26645 (grub_device): New variable; contains corresponding device for grubdir.
26646 (fs_module, partmap_module, devabstraction_module): Pass
26647 `--device ${grub_device}' to grub_probe to avoid traversing /dev
26650 2008-06-05 Robert Millan <rmh@aybabtu.com>
26652 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
26653 is found, print it (same layout as with labels).
26655 2008-06-04 Robert Millan <rmh@aybabtu.com>
26657 * util/biosdisk.c (get_drive): Rename to ...
26658 (find_grub_drive): ... this. Update all users.
26660 (get_os_disk): Rename to ...
26661 (convert_system_partition_to_system_disk): ... this. Update all users.
26663 (find_drive): Rename to ...
26664 (find_system_device): ... this. Update all users.
26666 2008-06-04 Robert Millan <rmh@aybabtu.com>
26668 * util/biosdisk.c (get_os_disk): Handle IDA devices.
26669 * util/grub-mkdevicemap.c (get_mmc_disk_name)
26670 (make_device_map): Likewise.
26672 2008-06-01 Robert Millan <rmh@aybabtu.com>
26674 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
26675 before dereferencing it.
26677 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
26678 union with fat12/fat16-specific ones. Add some new fields, including
26679 `num_serial' for both versions.
26680 (struct grub_fat_data): Add `uuid' member.
26681 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
26682 names. Initialize `data->uuid' using `num_serial'.
26683 (grub_fat_uuid): New function.
26684 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
26686 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
26687 (grub_reiserfs_uuid): New function.
26688 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
26691 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
26692 (grub_xfs_uuid): New function.
26693 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
26695 2008-06-01 Robert Millan <rmh@aybabtu.com>
26697 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
26698 code that is backward compatible with pre-uuid search command.
26700 2008-05-31 Robert Millan <rmh@aybabtu.com>
26702 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
26703 floppies after everything else, to ensure floppy drive isn't accessed
26704 unnecessarily (patch from Bean).
26706 2008-05-31 Robert Millan <rmh@aybabtu.com>
26708 * commands/search.c (search_label, search_fs_uuid, search_file): Do
26709 not print device names when we were asked to set a variable.
26711 2008-05-31 Robert Millan <rmh@aybabtu.com>
26713 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
26714 using "cursor-on" and "cursor-off" commands (understood at least by
26715 the Open Firmware flavour on OLPC).
26717 2008-05-31 Michael Gorven <michael@gorven.za.net>
26719 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
26720 on and off sequences.
26722 2008-05-31 Robert Millan <rmh@aybabtu.com>
26724 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
26725 * util/update-grub.in: Likewise.
26727 2008-05-30 Pavel Roskin <proski@gnu.org>
26729 * util/biosdisk.c (linux_find_partition): Simplify logic and
26730 make the code more universal. Keep special processing for
26731 devfs, but use a simple rule for all other devices. If the
26732 device ends with a number, append 'p' and the partition number.
26733 Otherwise, append only the partition number.
26735 2008-05-30 Robert Millan <rmh@aybabtu.com>
26737 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
26738 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
26739 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
26740 the `root' parameter to Linux.
26742 2008-05-30 Robert Millan <rmh@aybabtu.com>
26744 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
26745 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
26746 --fs_uuid with --fs-uuid.
26747 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
26748 all filesystems support them).
26750 2008-05-30 Robert Millan <rmh@aybabtu.com>
26752 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
26753 grub_printf() flags, since we're printing in units of 2 bytes.
26755 2008-05-30 Robert Millan <rmh@aybabtu.com>
26757 * util/grub.d/00_header.in: Remove obsolete comment referencing
26758 convert_system_path_to_grub_path().
26759 * util/update-grub.in: Likewise.
26760 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
26761 (convert_system_path_to_grub_path): Add a warning message explaining
26762 that this function is deprecated. Rely on is_path_readable_by_grub()
26763 for the readability checks.
26764 (font_path): Use is_path_readable_by_grub() for the readability
26765 check rather than convert_system_path_to_grub_path().
26767 2008-05-30 Robert Millan <rmh@aybabtu.com>
26769 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
26770 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
26771 converting it first.
26772 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
26773 grub.cfg for access to font file, and afterwards call it again to set
26776 2008-05-30 Robert Millan <rmh@aybabtu.com>
26778 * commands/search.c (options): Add --fs_uuid option.
26779 (search_fs_uuid): New function.
26780 (grub_cmd_search): Fix --set argument passing.
26781 Use search_fs_uuid() when requested via --fs_uuid.
26782 (grub_search_init): Update help message.
26783 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
26784 and redeclare it as an array of 16-bit words.
26785 (grub_ext2_uuid): New function.
26786 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
26787 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
26788 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
26789 (GRUB_DEVICE_BOOT_UUID): New variables.
26790 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
26791 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
26793 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
26794 just assume `root' variable has the right value.
26795 * util/grub.d/10_linux.in: Likewise.
26796 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
26798 (main): Recognise `-t fs_uuid' argument.
26800 2008-05-30 Robert Millan <rmh@aybabtu.com>
26802 * util/biosdisk.c (map): Redefine structure to hold information
26803 about GRUB drive name.
26804 (get_drive): Reimplement without assuming (and verifying) BIOS-like
26806 (call_hook): Remove.
26807 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
26808 member. Assume drive has partitions.
26809 (grub_util_biosdisk_open): Access device names via `.device' struct
26811 (open_device): Likewise.
26812 (find_drive): Likewise.
26813 (read_device_map): Adjust map[] usage to match the new struct
26814 definition. Don't check for duplicates (still possible, but not cheap
26816 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
26817 (make_device_name): Remove assumption of BIOS-like drive names.
26819 2008-05-30 Pavel Roskin <proski@gnu.org>
26821 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
26822 compiling execute.c doesn't need grub_script.tab.h anymore.
26823 (normal/command.c_DEPENDENCIES): Likewise.
26824 (normal/function.c_DEPENDENCIES): Likewise.
26825 * conf/i386-ieee1275.rmk: Likewise.
26826 * conf/i386-linuxbios.rmk: Likewise.
26827 * conf/i386-pc.rmk: Likewise.
26828 * conf/powerpc-ieee1275.rmk: Likewise.
26829 * conf/sparc64-ieee1275.rmk: Likewise.
26831 2008-05-29 Pavel Roskin <proski@gnu.org>
26833 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
26834 when scanning metadata for volume group name.
26836 * include/grub/script.h: Don't include grub_script.tab.h. It's
26837 a generated file, which may only be included from the files with
26838 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
26839 use union YYSTYPE, as the later allows forward declaration.
26840 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
26842 2008-05-29 Robert Millan <rmh@aybabtu.com>
26844 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
26845 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
26846 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
26847 (grub_console_checkkey): Add grub_dprintf() call to report unknown
26850 2008-05-29 Robert Millan <rmh@aybabtu.com>
26852 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
26853 control key combinations.
26855 2008-05-29 Robert Millan <rmh@aybabtu.com>
26857 * util/powerpc/ieee1275/grub-install.in: Move from here ...
26858 * util/ieee1275/grub-install.in: ... to here.
26859 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
26860 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
26861 (grub_install_SOURCES): Likewise.
26863 2008-05-29 Robert Millan <rmh@aybabtu.com>
26865 * fs/affs.c: Update copyright year.
26866 * fs/ext2.c: Likewise.
26867 * fs/fshelp.c: Likewise.
26868 * fs/hfsplus.c: Likewise.
26869 * fs/ntfs.c: Likewise.
26870 * fs/xfs.c: Likewise.
26871 * include/grub/fshelp.h: Likewise.
26872 * util/grub-mkdevicemap.c: Likewise.
26874 2008-05-28 Robert Millan <rmh@aybabtu.com>
26876 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
26877 might need to be fatfs to support some firmware implementations
26880 2008-05-28 Robert Millan <rmh@aybabtu.com>
26882 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
26884 * util/grub-mkdevicemap.c (get_mmc_disk_name)
26885 (make_device_map): Likewise.
26887 2008-05-20 Bean <bean123ch@gmail.com>
26889 * fs/fshelp.c (grub_fshelp_map_block): New function.
26890 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
26891 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
26893 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
26894 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
26895 (grub_fshelp_journal): New structure.
26896 (grub_fshelp_map_block): New function prototype.
26897 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
26898 (grub_fshelp_map_block): Likewise.
26900 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
26901 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
26902 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
26903 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
26904 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
26905 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
26906 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
26907 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
26908 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
26909 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
26910 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
26911 (grub_ext2_sblock): New members for journal support.
26912 (grub_ext3_journal_header): New structure.
26913 (grub_ext3_journal_revoke_header): Likewise.
26914 (grub_ext3_journal_block_tag): Likewise.
26915 (grub_ext3_journal_sblock): Likewise.
26916 (grub_fshelp_node): New members logfile and journal.
26917 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
26918 grub_fshelp_map_block to get real block number.
26919 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
26921 (grub_ext2_read_inode): Likewise.
26922 (grub_ext3_get_journal): New function.
26923 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
26924 (grub_ext2_close): Release memory used by journal.
26926 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
26927 (REISERFS_MAGIC_DESC_BLOCK): New macro.
26928 (grub_reiserfs_transaction_header): Renamed to
26929 grub_reiserfs_description_block, replace field data with real_blocks.
26930 (grub_reiserfs_commit_block): New structure.
26931 (grub_reiserfs_data): New member journal.
26932 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
26934 (grub_reiserfs_read_symlink): Likewise.
26935 (grub_reiserfs_iterate_dir): Likewise.
26936 (grub_reiserfs_open): Likewise.
26937 (grub_reiserfs_read): Likewise.
26938 (grub_reiserfs_get_journal): New function.
26939 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
26940 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
26941 using grub_reiserfs_get_journal.
26942 (grub_reiserfs_close): Release memory used by journal.
26944 * fs/affs.c (grub_affs_read_block): Change block type to
26945 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
26947 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
26949 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
26951 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
26953 * fs/udf.c (grub_udf_read_block): Change block type to
26954 grub_disk_addr_t. Use type cast to avoid warning.
26956 * fs/xfs.c (grub_xfs_read_block): Likewise.
26958 2008-05-16 Christian Franke <franke@computer.org>
26960 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
26961 to ensure that break with ESC will always work.
26962 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
26963 Remove ESC from keyboard queue.
26965 2008-05-16 Christian Franke <franke@computer.org>
26967 * util/biosdisk.c: [__CYGWIN__] Add includes.
26968 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
26969 (get_os_disk): Move variable declarations to OS specific
26970 parts to avoid warning.
26971 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
26972 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
26973 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
26975 * util/getroot.c: [__CYGWIN__] Add includes.
26976 (strip_extra_slashes): Fix "/" case.
26977 [__CYGWIN__] (get_win32_path): New function.
26978 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
26979 [__CYGWIN__] (find_root_device): Disable.
26980 [__CYGWIN__] (get_bootsec_serial): New function.
26981 [__CYGWIN__] (find_cygwin_root_device): Likewise.
26982 [__linux__] (grub_guess_root_device): Add early returns to simplify
26984 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
26985 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
26986 check for Linux only.
26988 2008-05-15 Bean <bean123ch@gmail.com>
26990 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
26991 keyboard hang problem in apple's intel mac.
26993 2008-05-09 Robert Millan <rmh@aybabtu.com>
26995 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
26997 * util/grub-mkdevicemap.c (get_virtio_disk_name)
26998 (make_device_map): Likewise.
26999 Reported by Aurelien Jarno <aurel32@debian.org>
27001 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
27003 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
27004 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
27005 (make_device_map): Output entries for xvd type disks.
27007 2008-05-07 Robert Millan <rmh@aybabtu.com>
27009 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
27011 * util/grub-mkdevicemap.c (get_cciss_disk_name)
27012 (make_device_map): Likewise.
27013 Reported by Roland Dreier <rdreier@cisco.com>
27015 2008-05-07 Robert Millan <rmh@aybabtu.com>
27017 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
27018 grub_strstr() call. Correct a few mistakes in failure path handling.
27020 2008-05-06 Robert Millan <rmh@aybabtu.com>
27022 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27023 Do not print a trailing slash (therefore, the root directory is an
27025 (convert_system_path_to_grub_path): Do not remove trailing slash
27026 from make_system_path_relative_to_its_root() output.
27028 * util/i386/pc/grub-install.in: Add trailing slash to output from
27029 make_system_path_relative_to_its_root().
27031 2008-05-06 Robert Millan <rmh@aybabtu.com>
27033 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
27034 ensures that output lines aren't intermangled with those sent to
27035 stderr (via grub_util_info()).
27036 * util/grub-probe.c (grub_refresh): Likewise.
27037 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
27039 2008-05-05 Christian Franke <franke@computer.org>
27041 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
27042 Add Cygwin device names.
27043 (get_ide_disk_name) [__CYGWIN__]: Likewise.
27044 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
27045 (check_device): Return error instead of success on empty name.
27046 (make_device_map): Move label inside linux specific code to
27047 prevent compiler warning.
27049 2008-04-30 Robert Millan <rmh@aybabtu.com>
27051 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
27052 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
27054 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
27056 2008-04-29 Robert Millan <rmh@aybabtu.com>
27058 * docs/grub.cfg: New file (example GRUB configuration).
27060 2008-04-26 Robert Millan <rmh@aybabtu.com>
27062 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
27063 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
27064 and `disk/ieee1275/nand.c'.
27066 2008-04-25 Bean <bean123ch@gmail.com>
27068 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
27071 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
27072 change the buffer size to 4096 for cdrom device.
27074 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
27076 (_linux_mod_SOURCES): New variable.
27077 (_linux_mod_CFLAGS): Likewise.
27078 (_linux_mod_LDFLAGS): Likewise.
27079 (linux_mod_SOURCES): Likewise.
27080 (linux_mod_CFLAGS): Likewise.
27081 (linux_mod_LDFLAGS): Likewise.
27082 (nand_mod_SOURCES): Likewise.
27083 (nand_mod_CFLAGS): Likewise.
27084 (nand_mod_LDFLAGS): Likewise.
27086 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
27087 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
27088 type property. (nand device in olpc don't have this property)
27090 * include/grub/disk.h (grub_disk_dev_id): New macro
27091 GRUB_DISK_DEVICE_NAND_ID.
27093 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
27094 function prototype.
27095 (grub_rescue_cmd_initrd): Likewise.
27097 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
27098 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
27099 ofw_cif_handler and ofw_idt, adjust padding number.
27101 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
27102 GRUB_MACHINE_IEEE1275 is defined.
27104 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
27105 Use NESTED_FUNC_ATTR attribute on the hook parameter.
27107 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
27108 on nested function heap_init.
27109 (grub_upper_mem): New variable for i386-ieee1275.
27110 (grub_get_extended_memory): New function for i386-ieee1275.
27111 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
27113 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
27114 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
27117 * loader/i386/ieee1275/linux.c: New file.
27119 * loader/i386/ieee1275/linux_normal.c: New file.
27121 * disk/ieee1275/nand.c: New file.
27123 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
27125 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
27127 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
27129 2008-04-18 Robert Millan <rmh@aybabtu.com>
27131 Restructures early code path on ieee1275 to unify grub_main() as
27132 the first C function that is executed in every platform.
27134 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
27135 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
27137 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
27138 * kern/ieee1275/cmain.c (cmain): Rename to ...
27139 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
27140 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
27143 2008-04-18 Robert Millan <rmh@aybabtu.com>
27145 * util/update-grub.in: Fix syntax error when setting
27146 `GRUB_PRELOAD_MODULES'.
27147 Reported by Stephane Chazelas <stephane@artesyncp.com>
27149 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
27151 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
27152 section into account, newer toolchains generate unique build ids
27153 * configure.ac: remove the test for --build-id=none acceptance,
27154 we want build ids to be preserved
27155 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
27156 far from other sections don't cause the raw binary images grow
27159 2008-04-15 Robert Millan <rmh@aybabtu.com>
27161 * disk/lvm.c: Update copyright year.
27162 * kern/misc.c: Likewise.
27164 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27166 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
27167 there is no memory left for physical volume name.
27169 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27171 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
27172 volume name mapping to support bigger than 9 character names properly.
27174 2008-04-13 Robert Millan <rmh@aybabtu.com>
27176 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
27177 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
27179 2008-04-13 Christian Franke <franke@computer.org>
27181 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
27182 to create a floppy emulation boot CD when non emulation mode
27184 Enable Joliet CD filesystem extension.
27186 2008-04-13 Robert Millan <rmh@aybabtu.com>
27188 * kern/misc.c (grub_strncat): Fix off-by-one error.
27189 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
27191 * kern/env.c (grub_env_context_close): Clear current context, not
27193 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
27195 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
27197 2008-04-13 Robert Millan <rmh@aybabtu.com>
27199 Improve robustness when handling LVM.
27201 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
27202 (and leave `*p' unmodified).
27203 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
27205 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
27206 iterating through it.
27207 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
27209 (grub_lvm_scan_device): Check the return value (and fail gracefully
27210 when due) on each grub_lvm_getvalue() or grub_strstr() call.
27211 Don't assume `vg->pvs != NULL' when iterating through it.
27213 2008-04-13 Robert Millan <rmh@aybabtu.com>
27215 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
27216 * genmk.rb (partmap): New variable.
27217 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
27218 (#{partmap}): New target rule.
27219 * genpartmaplist.sh: New file.
27220 * Makefile.in (pkglib_DATA): Add partmap.lst.
27221 (partmap.lst): New target rule.
27222 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
27223 modules (including all partition maps), instead of preloading them.
27225 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
27227 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
27228 `linux-boot-prober' (if installed) to detect other operating
27229 systems which are installed on the computer and add them to
27231 * conf/common.rmk: Build and install 30_os-prober.
27233 2008-04-12 Robert Millan <rmh@aybabtu.com>
27235 * kern/powerpc/ieee1275/init.c: Move from here ...
27236 * kern/ieee1275/init.c: ... to here. Update all users.
27238 * kern/powerpc/ieee1275/cmain.c: Move from here ...
27239 * kern/ieee1275/cmain.c: ... to here. Update all users.
27241 * kern/powerpc/ieee1275/openfw.c: Move from here ...
27242 * kern/ieee1275/openfw.c: ... to here. Update all users.
27244 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
27245 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
27247 2008-04-10 Pavel Roskin <proski@gnu.org>
27249 * configure.ac: Always use "_cv_" in cache variables for
27250 compatibility with Autoconf 2.62.
27252 2008-04-07 Robert Millan <rmh@aybabtu.com>
27254 Revert grub/machine/init.h addition by Pavel (since it breaks on
27255 i386-ieee1275 and others):
27256 * util/i386/pc/misc.c: Remove grub/machine/init.h.
27257 * util/powerpc/ieee1275/misc.c: Likewise.
27259 2008-04-07 Robert Millan <rmh@aybabtu.com>
27261 * util/grub-probe.c (probe): Improve error message.
27263 2008-04-07 Robert Millan <rmh@aybabtu.com>
27265 * util/biosdisk.c (read_device_map): Skip devices that don't exist
27266 (this prevents the presence of a bogus entry from ruining the whole
27269 2008-04-06 Pavel Roskin <proski@gnu.org>
27271 * util/biosdisk.c: Include grub/util/biosdisk.h.
27272 * util/grub-fstest.c (execute_command): Make static.
27273 * util/grub-mkdevicemap.c (check_device): Likewise.
27274 * util/i386/pc/misc.c: Include grub/machine/init.h.
27275 * util/powerpc/ieee1275/misc.c: Likewise.
27276 * util/lvm.c: Include grub/util/lvm.h.
27277 * util/misc.c: Include grub/kernel.h, grub/misc.h and
27279 * util/raid.c: Include grub/util/raid.h.
27280 (grub_util_getdiskname): Make static.
27282 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
27283 grub_hostfs_fini(), as they are called from grub_init_all() and
27284 grub_fini_all() respectively. This fixes an infinite loop in
27285 grub-fstest due to double registration of hostfs.
27286 Reported by Christian Franke <Christian.Franke@t-online.de>
27288 2008-04-05 Pavel Roskin <proski@gnu.org>
27290 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
27291 all 8 functions. Otherwise, probe function 0 only.
27293 2008-04-04 Pavel Roskin <proski@gnu.org>
27295 * commands/lspci.c (grub_lspci_iter): Print the bus number
27298 * commands/lspci.c (grub_pci_classes): Fix typos.
27299 (grub_lspci_iter): Don't print func twice. Print vendor ID
27300 before device ID, as it's normally done.
27302 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27303 Fix signedness warnings.
27304 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
27306 * util/ieee1275/get_disk_name.c: Include config.h so that
27307 _GNU_SOURCE is defined and getline() is declared. Mark an
27308 unused argument as such. Fix a signedness warning.
27310 2008-04-02 Pavel Roskin <proski@gnu.org>
27312 * genkernsyms.sh.in: Use more robust assignments for CC and
27313 srcdir. Quote srcdir.
27314 * gensymlist.sh.in: Likewise. Assert at the compile time that
27315 the symbol table is not empty.
27317 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
27318 * fs/cpio.c (grub_cpio_read): Likewise.
27320 2008-04-01 Pavel Roskin <proski@gnu.org>
27322 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
27323 * disk/host.c (grub_host_open): Likewise.
27324 * disk/loopback.c (grub_loopback_open): Likewise.
27325 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
27326 disk->id as in disk/host.c, not a multi-character constant.
27328 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
27329 later is obsolete, potentially dangerous and sets a bad example.
27330 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
27331 * util/misc.c (grub_util_get_image_size): Likewise.
27333 * disk/loopback.c (options): Improve help for "--partitions".
27335 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
27336 options to align them with the short options, e.g. "echo -e".
27338 2008-03-31 Bean <bean123ch@gmail.com>
27340 * video/reader/png.c (grub_png_data): New member is_16bit and
27342 (grub_png_decode_image_header): Detect 16 bit png image.
27343 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
27344 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
27345 (grub_video_reader_png): Release memory occupied by image_data.
27347 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
27349 (grub_nfs_mount): Skip the test for sector per cluster.
27351 * include/grub/ntfs.h (MAX_SPC): Removed.
27353 2008-03-31 Bean <bean123ch@gmail.com>
27355 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
27356 (grub_probe_SOURCES): Add fs/afs.c.
27357 (grub_fstest_SOURCES): Likewise.
27358 (afs_mod_SOURCES): New variable.
27359 (afs_mod_CFLAGS): Likewise.
27360 (afs_mod_LDFLAGS): Likewise.
27362 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
27363 (grub_emu_SOURCES): Likewise.
27365 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27367 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27369 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27373 * fs/afs.c: New file.
27375 2008-03-30 Pavel Roskin <proski@gnu.org>
27377 * disk/host.c: Include grub/misc.h to fix a warning.
27378 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
27379 warnings about implicit declarations.
27381 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
27383 * include/grub/i386/loader.h: Change declaration of
27384 grub_linux_boot() to match what grub_loader_set() expects.
27385 * util/getroot.c (grub_guess_root_device): Return const char* to
27387 * util/grub-probe.c (probe): Fix a warning about uninitialized
27388 abstraction_name variable.
27389 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
27390 second argument as unused to fix a warning.
27392 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
27393 missing grub_error() call.
27395 * util/update-grub_lib.in: Define datarootdir, since Autoconf
27396 2.60 and newer uses it to define datadir.
27398 * commands/sleep.c: Fix warning about implicit declaration.
27399 * disk/memdisk.c: Likewise.
27400 * loader/aout.c: Likewise.
27401 * loader/i386/bsd_normal.c: Likewise.
27402 * util/grub-probe.c: Likewise.
27404 * commands/i386/cpuid.c (has_longmode): Make static.
27405 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
27406 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
27408 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
27409 GDT. This is more robust, as %ds can change.
27410 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
27411 calling real_to_prot().
27412 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
27414 2008-03-28 Pavel Roskin <proski@gnu.org>
27416 * kern/i386/pc/startup.S: Assert that uncompressed functions
27417 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
27418 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
27419 code, as they push parts of the code (error handlers) beyond
27420 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
27421 code as correctness and size.
27423 2008-03-28 Pavel Roskin <proski@gnu.org>
27425 * kern/i386/pc/startup.S
27426 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
27427 data block address to the real mode, keep offset minimal. This
27428 works around a bug in AWARD BIOS on old Athlon systems, which
27429 makes CD detection hang.
27431 2008-03-26 Pavel Roskin <proski@gnu.org>
27433 * normal/color.c (grub_parse_color_name_pair): Make `name' a
27435 * include/grub/normal.h: Add grub_parse_color_name_pair()
27438 2008-03-24 Bean <bean123ch@gmail.com>
27440 * disk/i386/pc/biosdisk.c (cd_start): Removed.
27441 (cd_count): Removed.
27442 (cd_drive): New variable.
27443 (grub_biosdisk_get_drive): Don't check for (cdN) device.
27444 (grub_biosdisk_call_hook): Likewise.
27445 (grub_biosdisk_iterate): Change cdrom detection method.
27446 (grub_biosdisk_open): Replace cd_start with cd_drive.
27447 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
27448 detect cdrom device.
27450 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
27452 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
27453 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
27454 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
27455 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
27456 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
27457 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
27458 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
27459 (grub_biosdisk_cdrp): New structure.
27460 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
27462 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
27464 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
27467 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
27470 2008-03-20 Robert Millan <rmh@aybabtu.com>
27472 Remove 2 TiB limit in ata.mod.
27473 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
27474 (grub_ata_dumpinfo): Print sector count with 0x%llx.
27475 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
27476 grub_uint64_t instead of grub_uint32_t.
27478 2008-03-05 Bean <bean123ch@gmail.com>
27480 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
27481 (grub_multiboot): Set boot device.
27483 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
27485 2008-03-02 Bean <bean123ch@gmail.com>
27487 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
27490 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
27492 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
27495 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
27498 * docs/fdl.texi: New file.
27500 * docs/mdate-sh: New file. Copied from gnulib.
27501 * docs/texinfo.tex: Likewise.
27503 * config.guess: Updated from gnulib.
27504 * install-sh: Likewise.
27506 2008-02-28 Robert Millan <rmh@aybabtu.com>
27508 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
27509 (aout_mod_SOURCES): New variable.
27510 (aout_mod_CFLAGS): Likewise.
27511 (aout_mod_LDFLAGS): Likewise.
27513 * conf/i386-ieee1275.rmk: Likewise.
27515 2008-02-28 Robert Millan <rmh@aybabtu.com>
27517 * util/update-grub.in: Reorganise terminal validity check. Accept
27518 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
27519 Based on suggestion by Franklin PIAT.
27521 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
27523 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
27525 * util/getroot.c (grub_util_check_block_device): New function that
27526 returns the given argument if it is a block device and returns NULL else.
27527 * util/grub-probe.c (argument_is_device): New variable.
27528 (probe): Promote device_name from a variable to an argument. Receive
27529 device_name from grub_util_check_block_device() if path is NULL and from
27530 grub_guess_root_device() else. Do not free() device_name anymore.
27531 (options): Introduce new parameter '-d, --device'.
27532 (main): Add description of the new parameter to the help screen.
27533 Rename path variable to argument. Set argument_is_device if the '-d'
27534 option is given. Pass argument to probe() depending on
27535 argument_is_device.
27537 2008-02-24 Bean <bean123ch@gmail.com>
27539 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
27540 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
27541 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
27542 (GRUB_ISO9660_VOLDESC_PART): Likewise.
27543 (GRUB_ISO9660_VOLDESC_END): Likewise.
27544 (grub_iso9660_primary_voldesc): New member escape.
27545 (grub_iso9660_data): New member joliet.
27546 (grub_iso9660_convert_string): New function.
27547 (grub_iso9660_mount): Detect joliet extension.
27548 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
27549 (grub_iso9660_iso9660_label): Likewise.
27551 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
27552 (grub_setup_SOURCES): Add fs/udf.c.
27553 (grub_fstest_SOURCES): Likewise.
27554 (udf_mod_SOURCES): New variable.
27555 (udf_mod_CFLAGS): Likewise.
27556 (udf_mod_LDFLAGS): Likewise.
27558 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
27559 (grub_emu_SOURCES): Likewise.
27561 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27563 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27565 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27569 * fs/udf.c: New file.
27571 2008-02-24 Robert Millan <rmh@aybabtu.com>
27573 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
27574 (normal/lexer.c_DEPENDENCIES): New variables.
27575 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27576 (normal/lexer.c_DEPENDENCIES): Likewise.
27577 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
27578 (normal/lexer.c_DEPENDENCIES): Likewise.
27579 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
27580 (normal/lexer.c_DEPENDENCIES): Likewise.
27581 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27582 (normal/lexer.c_DEPENDENCIES): Likewise.
27583 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27584 (normal/lexer.c_DEPENDENCIES): Likewise.
27586 2008-02-23 Robert Millan <rmh@aybabtu.com>
27588 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
27589 since they were intended to be in hex. This didn't break previously
27590 because of a bug in gpt_partition_map_iterate() (see below).
27592 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
27593 when checking the validity of GPT header.
27594 Remove `partno', since it always provides the same information as `i'.
27596 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
27598 * include/grub/efi/time.h: Fix a wrong comment.
27600 2008-02-19 Pavel Roskin <proski@gnu.org>
27602 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
27605 2008-02-19 Bean <bean123ch@gmail.com>
27607 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
27608 (aout_mod_SOURCES): New variable.
27609 (aout_mod_CFLAGS): Likewise.
27610 (aout_mod_LDFLAGS): Likewise.
27611 (_bsd_mod_SOURCES): New variable.
27612 (_bsd_mod_CFLAGS): Likewise.
27613 (_bsd_mod_LDFLAGS): Likewise.
27614 (bsd_mod_SOURCES): New variable.
27615 (bsd_mod_CFLAGS): Likewise.
27616 (bsd_mod_LDFLAGS): Likewise.
27618 * include/grub/aout.h: New file.
27620 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
27622 * include/grub/i386/bsd.h: New file.
27624 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
27627 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
27628 function is called, so that it's possible to change it inside the hook.
27629 (grub_elf64_load): Likewise.
27630 (grub_elf_file): Don't close the file if elf header is not found.
27631 (grub_elf_close): Close the file if grub_elf_file fails (The new
27632 grub_elf_file won't close it).
27633 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
27634 (grub_elf64_size): Likewise.
27636 * kern/i386/loader.S (grub_unix_real_boot): New function.
27638 * loader/aout.c: New file.
27640 * loader/i386/bsd.c: New file.
27642 * loader/i386/bsd_normal.c: New file.
27644 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
27646 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
27647 can test other formats.
27649 2008-02-19 Robert Millan <rmh@aybabtu.com>
27651 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
27652 (grub_gpt_partition_type_empty): Redefine with macro from
27653 `<grub/gpt_partition.h>'.
27654 (gpt_partition_map_iterate): Adjust partition type comparison.
27656 Export `entry' as partmap-specific `part.data' struct.
27657 (grub_gpt_header, grub_gpt_partentry): Move from here ...
27659 * include/grub/gpt_partition.h (grub_gpt_header)
27660 (grub_gpt_partentry): ... to here (new file).
27662 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
27664 (grub_gpt_partition_type_bios_boot): New const variable, defined
27665 with macro from `<grub/gpt_partition.h>'.
27667 (setup): Replace `first_start' with `embed_region', which keeps
27668 track of the embed region (and is partmap-agnostic).
27670 Replace find_first_partition_start() with find_usable_region(),
27671 which finds a usable region for embedding using partmap-specific
27672 knowledge (supports PC/MSDOS and GPT).
27674 Fix all assumptions that the embed region start at sector 1, using
27675 `embed_region.start' from now on. Similarly, use `embed_region.end'
27676 rather than `first_start' to calculate available size.
27678 In grub_util_info() message, replace "into after the MBR" with an
27679 indication of the specific sector our embed region starts at.
27681 2008-02-19 Robert Millan <rmh@aybabtu.com>
27683 * DISTLIST: Replace `commands/ieee1275/halt.c' and
27684 `commands/ieee1275/reboot.c' with `commands/halt.c' and
27685 `commands/reboot.c'.
27686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
27687 (halt_mod_SOURCES): Likewise.
27688 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
27689 (halt_mod_SOURCES): Likewise.
27691 2008-02-17 Christian Franke <franke@computer.org>
27693 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
27695 2008-02-17 Robert Millan <rmh@aybabtu.com>
27697 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
27698 set `first_start' to 0 for non-PC/MSDOS partition maps.
27700 2008-02-16 Robert Millan <rmh@aybabtu.com>
27702 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
27703 do not assume partition map is PC/MSDOS before performing checks that
27704 are specific to that layout.
27706 2008-02-13 Robert Millan <rmh@aybabtu.com>
27708 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
27709 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
27710 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
27712 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
27714 * configure.ac: Only a cosmetic change on the handling of
27715 -fno-stack-protector.
27717 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
27719 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
27720 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
27722 (grub_install_SOURCES): Add halt.mod and reboot.mod.
27723 (halt_mod_SOURCES): New variable.
27724 (halt_mod_CFLAGS): Likewise.
27725 (halt_mod_LDFLAGS): Likewise.
27726 (reboot_mod_SOURCES): Likewise.
27727 (reboot_mod_CFLAGS): Likewise.
27728 (reboot_mod_LDFLAGS): Likewise.
27730 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
27731 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
27733 (halt_mod_SOURCES): Likewise.
27734 (reboot_mod_SOURCES): Likewise.
27736 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
27737 commands/i386/pc/reboot.c by commands/reboot.c.
27738 (reboot_mod_SOURCES): Likewise.
27740 * commands/i386/pc/reboot.c: merge this file ...
27742 * commands/ieee1275/reboot.c: ... and this file ...
27744 * commands/reboot.c: ... to this file.
27745 Add some precompiler directive to include the correct header for
27748 * commands/ieee1275/halt.c: move this file ...
27750 * commands/halt.c: ... to here.
27751 Add some precompiler directive to include the correct header for
27754 * include/grub/efi/efi.h (grub_reboot): New function declaration.
27755 (grub_halt): Likewise.
27757 * kern/efi/efi.c (grub_reboot): New function.
27758 (grub_halt): Likewise.
27760 2008-02-12 Robert Millan <rmh@aybabtu.com>
27762 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
27763 /dev (like it is done for /dev/mapper). This doesn't provide support
27764 for EVMS, but at least it is now easy to identify the problem when it
27767 2008-02-11 Robert Millan <rmh@aybabtu.com>
27769 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
27770 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
27771 comparing it with -1, not 0.
27773 2008-02-10 Robert Millan <rmh@aybabtu.com>
27775 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
27777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27778 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27780 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
27781 `disk/lvm.c' to the end of the list.
27782 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27783 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27785 2008-02-10 Robert Millan <rmh@aybabtu.com>
27787 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
27788 grub_print_error() instead. This will let user know why we're entering
27790 Based on suggestions from Sam Morris.
27792 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
27794 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
27795 on remaining N args, instead of "--" arg N times.
27797 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
27799 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
27800 (fill_with_default_glyph): Changed to use unknown_glyph for fill
27801 pattern for unknown glyphs.
27803 2008-02-09 Robert Millan <rmh@aybabtu.com>
27805 * configure.ac: Probe for `help2man'.
27806 * Makefile.in (builddir): New variable.
27807 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
27808 or otherwise add a few flags/options to it.
27809 (install-local): For every executable utility or script that is
27810 installed, invoke $(HELP2MAN) to install a manpage based on --help
27813 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
27814 that it doesn't prevent --help from working in build tree.
27816 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
27817 with `bug-grub@gnu.org'.
27818 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
27819 * util/update-grub.in (usage): New function.
27820 Implement proper argument check, with support for --help and --version
27821 (as well as existing -y).
27823 2008-02-09 Christian Franke <franke@computer.org>
27825 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
27826 avoid overwriting previous output.
27827 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
27829 2008-02-09 Robert Millan <rmh@aybabtu.com>
27831 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
27834 2008-02-09 Robert Millan <rmh@aybabtu.com>
27836 * commands/sleep.c: New file.
27837 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
27838 (sleep_mod_SOURCES): New variable.
27839 (sleep_mod_CFLAGS): Likewise.
27840 (sleep_mod_LDFLAGS): Likewise.
27842 2008-02-09 Robert Millan <rmh@aybabtu.com>
27844 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
27845 situations in which we can deduce the RAID size and the superblock
27848 2008-02-09 Robert Millan <rmh@aybabtu.com>
27850 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
27851 and return a grub_diskmemberlist_t composed of LVM physical volumes.
27852 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
27854 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
27855 and return a grub_diskmemberlist_t composed of physical array members.
27856 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
27858 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
27860 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
27861 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
27862 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
27864 * util/grub-probe.c (probe): Move partmap probing code from here ...
27865 (probe_partmap): ... to here.
27866 (probe): Use probe_partmap() once for the disk we're probing, and
27867 additionally, when such disk contains a memberlist() struct member,
27868 once for each disk that is contained in the structure returned by
27871 2008-02-09 Robert Millan <rmh@aybabtu.com>
27873 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
27874 environment variable to 'all' in order to obtain debug output from
27876 * util/i386/pc/grub-setup.c (main): Likewise.
27878 2008-02-08 Robert Millan <rmh@aybabtu.com>
27880 * disk/raid.c (grub_raid_scan_device): Check for
27881 `array->device[sb.this_disk.number]' rather than for
27882 `array->device[sb.this_disk.number]->name', since the latter is not
27883 guaranteed to be accessible.
27885 2008-02-08 Robert Millan <rmh@aybabtu.com>
27887 * disk/raid.c: Update copyright.
27888 * fs/cpio.c: Likewise.
27889 * include/grub/raid.h: Likewise.
27890 * loader/i386/pc/multiboot.c: Likewise.
27891 * util/hostfs.c: Likewise.
27893 2008-02-08 Robert Millan <rmh@aybabtu.com>
27895 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
27896 to a grub_disk_t array.
27897 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
27899 (grub_raid_scan_device): Replace `device[x].name' accesses with
27900 `device[x]->name'. Simplify initialization of `array->device[x]'.
27902 2008-02-08 Robert Millan <rmh@aybabtu.com>
27904 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
27905 grub_dprintf() calls.
27906 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
27909 2008-02-07 Christian Franke <franke@computer.org>
27911 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
27912 instead of fseek and ftell to support large files.
27913 (grub_hostfs_read): Likewise.
27915 2008-02-07 Robert Millan <rmh@aybabtu.com>
27917 Patch from Jeroen Dekkers.
27918 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
27919 failure, since successfully reading all array members might not be
27922 2008-02-06 Robert Millan <rmh@aybabtu.com>
27924 * util/grub-probe.c (probe): Simplify partmap probing (with the
27925 assumption that the first word up to the underscore equals to
27928 2008-02-06 Christian Franke <franke@computer.org>
27930 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
27931 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
27932 last block of a cpio or tar stream.
27933 Check for "TRAILER!!!" instead of any empty data
27934 block to detect last block of a cpio stream.
27935 (grub_cpio_dir): Fix constness of variable np.
27936 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
27937 cpio or tar trailer is detected. This fixes a crash
27938 on open of a non existing file.
27940 2008-02-05 Bean <bean123ch@gmail.com>
27942 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
27944 (grub_multiboot_load_elf64): Likewise.
27945 (grub_multiboot): Initialize mbi structure.
27947 * util/grub-fstest.c: Don't include unused header file script.h.
27949 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
27951 (grub_fstest_SOURCES): Likewise.
27953 2008-02-05 Robert Millan <rmh@aybabtu.com>
27955 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
27956 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
27957 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
27958 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
27960 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
27961 (translation_table): Replace hardcoded values with macros
27962 provided by `<grub/term.h>'.
27964 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
27965 (keyboard_map): Correct/add a few values, with macros provided
27966 by `<grub/term.h>'.
27967 (keyboard_map_shift): Zero values that don't differ from their
27968 `keyboard_map' equivalents.
27969 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
27970 Discard the second scan code that is always sent by Caps lock.
27971 Only use `keyboard_map_shift' when it provides a non-zero value,
27972 otherwise fallback to `keyboard_map'.
27974 2008-02-04 Bean <bean123ch@gmail.com>
27976 * Makefile.in (enable_grub_fstest): New variable.
27978 * conf/common.rmk (grub_fstest_init.lst): New rule.
27979 (grub_fstest_init.h): Likewise.
27980 (grub_fstest_init.c): Likewise.
27981 (util/grub-fstest.c_DEPENDENCIES): New variable.
27982 (grub_fstest_SOURCES): Likewise.
27984 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
27986 * util/grub-fstest.c: New file.
27988 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
27990 Make grub-setup handle a separate root device.
27992 * util/i386/pc/grub-setup.c (setup): Always open the root device,
27993 so that the root device can be compared with the destination
27995 When embedding the core image, if the root and destination devices
27996 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
27998 When not embedding, set ROOT_DRIVE to 0xFF.
28000 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28002 Add support for having a grub directory in a different drive. This
28003 is still only the data handling part.
28005 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
28006 (codestart): Save %dh in GRUB_ROOT_DRIVE.
28007 (grub_root_drive): New variable.
28009 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
28010 instead of GRUB_BOOT_DRIVE to construct a device name. Set
28011 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
28014 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
28016 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
28018 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
28020 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
28021 is bogus, because PXE booting does not specify any drive
28024 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
28025 am not sure if this is really correct.
28027 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
28028 is always identical to the boot drive when booting from a CD.
28030 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
28032 (root_drive): New variable.
28033 (real_start): Unconditionally set %dh to ROOT_DRIVE.
28034 (setup_sectors): Push %dx right after popping it, because %dh will
28036 (copy_buffer): Restore %dx.
28038 2008-02-03 Robert Millan <rmh@aybabtu.com>
28040 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
28041 use `cdboot.img' for cdrom images.
28043 2008-02-03 Robert Millan <rmh@aybabtu.com>
28045 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
28046 only setup gfxterm when `font' command has succeeded.
28048 2008-02-03 Robert Millan <rmh@aybabtu.com>
28050 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
28051 (grub_rescue_cmd_multiboot_loader)
28052 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
28054 2008-02-03 Pavel Roskin <proski@gnu.org>
28056 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
28057 %edx and %esi from stack only after grub_gate_a20() is called.
28058 grub_gate_a20() clobbers %edx.
28060 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28062 * configure.ac (AC_INIT): Bumped to 1.96.
28064 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
28065 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
28066 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
28067 video/readers/png.c.
28069 2008-02-03 Bean <bean123ch@gmail.com>
28071 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
28072 (cdboot_img_SOURCES): New variable.
28073 (cdboot_img_ASFLAGS): New variable.
28074 (cdboot_img_LDFLAGS): New variable.
28076 * boot/i386/pc/cdboot.S: New file.
28078 * disk/i386/pc/biosdisk.c (cd_start): New variable.
28079 (cd_count): Likewise.
28080 (grub_biosdisk_get_drive): Add support for cd device.
28081 (grub_biosdisk_call_hook): Likewise.
28082 (grub_biosdisk_iterate): Likewise.
28083 (grub_biosdisk_open): Likewise.
28084 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
28085 (grub_biosdisk_rw): Support reading from cd device.
28086 (GRUB_MOD_INIT): Iterate cd devices.
28088 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
28089 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
28090 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
28092 * kern/i386/pc/init.c (make_install_device): Check for cd device.
28094 2008-02-02 Robert Millan <rmh@aybabtu.com>
28096 * commands/read.c: New file.
28097 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
28098 (read_mod_SOURCES): New variable.
28099 (read_mod_CFLAGS): Likewise.
28100 (read_mod_LDFLAGS): Likewise.
28102 2008-02-02 Robert Millan <rmh@aybabtu.com>
28104 * normal/main.c (grub_normal_execute): Check for `menu->size' when
28105 determining whether menu has to be displayed.
28107 2008-02-02 Marco Gerards <marco@gnu.org>
28109 * bus/pci.c: New file.
28111 * include/grub/pci.h: Likewise.
28113 * include/grub/i386/pc/pci.h: Likewise.
28115 * commands/lspci.c: Likewise.
28117 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
28119 (pci_mod_SOURCES): New variable.
28120 (pci_mod_CFLAGS): Likewise.
28121 (pci_mod_LDFLAGS): Likewise.
28122 (lspci_mod_SOURCES): Likewise.
28123 (lspci_mod_CFLAGS): Likewise.
28124 (lspci_mod_LDFLAGS): Likewise.
28126 2008-02-02 Bean <bean123ch@gmail.com>
28128 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
28129 (grub_ufs_get_file_block): Fix indirect block calculation problem.
28131 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
28132 (grub_xfs_btree_node): New structure.
28133 (grub_xfs_btree_root): New structure.
28134 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
28135 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
28136 (GRUB_XFS_EXTENT_BLOCK): Likewise.
28137 (GRUB_XFS_EXTENT_SIZE): Likewise.
28138 (grub_xfs_read_block): Support btree format type.
28139 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
28140 Use directory block as basic unit.
28142 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
28144 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
28145 __attribute__ ((__regparm__ (1))).
28147 2008-02-01 Robert Millan <rmh@aybabtu.com>
28149 Correct a mistake in previous commit.
28151 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
28153 (normal/command.c_DEPENDENCIES): New variable.
28155 2008-02-01 Robert Millan <rmh@aybabtu.com>
28157 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
28159 (normal/command.c_DEPENDENCIES): New variable.
28160 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
28161 * conf/i386-ieee1275.rmk: Likewise.
28162 * conf/i386-linuxbios.rmk: Likewise.
28163 * conf/i386-pc.rmk: Likewise.
28164 * conf/sparc64-ieee1275.rmk: Likewise.
28165 * conf/powerpc-ieee1275.rmk: Likewise.
28166 (grub_emu_SOURCES): Add `fs/fshelp.c'.
28168 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
28170 2008-02-01 Robert Millan <rmh@aybabtu.com>
28172 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
28173 call at beginning of function.
28175 2008-01-31 Pavel Roskin <proski@gnu.org>
28177 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
28178 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
28179 (grub_mkrescue_SOURCES): Likewise.
28180 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
28182 2008-01-30 Robert Millan <rmh@aybabtu.com>
28184 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
28185 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
28186 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
28187 (grub_probe_SOURCES): ... to here.
28189 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
28190 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
28191 * conf/i386-ieee1275.rmk: Likewise.
28192 * conf/i386-linuxbios.rmk: Likewise.
28193 * conf/powerpc-ieee1275.rmk: Likewise.
28195 2008-01-30 Tristan Gingold <gingold@free.fr>
28197 * kern/rescue.c: Silently accept empty lines.
28199 2008-01-29 Bean <bean123ch@gmail.com>
28201 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
28202 (real_code_2): Code cleanup and change comment style.
28203 (move_memory): Avoid using 32-bit address mode.
28205 2008-01-29 Bean <bean123ch@gmail.com>
28207 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
28208 (png_mod_SOURCES): New variable.
28209 (png_mod_CFLAGS): Likewise.
28210 (png_mod_LDFLAGS): Likewise.
28212 * video/readers/png.c: New file.
28214 2008-01-28 Robert Millan <rmh@aybabtu.com>
28216 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
28217 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
28218 `ifndef GRUB_MOD_GAP' hack.
28219 * util/elf/grub-mkimage.c (add_segments): Likewise.
28221 2008-01-27 Robert Millan <rmh@aybabtu.com>
28223 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
28224 `GRUB_MOD_GAP' for platforms in which it's not defined.
28225 * util/elf/grub-mkimage.c (add_segments): Likewise.
28227 2008-01-27 Robert Millan <rmh@aybabtu.com>
28229 Get grub-emu to build again (including parallel builds).
28231 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
28233 (util/grub-emu.c_DEPENDENCIES): ... this, ...
28234 (normal/execute.c_DEPENDENCIES): ... this, ...
28235 (grub-emu_DEPENDENCIES): ... and this.
28237 * conf/i386-efi.rmk: Likewise.
28238 * conf/i386-linuxbios.rmk: Likewise.
28239 * conf/i386-ieee1275.rmk: Likewise.
28240 * conf/powerpc-ieee1275.rmk: Likewise.
28241 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
28243 2008-01-27 Robert Millan <rmh@aybabtu.com>
28245 * NEWS: Add a few items.
28247 2008-01-27 Robert Millan <rmh@aybabtu.com>
28249 Fix parallel builds with grub-emu. Based on earlier commit for
28250 grub-probe and grub-setup.
28252 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28253 (util/grub-emu.c_DEPENDENCIES): ... this.
28254 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28255 (util/grub-emu.c_DEPENDENCIES): ... this.
28256 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28257 (util/grub-emu.c_DEPENDENCIES): ... this.
28258 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28259 (util/grub-emu.c_DEPENDENCIES): ... this.
28260 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28261 (util/grub-emu.c_DEPENDENCIES): ... this.
28263 2008-01-27 Pavel Roskin <proski@gnu.org>
28265 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
28266 to create a gap between _end and the modules added to the image
28267 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
28268 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
28269 * util/elf/grub-mkimage.c (add_segments): Likewise.
28271 2008-01-26 Pavel Roskin <proski@gnu.org>
28273 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
28274 just return an error.
28276 2008-01-26 Bean <bean123ch@gmail.com>
28278 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
28279 (grub_reiserfs_get_item): Save offset of the next item.
28280 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
28282 2008-01-25 Robert Millan <rmh@aybabtu.com>
28284 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
28285 make all filesystem sources appear together (possibly fixing omissions
28287 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28288 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28289 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28290 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28292 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
28294 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
28295 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28296 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
28297 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28299 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
28300 (probe): Add a sanity check to make sure of our ability to read
28301 requested files when probing for filesystem type.
28303 * genmk.rb: Update copyright year (2007).
28305 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
28306 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
28307 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
28308 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
28309 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
28310 : Remove function prototypes.
28312 2008-01-25 Robert Millan <rmh@aybabtu.com>
28314 Revert my previous commits (based on wrong assumption of how grub_errno
28317 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
28318 * kern/file.c (grub_file_open): Likewise.
28320 2008-01-24 Pavel Roskin <proski@gnu.org>
28322 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
28323 that hang if GRUB tries to setup colors.
28324 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
28325 colors for firmwares that don't support it.
28326 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
28327 Recognize Open Hack'Ware, set flags to work around its
28330 2008-01-24 Robert Millan <rmh@aybabtu.com>
28332 * kern/file.c (grub_file_open): Do not account previous failures of
28333 unrelated functions when grub_errno is checked for.
28334 Reported by Oleg Strikov.
28336 2008-01-24 Bean <bean123ch@gmail.com>
28338 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
28339 (grub_ufs_sblock): New member volume name.
28340 (grub_ufs_find_file): Fix string copy bug.
28341 (grub_ufs_label): Implement this function properly.
28343 * fs/hfs.c (grub_hfs_cnid_type): New enum.
28344 (grub_hfs_iterate_records): Use the correct file number for extents
28345 and catalog file. Fix problem in next index calculation.
28346 (grub_hfs_find_node): Replace recursive function call with loop.
28347 (grub_hfs_iterate_dir): Replace recursive function call with loop.
28349 2008-01-23 Robert Millan <rmh@aybabtu.com>
28351 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
28352 `<grub/symbol.h>' and `<grub/multiboot.h>'.
28353 (grub_multiboot2_real_boot): New function prototype.
28355 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
28356 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
28358 * kern/i386/ieee1275/init.c (grub_os_area_addr)
28359 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
28361 2008-01-23 Robert Millan <rmh@aybabtu.com>
28363 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
28364 #ifdef'ed out grub_printf().
28366 2008-01-23 Robert Millan <rmh@aybabtu.com>
28368 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
28369 grub_dprintf calls, since they make "debug=all" mode unusable.
28370 (grub_console_checkkey): Likewise.
28372 2008-01-23 Robert Millan <rmh@aybabtu.com>
28374 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28375 `term/i386/pc/at_keyboard.c'.
28376 (pkglib_MODULES): Add `serial.mod'.
28377 (serial_mod_SOURCES): New variable.
28378 (serial_mod_CFLAGS): Likewise.
28379 (serial_mod_LDFLAGS): Likewise.
28381 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
28382 `<grub/powerpc/ieee1275/console.h>'.
28383 (grub_keyboard_controller_init): New function prototype.
28384 (grub_console_checkkey): Likewise.
28385 (grub_console_getkey): Likewise.
28387 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
28390 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
28391 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
28393 2008-01-23 Robert Millan <rmh@aybabtu.com>
28395 * kern/i386/pc/init.c (make_install_device): When memdisk image is
28396 present, "(memdisk)/boot/grub" becomes the default prefix.
28398 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
28399 a memdisk tarball with all the modules. Add --overlay=DIR option that
28400 allows users to overlay additional files into the image.
28402 2008-01-23 Robert Millan <rmh@aybabtu.com>
28404 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
28405 and `machine/memory.h'.
28406 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
28407 (_multiboot_mod_SOURCES): New variable.
28408 (_multiboot_mod_CFLAGS): Likewise.
28409 (_multiboot_mod_LDFLAGS): Likewise.
28410 (multiboot_mod_SOURCES): Likewise.
28411 (multiboot_mod_CFLAGS): Likewise.
28412 (multiboot_mod_LDFLAGS): Likewise.
28414 * include/grub/i386/ieee1275/loader.h: New file.
28416 * include/grub/i386/ieee1275/machine.h: Likewise.
28418 * include/grub/i386/ieee1275/memory.h: Likewise.
28420 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
28421 variable declaration.
28422 (grub_os_area_size): Likewise.
28424 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
28425 (grub_lower_mem, grub_upper_mem): New variables.
28426 (grub_stop_floppy): New function (just to make
28427 grub_multiboot2_real_boot() happy).
28429 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
28430 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
28431 (grub_stop): New function.
28432 Include `"../realmode.S"' and `"../loader.S"'.
28434 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
28435 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
28437 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
28438 rely on grub_multiboot2_real_boot() for final boot.
28440 2008-01-22 Robert Millan <rmh@aybabtu.com>
28442 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
28443 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
28444 device that doesn't look like an SD card.
28445 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
28446 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
28447 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
28448 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
28451 2008-01-22 Robert Millan <rmh@aybabtu.com>
28453 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
28454 avoid claiming over our own code.
28456 2008-01-22 Bean <bean123ch@gmail.com>
28458 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
28459 (jpeg_mod_SOURCES): New variable.
28460 (jpeg_mod_CFLAGS): Likewise.
28461 (jpeg_mod_LDFLAGS): Likewise.
28463 * video/readers/jpeg.c : New file.
28465 2008-01-22 Bean <bean123ch@gmail.com>
28467 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
28468 there are no more items.
28470 2008-01-21 Robert Millan <rmh@aybabtu.com>
28472 * kern/mm.c (grub_mm_init_region): Improve debug message.
28474 2008-01-21 Robert Millan <rmh@aybabtu.com>
28476 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
28477 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
28479 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
28481 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
28482 Indicates start of upper memory.
28483 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
28484 (generate_image): Abort when image size is big enough to corrupt
28487 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
28488 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
28489 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28490 instead of hardcoding 0xA0000.
28491 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
28492 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28493 instead of hardcoding 0xA0000.
28495 2008-01-21 Robert Millan <rmh@aybabtu.com>
28497 * disk/memdisk.c (memdisk_size): New variable.
28498 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
28500 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
28501 image to dynamic memory.
28502 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
28503 `memdisk_size'. Free memdisk block.
28505 2008-01-21 Robert Millan <rmh@aybabtu.com>
28507 Fix detection of very small filesystems (like tar).
28509 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
28510 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
28511 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
28512 a problem with this disk).
28514 2008-01-21 Robert Millan <rmh@aybabtu.com>
28516 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
28517 on grub_biosdisk_rw_standard() error.
28519 2008-01-21 Robert Millan <rmh@aybabtu.com>
28521 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
28523 * kern/elf.c: Likewise.
28524 * kern/ieee1275/ieee1275.c: Likewise.
28525 * kern/powerpc/ieee1275/openfw.c: Likewise.
28526 * term/ieee1275/ofconsole.c: Likewise.
28528 2008-01-21 Robert Millan <rmh@aybabtu.com>
28530 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
28532 * include/grub/kernel.h (grub_arch_memdisk_addr)
28533 (grub_arch_memdisk_size): Moved from here ...
28535 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
28536 (grub_arch_memdisk_size): ... to here.
28538 2008-01-21 Robert Millan <rmh@aybabtu.com>
28540 Mostly based on bugfix from Bean.
28542 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
28543 attribute with hook() parameter.
28544 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
28546 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
28547 attribute with hook() parameter.
28548 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
28551 2008-01-21 Robert Millan <rmh@aybabtu.com>
28553 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
28554 (pkglib_MODULES): Add `memdisk.mod'.
28555 (memdisk_mod_SOURCES): New variable.
28556 (memdisk_mod_CFLAGS): Likewise.
28557 (memdisk_mod_LDFLAGS): Likewise.
28559 * disk/memdisk.c: New file.
28561 * include/grub/disk.h (grub_disk_dev_id): Add
28562 `GRUB_DISK_DEVICE_MEMDISK_ID'.
28564 * include/grub/i386/pc/kernel.h
28565 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
28566 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
28567 (grub_kernel_image_size): New variable declaration.
28568 (grub_total_module_size): Likewise.
28569 (grub_memdisk_image_size): Likewise.
28571 * include/grub/i386/pc/memory.h
28572 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
28574 * include/grub/kernel.h: Include `<grub/symbol.h>'.
28575 (grub_arch_memdisk_addr): New variable declaration.
28576 (grub_arch_memdisk_size): Likewise.
28578 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
28579 (grub_arch_memdisk_size): Likewise.
28581 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
28582 (codestart): Replace hardcoded `0x100000' with
28583 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
28585 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
28586 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
28587 not NULL, append the contents of the file it refers to, at the end of
28588 the compressed kernel image. Initialize `grub_memdisk_image_size'
28589 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
28590 (options): Add "memdisk"|'m' option.
28591 (main): Parse --memdisk|-m option, and pass user-provided path as
28592 parameter to generate_image().
28594 2008-01-20 Robert Millan <rmh@aybabtu.com>
28596 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
28597 grub_dprintf() calls from here ...
28598 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
28600 2008-01-20 Robert Millan <rmh@aybabtu.com>
28602 Fix detection of "real mode" when /options/real-mode? doesn't exist.
28604 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
28606 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
28607 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
28608 `GRUB_IEEE1275_FLAG_REAL_MODE'.
28609 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
28611 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
28612 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
28614 2008-01-19 Robert Millan <rmh@aybabtu.com>
28616 Get rid of confusing function (superseded by
28617 `grub_ieee1275_get_integer_property')
28618 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
28620 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
28622 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
28623 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
28624 in native endianness from grub_ieee1275_get_integer_property().
28626 2008-01-19 Robert Millan <rmh@aybabtu.com>
28628 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
28629 command after "shut-down", since implementations differ on which
28630 the command for halt is.
28632 2008-01-19 Robert Millan <rmh@aybabtu.com>
28634 * include/grub/i386/linuxbios/console.h: Add header protection.
28635 (grub_keyboard_controller_init): New function prototype.
28636 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
28637 (KEYBOARD_COMMAND_READ): Likewise.
28638 (KEYBOARD_COMMAND_WRITE): Likewise.
28639 (KEYBOARD_SCANCODE_SET1): Likewise.
28640 (grub_keyboard_controller_write): New function.
28641 (grub_keyboard_controller_read): Likewise.
28642 (grub_keyboard_controller_init): Likewise.
28644 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
28645 (grub_console_init): On coreboot/LinuxBIOS, call
28646 grub_keyboard_controller_init().
28648 2008-01-19 Robert Millan <rmh@aybabtu.com>
28650 PowerPC changes provided by Pavel Roskin.
28652 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
28653 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
28654 don't rely on cmain() doing it.
28655 * kern/i386/ieee1275/startup.S (_start): Store %eax in
28656 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
28658 2008-01-16 Robert Millan <rmh@aybabtu.com>
28660 * include/grub/i386/linuxbios/memory.h
28661 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
28662 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
28663 receive `table_header' as argument. Instead, probe for it in the
28664 known memory ranges where it can be present.
28665 (grub_available_iterate): Do not pass a fixed `table_header' address
28666 to grub_linuxbios_table_iterate().
28668 2008-01-15 Robert Millan <rmh@aybabtu.com>
28670 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
28671 * conf/i386-ieee1275.rmk: New file.
28672 * include/grub/i386/ieee1275/console.h: Likewise.
28673 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
28674 * include/grub/i386/ieee1275/kernel.h: Likewise.
28675 * include/grub/i386/ieee1275/time.h: Likewise.
28676 * kern/i386/ieee1275/init.c: Likewise.
28677 * kern/i386/ieee1275/startup.S: Likewise.
28679 2008-01-15 Robert Millan <rmh@aybabtu.com>
28681 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
28682 when pointers are 32-bit (but still do set it to one when they are
28685 2008-01-15 Robert Millan <rmh@aybabtu.com>
28687 * include/grub/ieee1275/ieee1275.h
28688 (grub_ieee1275_get_integer_property): New function prototype.
28690 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
28691 (grub_ieee1275_get_integer_property): New function. Wraps around
28692 grub_ieee1275_get_property() to handle endianness.
28694 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
28695 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
28697 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
28698 (grub_map): Likewise.
28699 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
28701 2008-01-15 Bean <bean123ch@gmail.com>
28703 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
28704 (grub_script_execute_cmdline): Reset grub_errno.
28706 * normal/main.c (read_config_file): Reset grub_errno.
28708 * normal/parse.y (script_init): New.
28709 (script): Move function and menuentry here.
28711 (command): Add delimiter at the end of command.
28712 (commands): Adjust to match the new command.
28713 (commandblock): Remove grub_script_lexer_record_start.
28714 (menuentry): Add grub_script_lexer_record_start, use the new commands.
28715 (if): Use the new commands.
28717 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
28719 2008-01-15 Robert Millan <rmh@aybabtu.com>
28721 * normal/menu.c (run_menu): Move timeout message from here ...
28722 (print_timeout): ... to here.
28723 (run_menu): Use print_timeout() once during initial draw to print
28724 the whole message, and again in every clock tick to update only
28725 the number of seconds.
28727 2008-01-15 Robert Millan <rmh@aybabtu.com>
28729 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
28730 actual size of `available' from grub_ieee1275_get_property(), and
28731 restrict parsing to that bound.
28733 2008-01-15 Christian Franke <franke@computer.org>
28735 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
28736 (argp_program_version): Remove variable.
28737 (argp_program_bug_address): Likewise.
28738 (options): Convert from struct argp_option to struct option.
28739 (struct arguments): Remove.
28740 (parse_opt): Remove.
28741 (usage): New function.
28742 (main): Replace struct args members by simple variables.
28743 Replace argp_parse() by getopt_long().
28744 Add switch to evaluate options.
28745 Add missing "(...)" around root_dev in prefix string.
28747 2008-01-14 Robert Millan <rmh@aybabtu.com>
28749 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
28750 for grub_ieee1275_exit(), in order to improve portability.
28752 2008-01-14 Robert Millan <rmh@aybabtu.com>
28754 * util/grub.d/10_linux.in (prefix): Define.
28755 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
28757 2008-01-13 Pavel Roskin <proski@gnu.org>
28759 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
28760 grub_errno if no errors have been detected.
28762 2008-01-12 Robert Millan <rmh@aybabtu.com>
28764 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
28765 (grub_util_get_dev_abstraction): New function prototype.
28767 * util/getroot.c: Include `<grub/util/getroot.h>'
28768 (grub_util_get_grub_dev): Move detection of abstraction type to ...
28769 (grub_util_get_dev_abstraction): ... here (new function).
28771 * util/grub-probe.c: Convert PRINT_* to an enum. Add
28772 `PRINT_ABSTRACTION'.
28773 (probe): Probe for abstraction type when requested.
28774 (main): Understand `--target=abstraction'.
28776 * util/i386/efi/grub-install.in: Add abstraction module to core
28777 image when it is found to be necessary.
28778 * util/i386/pc/grub-install.in: Likewise.
28779 * util/powerpc/ieee1275/grub-install.in: Likewise.
28781 * util/update-grub_lib.in (font_path): Return system path without
28782 converting to GRUB path.
28783 * util/update-grub.in: Convert system path returned by font_path()
28784 to a GRUB path. Use `grub-probe -t abstraction' to determine what
28785 abstraction module is needed for loading fonts (if any). Export
28786 that as `GRUB_PRELOAD_MODULES'.
28787 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
28790 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
28792 Remove some unused code from reiserfs.
28794 * fs/reiserfs.c (struct grub_reiserfs_key)
28795 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
28796 (struct grub_reiserfs_node_body): Removed.
28797 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
28799 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28801 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28803 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28805 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
28807 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
28809 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28810 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28811 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28813 2008-01-10 Robert Millan <rmh@aybabtu.com>
28815 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
28816 Determines if a file is garbage left by packaging systems, etc.
28817 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
28818 for processing /etc/grub.d scripts.
28819 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
28820 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
28821 as a condition for processing Linux images.
28823 2008-01-10 Pavel Roskin <proski@gnu.org>
28825 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
28826 to compile reiserfs.c on PowerPC.
28828 2008-01-10 Robert Millan <rmh@aybabtu.com>
28830 * kern/device.c (grub_device_iterate): Do not abort device iteration
28831 when one of the devices cannot be opened.
28832 * kern/disk.c (grub_disk_open): Do not account previous failures of
28833 unrelated functions when grub_errno is checked for.
28835 2008-01-08 Robert Millan <rmh@aybabtu.com>
28837 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
28838 `! grub_linux_is_bzimage', change order of address comparison to make
28839 it more intuitive, and improve "too big zImage" error message.
28841 2008-01-08 Robert Millan <rmh@aybabtu.com>
28843 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
28844 `$(update-grub_DATA)'.
28845 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
28848 2008-01-07 Robert Millan <rmh@aybabtu.com>
28850 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
28851 which instruction is modified by grub-setup during installation
28852 (since it wasn't obvious by only looking at this file).
28854 2008-01-07 Robert Millan <rmh@aybabtu.com>
28856 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
28857 listing actual TODO items.
28859 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28861 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
28863 (grub_reiserfs_get_key_offset): Likewise.
28864 (grub_reiserfs_set_key_offset): Likewise.
28865 (grub_reiserfs_set_key_type): Likewise.
28866 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
28868 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
28869 better to remove the bitfield version completely.
28871 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28873 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
28874 allocated from the heap, due to the fshelp implementation.
28875 (grub_reiserfs_dir): Free NODE, due to the same reason.
28877 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28879 Mostly from Vincent Pelletier:
28881 * fs/reiserfs.c: New file.
28883 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
28884 (reiserfs_mod_SOURCES): New variable.
28885 (reiserfs_mod_CFLAGS): Likewise.
28886 (reiserfs_mod_LDFLAGS): Likewise.
28888 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
28889 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
28890 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
28893 2008-01-06 Robert Millan <rmh@aybabtu.com>
28895 * normal/color.c: Remove `<grub/env.h>'.
28897 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
28899 * include/grub/normal.h: Include <grub/env.h>.
28901 2008-01-05 Robert Millan <rmh@aybabtu.com>
28903 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
28904 usage example with `(hd0,1)'.
28905 Reported by Samuel Thibault.
28907 2008-01-05 Robert Millan <rmh@aybabtu.com>
28909 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
28910 (grub_linux_boot_zimage): Rename to ...
28911 (grub_linux_boot): ... this.
28912 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
28913 (grub_linux_boot_zimage): Conditionalize zImage copy.
28915 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
28916 (grub_linux_boot_bzimage): Remove prototype.
28917 (grub_linux_boot_zimage): Rename to ...
28918 (grub_linux_boot): ... this.
28920 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
28921 (grub_linux_boot): Remove function.
28923 2008-01-05 Robert Millan <rmh@aybabtu.com>
28925 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
28926 (grub_env_write_color_highlight): Likewise.
28927 (grub_wait_after_message): Likewise.
28929 * normal/color.c: New file.
28931 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28932 (normal_mod_DEPENDENCIES): Likewise.
28934 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28935 (normal_mod_DEPENDENCIES): Likewise.
28937 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28938 (normal_mod_DEPENDENCIES): Likewise.
28940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28941 (normal_mod_DEPENDENCIES): Likewise.
28943 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
28944 for waiting after a message is printed.
28945 * normal/main.c (read_config_file): Likewise.
28946 (grub_normal_init): Register grub_env_write_color_normal() and
28947 grub_env_write_color_highlight() hooks. Mark `color_normal' and
28948 `color_highlight' variables as global.
28950 * normal/menu.c (grub_wait_after_message): New function.
28951 (grub_color_menu_normal): New variable. Replaces ...
28952 (GRUB_COLOR_MENU_NORMAL): ... this macro.
28953 (grub_color_menu_highlight): New variable. Replaces ...
28954 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
28955 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
28956 `GRUB_TERM_COLOR_STANDARD'.
28957 (print_message): Use `grub_setcolorstate' to reload colors. Rename
28958 `normal_code' and `highlight_code' to `old_color_normal' and
28959 `old_color_highlight', respectively.
28960 (grub_menu_init_page): Update colors when drawing the menu, based on
28961 `menu_color_normal' and `menu_color_highlight' variables.
28962 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
28963 a message is printed.
28965 2008-01-05 Robert Millan <rmh@aybabtu.com>
28967 * kern/env.c (grub_env_context_open): Propagate hooks for global
28968 variables to new context.
28970 * kern/main.c (grub_set_root_dev): Export `root' variable.
28972 2008-01-05 Robert Millan <rmh@aybabtu.com>
28974 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
28975 discs unconditionally, since udev and others have options to provide
28978 2008-01-05 Robert Millan <rmh@aybabtu.com>
28980 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
28982 2008-01-04 Christian Franke <franke@computer.org>
28984 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
28987 2008-01-03 Pavel Roskin <proski@gnu.org>
28989 * kern/i386/linuxbios/init.c: Put "void" to all function
28990 declarations with no arguments.
28991 * kern/powerpc/ieee1275/init.c: Likewise.
28992 * term/i386/pc/at_keyboard.c: Likewise.
28993 * term/i386/pc/vga_text.c: Likewise.
28994 * util/grub-mkdevicemap.c: Likewise.
28996 2008-01-02 Robert Millan <rmh@aybabtu.com>
28998 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
28999 message when loaded image is out of bounds.
29000 (grub_multiboot_load_elf64): Likewise.
29002 2008-01-02 Pavel Roskin <proski@gnu.org>
29004 * util/grub.d/10_linux.in: Try version without ".old" when
29005 looking for initrd. It's better to use initrd from the newer
29006 kernel of the same version than no initrd at all.
29008 2008-01-01 Robert Millan <rmh@aybabtu.com>
29010 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
29012 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
29014 * include/grub/video.h: Added grub_video_unmap_color and
29015 grub_video_get_active_render_target.
29016 (grub_video_adapter): Added unmap_color and get_active_render_target.
29018 * video/video.c: Added grub_video_unmap_color and
29019 grub_video_get_active_render_target.
29020 (grub_video_get_info): Changed method to accept NULL pointer as an
29021 argument to allow detection of active video adapter.
29023 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
29024 grub_video_vbe_unmap_color_int.
29025 Added grub_video_vbe_unmap_color and
29026 grub_video_vbe_get_active_render_target.
29027 (grub_video_vbe_adapter): Added unmap_color and
29028 get_active_render_target.
29030 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
29031 with grub_video_vbe_unmap_color_int.
29033 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
29034 (DEFAULT_NORMAL_COLOR): Likewise.
29035 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
29036 (DEFAULT_FG_COLOR): Removed.
29037 (DEFAULT_BG_COLOR): Likewise.
29038 (DEFAULT_CURSOR_COLOR): Changed value.
29039 (grub_virtual_screen): Added standard_color_setting,
29040 normal_color_setting, highlight_color_setting and term_color.
29041 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
29042 (bitmap_width): Added.
29043 (bitmap_height): Likewise.
29044 (bitmap): Likewise.
29045 (set_term_color): Likewise.
29046 (grub_virtual_screen_setup): Changed to use new terminal coloring
29048 (grub_gfxterm_init): Added init for bitmap.
29049 (grub_gfxterm_fini): Added destroy for bitmap.
29050 (redraw_screen_rect): Updated to use background bitmap and new
29052 (scroll_up): Added optimization for case when there is no bitmap.
29053 (grub_gfxterm_cls): Fixed to use correct background color.
29054 (grub_virtual_screen_setcolorstate): Changed to use new terminal
29056 (grub_virtual_screen_setcolor): Likewise.
29057 (grub_virtual_screen_getcolor): Added.
29058 (grub_gfxterm_background_image_cmd): Likewise.
29059 (grub_video_term): Added setcolor and getcolor.
29060 (MOD_INIT): Added registration of background_image command.
29061 (MOD_TERM): Added unregistration for background_image command.
29063 2007-12-30 Pavel Roskin <proski@gnu.org>
29065 * loader/multiboot_loader.c: Fix multiboot command
29066 unregistration. Fix all typos in the word "multiboot".
29068 2007-12-29 Pavel Roskin <proski@gnu.org>
29070 * util/grub.d/10_linux.in: Refactor search for initrd. Add
29071 support for initrd names used in Fedora.
29073 2007-12-26 Bean <bean123ch@gmail.com>
29075 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
29076 (cpio_mod_SOURCES): New variable.
29077 (cpio_mod_CFLAGS): Likewise.
29078 (cpio_mod_LDFLAGS): Likewise.
29080 * fs/cpio.c: New file.
29082 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
29084 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29086 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29090 2007-12-25 Robert Millan <rmh@aybabtu.com>
29092 * include/grub/term.h (struct grub_term): Add `getcolor' function.
29093 (grub_getcolor): New function.
29095 * kern/term.c (grub_getcolor): New function.
29096 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
29097 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
29098 (print_entry): Set normal and highlight colors to
29099 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
29100 respectively, before printing and restore them to old
29102 (grub_menu_init_page): Likewise. Fill an additional colored space
29103 that would otherwise be left blank.
29105 * term/efi/console.c (grub_console_getcolor): New function.
29106 (struct grub_console_term.getcolor): New variable.
29107 * term/i386/pc/console.c (grub_console_getcolor): New function.
29108 (struct grub_console_term.getcolor): New variable.
29109 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
29110 (struct grub_console_term.getcolor): New variable.
29112 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
29113 (struct grub_console_term.setcolor): Remove variable.
29114 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
29115 (struct grub_console_term.setcolor): Remove variable.
29116 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
29117 (struct grub_console_term.setcolor): Remove variable.
29118 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
29119 (struct grub_console_term.setcolor): Remove variable.
29121 2007-12-25 Robert Millan <rmh@aybabtu.com>
29123 * configure.ac: Search for possible unifont.hex locations, and
29124 define UNIFONT_HEX if found.
29126 * Makefile.in (UNIFONT_HEX): Define variable.
29127 (DATA): Rename to ...
29128 (PKGLIB): ... this. Update all users.
29129 (PKGDATA): New variable.
29130 (pkgdata_IMAGES): Rename to ...
29131 (pkglib_IMAGES): ... this. Update all users.
29132 (pkgdata_MODULES): Rename to ...
29133 (pkglib_MODULES): ... this. Update all users.
29134 (pkgdata_PROGRAMS): Rename to ...
29135 (pkglib_PROGRAMS): ... this. Update all users.
29136 (pkgdata_DATA): Rename to ...
29137 (pkglib_DATA): ... this. Update all users.
29138 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
29139 (unicode.pff, ascii.pff): New rules.
29140 (all-local): Add `$(PKGDATA)' dependency.
29141 (install-local): Process `$(PKGDATA)'.
29143 * util/update-grub_lib.in (font_path): Search for *.pff files in
29144 a few more locations, including `${pkgdata}'.
29146 2007-12-23 Robert Millan <rmh@aybabtu.com>
29148 Patch from Bean <bean123ch@gmail.com>:
29149 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
29152 2007-12-21 Bean <bean123ch@gmail.com>
29154 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
29155 (ntfscomp_mod_SOURCES): New variable.
29156 (ntfscomp_mod_CFLAGS): Likewise.
29157 (ntfscomp_mod_LDFLAGS): Likewise.
29159 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
29160 (grub_probe_SOURCES): Likewise.
29161 (grub_emu_SOURCES): Likewise.
29163 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29164 (grub_emu_SOURCES): Likewise.
29166 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29167 (grub_emu_SOURCES): Likewise.
29169 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29170 (grub_emu_SOURCES): Likewise.
29172 * fs/ntfs.c (grub_ntfscomp_func): New variable.
29173 (read_run_list): Renamed to grub_ntfs_read_run_list.
29174 (decomp_nextvcn): Moved to ntfscomp.c.
29175 (decomp_getch): Likewise.
29176 (decomp_get16): Likewise.
29177 (decomp_block): Likewise.
29178 (read_block): Likewise.
29179 (read_data): Partially moved to ntfscomp.c.
29180 (fixup): Change unsigned to grub_uint16_t.
29181 (read_mft): Change unsigned long to grub_uint32_t.
29182 (read_attr): Likewise.
29183 (read_data): Likewise.
29184 (read_run_data): Likewise.
29185 (read_run_list): Likewise.
29186 (read_mft): Likewise.
29188 * fs/ntfscomp.c: New file.
29190 * include/grub/ntfs.h: New file.
29192 2007-12-16 Robert Millan <rmh@aybabtu.com>
29194 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
29195 IDE disk check, since Linux is known to support 20 IDE disks.
29196 Reported by Colin Watson.
29198 2007-12-15 Bean <bean123ch@gmail.com>
29200 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
29201 (lnxboot_img_SOURCES): New variable.
29202 (lnxboot_img_ASFLAGS): Likewise.
29203 (lnxboot_img_LDFLAGS): Likewise.
29205 * boot/i386/pc/lnxboot.S: New file.
29207 2007-11-24 Pavel Roskin <proski@gnu.org>
29209 * configure.ac: Test if '--build-id=none' is supported by the
29210 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
29211 objcopy to generate incorrect binary files (binutils
29212 2.17.50.0.18-1 as shipped by Fedora 8).
29213 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
29214 linking, so that build ID doesn't break the test.
29216 2007-11-24 Pavel Roskin <proski@gnu.org>
29218 * include/grub/i386/time.h: use "void" in the argument list
29219 of grub_cpu_idle().
29220 * include/grub/powerpc/time.h: Likewise.
29221 * include/grub/sparc64/time.h: Likewise.
29223 2007-11-18 Christian Franke <franke@computer.org>
29225 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
29226 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
29227 This fixes the problem that function keys did not work in grub-emu.
29229 2007-11-18 Christian Franke <franke@computer.org>
29231 * disk/host.c (grub_host_open): Remove attribute unused from
29232 name parameter. Add check for "host". This fixes the problem
29233 that grub-emu does not find partitions.
29235 2007-11-18 Christian Franke <franke@computer.org>
29237 * util/hostfs.c (is_dir): New function.
29238 (grub_hostfs_dir): Handle missing dirent.d_type case.
29239 (grub_hostfs_read): Add missing fseek().
29240 (grub_hostfs_label): Clear label pointer. This fixes a crash
29241 of grub-emu on "ls (host)".
29243 2007-11-18 Christian Franke <franke@computer.org>
29245 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
29246 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
29247 to 64 bit boundary by default.
29249 2007-11-18 Bean <bean123ch@gmail.com>
29251 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
29252 (hexdump_mod_SOURCES): New variable.
29253 (hexdump_mod_CFLAGS): Likewise.
29254 (hexdump_mod_LDFLAGS): Likewise.
29256 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29258 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29260 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29264 * include/grub/hexdump.h: New file.
29266 * commands/hexdump.c: New file.
29268 2007-11-10 Robert Millan <rmh@aybabtu.com>
29270 * commands/i386/pc/play.c (beep_off): Switch order of arguments
29271 in grub_outb() calls.
29272 (beep_on): Likewise.
29274 2007-11-10 Christian Franke <franke@computer.org>
29276 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
29277 (grub_menu_run): Likewise.
29279 2007-11-10 Robert Millan <rmh@aybabtu.com>
29281 * include/grub/i386/efi/machine.h: New file.
29282 * include/grub/i386/linuxbios/machine.h: Likewise.
29283 * include/grub/i386/pc/machine.h: Likewise.
29284 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29285 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29287 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
29288 (serial_hw_io_addr): New variable.
29289 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
29290 instead of `(unsigned short *) 0x400'.
29292 2007-11-10 Bean <bean123ch@gmail.com>
29294 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
29296 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29298 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
29299 (vga_mod_SOURCES): Added.
29300 (vga_mod_CFLAGS): Likewise.
29301 (vga_mod_LDFLAGS): Likewise.
29303 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
29305 (set_map_mask): Likewise.
29306 (set_read_map): Likewise.
29307 (set_read_address): Likewise.
29308 (vga_font): Removed variable.
29309 (get_vga_glyph): Removed function.
29310 (invalidate_char): Likewise.
29311 (write_char): Changed to use grub_font_get_glyph() for font
29313 (grub_vga_putchar): Likewise.
29314 (grub_vga_getcharwidth): Likewise.
29316 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29318 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
29320 (pxeboot_img_LDFLAGS): Likewise.
29321 (diskboot_img_LDFLAGS): Likewise.
29322 (kernel_img_LDFLAGS): Likewise.
29324 2007-11-06 Robert Millan <rmh@aybabtu.com>
29326 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
29327 in grub_outb() calls.
29328 (serial_hw_init): Likewise.
29330 2007-11-05 Robert Millan <rmh@aybabtu.com>
29332 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
29333 spaces. Skip non-regular files.
29335 2007-11-05 Robert Millan <rmh@aybabtu.com>
29337 * kern/disk.c (grub_disk_firmware_fini)
29338 (grub_disk_firmware_is_tainted): New variables.
29340 * include/grub/disk.h (grub_disk_firmware_fini)
29341 (grub_disk_firmware_is_tainted): Likewise.
29343 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
29344 (grub_disk_biosdisk_fini): ... to here.
29345 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
29346 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
29347 is set. Register grub_disk_biosdisk_fini() in
29348 `grub_disk_firmware_fini'.
29350 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
29351 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
29352 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
29353 to finish existing firmware disk interface.
29355 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
29356 (ata_mod_SOURCES): New variable.
29357 (ata_mod_CFLAGS): Likewise.
29358 (ata_mod_LDFLAGS): Likewise.
29360 2007-11-05 Robert Millan <rmh@aybabtu.com>
29362 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
29363 (grub_ata_wait): Reimplement using grub_millisleep().
29365 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
29366 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
29368 2007-11-03 Marco Gerards <marco@gnu.org>
29370 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
29371 (CRTC_ADDR_PORT): New macro.
29372 (CRTC_DATA_PORT): Likewise.
29373 (CRTC_CURSOR): Likewise.
29374 (CRTC_CURSOR_ADDR_HIGH): Likewise.
29375 (CRTC_CURSOR_ADDR_LOW): Likewise.
29376 (update_cursor): New function.
29377 (grub_console_real_putchar): Call `update_cursor'.
29378 (grub_console_gotoxy): Likewise.
29379 (grub_console_cls): Set the default color when clearing the
29381 (grub_console_setcursor): Implemented.
29383 2007-11-03 Marco Gerards <marco@gnu.org>
29385 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
29387 (grub_ata_pio_write): Likewise.
29389 (grub_atapi_identify): Wait after issuing an ATA command.
29390 (grub_atapi_packet): Likewise.
29391 (grub_ata_identify): Likewise.
29392 (grub_ata_readwrite): Likewise.
29394 2007-11-03 Marco Gerards <marco@gnu.org>
29396 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
29397 (grub_ata_pio_write): Likewise.
29398 (grub_ata_readwrite): Use `grub_error', instead of
29399 returning `grub_errno'.
29401 2007-11-03 Marco Gerards <marco@gnu.org>
29403 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
29404 grub_ata_pio_write once for every single sector, instead of for
29407 2007-10-31 Robert Millan <rmh@aybabtu.com>
29409 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
29411 * conf/i386-linuxbios.rmk: New file.
29413 * kern/i386/pc/hardware.c: Likewise.
29414 * term/i386/pc/at_keyboard.c: Likewise.
29415 * term/i386/pc/vga_text.c: Likewise.
29417 * include/grub/i386/linuxbios/boot.h: Likewise.
29418 * include/grub/i386/linuxbios/console.h: Likewise.
29419 * include/grub/i386/linuxbios/init.h: Likewise.
29420 * include/grub/i386/linuxbios/kernel.h: Likewise.
29421 * include/grub/i386/linuxbios/loader.h: Likewise.
29422 * include/grub/i386/linuxbios/memory.h: Likewise.
29423 * include/grub/i386/linuxbios/serial.h: Likewise.
29424 * include/grub/i386/linuxbios/time.h: Likewise.
29426 * kern/i386/linuxbios/init.c: Likewise.
29427 * kern/i386/linuxbios/startup.S: Likewise.
29428 * kern/i386/linuxbios/table.c: Likewise.
29430 2007-10-31 Marco Gerards <marco@gnu.org>
29432 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
29433 (ata_mod_SOURCES): New variable.
29434 (ata_mod_CFLAGS): Likewise.
29435 (ata_mod_LDFLAGS): Likewise.
29437 * disk/ata.c: New file.
29439 * include/grub/disk.h (grub_disk_dev_id): Add
29440 `GRUB_DISK_DEV_ATA_ID'.
29442 2007-10-31 Robert Millan <rmh@aybabtu.com>
29444 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
29445 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
29447 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
29448 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
29450 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
29453 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
29455 2007-10-27 Robert Millan <rmh@aybabtu.com>
29457 * include/grub/types.h (ULONG_MAX): Define macro.
29459 2007-10-22 Robert Millan <rmh@aybabtu.com>
29461 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
29463 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
29465 2007-10-22 Robert Millan <rmh@aybabtu.com>
29467 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
29468 (pkgdata_MODULES): Add `biosdisk.mod'.
29469 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
29472 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
29473 (grub_biosdisk_init): Replace with ...
29474 (GRUB_MOD_INIT(biosdisk)): ... this.
29475 (grub_biosdisk_fini): Replace with ...
29476 (GRUB_MOD_FINI(biosdisk)): ... this.
29478 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
29479 (grub_machine_init): Remove call to grub_biosdisk_init().
29480 (grub_machine_fini): Remove call to grub_machine_fini().
29482 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
29484 2007-10-22 Robert Millan <rmh@aybabtu.com>
29486 * include/grub/time.h: New file.
29487 * include/grub/i386/time.h: Likewise.
29488 * include/grub/powerpc/time.h: Likewise.
29489 * include/grub/sparc64/time.h: Likewise.
29491 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
29493 (KERNEL_MACHINE_TIME_HEADER): ... this.
29494 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29496 (KERNEL_MACHINE_TIME_HEADER): ... this.
29497 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29499 (KERNEL_MACHINE_TIME_HEADER): ... this.
29501 * kern/i386/efi/init.c: Include `<grub/time.h>'.
29502 (grub_millisleep): New function.
29503 * kern/i386/pc/init.c: Include `<grub/time.h>'.
29504 (grub_millisleep): New function.
29505 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
29506 Remove `grub/machine/time.h' include.
29507 (grub_millisleep): New function.
29508 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
29509 Remove `grub/machine/time.h' include.
29510 (grub_millisleep): New function.
29512 * include/grub/misc.h (grub_div_roundup): New function.
29514 * kern/misc.c: Include `<grub/time.h>'.
29515 (grub_millisleep_generic): New function.
29517 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
29519 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
29521 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
29522 `machine/time.h'. Add `time.h'.
29523 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29525 2007-10-21 Robert Millan <rmh@aybabtu.com>
29527 * include/grub/misc.h (grub_max): New function.
29529 2007-10-21 Robert Millan <rmh@aybabtu.com>
29531 * util/misc.c (grub_util_info): Call fflush() before returning.
29533 2007-10-20 Robert Millan <rmh@aybabtu.com>
29535 * genmk.rb (Image): Copy `extra_flags' from here ...
29536 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
29538 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
29539 to `argc' and `args' arguments.
29541 2007-10-17 Robert Millan <rmh@aybabtu.com>
29543 * kern/i386/loader.S: New file.
29545 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
29546 * kern/i386/loader.S (grub_linux_prot_size)... to here.
29547 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
29548 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
29549 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
29550 * kern/i386/loader.S (grub_linux_real_addr)... to here.
29551 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
29552 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
29553 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
29554 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
29555 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
29556 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
29557 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
29558 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
29560 * kern/i386/realmode.S: New file.
29562 * kern/i386/pc/startup.S (protstack): Moved from here ...
29563 * kern/i386/realmode.S (protstack)... to here.
29564 * kern/i386/pc/startup.S (gdt): Moved from here ...
29565 * kern/i386/realmode.S (gdt)... to here.
29566 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
29567 * kern/i386/realmode.S (prot_to_real)... to here.
29569 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
29570 `kern/i386/realmode.S'.
29572 2007-10-17 Robert Millan <rmh@aybabtu.com>
29574 * include/grub/i386/loader.h: New file.
29576 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
29577 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29578 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29579 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29580 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
29581 * include/grub/i386/loader.h (grub_linux_prot_size)
29582 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29583 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29584 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29585 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
29587 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
29589 2007-10-15 Robert Millan <rmh@aybabtu.com>
29591 * normal/misc.c (grub_normal_print_device_info): Do not probe for
29592 filesystem when dev->disk is unset.
29593 Do probe for filesystem even when dev->disk->has_partitions is set.
29594 In case a filesystem is found, always report it.
29595 In case it isn't, if dev->disk->has_partitions is set, report that
29596 a partition table was found instead of reporting that no filesystem
29597 could be identified.
29599 2007-10-12 Robert Millan <rmh@aybabtu.com>
29601 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
29602 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
29604 * include/grub/types.h (grub_host_to_target16): New macro.
29605 (grub_host_to_target32): Likewise.
29606 (grub_host_to_target64): Likewise.
29607 (grub_target_to_host16): Likewise.
29608 (grub_target_to_host32): Likewise.
29609 (grub_target_to_host64): Likewise.
29611 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
29612 Renamed from to ...
29613 (GRUB_MOD_ALIGN): ...this. Update all users.
29615 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
29616 grub_host_to_target32.
29617 Replace grub_be_to_cpu32 with grub_target_to_host32.
29618 (load_modules): Likewise.
29619 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
29620 Replace grub_be_to_cpu32 with grub_target_to_host32.
29621 Replace grub_cpu_to_be16 with grub_host_to_target16.
29622 Replace grub_cpu_to_be32 grub_host_to_target32.
29624 2007-10-12 Robert Millan <rmh@aybabtu.com>
29626 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
29627 * util/elf/grub-mkimage.c: ... here.
29629 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
29630 `util/powerpc/ieee1275/grub-mkimage.c'.
29632 2007-10-07 Robert Millan <rmh@aybabtu.com>
29634 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
29635 and make it easier to figure out.
29636 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
29637 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
29638 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
29639 leave us with less than HEAP_MIN_SIZE total heap.
29640 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
29642 2007-10-03 Robert Millan <rmh@aybabtu.com>
29644 * include/grub/i386/io.h: New file.
29645 * commands/i386/pc/play.c (inb): Removed.
29647 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29649 * term/i386/pc/serial.c (inb): Removed.
29651 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29653 * term/i386/pc/vga.c (inb): Removed.
29655 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29658 2007-10-02 Robert Millan <rmh@aybabtu.com>
29660 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
29661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29662 Reported by Marcin Kurek.
29664 2007-09-07 Robert Millan <rmh@aybabtu.com>
29666 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
29667 SmartFirmware version updates (as released by Sven Luther), and avoid
29668 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
29669 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
29672 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29674 From Hitoshi Ozeki:
29675 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
29676 when merging two regions.
29678 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29680 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
29681 * normal/completion.c (grub_normal_do_completion): Likewise.
29682 Reported by Hitoshi Ozeki.
29684 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29686 Do not use devices at boot in chainloading.
29688 * loader/i386/pc/chainloader.c (boot_drive): New variable.
29689 (boot_part_addr): Likewise.
29690 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
29691 with BOOT_DRIVE and BOOT_PART_ADDR.
29692 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
29693 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
29695 2007-08-29 Robert Millan <rmh@aybabtu.com>
29697 Patch from Simon Peter <dn.tlp@gmx.net>:
29698 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
29699 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
29700 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
29701 util/i386/pc/grub-setup.c_DEPENDENCIES.
29702 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
29703 util/grub-probe.c_DEPENDENCIES.
29704 * conf/powerpc-ieee1275.rmk: Likewise.
29706 2007-08-28 Robert Millan <rmh@aybabtu.com>
29708 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
29709 to tell grub-mkdevicemap how to name devices.
29710 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
29713 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
29714 util/i386/get_disk_name.c.
29715 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
29716 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
29717 util/ieee1275/get_disk_name.c.
29719 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
29721 * DISTLIST: Add util/i386/get_disk_name.c and
29722 util/ieee1275/get_disk_name.c.
29724 * util/grub-mkdevicemap.c: Replace device naming logic with
29725 grub_util_get_disk_name() calls.
29727 2007-08-20 Robert Millan <rmh@aybabtu.com>
29729 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
29730 (so that it works for both plural and singular quantities).
29732 2007-08-05 Robert Millan <rmh@aybabtu.com>
29734 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
29735 so that [xz] isn't taken into account when determining order.
29737 2007-08-02 Marco Gerards <marco@gnu.org>
29739 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
29740 `include/multiboot2.h', `include/grub/elfload.h',
29741 `include/multiboot.h', `include/grub/multiboot.h',
29742 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
29743 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
29744 `kern/elf.c', `loader/multiboot_loader.c',
29745 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
29746 `loader/i386/pc/multiboot2.c',
29747 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
29748 `util/i386/pc/grub-mkrescue.in'. Remove
29749 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
29750 `include/grub/i386/pc/util/biosdisk.h' and
29751 `include/grub/powerpc/ieee1275/multiboot.h'.
29753 2007-08-02 Bean <bean123ch@gmail.com>
29755 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
29756 (ntfs_mod_SOURCES): New variable.
29757 (ntfs_mod_CFLAGS): Likewise.
29758 (ntfs_mod_LDFLAGS): Likewise.
29760 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
29761 (grub_probe_SOURCES): Likewise.
29762 (grub_emu_SOURCES): Likewise.
29764 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
29765 (grub_emu_SOURCES): Likewise.
29767 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
29768 (grub_emu_SOURCES): Likewise.
29770 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
29772 * fs/ntfs.c: New file.
29774 2007-08-02 Bean <bean123ch@gmail.com>
29776 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
29778 * file.h (grub_file): Likewise.
29780 * fshelp.h (grub_fshelp_read_file): Likewise.
29782 * util/i386/pc/grub-setup.c (setup): Likewise.
29783 (save_first_sector): Likewise.
29784 (save_blocklists): Likewise.
29786 * fs/affs.c (grub_affs_read_file): Likewise.
29788 * fs/ext2.c (grub_ext2_read_file): Likewise.
29790 * fs/fat.c (grub_fat_read_data): Likewise.
29792 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
29794 * fs/hfs.c (grub_hfs_read_file): Likewise.
29796 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29798 * fs/jfs.c (grub_jfs_read_file): Likewise.
29800 * fs/minix.c (grub_minix_read_file): Likewise.
29802 * fs/sfs.c (grub_sfs_read_file): Likewise.
29804 * fs/ufs.c (grub_ufs_read_file): Likewise.
29806 * fs/xfs.c (grub_xfs_read_file): Likewise.
29808 * command/blocklist.c (read_blocklist): Likewise.
29809 (print_blocklist): Likewise.
29811 2007-08-02 Marco Gerards <marco@gnu.org>
29813 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
29816 * disk/host.c: New file.
29818 * util/hostfs.c: Likewise.
29820 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
29821 return `GRUB_ERR_BAD_FS'.
29822 * fs/sfs.c (grub_sfs_mount): Likewise.
29823 * fs/xfs.c (grub_xfs_mount): Likewise.
29825 * include/grub/disk.h (enum grub_disk_dev_id): Add
29826 `GRUB_DISK_DEVICE_HOST_ID'.
29828 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
29830 2007-07-24 Jerone Young <jerone@gmail.com>
29832 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
29833 modules for compilation.
29834 * conf/powerpc-ieee1275.rmk: Likewise.
29836 * include/multiboot.h: Move multiboot definitions to one file. Rename
29837 many definitions to not get grub specific.
29838 * include/multiboot2.h: Create header with multiboot 2 definitions.
29839 * include/grub/multiboot.h: Header for grub specific function
29840 prototypes and definitions.
29841 * include/grub/multiboot2.h: Likewise.
29842 * include/grub/multiboot_loader.h: Likewise.
29843 * include/grub/i386/pc/multiboot.h: Removed.
29844 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
29846 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
29847 and 2 to allow for one multiboot and module commands.
29848 * loader/multiboot2.c: Add multiboot2 functionality.
29849 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
29850 and definition names.
29851 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
29853 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
29854 ieee1275 specific multiboot2 code.
29856 * kern/i386/pc/startup.S: Change headers and definition names for
29857 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
29859 2007-07-22 Robert Millan <rmh@aybabtu.com>
29861 * geninitheader.sh: Process file specified in first parameter rather
29862 than hardcoding grub_modules_init.lst.
29863 * geninit.sh: Likewise. Also, construct header name dynamically rather
29864 than hardcoding grub_modules_init.h.
29866 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
29867 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
29868 grub_probe_init.[ch] and grub_setup_init.[ch].
29870 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
29871 grub_modules_init.h with grub_emu_init.h.
29872 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
29873 grub_probe_init.[ch] files.
29874 * conf/i386-efi.rmk: Likewise.
29875 * conf/i386-pc.rmk: Likewise.
29876 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
29877 grub_setup_init.[ch] files.
29879 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
29880 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
29881 to initialize modules rather than a list of hardcoded functions.
29882 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
29883 grub_init_all() to initialize modules rather than a list of hardcoded
29886 2007-07-22 Robert Millan <rmh@aybabtu.com>
29888 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
29889 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
29891 2007-07-22 Robert Millan <rmh@aybabtu.com>
29893 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
29894 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
29895 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
29896 flag when running on SmartFirmware.
29897 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
29898 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
29901 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
29902 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
29903 rather than decreasing it.
29905 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
29906 there's not enough space to do it, fail in the same way as when it
29907 can't be done because there are no partitions.
29909 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
29910 when nvsetenv failed.
29912 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
29914 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
29915 because this rule is automatically generated.
29916 (grub-mkrescue): Removed for the same reason as above.
29918 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
29920 Migrate to GNU General Public License Version 3.
29922 * COPYING: Replaced with the plain text version of GPLv3.
29924 * config.guess: Updated from gnulib.
29925 * config.sub: Likewise.
29927 * geninit.sh: Output a GPLv3 copyright notice.
29928 * geninitheader.sh: Likewise.
29929 * genmodsrc.sh: Likewise.
29930 * gensymlist.sh.in: Likewise.
29932 * boot/i386/pc/boot.S: Upgraded to GPLv3.
29933 * boot/i386/pc/diskboot.S: Likewise.
29934 * boot/i386/pc/pxeboot.S: Likewise.
29935 * commands/blocklist.c: Likewise.
29936 * commands/boot.c: Likewise.
29937 * commands/cat.c: Likewise.
29938 * commands/cmp.c: Likewise.
29939 * commands/configfile.c: Likewise.
29940 * commands/echo.c: Likewise.
29941 * commands/help.c: Likewise.
29942 * commands/ls.c: Likewise.
29943 * commands/search.c: Likewise.
29944 * commands/terminal.c: Likewise.
29945 * commands/test.c: Likewise.
29946 * commands/videotest.c: Likewise.
29947 * commands/i386/cpuid.c: Likewise.
29948 * commands/i386/pc/halt.c: Likewise.
29949 * commands/i386/pc/play.c: Likewise.
29950 * commands/i386/pc/reboot.c: Likewise.
29951 * commands/i386/pc/vbeinfo.c: Likewise.
29952 * commands/i386/pc/vbetest.c: Likewise.
29953 * commands/ieee1275/halt.c: Likewise.
29954 * commands/ieee1275/reboot.c: Likewise.
29955 * commands/ieee1275/suspend.c: Likewise.
29956 * disk/loopback.c: Likewise.
29957 * disk/lvm.c: Likewise.
29958 * disk/raid.c: Likewise.
29959 * disk/efi/efidisk.c: Likewise.
29960 * disk/i386/pc/biosdisk.c: Likewise.
29961 * disk/ieee1275/ofdisk.c: Likewise.
29962 * font/manager.c: Likewise.
29963 * fs/affs.c: Likewise.
29964 * fs/ext2.c: Likewise.
29965 * fs/fat.c: Likewise.
29966 * fs/fshelp.c: Likewise.
29967 * fs/hfs.c: Likewise.
29968 * fs/hfsplus.c: Likewise.
29969 * fs/iso9660.c: Likewise.
29970 * fs/jfs.c: Likewise.
29971 * fs/minix.c: Likewise.
29972 * fs/sfs.c: Likewise.
29973 * fs/ufs.c: Likewise.
29974 * fs/xfs.c: Likewise.
29975 * hello/hello.c: Likewise.
29976 * include/grub/acorn_filecore.h: Likewise.
29977 * include/grub/arg.h: Likewise.
29978 * include/grub/bitmap.h: Likewise.
29979 * include/grub/boot.h: Likewise.
29980 * include/grub/cache.h: Likewise.
29981 * include/grub/device.h: Likewise.
29982 * include/grub/disk.h: Likewise.
29983 * include/grub/dl.h: Likewise.
29984 * include/grub/elfload.h: Likewise.
29985 * include/grub/env.h: Likewise.
29986 * include/grub/err.h: Likewise.
29987 * include/grub/file.h: Likewise.
29988 * include/grub/font.h: Likewise.
29989 * include/grub/fs.h: Likewise.
29990 * include/grub/fshelp.h: Likewise.
29991 * include/grub/gzio.h: Likewise.
29992 * include/grub/hfs.h: Likewise.
29993 * include/grub/kernel.h: Likewise.
29994 * include/grub/loader.h: Likewise.
29995 * include/grub/lvm.h: Likewise.
29996 * include/grub/misc.h: Likewise.
29997 * include/grub/mm.h: Likewise.
29998 * include/grub/net.h: Likewise.
29999 * include/grub/normal.h: Likewise.
30000 * include/grub/parser.h: Likewise.
30001 * include/grub/partition.h: Likewise.
30002 * include/grub/pc_partition.h: Likewise.
30003 * include/grub/raid.h: Likewise.
30004 * include/grub/rescue.h: Likewise.
30005 * include/grub/script.h: Likewise.
30006 * include/grub/setjmp.h: Likewise.
30007 * include/grub/symbol.h: Likewise.
30008 * include/grub/term.h: Likewise.
30009 * include/grub/terminfo.h: Likewise.
30010 * include/grub/tparm.h: Likewise.
30011 * include/grub/types.h: Likewise.
30012 * include/grub/video.h: Likewise.
30013 * include/grub/efi/api.h: Likewise.
30014 * include/grub/efi/chainloader.h: Likewise.
30015 * include/grub/efi/console.h: Likewise.
30016 * include/grub/efi/console_control.h: Likewise.
30017 * include/grub/efi/disk.h: Likewise.
30018 * include/grub/efi/efi.h: Likewise.
30019 * include/grub/efi/pe32.h: Likewise.
30020 * include/grub/efi/time.h: Likewise.
30021 * include/grub/i386/linux.h: Likewise.
30022 * include/grub/i386/setjmp.h: Likewise.
30023 * include/grub/i386/types.h: Likewise.
30024 * include/grub/i386/efi/kernel.h: Likewise.
30025 * include/grub/i386/efi/loader.h: Likewise.
30026 * include/grub/i386/efi/time.h: Likewise.
30027 * include/grub/i386/pc/biosdisk.h: Likewise.
30028 * include/grub/i386/pc/boot.h: Likewise.
30029 * include/grub/i386/pc/chainloader.h: Likewise.
30030 * include/grub/i386/pc/console.h: Likewise.
30031 * include/grub/i386/pc/init.h: Likewise.
30032 * include/grub/i386/pc/kernel.h: Likewise.
30033 * include/grub/i386/pc/loader.h: Likewise.
30034 * include/grub/i386/pc/memory.h: Likewise.
30035 * include/grub/i386/pc/multiboot.h: Likewise.
30036 * include/grub/i386/pc/serial.h: Likewise.
30037 * include/grub/i386/pc/time.h: Likewise.
30038 * include/grub/i386/pc/vbe.h: Likewise.
30039 * include/grub/i386/pc/vbeblit.h: Likewise.
30040 * include/grub/i386/pc/vbefill.h: Likewise.
30041 * include/grub/i386/pc/vbeutil.h: Likewise.
30042 * include/grub/i386/pc/vga.h: Likewise.
30043 * include/grub/ieee1275/ieee1275.h: Likewise.
30044 * include/grub/ieee1275/ofdisk.h: Likewise.
30045 * include/grub/powerpc/libgcc.h: Likewise.
30046 * include/grub/powerpc/setjmp.h: Likewise.
30047 * include/grub/powerpc/types.h: Likewise.
30048 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
30049 * include/grub/powerpc/ieee1275/console.h: Likewise.
30050 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
30051 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30052 * include/grub/powerpc/ieee1275/loader.h: Likewise.
30053 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
30054 * include/grub/powerpc/ieee1275/time.h: Likewise.
30055 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
30056 * include/grub/sparc64/libgcc.h: Likewise.
30057 * include/grub/sparc64/setjmp.h: Likewise.
30058 * include/grub/sparc64/types.h: Likewise.
30059 * include/grub/sparc64/ieee1275/console.h: Likewise.
30060 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30061 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30062 * include/grub/sparc64/ieee1275/time.h: Likewise.
30063 * include/grub/util/biosdisk.h: Likewise.
30064 * include/grub/util/getroot.h: Likewise.
30065 * include/grub/util/lvm.h: Likewise.
30066 * include/grub/util/misc.h: Likewise.
30067 * include/grub/util/raid.h: Likewise.
30068 * include/grub/util/resolve.h: Likewise.
30069 * io/gzio.c: Likewise.
30070 * kern/device.c: Likewise.
30071 * kern/disk.c: Likewise.
30072 * kern/dl.c: Likewise.
30073 * kern/elf.c: Likewise.
30074 * kern/env.c: Likewise.
30075 * kern/err.c: Likewise.
30076 * kern/file.c: Likewise.
30077 * kern/fs.c: Likewise.
30078 * kern/loader.c: Likewise.
30079 * kern/main.c: Likewise.
30080 * kern/misc.c: Likewise.
30081 * kern/mm.c: Likewise.
30082 * kern/parser.c: Likewise.
30083 * kern/partition.c: Likewise.
30084 * kern/rescue.c: Likewise.
30085 * kern/term.c: Likewise.
30086 * kern/efi/efi.c: Likewise.
30087 * kern/efi/init.c: Likewise.
30088 * kern/efi/mm.c: Likewise.
30089 * kern/i386/dl.c: Likewise.
30090 * kern/i386/efi/init.c: Likewise.
30091 * kern/i386/efi/startup.S: Likewise.
30092 * kern/i386/pc/init.c: Likewise.
30093 * kern/i386/pc/lzo1x.S: Likewise.
30094 * kern/i386/pc/startup.S: Likewise.
30095 * kern/ieee1275/ieee1275.c: Likewise.
30096 * kern/powerpc/cache.S: Likewise.
30097 * kern/powerpc/dl.c: Likewise.
30098 * kern/powerpc/ieee1275/cmain.c: Likewise.
30099 * kern/powerpc/ieee1275/crt0.S: Likewise.
30100 * kern/powerpc/ieee1275/init.c: Likewise.
30101 * kern/powerpc/ieee1275/openfw.c: Likewise.
30102 * kern/sparc64/cache.S: Likewise.
30103 * kern/sparc64/dl.c: Likewise.
30104 * kern/sparc64/ieee1275/init.c: Likewise.
30105 * kern/sparc64/ieee1275/openfw.c: Likewise.
30106 * loader/efi/chainloader.c: Likewise.
30107 * loader/efi/chainloader_normal.c: Likewise.
30108 * loader/i386/efi/linux.c: Likewise.
30109 * loader/i386/efi/linux_normal.c: Likewise.
30110 * loader/i386/pc/chainloader.c: Likewise.
30111 * loader/i386/pc/chainloader_normal.c: Likewise.
30112 * loader/i386/pc/linux.c: Likewise.
30113 * loader/i386/pc/linux_normal.c: Likewise.
30114 * loader/i386/pc/multiboot.c: Likewise.
30115 * loader/i386/pc/multiboot_normal.c: Likewise.
30116 * loader/powerpc/ieee1275/linux.c: Likewise.
30117 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30118 * normal/arg.c: Likewise.
30119 * normal/cmdline.c: Likewise.
30120 * normal/command.c: Likewise.
30121 * normal/completion.c: Likewise.
30122 * normal/execute.c: Likewise.
30123 * normal/function.c: Likewise.
30124 * normal/lexer.c: Likewise.
30125 * normal/main.c: Likewise.
30126 * normal/menu.c: Likewise.
30127 * normal/menu_entry.c: Likewise.
30128 * normal/misc.c: Likewise.
30129 * normal/parser.y: Likewise.
30130 * normal/script.c: Likewise.
30131 * normal/i386/setjmp.S: Likewise.
30132 * normal/powerpc/setjmp.S: Likewise.
30133 * normal/sparc64/setjmp.S: Likewise.
30134 * partmap/acorn.c: Likewise.
30135 * partmap/amiga.c: Likewise.
30136 * partmap/apple.c: Likewise.
30137 * partmap/gpt.c: Likewise.
30138 * partmap/pc.c: Likewise.
30139 * partmap/sun.c: Likewise.
30140 * term/gfxterm.c: Likewise.
30141 * term/terminfo.c: Likewise.
30142 * term/efi/console.c: Likewise.
30143 * term/i386/pc/console.c: Likewise.
30144 * term/i386/pc/serial.c: Likewise.
30145 * term/i386/pc/vesafb.c: Likewise.
30146 * term/i386/pc/vga.c: Likewise.
30147 * term/ieee1275/ofconsole.c: Likewise.
30148 * util/biosdisk.c: Likewise.
30149 * util/console.c: Likewise.
30150 * util/genmoddep.c: Likewise.
30151 * util/getroot.c: Likewise.
30152 * util/grub-emu.c: Likewise.
30153 * util/grub-mkdevicemap.c: Likewise.
30154 * util/grub-probe.c: Likewise.
30155 * util/lvm.c: Likewise.
30156 * util/misc.c: Likewise.
30157 * util/raid.c: Likewise.
30158 * util/resolve.c: Likewise.
30159 * util/update-grub.in: Likewise.
30160 * util/update-grub_lib.in: Likewise.
30161 * util/grub.d/00_header.in: Likewise.
30162 * util/grub.d/10_hurd.in: Likewise.
30163 * util/grub.d/10_linux.in: Likewise.
30164 * util/i386/efi/grub-install.in: Likewise.
30165 * util/i386/efi/grub-mkimage.c: Likewise.
30166 * util/i386/pc/grub-install.in: Likewise.
30167 * util/i386/pc/grub-mkimage.c: Likewise.
30168 * util/i386/pc/grub-mkrescue.in: Likewise.
30169 * util/i386/pc/grub-setup.c: Likewise.
30170 * util/i386/pc/misc.c: Likewise.
30171 * util/powerpc/ieee1275/grub-install.in: Likewise.
30172 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
30173 * util/powerpc/ieee1275/misc.c: Likewise.
30174 * video/bitmap.c: Likewise.
30175 * video/video.c: Likewise.
30176 * video/i386/pc/vbe.c: Likewise.
30177 * video/i386/pc/vbeblit.c: Likewise.
30178 * video/i386/pc/vbefill.c: Likewise.
30179 * video/i386/pc/vbeutil.c: Likewise.
30180 * video/readers/tga.c: Likewise.
30182 2007-07-02 Robert Millan <rmh@aybabtu.com>
30184 * conf/i386-efi.rmk: Replace obsolete reference to
30185 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
30186 with util/getroot.c.
30187 * conf/powerpc-ieee1275.rmk: Likewise.
30188 * conf/sparc64-ieee1275.rmk: Likewise.
30190 * util/grub-emu.c (main): Fix unchecked pointer handling.
30192 2007-07-02 Robert Millan <rmh@aybabtu.com>
30194 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
30195 invocation to fail, in order to support partition-less media.
30197 * util/i386/pc/grub-install.in: Likewise.
30199 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
30200 which fs or partmap modules are needed (akin to its sister scripts).
30202 Also use grub-probe to get rid of unportable /proc/mounts check.
30204 Print the same informational message that the other scripts do, before
30207 2007-06-23 Robert Millan <rmh@aybabtu.com>
30209 * util/update-grub_lib.in (font_path): New function. Determine whether
30210 a font file can be found and, if so, echo the GRUB path to it.
30212 * util/update-grub.in: Handle multiple terminals depending on user
30213 input, platform availability and font file presence. Propagate
30214 variables of our findings to /etc/grub.d/ children.
30216 * util/grub.d/00_header.in: Handle multiple terminals, based on
30217 environment setup by update-grub.
30219 2007-06-23 Robert Millan <rmh@aybabtu.com>
30221 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
30223 2007-06-21 Robert Millan <rmh@aybabtu.com>
30225 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
30226 indicate end of data section in kernel image.
30227 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
30228 GRUB_KERNEL_MACHINE_DATA_END.
30230 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
30232 * kern/i386/efi/startup.S: Likewise.
30234 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
30235 during image generation. Implement --prefix option to override this
30237 * util/i386/efi/grub-mkimage.c: Likewise.
30239 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
30240 code to make path relative to its root into a separate function.
30242 * util/i386/pc/grub-install.in: Use newly provided
30243 make_system_path_relative_to_its_root() to convert ${grubdir}, then
30244 pass the result to grub-install --prefix.
30246 2007-06-13 Robert Millan <rmh@aybabtu.com>
30248 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
30249 DEFAULT_DEVICE_MAP.
30250 * util/grub-emu.c: Use above definitions from misc.h instead of
30252 * util/grub-mkdevicemap.c: Likewise.
30253 * util/i386/pc/grub-setup.c: Likewise.
30254 * util/grub-probe.c: Likewise.
30255 (probe): Abort with grub_util_error() when either
30256 grub_guess_root_device or grub_util_get_grub_dev fails.
30258 2007-06-12 Robert Millan <rmh@aybabtu.com>
30260 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
30261 "pager" assignment.
30262 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
30264 * util/grub-probe.c (probe): Likewise for "drive_name".
30266 2007-06-11 Robert Millan <rmh@aybabtu.com>
30268 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
30269 not just the cdrom one.
30271 2007-06-11 Robert Millan <rmh@aybabtu.com>
30273 * util/i386/pc/grub-mkrescue.in: Add "set -e".
30274 Add --pkglibdir=DIR option to override pkglibdir.
30275 Mention --image-type=TYPE in help output.
30276 Fix --grub-mkimage (it was a no-op).
30277 Abort gracefully when no parameter is given.
30279 2007-06-11 Robert Millan <rmh@aybabtu.com>
30281 * util/i386/pc/grub-mkrescue.in: New file.
30282 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
30283 * Makefile.in: Handle bin_SCRIPTS.
30285 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
30287 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
30288 list of video modes.
30290 2007-06-06 Robert Millan <rmh@aybabtu.com>
30292 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
30293 file doesn't exist, or if it is in a filesystem grub can't read.
30295 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
30296 not abort if GRUB_DRIVE could not be defined. Rearrange generated
30297 header comment to fit in 80 columns when the variables are resolved.
30299 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
30300 could be identified by update-grub. Remove redundant check for
30301 unifont.pff existence (since convert_system_path_to_grub_path now
30304 2007-06-04 Robert Millan <rmh@aybabtu.com>
30306 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
30308 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
30310 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
30312 2007-06-04 Robert Millan <rmh@aybabtu.com>
30314 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
30316 * include/grub/partition.h: Declare grub_apple_partition_map_init and
30317 grub_apple_partition_map_fini.
30320 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
30321 to access >2 TiB disks).
30323 Print disk->total_sectors with %llu instead of %lu, since this
30324 variable is always 64-bit (prevents wrong disk size from being displayed
30325 on either >2 TiB disk or big-endian CPU).
30327 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
30328 into a generic case that supports all (sane) partition maps.
30330 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
30333 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
30334 and grub_apple_partition_map_fini() after that.
30336 2007-06-01 Robert Millan <rmh@aybabtu.com>
30338 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
30340 * util/grub.d/00_header.in: Only enable gfxterm when
30341 convert_system_path_to_grub_path() succeeds.
30343 2007-05-20 Robert Millan <rmh@aybabtu.com>
30345 * util/update-grub_lib.in: New file.
30346 * DISTLIST: Add update-grub_lib.in.
30347 * conf/common.rmk: Generate update-grub_lib and install it in
30349 * Makefile.in: Add install routine for $(lib_DATA).
30351 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
30352 function provided by update-grub_lib to support arbitrary paths of
30354 * util/update-grub.in: Use convert_system_path_to_grub_path() to
30355 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
30357 2007-05-19 Robert Millan <rmh@aybabtu.com>
30359 * commands/i386/cpuid.c: New module.
30360 * DISTLIST: Add it.
30361 * conf/i386-efi.rmk: Enable cpuid.mod.
30362 * conf/i386-pc.rmk: Likewise.
30364 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30366 * kern/disk.c (grub_disk_read): Check return value of
30369 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30371 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
30373 * disk/raid.c (grub_raid_open): Likewise.
30375 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30377 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
30378 stack instead of on the heap.
30380 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
30381 before doing a read on it.
30383 * configure.ac: Only use -fno-stack-protector for the target
30386 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30388 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
30389 __attribute_ ((unused)) to mode_type argument.
30391 * util/getroot.c (grub_guess_root_device): Fix #endif.
30393 * kern/misc.c (memcmp): Fix prototype.
30395 * include/grub/partition.h [GRUB_UTIL]
30396 (grub_gpt_partition_map_init): Add prototype.
30397 (grub_gpt_partition_map_fini): Likewise.
30399 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
30400 at the right place.
30402 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
30403 (grub_fat_read_data): Likewise.
30404 (grub_fat_find_dir): Likewise.
30406 * font/manager.c (find_glyph): Make table a const.
30407 (grub_font_get_glyph): Remove bitmap from if statement.
30409 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
30411 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
30412 code, first search for device in /dev/mapper, then in /dev.
30413 (grub_util_get_grub_dev): New function.
30414 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
30416 * util/grub-probe.c (probe): Remove check for RAID, call
30417 grub_util_get_grub_dev() instead of
30418 grub_util_biosdisk_get_grub_dev().
30419 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
30420 grub_util_biosdisk_get_grub_dev().
30421 * util/i386/pc/grub-setup.c (main): Likewise.
30423 2007-05-16 Robert Millan <rmh@aybabtu.com>
30425 * DISTLIST: Update for the latest changes.
30426 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
30427 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
30428 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
30429 grub/util/biosdisk.h.
30430 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
30431 grub/util/biosdisk.h.
30433 2007-05-16 Robert Millan <rmh@aybabtu.com>
30435 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
30437 2007-05-16 Robert Millan <rmh@aybabtu.com>
30439 * util/i386/efi/grub-install.in: New.
30440 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
30441 newly added grub-install.
30442 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
30444 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
30445 grub/util/biosdisk.h.
30446 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
30447 grub/util/biosdisk.h.
30449 2007-05-16 Robert Millan <rmh@aybabtu.com>
30451 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
30452 * include/grub/util/biosdisk.h: ... here.
30453 * util/i386/pc/biosdisk.c: Moved to ...
30454 * util/biosdisk.c: ... here.
30455 * util/i386/pc/getroot.c: Moved to ...
30456 * util/getroot.c: ... here.
30457 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
30458 * util/grub-mkdevicemap.c: ... here.
30459 * util/i386/pc/grub-probe.c: Moved to ...
30460 * util/grub-probe.c: ... here.
30462 2007-05-15 Robert Millan <rmh@aybabtu.com>
30464 * util/update-grub.in: Remove duplicated line in grub.cfg header
30467 2007-05-13 Robert Millan <rmh@aybabtu.com>
30469 * util/update-grub.in: Fix a few assumptions about the devices holding
30470 /, /boot and /boot/grub being the same.
30471 * util/grub.d/00_header.in: Likewise.
30472 * util/grub.d/10_hurd.in: Likewise.
30473 * util/grub.d/10_linux.in: Likewise.
30475 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
30476 patterns. Use that to define the `.old' suffix as older than `'.
30478 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
30480 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
30481 the grub.cfg header message.
30483 2007-05-11 Robert Millan <rmh@aybabtu.com>
30485 * util/update-grub.in: Create device.map if it doesn't already exist,
30486 before attempting to run grub-probe.
30487 Check for grub-probe and grub-mkdevicemap with the same code
30488 grub-install is using.
30491 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
30493 * Makefile.in: Add the datarootdir autoconf variable.
30495 2007-05-09 Robert Millan <rmh@aybabtu.com>
30497 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
30498 fail gracefully if dev->disk->partition == NULL.
30500 2007-05-07 Robert Millan <rmh@aybabtu.com>
30502 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
30503 determine partition map module.
30504 * util/i386/pc/grub-install.in: Use this feature to decide which
30505 partition module to load, instead of hardcoding pc and gpt.
30507 2007-05-07 Robert Millan <rmh@aybabtu.com>
30509 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
30510 source directory differs from build directory.
30512 2007-05-05 Robert Millan <rmh@aybabtu.com>
30514 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
30517 2007-05-05 Robert Millan <rmh@aybabtu.com>
30519 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
30521 2007-05-05 Robert Millan <rmh@aybabtu.com>
30523 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
30524 command-line arguments via ${GRUB_CMDLINE_LINUX}.
30526 2007-05-05 Robert Millan <rmh@aybabtu.com>
30528 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
30529 (grub_probe_SOURCES): Likewise.
30530 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
30531 GPT and initialize dos_part and bsd_part accordingly.
30532 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
30534 (main): Activate gpt module for use during partition identification,
30535 and deactivate it afterwards.
30536 * util/i386/pc/grub-install.in: Add gpt module to core.img.
30537 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
30538 partition identification, and deactivate it afterwards.
30540 2007-05-05 Robert Millan <rmh@aybabtu.com>
30542 * term/i386/pc/console.c (grub_console_fini): Call
30543 grub_term_set_current() before grub_term_unregister().
30545 2007-05-04 Robert Millan <rmh@aybabtu.com>
30547 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
30548 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
30549 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
30550 and update-grub_DATA.
30551 * conf/common.rmk: Build and install update-grub components.
30552 * conf/common.mk: Regenerate.
30553 * util/update-grub.in: New. Core of update-grub.
30554 * util/grub.d/00_header.in: New. Generates grub.cfg header.
30555 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
30556 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
30557 * util/grub.d/README: New. Document grub.d directory layout.
30559 2007-05-01 Robert Millan <rmh@aybabtu.com>
30561 * util/grub-emu.c: Move initialization functions
30562 grub_util_biosdisk_init() and grub_init_all() before
30563 grub_util_biosdisk_get_grub_dev(), which relies on them.
30565 2007-04-19 Robert Millan <rmh@aybabtu.com>
30567 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
30570 2007-04-18 Jerone Young <jerone@gmail.com>
30572 * kernel/elf.c: Add missing parenthesis for conditional statement
30575 2007-04-10 Jerone Young <jerone@gmail.com>
30577 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
30578 continue on and look for device node with real device name.
30580 2007-04-10 Jerone Young <jerone@gmail.com>
30582 * configure.ac: Add argument for autoconf to use transformation
30584 * Makefile.in: Add autoconf package transformation code.
30585 * util/i386/pc/grub-install.in: Likewise.
30586 * util/powerpc/ieee1275/grub-install.in: Likewise.
30588 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30590 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
30591 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
30592 (EXT2_REVISION): Likewise.
30593 (EXT2_INODE_SIZE): Likewise.
30594 (struct grub_ext2_block_group): Added a missing member
30596 (grub_ext2_read_inode): Divide by the inode size in a superblock
30597 instead of 128 to obtain INODES_PER_BLOCK.
30598 Use the macro EXT2_INODE_SIZE instead of directly using
30599 SBLOCK->INODE_SIZE.
30601 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30603 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
30604 superblock instead of the structure size to compute an
30605 offset. This fixes the problem that GRUB could not read a
30606 filesystem when inode size is different from 128-byte.
30608 2007-03-05 Marco Gerards <marco@gnu.org>
30610 * normal/main.c (read_config_file): When "menu" is not set, create
30611 an initial context.
30613 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30615 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
30616 (HEAP_LIMIT): New macro.
30617 (grub_claim_heap): Claim memory up to `heaplimit'.
30619 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30621 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
30622 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
30623 (_start): Likewise.
30624 (grub_arch_modules_addr): Return address after `_end'.
30625 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
30626 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
30627 (add_segments): Calculate `_end' from phdr size and location.
30628 (ALIGN_UP): Moved to ...
30629 * include/grub/misc.h: here.
30630 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
30632 (GRUB_IEEE1275_MODULE_BASE): Removed.
30634 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30636 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
30639 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30641 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
30643 (grub_elf64_load_hook_t): Likewise.
30644 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
30647 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30649 * kern/mm.c: Update copyright.
30650 (grub_mm_debug): Correct syntax error.
30651 (grub_mm_dump_free): New function.
30652 (grub_debug_free): Call `grub_free'.
30653 * include/grub/mm.h: Update copyright.
30654 (grub_mm_dump_free): Add declaration.
30656 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
30658 * include/grub/ieee1275/ieee1275.h: Update copyright.
30659 * kern/powerpc/ieee1275/init.c: Likewise.
30660 * kern/powerpc/ieee1275/openfw.c: Likewise.
30662 * loader/powerpc/ieee1275/linux.c: Likewise.
30663 * include/grub/elfload.h: Likewise.
30664 * kern/elf.c: Likewise.
30665 (grub_elf32_load): Pass `base' and `size' parameters. Update all
30667 (grub_elf64_load): Likewise.
30668 (grub_elf32_load_segment): Move to a nested function.
30669 (grub_elf64_load_segment): Likewise.
30671 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
30673 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
30675 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
30676 (grub_heap_len): Likewise.
30677 (HEAP_SIZE): New macro.
30678 (grub_claim_heap): New function.
30679 (grub_machine_init): Don't claim heap directly. Call
30681 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
30682 (grub_available_iterate): New function.
30684 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
30686 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
30687 * configure.ac: Use it for testing the HOST and TARGET compilers.
30689 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
30691 * Makefile.in (enable_grub_emu): New variable.
30692 * configure.ac (--enable-grub-emu): New option.
30693 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
30694 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
30695 * conf/i386-pc.rmk: Likewise.
30696 * conf/powerpc-ieee1275.rmk: Likewise.
30697 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
30699 2006-12-12 Marco Gerards <marco@gnu.org>
30701 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
30703 * kern/env.c (grub_env_unset): Don't free the member `value' when
30704 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
30707 * normal/main.c (current_menu): Removed.
30708 (free_menu): Unset the `menu' environment variable.
30709 (grub_normal_menu_addentry): Make use of the environment variable
30710 `menu', instead of using the global `current_menu'. Allocate
30711 memory for the sourcecode of this entry.
30712 (read_config_file): New argument `nested', changed all callers.
30713 Only in the case of a new context, initialize a new menu. Set the
30714 `menu' environment variable.
30715 (grub_normal_execute): Don't set and unset the environment
30716 variable `menu' here anymore. Only free the menu when leaving the
30719 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
30722 2006-12-11 Marco Gerards <marco@gnu.org>
30724 * normal/menu_entry.c (run): Fix off by one bug so the last line
30725 is executed. Move the loader check to outside the loop.
30727 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
30729 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
30731 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
30733 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
30734 the number of sectors. Reported by Andrey Shuvikov
30735 <mr_hyro@yahoo.com>.
30737 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
30739 * kern/disk.c (grub_disk_read): When there is a read error, always
30740 try to read only the necessary data.
30742 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
30744 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
30746 [GRUB_UTIL] (grub_raid_fini): Likewise.
30747 [GRUB_UTIL] (grub_lvm_init): Likewise.
30748 [GRUB_UTIL] (grub_lvm_fini): Likewise.
30749 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
30750 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
30751 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
30752 and grub_raid_fini().
30754 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
30756 * include/grub/types.h (__unused): Rename to UNUSED.
30757 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
30758 (grub_elf64_size): Likewise.
30760 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
30762 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
30763 grub_error_push and grub_error_pop in the error-handling path.
30764 (grub_elf32_load_segment): Only call grub_file_read with non-zero
30767 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
30769 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
30770 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30772 (kernel_elf_SOURCES): Likewise.
30773 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
30774 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
30775 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30776 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30777 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
30778 (elf_mod_SOURCES): New variable.
30779 (elf_mod_CFLAGS): Likewise.
30780 (elf_mod_LDFLAGS): Likewise.
30781 * include/grub/types.h (__unused): New macro.
30782 * include/grub/elfload.h: New file.
30783 * kern/elf.c: Likewise.
30784 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
30785 (ELF32_LOADMASK): New macro.
30786 (ELF64_LOADMASK): Likewise.
30787 (vmlinux): Removed.
30788 (grub_linux_load32): New function.
30789 (grub_linux_load64): Likewise.
30790 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
30791 Use grub_elf_t instead of grub_file_t.
30793 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
30795 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
30796 `catch_result' to struct set_color_args.
30798 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30800 * normal/menu.c: Include grub/script.h.
30801 * normal/menu_entry.c: Likewise.
30802 * include/grub/normal.h: Do not include grub/script.h.
30804 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30806 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
30808 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30810 * kern/disk.c (grub_disk_open): Print debug messages when opening a
30812 (grub_disk_close): Print debug messages when closing a disk.
30813 (grub_disk_read): Print debug messages when disk read fails.
30814 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
30816 * kern/partition.c: Include misc.h.
30817 (grub_partition_iterate): Print debug messages when detecting
30820 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30822 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
30824 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
30826 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
30828 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
30829 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
30831 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
30833 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
30834 instead of sizeof(lv). Patch by Michael Guntsche.
30836 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
30838 * disk/lvm.c: Rename VGS to VG_LIST.
30839 (grub_lvm_iterate): Change VGS->LV to VG-LV.
30840 (grub_lvm_open): Likewise.
30841 Thanks to Michael Guntsche for finding this bug.
30843 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30845 * configure.ac (AC_INIT): Bumped to 1.95.
30847 2006-10-14 Robert Millan <rmh@aybabtu.com>
30849 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
30850 with "/dev/.static/dev/md".
30852 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
30854 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
30855 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
30856 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
30857 DRIVE_NAME are always freed.
30859 * util/i386/pc/biosdisk.c (make_device_name): Add one into
30860 DOS_PART, as a DOS partition is counted from one instead of zero
30861 now. Reported by Robert Millan.
30863 2006-10-14 Robert Millan <rmh@aybabtu.com>
30865 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
30866 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
30867 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
30868 string returned by grub_guess_root_device.
30869 * util/i386/pc/grub-setup.c: Likewise.
30870 * util/i386/pc/grub-probefs.c: Likewise.
30872 * util/i386/pc/grub-probefs.c: Rename to ...
30873 * util/i386/pc/grub-probe.c: ... this.
30874 * DISTLIST: Remove grub-probefs, add grub-probe.
30875 * conf/i386-efi.rmk: Likewise.
30876 * conf/i386-pc.rmk: Likewise.
30877 * util/i386/pc/grub-install.in: Likewise.
30879 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
30880 choose which information we want to print.
30882 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
30884 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
30885 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
30886 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
30887 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
30888 video/readers/tga.c and video/i386/pc/vbeutil.c.
30890 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
30892 Added support for RAID and LVM.
30894 * disk/lvm.c: New file.
30895 * disk/raid.c: Likewise.
30896 * include/grub/lvm.h: Likewise.
30897 * include/grub/raid.h: Likewise.
30898 * include/grub/util/lvm.h: Likewise.
30899 * include/grub/util/raid.h: Likewise.
30900 * util/lvm.c: Likewise.
30901 * util/raid.c: Likewise.
30903 * include/grub/disk.h (grub_disk_dev_id): Add
30904 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
30905 (grub_disk_get_size): New prototype.
30906 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
30907 returns a partition.
30908 (grub_disk_get_size): New function.
30910 * kern/i386/pc/init.c (make_install_device): Copy the prefix
30911 verbatim if grub_install_dos_part is -2.
30913 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
30916 * util/i386/pc/grub-setup.c (setup): New argument
30917 MUST_EMBED. Force embedding of GRUB when the argument is
30918 true. Close FILE before returning.
30919 (main): Add support for RAID and LVM.
30921 * conf/common.rmk: Add RAID and LVM modules.
30922 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
30924 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
30926 * kern/misc.c (grub_strstr): New function.
30927 * include/grub/misc.h (grub_strstr): New prototype.
30929 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
30931 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
30933 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
30935 * kern/misc.c (grub_strtoull): Guess the base only if not
30938 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
30940 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
30943 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
30945 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
30947 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
30948 Remove `flags' argument. All callers changed.
30949 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
30950 (IEEE1275_IHANDLE_INVALID): New variable.
30951 (IEEE1275_CELL_INVALID): New variable.
30952 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30953 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
30954 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
30955 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
30956 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
30957 codes from Open Firmware. All callers updated.
30958 (grub_ieee1275_next_property): Directly return Open Firmware return
30960 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30961 Standardize error checking from `grub_ieee1275_get_property'.
30962 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
30963 `devalias' to `aliases'. Correct comments. Consolidate error paths.
30965 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
30967 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
30968 `instance_to_package_args' to `instance_to_path_args'.
30970 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
30971 `grub_ieee1275_chosen'.
30973 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
30974 `grub_ieee1275_interpret'.
30976 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
30978 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
30980 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
30982 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
30983 (__cmpdi): Likewise.
30985 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
30986 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
30989 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
30991 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
30992 to type `grub_ssize_t'.
30993 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
30995 2006-09-22 Marco Gerards <marco@gnu.org>
30997 * normal/script.c (grub_script_create_cmdmenu): Skip leading
31000 2006-09-22 Marco Gerards <marco@gnu.org>
31002 * commands/echo.c: New file.
31004 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
31006 * conf/common.rmk (echo_mod_SOURCES): New variable.
31007 (echo_mod_CFLAGS): Likewise.
31008 (echo_mod_LDFLAGS): Likewise.
31010 2006-09-22 Marco Gerards <marco@gnu.org>
31012 * normal/main.c (get_line): Malloc memory instead of using
31013 preallocated memory. Removed the arguments `cmdline' and
31014 `max_len'. Updated all callers.
31016 2006-09-22 Marco Gerards <marco@gnu.org>
31018 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
31019 (normal_mod_DEPENDENCIES): Likewise.
31021 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
31022 (normal_mod_DEPENDENCIES): Likewise.
31024 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
31026 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
31028 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
31030 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
31031 (normal_mod_DEPENDENCIES): Likewise.
31032 * conf/i386-pc.mk: Regenerate.
31033 * conf/i386-efi.mk: Likewise
31034 * conf/common.mk: Likewise.
31035 * conf/powerpc-ieee1275.mk: Likewise.
31036 * conf/sparc64-ieee1275.mk: Likewise.
31038 2006-09-22 Robert Millan <rmh@aybabtu.com>
31040 Sync with i386 version.
31041 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
31042 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
31044 2006-09-21 Robert Millan <rmh@aybabtu.com>
31046 Import from GRUB Legacy (lib/device.c):
31047 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
31048 (init_device_map) [__linux__]: Add support for I2O devices.
31050 2006-09-14 Marco Gerards <marco@gnu.org>
31052 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
31055 2006-09-14 Robert Millan <rmh@aybabtu.com>
31057 * util/i386/pc/grub-install.in: Skip menu.lst when removing
31060 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
31062 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
31063 before adding it to device.map.
31065 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
31067 * genmk.rb: Let GCC generate dependencies the first time it
31068 compiles a file; using the -MD option.
31069 * conf/common.mk: Regenerate.
31070 * conf/i386-pc.mk: Likewise.
31071 * conf/i386-efi.mk: Likewise.
31072 * conf/powerpc-ieee1275.mk: Likewise.
31073 * conf/sparc64-ieee1275.mk: Likewise.
31075 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
31077 Move the prototypes of grub_setjmp and grub_longjmp to
31078 cpu/setjmp.h, so that each architecture may specify different
31081 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
31082 (grub_longjmp): Likewise.
31083 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
31084 (grub_longjmp): Likewise.
31085 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
31086 (grub_longjmp): Likewise.
31088 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
31089 [!GRUB_UTIL] (grub_longjmp): Removed.
31091 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
31093 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
31094 "color!" method does not return any value.
31096 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31098 * include/grub/bitmap.h: New file.
31100 * include/grub/i386/pc/vbeutil.h: Likewise.
31102 * video/bitmap.c: Likewise.
31104 * video/readers/tga.c: Likewise.
31106 * video/i386/pc/vbeutil.c: Likewise.
31108 * commands/videotest.c: Code cleanup and updated to reflect to new
31111 * term/gfxterm.c: Likewise.
31113 * video/video.c: Likewise.
31115 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
31116 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
31117 (bitmap_mod_SOURCES): New entry.
31118 (bitmap_mod_CFLAGS): Likewise.
31119 (bitmap_mod_LDFLAGS): Likewise.
31120 (tga_mod_SOURCES): Likewise.
31121 (tga_mod_CFLAGS): Likewise.
31122 (tga_mod_LDFLAGS): Likewise.
31124 * include/grub/video.h (grub_video_blit_operators): New enum type.
31125 (grub_video_render_target): Changed as forward declaration and moved
31126 actual definition to be video driver specific.
31127 (grub_video_adapter.blit_bitmap): Added blitting operator.
31128 (grub_video_adapter.blit_render_target): Likewise.
31129 (grub_video_blit_bitmap): Likewise.
31130 (grub_video_blit_render_target): Likewise.
31132 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
31133 driver specific render target definition.
31134 (grub_video_vbe_map_rgba): Added driver internal helper.
31135 (grub_video_vbe_unmap_color): Updated to use
31136 grub_video_i386_vbeblit_info.
31137 (grub_video_vbe_get_video_ptr): Likewise.
31139 * include/grub/i386/pc/vbeblit.h
31140 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
31141 grub_video_i386_vbeblit_info.
31142 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31143 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31144 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31145 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31146 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31147 (grub_video_i386_vbeblit_index_index): Likewise.
31148 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
31149 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31150 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31151 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
31153 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
31156 * video/i386/pc/vbeblit.c: Updated to reflect changes on
31157 include/grub/i386/pc/vbeblit.h.
31159 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
31160 Updated to use grub_video_i386_vbeblit_info.
31161 (grub_video_i386_vbefill_R8G8B8): Likewise.
31162 (grub_video_i386_vbefill_index): Likewise.
31163 (grub_video_i386_vbefill): Added generic filler.
31165 * video/i386/pc/vbefill.c: Updated to reflect changes on
31166 include/grub/i386/pc/vbefill.h.
31168 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
31169 grub_video_i386_vbeblit_info.
31170 (grub_video_vbe_unmap_color): Likewise.
31171 (grub_video_vbe_blit_glyph): Likewise.
31172 (grub_video_vbe_scroll): Likewise.
31173 (grub_video_vbe_draw_pixel): Removed function.
31174 (grub_video_vbe_get_pixel): Likewise.
31175 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
31176 updated code to use it.
31177 (common_blitter): Added common blitter for render target and bitmap.
31178 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
31179 (grub_video_vbe_blit_render_target): Likewise.
31181 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
31183 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
31184 is in text mode if there is no console control protocol instance
31187 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31189 * include/grub/video.h: Code cleanup.
31191 * include/grub/i386/pc/vbe.h: Likewise.
31193 * video/i386/pc/vbe.c: Likewise.
31195 * video/i386/pc/vbeblit.c: Likewise.
31197 * video/i386/pc/vbefill.c: Likewise.
31199 * video/video.c: Likewise. Also added more comments.
31201 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31203 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
31204 (struct grub_biosdisk_dap): Likewise.
31206 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
31207 linkage settings for all functions.
31209 2006-07-12 Marco Gerards <marco@gnu.org>
31211 * configure.ac (--enable-mm-debug): Fix typo.
31213 * genkernsyms.sh.in: Use proper quoting for `CC'.
31215 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
31217 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
31218 (normal_mod_ASFLAGS): Remove "-m32".
31220 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
31222 * util/misc.c: Include config.h.
31223 [!HAVE_MEMALIGN]: Do not include malloc.h.
31224 (grub_memalign): Use posix_memalign, if present. Then, use
31225 memalign, if present. Otherwise, emit an error.
31227 * util/grub-emu.c: Do not include malloc.h.
31229 * include/grub/util/misc.h: Include unistd.h. This is required for
31230 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
31231 D. Eades III <hde@foobar-qux.org>.
31233 * configure.ac (AC_GNU_SOURCE): Added.
31234 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
31237 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
31239 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
31240 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
31242 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
31244 * include/grub/types.h (grub_host_addr_t): Rename to
31245 grub_target_addr_t.
31246 (grub_host_off_t): Rename to grub_target_off_t.
31247 (grub_host_size_t): Rename to grub_target_size_t.
31248 (grub_host_ssize_t): Rename to grub_target_ssize_t.
31249 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
31251 * include/grub/kernel.h (struct grub_module_header): Change type
31252 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
31253 (grub_module_info): Likewise.
31255 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31257 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
31258 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
31259 Velazquez <jesus.velazquez@gmail.com>.
31261 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31263 Count partitions from 1 instead of 0 in the string representation
31264 of partitions. Still use 0-based internally.
31266 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
31267 (sun_partition_map_iterate): Use grub_partition_t instead of
31268 struct grub_partition *. Cast DESC->START_CYLINDER to
31269 grub_uint64_t after converting the endian.
31270 (sun_partition_map_probe): Subtract 1 for PARTNUM.
31271 (sun_partition_map_get_name): Add 1 to P->INDEX.
31273 * partmap/pc.c (grub_partition_parse): Subtract 1 for
31275 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
31277 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
31278 zero instead of one.
31279 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
31280 (gpt_partition_map_get_name): Add 1 into P->INDEX.
31282 * partmap/apple.c (apple_partition_map_iterate): Change the type
31283 of POS to unsigned.
31284 (apple_partition_map_probe): Subtract 1 for PARTNUM.
31285 (apple_partition_map_get_name): Add 1 into P->INDEX.
31287 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
31288 of POS to unsigned.
31289 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
31290 calculate the offset of a partition.
31291 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
31292 (amiga_partition_map_get_name): Add 1 into P->INDEX.
31294 * partmap/acorn.c (acorn_partition_map_find): Change the type of
31295 SECTOR to grub_disk_addr_t.
31296 (acorn_partition_map_iterate): Likewise.
31297 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
31298 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
31300 (acorn_partition_map_get_name): Add 1 into P->INDEX.
31302 * kern/i386/pc/init.c (make_install_device): Add 1 into
31303 GRUB_INSTALL_DOS_PART.
31305 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
31308 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31310 Clean up the code to support 64-bit addressing in disks and
31311 files. This change is not enough for filesystems yet.
31313 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
31314 type of "start" to grub_uint64_t.
31315 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
31316 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
31317 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
31320 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
31321 to grub_disk_addr_t.
31323 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
31326 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31328 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
31331 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
31333 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
31335 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
31337 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
31338 to grub_off_t, to detect an error from grub_file_seek.
31339 (grub_multiboot_load_elf32): Likewise.
31341 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
31342 maximum unsigned long value when an overflow is detected.
31343 (grub_strtoull): New function.
31344 (grub_divmod64): Likewise.
31345 (grub_lltoa): use grub_divmod64.
31347 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
31349 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
31350 the pointer to next character. Use grub_strtoull instead of
31352 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
31353 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
31356 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
31357 return value is signed.
31358 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
31359 test if OFFSET is less than zero, as OFFSET is unsigned now.
31361 * kern/disk.c (struct grub_disk_cache): Change the type of
31362 "sector" to grub_disk_addr_t.
31363 (grub_disk_cache_get_index): Change the type of SECTOR to
31364 grub_disk_addr_t. Calculate the hash with SECTOR casted to
31365 unsigned after shifting.
31366 (grub_disk_cache_invalidate): Change the type of SECTOR to
31368 (grub_disk_cache_unlock): Likewise.
31369 (grub_disk_cache_store): Likewise.
31370 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
31371 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
31372 grub_disk_addr_t and grub_uint64_t, respectively.
31373 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
31374 body, as the value of OFFSET is tweaked by
31375 grub_disk_check_range. Change the types of START_SECTOR, LEN and
31376 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
31378 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
31379 body, as the value of OFFSET is tweaked by
31380 grub_disk_check_range. Change the types of LEN and N to
31383 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
31384 and "saved_offset" to grub_off_t.
31385 (test_header): Cast BUF to char *.
31386 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
31388 (grub_gzio_read): Change the types of OFFSET and SIZE to
31389 grub_off_t and grub_size_t, respectively.
31391 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
31393 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
31394 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
31395 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
31396 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
31397 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
31399 * include/grub/types.h (grub_off_t): Unconditionally set to
31401 (grub_disk_addr_t): Changed to grub_uint64_t.
31403 * include/grub/partition.h (struct grub_partition): Change the
31404 types of "start", "len" and "offset" to grub_disk_addr_t,
31405 grub_uint64_t and grub_disk_addr_t, respectively.
31406 (grub_partition_get_start): Return grub_disk_addr_t.
31407 (grub_partition_get_len): Return grub_uint64_t.
31409 * include/grub/misc.h (grub_strtoull): New prototype.
31410 (grub_divmod64): Likewise.
31412 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
31413 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
31414 grub_off_t, respectively.
31415 All callers and references changed.
31417 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
31418 grub_size_t in "read".
31419 All callers and references changed.
31421 * include/grub/file.h (struct grub_file): Change the types of
31422 "offset" and "size" to grub_off_t and grub_off_t,
31423 respectively. Change the type of SECTOR to grub_disk_addr_t in
31425 (grub_file_read): Change the type of LEN to grub_size_t.
31426 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
31428 (grub_file_size): Return grub_off_t.
31429 (grub_file_tell): Likewise.
31430 All callers and references changed.
31432 * include/grub/disk.h (struct grub_disk_dev): Change the types of
31433 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
31435 (struct grub_disk): Change the type of "total_sectors" to
31436 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
31438 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
31439 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
31440 (grub_disk_write): Likewise.
31441 All callers and references changed.
31443 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
31444 char * for grub_strncmp to silence gcc.
31445 (grub_iso9660_mount): Likewise.
31446 (grub_iso9660_mount): Likewise.
31447 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
31449 (grub_iso9660_iterate_dir): Likewise.
31450 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
31452 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
31453 LEN to grub_disk_addr_t and grub_size_t, respectively.
31455 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31457 * fs/jfs.c (grub_jfs_read_file): Likewise.
31459 * fs/minix.c (grub_jfs_read_file): Likewise.
31461 * fs/sfs.c (grub_jfs_read_file): Likewise.
31463 * fs/ufs.c (grub_jfs_read_file): Likewise.
31465 * fs/xfs.c (grub_jfs_read_file): Likewise.
31467 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
31468 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
31471 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
31472 BLKNR to -1 instead of returning GRUB_ERRNO.
31473 (grub_ext2_read_file): Change the types of SECTOR and
31474 LEN to grub_disk_addr_t and grub_size_t, respectively.
31476 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
31477 LEN to grub_disk_addr_t and grub_size_t, respectively.
31479 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
31482 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
31483 string. Do not cast SECTOR explicitly.
31485 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
31486 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
31487 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
31488 grub_disk_addr_t and grub_size_t, respectively. If the sector is
31489 over 2TB and LBA mode is not supported, raise an error.
31490 (get_safe_sectors): New function.
31491 (grub_biosdisk_read): Use get_safe_sectors.
31492 (grub_biosdisk_write): Likewise.
31494 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
31495 (grub_efidisk_write): Likewise.
31497 * disk/loopback.c (delete_loopback): Cosmetic changes.
31498 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
31500 (grub_loopback_open): Likewise.
31501 (grub_loopback_read): Likewise. Also, change the type of POS to
31502 grub_off_t, and fix the usage of grub_memset.
31504 * commands/i386/pc/play.c: Include grub/machine/time.h.
31506 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
31509 * commands/configfile.c: Include grub/env.h.
31511 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
31512 GRUB_ERRNO directly instead. Change the type of POS to
31513 grub_off_t. Follow the coding standard.
31515 * commands/blocklist.c: Include grub/partition.h.
31516 (grub_cmd_blocklist): Return an error if the underlying device is
31517 not a disk. Take the starting sector of a partition into account,
31518 if a partition is used.
31520 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
31522 (lba_mode): Support 64-bit addresses.
31523 (chs_mode): Likewise.
31524 (copy_buffer): Adapted to the new offsets of a length field and a
31526 (blocklist_default_start): Allocate 64-bit space.
31528 * boot/i386/pc/boot.S (force_lba): Removed.
31529 (boot_drive): Moved to under KERNEL_SECTOR.
31530 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
31532 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
31534 (lba_mode): Refactored to support a 64-bit address. More size
31536 (setup_sectors): Likewise.
31538 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31540 * DISTLIST: Added include/grub/i386/linux.h. Removed
31541 include/grub/i386/pc/linux.h
31543 * configure.ac (AC_INIT): Bumped to 1.94.
31545 * config.guess: Updated from gnulib.
31546 * config.sub: Likewise.
31547 * install-sh: Likewise.
31548 * mkinstalldirs: Likewise.
31550 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31552 * conf/common.rmk (grub_modules_init.lst): Depended on
31553 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
31556 * genmk.rb (PModule::rule): Reverted the previous change.
31558 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31560 * conf/common.rmk (grub_modules_init.lst): Depends on
31561 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
31562 that the target does not exist before producing.
31563 (grub_modules_init.h): Remove the target before generating.
31564 (grub_emu_init.c): Likewise.
31566 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
31568 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
31570 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
31571 for the target-specific tests. Make sure that we also have the
31572 up-to-date target variables for those tests.
31574 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31576 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
31577 (PModule::rule): Likewise.
31579 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31581 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
31582 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
31583 target-specific flags should be prefixed.
31584 (PModule::rule): Likewise.
31586 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
31588 * configure.ac (CMP): Check if cmp is available explicitly.
31590 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
31592 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
31593 (target_cpu): New variable.
31594 (pkglibdir): Use target_cpu instead of host_cpu.
31596 * util/i386/pc/grub-install.in (host_cpu): Removed.
31597 (target_cpu): New variable.
31598 (pkglibdir): Use target_cpu instead of host_cpu.
31600 * util/genmoddep.c: Removed.
31602 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
31603 instead of GRUB_HOST_SIZEOF_VOID_P.
31604 * kern/dl.c: Likewise.
31606 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
31608 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31609 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31610 (GRUB_TARGET_SIZEOF_LONG): ... this.
31611 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31612 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31613 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31615 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31616 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31617 (GRUB_TARGET_SIZEOF_LONG): ... this.
31618 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31619 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31620 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31622 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31623 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31624 (GRUB_TARGET_SIZEOF_LONG): ... this.
31625 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31626 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31628 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
31629 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
31630 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
31631 instead of GRUB_HOST_SIZEOF_LONG.
31632 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
31633 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
31634 GRUB_CPU_WORDS_BIGENDIAN.
31635 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
31636 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
31639 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
31640 (genmoddep_SOURCES): Likewise.
31641 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
31642 (genmoddep_SOURCES): Likewise.
31643 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
31644 (genmoddep_SOURCES): Likewise.
31645 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
31647 (genmoddep_SOURCES): Likewise.
31649 * genmoddep.awk: New file.
31651 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
31652 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
31653 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
31654 (PModule::rule): Likewise.
31655 (Program::rule): Likewise.
31656 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
31657 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
31660 * configure.ac: Rewritten intensively to use host and target
31661 instead of build and host, respectively.
31663 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
31664 (host_cpu): Removed.
31665 (target_cpu): New variable.
31666 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
31667 (BUILD_CC): Removed.
31668 (BUILD_CFLAGS): Likewise.
31669 (BUILD_CPPFLAGS): Likewise.
31670 (TARGET_CC): New variable.
31671 (TARGET_CFLAGS): Likewise.
31672 (TARGET_CPPFLAGS): Likewise.
31673 (TARGET_LDFLAGS): Likewise.
31675 (include): Use target_cpu instead of host_cpu.
31676 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
31678 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
31680 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
31682 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
31683 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
31684 field 'false' to 'exec_on_false'.
31685 (grub_script_create_cmdif): Renamed argument names to reflect above
31688 * normal/execute.c (grub_script_execute_cmdif): Likewise.
31690 * normal/script.c (grub_script_create_cmdif): Likewise.
31692 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
31694 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
31696 (grub_hfsplus_btree_recptr): Likewise.
31697 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
31698 FILEBLOCK both to pass a block number and store next block
31700 (grub_hfsplus_read_block): Rewritten heavily to support an extent
31701 overflow file correctly. Specify errors appropriately, because
31702 fshelp expects that GRUB_ERRNO is set when fails. Reuse
31703 grub_hfsplus_btree_recptr to get the pointer to a found key.
31704 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
31707 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
31709 (_linux_mod_SOURCES): New variable.
31710 (_linux_mod_CFLAGS): Likewise.
31711 (_linux_mod_LDFLAGS): Likewise.
31712 (linux_mod_SOURCES): Likewise.
31713 (linux_mod_CFLAGS): Likewise.
31714 (linux_mod_LDFLAGS): Likewise.
31716 * DISTLIST: Added loader/i386/efi/linux.c,
31717 loader/i386/efi/linux_normal.c and
31718 include/grub/i386/efi/loader.h.
31720 * loader/i386/efi/linux.c: New file.
31721 * loader/i386/efi/linux_normal.c: Likewise.
31722 * include/grub/i386/efi/loader.h: Likewise.
31724 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
31726 * commands/blocklist.c: New file.
31728 * DISTLIST: Added commands/blocklist.c.
31730 * term/efi/console.c (grub_console_highlight_color): Use a lighter
31731 color for the background, and a darker color for the foreground.
31732 (grub_console_checkkey): Return READ_KEY.
31733 (grub_console_cls): Set the background to
31734 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
31736 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
31738 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
31739 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
31741 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
31744 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
31745 BG. The spec is wrong again.
31747 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
31749 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
31751 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31752 commands/blocklist.c.
31753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31755 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
31756 (blocklist_mod_SOURCES): New variable.
31757 (blocklist_mod_CFLAGS): Likewise.
31758 (blocklist_mod_LDFLAGS): Likewise.
31760 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
31762 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
31764 (lba_mode): Use %eax more intensively to reduce the code size.
31766 2006-05-20 Marco Gerards <marco@gnu.org>
31768 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
31770 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
31772 (script): Accept leading newlines.
31773 (newlines): New rule to describe 0 or more newlines.
31774 (commands): Accept `command' with trailing newline. Fixed the
31775 order in which arguments were passed to `grub_script_add_cmd'.
31776 Accept commands separated by newlines.
31777 (function): Changed to accept newlines.
31778 (menuentry) Rewritten.
31780 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
31781 front of the list, instead of to the end.
31783 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
31785 * util/i386/pc/grub-install.in (bindir): New variable.
31786 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
31787 Shaver <lbgwjl@gmail.com>.
31789 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
31791 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
31792 grub/machine/linux.h
31793 * loader/i386/pc/linux.c: Likewise.
31795 * include/grub/i386/pc/linux.h: Moved to ...
31796 * include/grub/i386/linux.h: ... here.
31798 * include/grub/i386/linux.h (struct linux_kernel_params): New
31801 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
31803 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
31805 (grub_video_vbe_blit_glyph): Likewise.
31806 (grub_video_vbe_blit_bitmap): Likewise.
31807 (grub_video_vbe_blit_render_target): Likewise.
31809 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
31811 * configure.ac (--with-platform): Properly quote the square
31814 2006-05-08 Marco Gerards <marco@gnu.org>
31816 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
31818 (kernel_elf_HEADERS): ...to this. Updated all users.
31819 (grubof_symlist.c): Renamed from this...
31820 (kernel_elf_symlist.c): ...to this. Updated all users.
31821 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
31822 (grubof_SOURCES): Renamed from this...
31823 (kernel_elf_SOURCES): ...to this.
31824 (grubof_HEADERS): Renamed from this...
31825 (kernel_elf_HEADERS): ...to this.
31826 (grubof_CFLAGS): Renamed from this...
31827 (kernel_elf_CFLAGS): ...to this.
31828 (grubof_ASFLAGS): Renamed from this...
31829 (kernel_elf_ASFLAGS): ...to this.
31830 (grubof_LDFLAGS): Renamed from this...
31831 (kernel_elf_LDFLAGS): ...to this.
31833 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
31835 (kernel_elf_HEADERS): ...to this. Updated all users.
31836 (grubof_symlist.c): Renamed from this...
31837 (kernel_elf_symlist.c): ...to this. Updated all users.
31838 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
31839 (grubof_SOURCES): Renamed from this...
31840 (kernel_elf_SOURCES): ...to this.
31841 (grubof_HEADERS): Renamed from this...
31842 (kernel_elf_HEADERS): ...to this.
31843 (grubof_CFLAGS): Renamed from this...
31844 (kernel_elf_CFLAGS): ...to this.
31845 (grubof_ASFLAGS): Renamed from this...
31846 (kernel_elf_ASFLAGS): ...to this.
31847 (grubof_LDFLAGS): Renamed from this...
31848 (kernel_elf_LDFLAGS): ...to this.
31850 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
31851 `kernel.elf' instead of `grubof'.
31853 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
31855 Add --with-platform to configure. Use pkglibdir instead of
31856 pkgdatadir. This is reported by Roger Leigh.
31858 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
31859 (host_vendor): Likewise.
31860 (host_os): Likewise.
31861 (pkgdatadir): Likewise.
31862 (platform): New variable.
31863 (pkglibdir): Likewise.
31864 Use PKGLIBDIR instead of PKGDATADIR.
31866 * util/i386/pc/grub-install.in (datadir): Removed.
31867 (host_vendor): Likewise.
31868 (host_os): Likewise.
31869 (pkgdatadir): Likewise.
31870 (platform): New variable.
31871 (pkglibdir): Likewise.
31872 Use PKGLIBDIR instead of PKGDATADIR.
31874 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
31875 instead of GRUB_DATADIR.
31877 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31879 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31882 * configure.ac (--with-platform): New option.
31883 Use PLATFORM instead of HOST_VENDOR to specify a platform.
31885 * Makefile.in: Include a makefile based on PLATFORM instead of
31887 (pkgdatadir): Not appended by the machine type.
31888 (pkglibdir): Appended by the machine type.
31889 (host_vendor): Removed.
31890 (platform): New variable.
31891 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
31892 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
31893 (uninstall): Likewise.
31895 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
31897 Use the environment context in the menu. Remove the commands
31898 "default" and "timeout", and use variables instead.
31900 * normal/menu.c: Include grub/env.h.
31901 (print_entry): Cast TITLE to silence gcc.
31902 (get_timeout): New function.
31903 (set_timeout): Likewise.
31904 (get_entry_number): Likewise.
31905 (run_menu): Use a default entry, a fallback entry and a timeout
31906 in the environment variables "default", "fallback" and
31907 "timeout". Also, tweak the default entry if it is not within the
31908 current menu entries.
31909 (grub_menu_run): Use a fallback entry in the environment variable
31912 * normal/main.c (read_config_file): Do not initialize
31913 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
31915 (grub_normal_execute): Use a data slot to store the menu.
31917 * include/grub/normal.h (struct grub_menu): Removed default_entry,
31918 fallback_entry and timeout.
31919 (struct grub_menu_list): Removed.
31920 (grub_menu_list_t): Likewise.
31921 (struct grub_context): Likewise.
31922 (grub_context_t): Likewise.
31923 (grub_context_get): Likewise.
31924 (grub_context_get_current_menu): Likewise.
31925 (grub_context_push_menu): Likewise.
31926 (grub_context_pop_menu): Likewise.
31927 (grub_default_init): Likewise.
31928 (grub_default_fini): Likewise.
31929 (grub_timeout_init): Likewise.
31930 (grub_timeout_fini): Likewise.
31932 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
31934 (normal_mod_SOURCES): Removed normal/context.c.
31936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
31937 commands/default.c, commands/timeout.c and normal/context.c.
31938 (normal_mod_SOURCES): Removed normal/context.c.
31940 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
31941 commands/timeout.c and normal/context.c.
31942 (normal_mod_SOURCES): Removed normal/context.c.
31944 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
31945 commands/default.c, commands/timeout.c and normal/context.c.
31946 (normal_mod_SOURCES): Removed normal/context.c.
31948 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
31950 (default_mod_SOURCES): Removed.
31951 (default_mod_CFLAGS): Likewise.
31952 (default_mod_LDFLAGS): Likewise.
31953 (timeout_mod_SOURCES): Removed.
31954 (timeout_mod_CFLAGS): Likewise.
31955 (timeout_mod_LDFLAGS): Likewise.
31957 * DISTLIST: Removed commands/default.c, commands/timeout.c and
31960 * commands/default.c: Removed.
31961 * commands/timeout.c: Likewise.
31962 * normal/context.c: Likewise.
31964 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
31966 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
31968 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
31970 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
31971 "next" to "prev" for readability.
31972 (struct grub_env_sorted_var): New struct.
31973 (grub_env_context): Renamed to ...
31974 (initial_context): ... this.
31975 (grub_env_var_context): Renamed to ...
31976 (current_context): ... this.
31977 (grub_env_find): Look only at CURRENT_CONTEXT.
31978 (grub_env_context_open): Rewritten to copy exported variables from
31980 (grub_env_context_close): Rewritten according to the new
31981 scheme. Also, add an assertion to prevent the initial context from
31983 (grub_env_insert): Removed the code for the sorted list.
31984 (grub_env_remove): Likewise.
31985 (grub_env_export): Simply mark the variable with
31986 GRUB_ENV_VAR_GLOBAL.
31987 (grub_env_set): A cosmetic change for naming consistency.
31988 (grub_env_get): Likewise.
31989 (grub_env_unset): Likewise.
31990 (grub_env_iterate): Rewritten to sort variables within this
31992 (grub_register_variable_hook): Fixed for naming consistency. Call
31993 grub_env_find again, only if NAME is not found at the first time.
31994 (mangle_data_slot_name): New function.
31995 (grub_env_set_data_slot): Likewise.
31996 (grub_env_get_data_slot): Likewise.
31997 (grub_env_unset_data_slot): Likewise.
31999 * include/grub/env.h (grub_env_var_type): New enum.
32000 (GRUB_ENV_VAR_LOCAL): New constant.
32001 (GRUB_ENV_VAR_GLOBAL): Likewise.
32002 (GRUB_ENV_VAR_DATA): Likewise.
32003 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
32005 (grub_env_set): Replace VAR with NAME for consistency.
32006 (grub_register_variable_hook): Likewise.
32007 (grub_env_export): Specify the name of the argument.
32008 (grub_env_set_data_slot): New prototype.
32009 (grub_env_get_data_slot): Likewise.
32010 (grub_env_unset_data_slot): Likewise.
32012 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32014 Extend the loader so that GRUB can accept a loader which comes
32015 back to GRUB when a loaded image exits. Also, this change adds
32016 support for a chainloader on EFI.
32018 * term/efi/console.c: Include grub/misc.h.
32019 (grub_console_checkkey): Display a scan code on the top for
32020 debugging. This will be removed once the EFI port gets stable.
32021 Correct the scan code mapping.
32023 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
32024 allocate memory from larger regions, in order to reduce the number
32025 of allocated regions. Otherwise, the MacOSX loader panics.
32026 (filter_memory_map): Avoid less than 1MB for compatibility with
32028 (add_memory_regions): Allocate from the tail of a region, if
32029 possible, to avoid allocating a region near to 1MB, for the MacOSX
32032 * kern/efi/init.c (grub_efi_set_prefix): Specify
32033 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
32035 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
32036 argument IMAGE_HANDLE and specify it to get a loaded image.
32037 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
32038 grub_efi_get_loaded_image.
32039 (grub_efi_get_filename): Divide the length by the size of
32041 (grub_efi_get_device_path): New function.
32042 (grub_efi_print_device_path): Print End Device Path nodes. Divide
32043 the length by the size of grub_efi_char16_t for a file path device
32046 * kern/loader.c (grub_loader_noreturn): New variable.
32047 (grub_loader_set): Accept a new argument NORETURN. Set
32048 GRUB_LOADER_NORETURN to NORETURN.
32049 All callers changed.
32050 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
32053 * include/grub/efi/efi.h (grub_efi_get_device_path): New
32055 (grub_efi_get_loaded_image): Take an argument to specify an image
32058 * include/grub/loader.h (grub_loader_set): Added one more argument
32061 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
32062 instead of grub_efi_open_protocol.
32063 (grub_efidisk_get_device_name): Likewise.
32064 (grub_efidisk_close): Print a newline.
32065 (grub_efidisk_get_device_handle): Fixed to use
32066 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
32067 GRUB_EFI_DEVICE_PATH_TYPE.
32069 * disk/efi/efidisk.c (device_path_guid): Moved to ...
32070 * kern/efi/efi.c (device_path_guid): ... here.
32072 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
32074 (kernel_mod_HEADERS): Added efi/disk.h.
32075 (_chain_mod_SOURCES): New variable.
32076 (_chain_mod_CFLAGS): Likewise.
32077 (_chain_mod_LDFLAGS): Likewise.
32078 (chain_mod_SOURCES): Likewise.
32079 (chain_mod_CFLAGS): Likewise.
32080 (chain_mod_LDFLAGS): Likewise.
32082 * DISTLIST: Added include/grub/efi/chainloader.h,
32083 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
32085 * include/grub/efi/chainloader.h: New file.
32086 * loader/efi/chainloader.c: Likewise.
32087 * loader/efi/chainloader_normal.c: Likewise.
32089 2006-04-30 Marco Gerards <marco@gnu.org>
32091 * commands/configfile.c (grub_cmd_source): New function.
32092 (GRUB_MOD_INIT): Register the commands `source' and `.'.
32093 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
32095 2006-04-30 Marco Gerards <marco@gnu.org>
32097 * normal/execute.c (grub_script_execute_cmd): Change the return
32098 type to `grub_err_t'. Correctly return the error.
32099 (grub_script_execute_cmdline): In case a command line is not a
32100 command or a function, try to interpret it as an assignment.
32102 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32104 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
32105 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
32106 skip a node whose name is obviously invalid as UTF-16,
32107 i.e. contains a NUL character. Stop the iteration when the last
32108 directory entry is found. Instead of using the return value of
32109 grub_hfsplus_btree_iterate_node, store the value in RET and use
32110 it, because the iterator can be stopped by the last directory
32113 2006-04-30 Marco Gerards <marco@gnu.org>
32115 * include/grub/env.h (grub_env_export): New prototype. Reported
32116 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
32118 2006-04-30 Marco Gerards <marco@gnu.org>
32120 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
32121 size of the extents in a catalog file record.
32123 2006-04-29 Marco Gerards <marco@gnu.org>
32125 * commands/configfile.c (grub_cmd_configfile): Execute the
32126 configfile within its own context.
32128 * include/grub/env.h (grub_env_context_open): New prototype.
32129 (grub_env_context_close): Likewise.
32131 * kern/env.c (grub_env): Removed.
32132 (grub_env_sorted): Likewise.
32133 (grub_env_context): New variable.
32134 (grub_env_var_context): Likewise.
32135 (grub_env_find): Search both the active context and the global
32137 (grub_env_context_open): New function.
32138 (grub_env_context_close): Likewise.
32139 (grub_env_insert): Likewise.
32140 (grub_env_remove): Likewise.
32141 (grub_env_export): Likewise.
32142 (grub_env_set): Changed to use helper functions to avoid code
32144 (grub_env_iterate): Rewritten so both the current context and the
32145 global context are being used.
32147 * normal/command.c (export_command): New function.
32148 (grub_command_init): Register the `export' function.
32150 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
32152 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
32153 explicitly to suppress gcc's warnings.
32154 * fs/fat.c (grub_fat_find_dir): Likewise.
32155 (grub_fat_label): Likewise.
32156 * fs/xfs.c (grub_xfs_read_inode): Likewise.
32157 (grub_xfs_mount): Likewise.
32158 (grub_xfs_label): Likewise.
32159 * fs/affs.c (grub_affs_mount): Likewise.
32160 (grub_affs_label): Likewise.
32161 (grub_affs_iterate_dir): Likewise.
32162 * fs/sfs.c (grub_sfs_mount): Likewise.
32163 (grub_sfs_iterate_dir): Likewise.
32164 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
32165 * fs/hfs.c (grub_hfs_mount): Likewise.
32166 (grub_hfs_cmp_catkeys): Likewise.
32167 (grub_hfs_find_dir): Likewise.
32168 (grub_hfs_dir): Likewise.
32169 (grub_hfs_label): Likewise.
32170 * fs/jfs.c (grub_jfs_mount): Likewise.
32171 (grub_jfs_opendir): Likewise.
32172 (grub_jfs_getent): Likewise.
32173 (grub_jfs_lookup_symlink): Likewise.
32174 (grub_jfs_label): Likewise.
32175 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
32176 (grub_hfsplus_iterate_dir): Likewise.
32177 (grub_hfsplus_btree_iterate_node): Made static.
32179 * util/grub-emu.c (prefix): New variable.
32180 (grub_machine_set_prefix): New function.
32181 (main): Do not set the environment variable "prefix" here. Only
32182 set PREFIX, which is used later by grub_machine_set_prefix.
32184 * include/grub/video.h: Do not include grub/symbol.h.
32185 (grub_video_register): Not exported. This symbol is not defined in
32187 (grub_video_unregister): Likewise.
32188 (grub_video_iterate): Likewise.
32189 (grub_video_setup): Likewise.
32190 (grub_video_restore): Likewise.
32191 (grub_video_get_info): Likewise.
32192 (grub_video_get_blit_format): Likewise.
32193 (grub_video_set_palette): Likewise.
32194 (grub_video_get_palette): Likewise.
32195 (grub_video_set_viewport): Likewise.
32196 (grub_video_get_viewport): Likewise.
32197 (grub_video_map_color): Likewise.
32198 (grub_video_map_rgb): Likewise.
32199 (grub_video_map_rgba): Likewise.
32200 (grub_video_fill_rect): Likewise.
32201 (grub_video_blit_glyph): Likewise.
32202 (grub_video_blit_bitmap): Likewise.
32203 (grub_video_blit_render_target): Likewise.
32204 (grub_video_scroll): Likewise.
32205 (grub_video_swap_buffers): Likewise.
32206 (grub_video_create_render_target): Likewise.
32207 (grub_video_delete_render_target): Likewise.
32208 (grub_video_set_active_render_target): Likewise.
32210 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
32212 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
32214 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
32215 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32216 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32217 instead of $(srcdir)/genkernsyms.sh.
32219 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
32220 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32221 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32222 instead of $(srcdir)/genkernsyms.sh.
32224 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
32225 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32226 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32227 instead of $(srcdir)/genkernsyms.sh.
32229 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
32230 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32231 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32232 instead of $(srcdir)/genkernsyms.sh.
32234 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
32237 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
32239 (gensymlist.sh): New target.
32240 (genkernsyms.sh): Likewise.
32242 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
32243 genkernsyms.sh.in and gensymlist.sh.in.
32245 * genkernsyms.sh: Removed.
32246 * gensymlist.sh: Likewise.
32248 * genkernsyms.sh.in: New file.
32249 * gensymlist.sh.in: Likewise.
32251 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32253 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
32254 clobber "prefix", since we may have already set it manually.
32256 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32258 * kern/misc.c (abort): New alias for grub_abort.
32260 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
32262 A new machine-specific function "grub_machine_set_prefix" is
32263 defined. This is called after loading modules, so that a prefix
32264 initialization can use modules. Also, this change adds an
32265 intensive debugging feature for the memory manager via the
32266 configure option "--enable-mm-debug".
32268 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
32271 * kern/sparc64/ieee1275/init.c (abort): Removed.
32272 (grub_stop): Likewise.
32273 (grub_exit): New function.
32274 (grub_set_prefix): Renamed to ...
32275 (grub_machine_set_prefix): ... this.
32276 (grub_machine_init): Do not call grub_set_prefix.
32278 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
32279 (grub_machine_set_prefix): ... this.
32280 (grub_machine_init): Do not call grub_set_prefix.
32282 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
32283 (grub_machine_init): Do not set the prefix here.
32285 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
32287 * kern/efi/init.c: Include grub/mm.h.
32288 (grub_efi_set_prefix): New function.
32290 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
32291 (grub_efi_get_filename): New function.
32292 (grub_print_device_path): Renamed to ...
32293 (grub_efi_print_device_path): ... this.
32295 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
32296 [MM_DEBUG] (grub_realloc): Likewise.
32297 [MM_DEBUG] (grub_free): Likewise.
32298 [MM_DEBUG] (grub_memalign): Likewise.
32299 [MM_DEBUG] (grub_mm_debug): New variable.
32300 [MM_DEBUG] (grub_debug_malloc): New function.
32301 [MM_DEBUG] (grub_debug_free): New function.
32302 [MM_DEBUG] (grub_debug_realloc): New function.
32303 [MM_DEBUG] (grub_debug_memalign): New function.
32305 * kern/misc.c (grub_abort): Print a newline to distinguish
32308 * kern/main.c (grub_main): Call grub_machine_set_prefix and
32309 grub_set_root_dev after loading modules. This is necessary when
32310 setting a prefix depends on modules.
32312 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
32313 (grub_efi_print_device_path): ... this.
32314 (grub_efi_get_filename): New prototype.
32315 (grub_efi_set_prefix): Likewise.
32317 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
32319 (grub_efidisk_get_device_handle): New prototype.
32320 (grub_efidisk_get_device_name): Likewise.
32322 * include/grub/mm.h: Include config.h.
32323 (MM_DEBUG): Removed.
32324 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
32325 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
32326 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
32327 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
32328 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
32329 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
32330 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
32331 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
32332 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
32334 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
32336 * disk/efi/efidisk.c: Include grub/partition.h.
32337 (iterate_child_devices): New function.
32338 (add_device): First, compare only last device path nodes, so that
32339 devices are sorted by the types.
32340 (grub_efidisk_get_device_handle): New function.
32341 (grub_efidisk_get_device_name): Likewise.
32343 * configure.ac (--enable-mm-debug): New option to enable the
32344 memory manager debugging feature. This makes the binary much
32345 bigger, so is disabled by default.
32347 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
32349 Use grub_abort instead of grub_stop, and grub_exit must be
32350 define in each architecture now. Also, this change adds support
32353 * util/i386/pc/grub-probefs.c: Include grub/term.h.
32354 (grub_getkey): New function.
32355 (grub_term_get_current): Likewise.
32357 * util/i386/pc/grub-setup.c: Include grub/term.h.
32358 (grub_getkey): New function.
32359 (grub_term_get_current): Likewise.
32361 * util/misc.c (grub_stop): Renamed to ...
32362 (grub_exit): ... this.
32364 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
32365 (grub_exit): ... this.
32366 (grub_machine_init): Use grub_abort instead of abort.
32367 (grub_stop): Removed.
32369 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
32372 * kern/i386/pc/startup.S (grub_exit): New function.
32373 (cold_reboot): New label.
32375 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
32376 (grub_efi_init): Call grub_efidisk_init.
32377 (grub_efi_fini): Call grub_efidisk_fini.
32379 * kern/efi/efi.c: Include grub/mm.h.
32380 (grub_efi_console_control_guid): Renamed to ...
32381 (console_control_guid): ... this.
32382 (grub_efi_loaded_image_guid): Renamed to ...
32383 (loaded_image_guid): ... this.
32384 (grub_efi_locate_handle): New function.
32385 (grub_efi_open_protocol): Likewise.
32386 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
32387 GRUB_EFI_CONSOLE_CONTROL_GUID.
32388 (grub_efi_exit): Removed.
32389 (grub_stop): Likewise.
32390 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
32391 (grub_exit): New function.
32392 (grub_print_device_path): Likewise.
32394 * kern/rescue.c (grub_rescue_cmd_exit): New function.
32395 (grub_enter_rescue_mode): Register "exit".
32397 * kern/misc.c (grub_real_dprintf): A cosmetic change.
32398 (grub_abort): New function.
32400 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
32402 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
32404 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
32406 * include/grub/efi/efi.h (grub_efi_exit): Removed.
32407 (grub_print_device_path): New prototype.
32408 (grub_efi_locate_handle): Likewise.
32409 (grub_efi_open_protocol): Likewise.
32411 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
32412 * disk/efi/efidisk.c: Likewise.
32414 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
32416 * include/grub/efi/console_control.h
32417 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
32419 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
32420 last 8 bytes as an array.
32421 (GRUB_EFI_DISK_IO_GUID): New macro.
32422 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
32423 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
32424 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
32426 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
32427 (struct grub_efi_device_path): Rename the member "sub_type" to
32429 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
32430 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
32431 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
32432 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
32433 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
32434 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
32435 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
32436 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
32437 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
32438 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
32439 (struct grub_efi_pci_device_path): New structure.
32440 (grub_efi_pci_device_path_t): New type.
32441 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
32442 (struct grub_efi_pccard_device_path): New structure.
32443 (grub_efi_pccard_device_path_t): New type.
32444 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
32445 (struct grub_efi_memory_mapped_device_path): New structure.
32446 (grub_efi_memory_mapped_device_path_t): New type.
32447 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
32448 (struct grub_efi_vendor_device_path): New structure.
32449 (grub_efi_vendor_device_path_t): New type.
32450 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
32451 (struct grub_efi_controller_device_path): New structure.
32452 (grub_efi_controller_device_path_t): New type.
32453 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
32454 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
32455 (struct grub_efi_acpi_device_path): New structure.
32456 (grub_efi_acpi_device_path_t): New type.
32457 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
32458 (struct grub_efi_expanded_acpi_device_path): New structure.
32459 (grub_efi_expanded_acpi_device_path_t): New type.
32460 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
32461 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
32462 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
32463 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
32464 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
32465 (struct grub_efi_atapi_device_path): New structure.
32466 (grub_efi_atapi_device_path_t): New type.
32467 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
32468 (struct grub_efi_fibre_channel_device_path): New structure.
32469 (grub_efi_fibre_channel_device_path_t): New type.
32470 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
32471 (struct grub_efi_1394_device_path): New structure.
32472 (grub_efi_1394_device_path_t): New type.
32473 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
32474 (struct grub_efi_usb_device_path): New structure.
32475 (grub_efi_usb_device_path_t): New type.
32476 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
32477 (struct grub_efi_usb_class_device_path): New structure.
32478 (grub_efi_usb_class_device_path_t): New type.
32479 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
32480 (struct grub_efi_i2o_device_path): New structure.
32481 (grub_efi_i2o_device_path_t): New type.
32482 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
32483 (struct grub_efi_mac_address_device_path): New structure.
32484 (grub_efi_mac_address_device_path_t): New type.
32485 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
32486 (struct grub_efi_ipv4_device_path): New structure.
32487 (grub_efi_ipv4_device_path_t): New type.
32488 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
32489 (struct grub_efi_ipv6_device_path): New structure.
32490 (grub_efi_ipv6_device_path_t): New type.
32491 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
32492 (struct grub_efi_infiniband_device_path): New structure.
32493 (grub_efi_infiniband_device_path_t): New type.
32494 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
32495 (struct grub_efi_uart_device_path): New structure.
32496 (grub_efi_uart_device_path_t): New type.
32497 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
32498 (struct grub_efi_vendor_messaging_device_path): New structure.
32499 (grub_efi_vendor_messaging_device_path_t): New type.
32500 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
32501 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
32502 (struct grub_efi_hard_drive_device_path): New structure.
32503 (grub_efi_hard_drive_device_path_t): New type.
32504 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
32505 (struct grub_efi_cdrom_device_path): New structure.
32506 (grub_efi_cdrom_device_path_t): New type.
32507 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
32508 (struct grub_efi_vendor_media_device_path): New structure.
32509 (grub_efi_vendor_media_device_path_t): New type.
32510 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
32511 (struct grub_efi_file_path_device_path): New structure.
32512 (grub_efi_file_path_device_path_t): New type.
32513 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
32514 (struct grub_efi_protocol_device_path): New structure.
32515 (grub_efi_protocol_device_path_t): New type.
32516 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
32517 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
32518 (struct grub_efi_bios_device_path): New structure.
32519 (grub_efi_bios_device_path_t): New type.
32520 (struct grub_efi_disk_io): New structure.
32521 (grub_efi_disk_io_t): New type.
32522 (struct grub_efi_block_io_media): New structure.
32523 (grub_efi_block_io_media_t): New type.
32524 (struct grub_efi_block_io): New structure.
32525 (grub_efi_block_io_t): New type.
32527 * include/grub/misc.h (grub_stop): Removed.
32528 (grub_exit): New prototype.
32529 (grub_abort): Likewise.
32531 * include/grub/disk.h (enum grub_disk_dev_id): Added
32532 GRUB_DISK_DEVICE_EFIDISK_ID.
32534 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
32535 disk/efi/efidisk.c.
32536 (kernel_syms.lst): Remove the target if an error occurs.
32538 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
32540 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
32541 as it was simply too buggy.
32543 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
32545 * kern/misc.c (grub_lltoa): New function.
32546 (grub_vsprintf): Added support for the long long suffix,
32549 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
32551 * Makefile.in (LDFLAGS): Add variable.
32552 (LD): Remove variable.
32553 * configure.ac: Add -m32 to LDFLAGS.
32554 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
32555 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
32556 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
32557 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
32558 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
32560 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
32561 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
32562 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
32564 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
32566 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
32567 length for unknown glyph.
32569 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32571 Add support for pre-loaded modules into the EFI port.
32573 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
32574 completely. Accept one more argument DIR. The caller has changed.
32576 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
32578 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
32579 (grub_efi_loaded_image_guid): New variable.
32580 (grub_efi_get_loaded_image): New function.
32581 (grub_arch_modules_addr): Likewise.
32583 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
32586 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
32587 (struct grub_efi_loaded_image): New structure.
32588 (grub_efi_loaded_image_t): New type.
32590 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32592 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
32593 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
32594 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
32596 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
32598 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
32600 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
32602 * DISTLIST: Added include/grub/efi/console.h,
32603 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
32604 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32606 * include/grub/efi/console.h: New file.
32607 * include/grub/efi/time.h: Likewise.
32608 * include/grub/i386/efi/kernel.h: Likewise.
32609 * kern/efi/init.c: Likewise.
32610 * kern/efi/mm.c: Likewise.
32611 * term/efi/console.c: Likewise.
32613 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
32614 (grub_stop): Removed.
32615 (grub_get_rtc): Likewise.
32616 (grub_machine_init): Simply call grub_efi_init.
32617 (grub_machine_fini): Call grub_efi_fini.
32619 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
32620 (grub_efi_output_string): Removed.
32621 (grub_efi_stall): New function.
32622 (grub_stop): Likewise.
32623 (grub_get_rtc): Likewise.
32625 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
32626 (grub_efi_stall): New prototype.
32627 (grub_efi_allocate_pages): Likewise.
32628 (grub_efi_free_pages): Likewise.
32629 (grub_efi_get_memory_map): Likewise.
32630 (grub_efi_mm_init): Likewise.
32631 (grub_efi_mm_fini): Likewise.
32632 (grub_efi_init): Likewise.
32633 (grub_efi_fini): Likewise.
32635 * include/grub/i386/efi/time.h: Do not include
32636 grub/symbol.h. Include grub/efi/time.h.
32637 (GRUB_TICKS_PER_SECOND): Removed.
32638 (grub_get_rtc): Likewise.
32640 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
32641 Added padding. The EFI spec is buggy.
32642 (GRUB_EFI_BLACK): New macro.
32643 (GRUB_EFI_BLUE): Likewise.
32644 (GRUB_EFI_GREEN): Likewise.
32645 (GRUB_EFI_CYAN): Likewise.
32646 (GRUB_EFI_RED): Likewise.
32647 (GRUB_EFI_MAGENTA): Likewise.
32648 (GRUB_EFI_BROWN): Likewise.
32649 (GRUB_EFI_LIGHTGRAY): Likewise.
32650 (GRUB_EFI_BRIGHT): Likewise.
32651 (GRUB_EFI_DARKGRAY): Likewise.
32652 (GRUB_EFI_LIGHTBLUE): Likewise.
32653 (GRUB_EFI_LIGHTGREEN): Likewise.
32654 (GRUB_EFI_LIGHTCYAN): Likewise.
32655 (GRUB_EFI_LIGHTRED): Likewise.
32656 (GRUB_EFI_LIGHTMAGENTA): Likewise.
32657 (GRUB_EFI_YELLOW): Likewise.
32658 (GRUB_EFI_WHITE): Likewise.
32659 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
32660 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
32661 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
32662 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
32663 (GRUB_EFI_BACKGROUND_RED): Likewise.
32664 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
32665 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
32666 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
32667 (GRUB_EFI_TEXT_ATTR): Likewise.
32669 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
32670 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32671 (kernel_mod_HEADERS): Added efi/time.h.
32673 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
32675 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
32676 include/grub/efi/api.h, include/grub/efi/console_control.h,
32677 include/grub/efi/efi.h, include/grub/efi/pe32.h,
32678 include/grub/i386/efi/time.h, kern/efi/efi.c,
32679 kern/i386/efi/init.c, kern/i386/efi/startup.S,
32680 and util/i386/efi/grub-mkimage.c.
32682 * Makefile.in (RMKFILES): Added i386-efi.rmk.
32684 * genmk.rb (PModule#rule): Do not export symbols if
32685 #{prefix}_EXPORTS is set to "no".
32687 * conf/i386-efi.mk: New file.
32688 * conf/i386-efi.rmk: Likewise.
32689 * include/grub/efi/api.h: Likewise.
32690 * include/grub/efi/console_control.h: Likewise.
32691 * include/grub/efi/efi.h: Likewise.
32692 * include/grub/efi/pe32.h: Likewise.
32693 * include/grub/i386/efi/time.h: Likewise.
32694 * kern/efi/efi.c: Likewise.
32695 * kern/i386/efi/init.c: Likewise.
32696 * kern/i386/efi/startup.S: Likewise.
32697 * util/i386/efi/grub-mkimage.c: Likewise.
32699 2006-04-17 Marco Gerards <marco@gnu.org>
32701 * include/grub/script.h: Include <grub/parser.h> and
32702 "grub_script.tab.h".
32703 (struct grub_lexer_param): New struct.
32704 (struct grub_parser_param): Likewise.
32705 (grub_script_create_arglist): Pass the state in an argument.
32706 (grub_script_add_arglist): Likewise.
32707 (grub_script_create_cmdline): Likewise.
32708 (grub_script_create_cmdblock): Likewise.
32709 (grub_script_create_cmdif): Likewise.
32710 (grub_script_create_cmdmenu): Likewise.
32711 (grub_script_add_cmd): Likewise.
32712 (grub_script_arg_add): Likewise.
32713 (grub_script_lexer_ref): Likewise.
32714 (grub_script_lexer_deref): Likewise.
32715 (grub_script_lexer_record_start): Likewise.
32716 (grub_script_lexer_record_stop): Likewise.
32717 (grub_script_mem_record): Likewise.
32718 (grub_script_mem_record_stop): Likewise.
32719 (grub_script_malloc): Likewise.
32720 (grub_script_yylex): Likewise.
32721 (grub_script_yyparse): Likewise.
32722 (grub_script_yyerror): Likewise.
32723 (grub_script_yylex): Likewise.
32724 (grub_script_lexer_init): Return the state.
32726 * normal/lexer.c (grub_script_lexer_state): Removed variable.
32727 (grub_script_lexer_done): Likewise.
32728 (grub_script_lexer_getline): Likewise.
32729 (grub_script_lexer_refs): Likewise.
32730 (script): Likewise.
32731 (newscript): Likewise.
32732 (record): Likewise.
32733 (recording): Likewise.
32734 (recordpos): Likewise.
32735 (recordlen): Likewise.
32736 (grub_script_lexer_init): Return the state instead of setting
32738 (grub_script_lexer_ref): Use the newly added argument for state
32739 instead of globals.
32740 (grub_script_lexer_deref): Likewise.
32741 (grub_script_lexer_record_start): Likewise.
32742 (grub_script_lexer_record_stop): Likewise.
32743 (recordchar): Likewise.
32744 (nextchar): Likewise.
32745 (grub_script_yylex2): Likewise.
32746 (grub_script_yylex): Likewise.
32747 (grub_script_yyerror): Likewise.
32749 * normal/parser.y (func_mem): Removed variable.
32750 (menu_entry): Likewise.
32752 (%lex-param): New parser option.
32753 (%parse-param): Likewise.
32754 (script): Always return the AST.
32755 (argument): Pass the state around.
32756 (arguments): Likewise.
32757 (grubcmd): Likewise.
32758 (commands): Likewise.
32759 (function): Likewise.
32760 (menuentry): Likewise.
32761 (if_statement): Likewise.
32764 * normal/script.c (grub_script_memused): Removed variable.
32765 (grub_script_parsed): Likewise.
32766 (grub_script_malloc): Added a state argument. Use that instead of
32768 (grub_script_mem_record): Likewise.
32769 (grub_script_mem_record_stop): Likewise.
32770 (grub_script_arg_add): Likewise.
32771 (grub_script_add_arglist): Likewise.
32772 (grub_script_create_cmdline): Likewise.
32773 (grub_script_create_cmdif): Likewise.
32774 (grub_script_create_cmdmenu): Likewise.
32775 (grub_script_add_cmd): Likewise.
32776 (grub_script_parse): Setup the state before calling the parser.
32778 2006-04-16 Marco Gerards <marco@gnu.org>
32780 * normal/command.c (grub_command_init): Remove the title command.
32782 * normal/lexer.c (grub_script_yylex): Renamed from this...
32783 (grub_script_yylex2): ... to this.
32784 (grub_script_yylex): New function. Temporary
32785 introduced to filter some tokens.
32786 (grub_script_yyerror): Print a newline.
32788 * normal/main.c (read_config_file): Output information about the
32789 lines that contain errors. Wait for a key after all lines have
32790 been processed. Don't return an empty menu.
32792 * normal/parser.y (func_mem): Don't initialize.
32793 (menu_entry): Likewise.
32794 (err): New variable.
32795 (script): Don't return anything when an error was encountered.
32796 (ws, returns): Removed rules.
32797 (argument): Disabled concatenated variable support.
32798 (arguments): Remove explicit separators.
32799 (grubcmd): Likewise.
32800 (function): Likewise.
32801 (menuentry): Likewise.
32803 (commands): Likewise. Add error handling.
32805 * normal/script.c (grub_script_create_cmdline): If
32806 `grub_script_parsed' is 0, assume the parser encountered an error.
32808 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
32810 * configure.ac: Add support for EFI. Fix the typo
32811 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
32813 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
32815 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
32816 foreign multibyte characters should be shown correctly.
32818 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
32820 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
32822 (read_config_file): Made it to close file before returning.
32824 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
32826 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
32827 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
32828 video/i386/pc/vbefill.c.
32830 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
32831 video/i386/pc/vbefill.c.
32833 * include/grub/video.h (grub_video_blit_format): New enum.
32834 (grub_video_mode_info): Added new member blit_format.
32835 (grub_video_get_blit_format): New function prototype.
32837 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
32838 function prototype.
32839 (grub_video_vbe_map_rgb): Likewise.
32840 (grub_video_vbe_unmap_color): Likewise.
32842 * include/grub/i386/pc/vbeblit.h: New file.
32844 * include/grub/i386/pc/vbefill.h: New file.
32846 * video/video.c (grub_video_get_blit_format): New function.
32847 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
32848 (grub_video_vbe_map_rgb): Likewise.
32849 (grub_video_vbe_unmap_color): Likewise.
32851 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
32853 (grub_video_vbe_blit_render_target): Changed to use more optimized
32855 (grub_video_vbe_setup): Added detection for optimized settings.
32856 (grub_video_vbe_create_render_target): Likewise.
32858 * video/i386/pc/vbeblit.c: New file.
32860 * video/i386/pc/vbefill.c: New file.
32862 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
32864 * font/manager.c (grub_font_get_glyph): Removed font fixup from
32867 * util/unifont2pff.rb: ... and moved it to here. Improved argument
32868 parsing to support both hex and dec ranges. If filename was missing
32869 show usage information.
32871 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
32873 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
32874 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
32876 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
32877 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
32878 (video_mod_SOURCES): Added.
32879 (video_mod_CFLAGS): Likewise.
32880 (video_mod_LDFLAGS): Likewise.
32881 (gfxterm_mod_SOURCES): Likewise.
32882 (gfxterm_mod_CFLAGS): Likewise.
32883 (gfxterm_mod_LDFLAGS): Likewise.
32884 (videotest_mod_SOURCES): Likewise.
32885 (videotest_mod_CFLAGS): Likewise.
32886 (videotest_mod_LDFLAGS): Likewise.
32887 (vesafb_mod_SOURCES): Removed.
32888 (vesafb_mod_CFLAGS): Likewise.
32889 (vesafb_mod_LDFLAGS): Likewise.
32890 (vga_mod_SOURCES): Likewise.
32891 (vga_mod_CFLAGS): Likewise.
32892 (vga_mod_LDFLAGS): Likewise.
32894 * commands/videotest.c: New file.
32896 * font/manager.c (fill_with_default_glyph): Modified to use
32898 (grub_font_get_glyph): Likewise.
32899 (fontmanager): Renamed from this...
32900 (font_manager): ... to this.
32902 * include/grub/font.h (grub_font_glyph): Added new structure.
32903 (grub_font_get_glyph): Modified to use grub_font_glyph.
32905 * include/grub/misc.h (grub_abs): Added as inline function.
32907 * include/grub/video.h: New file.
32909 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
32910 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
32911 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
32912 (grub_vbe_get_controller_info): Renamed from this...
32913 (grub_vbe_bios_get_controller_info): ... to this.
32914 (grub_vbe_get_mode_info): Renamed from this...
32915 (grub_vbe_bios_get_mode_info): ... to this.
32916 (grub_vbe_set_mode): Renamed from this...
32917 (grub_vbe_bios_set_mode): ... to this.
32918 (grub_vbe_get_mode): Renamed from this...
32919 (grub_vbe_bios_get_mode): ... to this.
32920 (grub_vbe_set_memory_window): Renamed from this...
32921 (grub_vbe_bios_set_memory_window): ... to this.
32922 (grub_vbe_get_memory_window): Renamed from this...
32923 (grub_vbe_bios_get_memory_window): ... to this.
32924 (grub_vbe_set_scanline_length): Renamed from this...
32925 (grub_vbe_set_scanline_length): ... to this.
32926 (grub_vbe_get_scanline_length): Renamed from this...
32927 (grub_vbe_bios_get_scanline_length): ... to this.
32928 (grub_vbe_set_display_start): Renamed from this...
32929 (grub_vbe_bios_set_display_start): ... to this.
32930 (grub_vbe_get_display_start): Renamed from this...
32931 (grub_vbe_bios_get_display_start): ... to this.
32932 (grub_vbe_set_palette_data): Renamed from this...
32933 (grub_vbe_bios_set_palette_data): ... to this.
32934 (grub_vbe_set_pixel_rgb): Removed.
32935 (grub_vbe_set_pixel_index): Likewise.
32937 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
32939 (grub_vbe_bios_get_controller_info): ... to this.
32940 (grub_vbe_get_mode_info): Renamed from this...
32941 (grub_vbe_bios_get_mode_info): ... to this.
32942 (grub_vbe_set_mode): Renamed from this...
32943 (grub_vbe_bios_set_mode): ... to this.
32944 (grub_vbe_get_mode): Renamed from this...
32945 (grub_vbe_bios_get_mode): ... to this.
32946 (grub_vbe_set_memory_window): Renamed from this...
32947 (grub_vbe_bios_set_memory_window): ... to this.
32948 (grub_vbe_get_memory_window): Renamed from this...
32949 (grub_vbe_bios_get_memory_window): ... to this.
32950 (grub_vbe_set_scanline_length): Renamed from this...
32951 (grub_vbe_set_scanline_length): ... to this.
32952 (grub_vbe_get_scanline_length): Renamed from this...
32953 (grub_vbe_bios_get_scanline_length): ... to this.
32954 (grub_vbe_set_display_start): Renamed from this...
32955 (grub_vbe_bios_set_display_start): ... to this.
32956 (grub_vbe_get_display_start): Renamed from this...
32957 (grub_vbe_bios_get_display_start): ... to this.
32958 (grub_vbe_set_palette_data): Renamed from this...
32959 (grub_vbe_bios_set_palette_data): ... to this.
32960 (grub_vbe_bios_get_controller_info): Fixed problem with registers
32961 getting corrupted after calling it. Added more pushes and pops.
32962 (grub_vbe_bios_set_mode): Likewise.
32963 (grub_vbe_bios_get_mode): Likewise.
32964 (grub_vbe_bios_get_memory_window): Likewise.
32965 (grub_vbe_bios_set_scanline_length): Likewise.
32966 (grub_vbe_bios_get_scanline_length): Likewise.
32967 (grub_vbe_bios_get_display_start): Likewise.
32968 (grub_vbe_bios_set_palette_data): Likewise.
32970 * normal/cmdline.c (cl_set_pos): Refresh the screen.
32971 (cl_insert): Likewise.
32972 (cl_delete): Likewise.
32974 * term/gfxterm.c: New file.
32976 * term/i386/pc/vesafb.c: Removed file.
32978 * video/video.c: New file.
32980 * video/i386/pc/vbe.c (real2pm): Added new function.
32981 (grub_video_vbe_draw_pixel): Likewise.
32982 (grub_video_vbe_get_video_ptr): Likewise.
32983 (grub_video_vbe_get_pixel): Likewise
32984 (grub_video_vbe_init): Likewise.
32985 (grub_video_vbe_fini): Likewise.
32986 (grub_video_vbe_setup): Likewise.
32987 (grub_video_vbe_get_info): Likewise.
32988 (grub_video_vbe_set_palette): Likewise.
32989 (grub_video_vbe_get_palette): Likewise.
32990 (grub_video_vbe_set_viewport): Likewise.
32991 (grub_video_vbe_get_viewport): Likewise.
32992 (grub_video_vbe_map_color): Likewise.
32993 (grub_video_vbe_map_rgb): Likewise.
32994 (grub_video_vbe_map_rgba): Likewise.
32995 (grub_video_vbe_unmap_color): Likewise.
32996 (grub_video_vbe_fill_rect): Likewise.
32997 (grub_video_vbe_blit_glyph): Likewise.
32998 (grub_video_vbe_blit_bitmap): Likewise.
32999 (grub_video_vbe_blit_render_target): Likewise.
33000 (grub_video_vbe_scroll): Likewise.
33001 (grub_video_vbe_swap_buffers): Likewise.
33002 (grub_video_vbe_create_render_target): Likewise.
33003 (grub_video_vbe_delete_render_target): Likewise.
33004 (grub_video_vbe_set_active_render_target): Likewise.
33005 (grub_vbe_set_pixel_rgb): Remove function.
33006 (grub_vbe_set_pixel_index): Likewise.
33007 (index_color_mode): Remove static variable.
33008 (active_mode): Likewise.
33009 (framebuffer): Likewise.
33010 (bytes_per_scan_line): Likewise.
33011 (grub_video_vbe_adapter): Added new static variable.
33012 (framebuffer): Likewise.
33013 (render_target): Likewise.
33014 (initial_mode): Likewise.
33015 (mode_in_use): Likewise.
33016 (mode_list): Likewise.
33018 2006-03-10 Marco Gerards <marco@gnu.org>
33020 * configure.ac (AC_INIT): Bumped to 1.93.
33022 * DISTLIST: Added `include/grub/hfs.h'.
33024 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
33026 * boot/i386/pc/boot.S (general_error): Before looping, try INT
33027 18H, which might help the BIOS falling back to next boot media.
33029 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
33031 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
33032 Poe Chen <poe.poechen@gmail.com>.
33034 2006-01-17 Marco Gerards <marco@gnu.org>
33036 * include/grub/normal.h: Include <grub/script.h>.
33037 (grub_command_list): Removed struct.
33038 (grub_command_list_t): Removed type.
33039 (grub_menu_entry): Remove members `num' and `command_list'. Add
33040 members `commands' and `sourcecode'.
33041 * include/grub/script.h: Add inclusion guards.
33042 (grub_script_cmd_menuentry): New struct.
33043 (grub_script_execute_menuentry): New prototype.
33044 (grub_script_lexer_record_start): Likewise.
33045 (grub_script_lexer_record_stop): Likewise.
33046 * normal/execute.c (grub_script_execute_menuentry): New function.
33047 * normal/lexer.c (record, recording, recordpos, recordlen): New
33049 (grub_script_lexer_record_start): New function.
33050 (grub_script_lexer_record_stop): Likewise.
33051 (recordchar): Likewise.
33052 (nextchar): Likewise.
33053 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
33054 2048 as the buffer size. Add the tokens `menuentry' and `@'.
33055 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
33056 (current_menu): New variable.
33057 (free_menu): Mainly rewritten.
33058 (grub_normal_menu_addentry): New function.
33059 (read_config_file): Rewritten.
33060 * normal/menu.c (run_menu_entry): Mainly rewritten.
33061 * normal/menu_entry.c (make_screen): Rewritten the code to insert
33063 (run): Mainly rewritten.
33064 * normal/parser.y (menu_entry): New variable.
33065 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
33066 (menuentry): New rule.
33067 (command): Add `menuentry'.
33068 (if_statement): Allow additional returns before `fi'.
33069 * normal/script.c (grub_script_create_cmdmenu): New function.
33071 2006-01-03 Marco Gerards <marco@gnu.org>
33073 * INSTALL: GNU Bison is required.
33074 * configure.ac: Rewritten the test to detect Bison.
33075 * Makefile.in (YACC): New variable. Reported by Xun Sun
33076 <xun.sun.cn@gmail.com>.
33078 2006-01-03 Marco Gerards <marco@gnu.org>
33080 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
33081 the HFS+ filesystem to filesystem blocks.
33082 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
33083 GCC warning is silenced.
33085 2006-01-03 Marco Gerards <marco@gnu.org>
33087 * partmap/apple.c (apple_partition_map_iterate): Convert the data
33088 read from disk from big endian to host byte order.
33090 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
33092 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
33094 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
33095 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
33096 embedded HFS+ filesystem.
33097 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
33098 (grub_hfs_sblock): Move from here...
33099 * include/grub/hfs.h: To here... New file.
33100 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
33102 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
33104 (grub_hfsplus_volheader): Change type of member `magic' to
33106 (grub_hfsplus_data): Add new member `embedded_offset'.
33107 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
33109 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
33110 Calculate the offset.
33112 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33114 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
33116 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
33118 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33120 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
33121 ENV->NAME is NULL after allocating ENV->VALUE.
33123 2005-12-25 Marco Gerards <marco@gnu.org>
33125 * kern/env.c (grub_env_set): Rewritten the error handling code.
33127 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33129 * geninit.sh: Made more robust, and more portable.
33131 2005-12-25 Marco Gerards <marco@gnu.org>
33133 Add support for Apple HFS+ filesystems.
33135 * fs/hfsplus.c: New file.
33137 * DISTLIST: Added `fs/hfsplus.c'.
33139 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
33140 (hfsplus_mod_SOURCES): New variable.
33141 (hfsplus_mod_CFLAGS): Likewise.
33142 (hfsplus_mod_LDFLAGS): Likewise.
33143 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
33144 (grub_setup_SOURCES): Likewise.
33145 (grub_mkdevicemap_SOURCES): Likewise.
33146 (grub_emu_SOURCES): Likewise.
33147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33149 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
33151 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
33153 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33155 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
33156 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
33157 include/grub/parser.h, include/grub/script.h, kern/parser.c,
33158 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
33159 normal/lexer.c, normal/parser.y, normal/script.c, and
33161 Removed kern/sparc64/cache.c.
33163 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
33164 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
33167 * configure.ac (AC_INIT): Bumped to 1.92.
33169 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
33171 * kern/err.c (grub_error_push): Added new function to support error
33173 (grub_error_pop): Likewise.
33174 (grub_error_stack_items): New local variable to support error stacks.
33175 (grub_error_stack_pos): Likewise.
33176 (grub_error_stack_assert): Likewise.
33177 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
33179 (grub_print_error): Added support to print errors from error stack.
33181 * include/grub/err.h (grub_error_push): Added function prototype.
33182 (grub_error_pop): Likewise.
33184 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
33186 * configure.ac: Accept `powerpc64' as host_cpu.
33187 (amd64): Rename to `biarch32'.
33189 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
33190 non-cacheline-aligned addresses.
33192 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
33193 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
33194 if `size' is non-zero.
33196 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
33198 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
33199 and `cd' to make sure the filename is not prefixed with a
33201 (pkgdata_MODULES): Add `gpt.mod'.
33202 (gpt_mod_SOURCES): New variable.
33203 (gpt_mod_CFLAGS): Likewise.
33204 (gpt_mod_LDFLAGS): Likewise.
33206 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
33208 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
33211 * partmap/gpt.c: New file.
33213 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
33214 GPT partition map is detected.
33216 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
33218 * commands/i386/pc/play.c: New file.
33219 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
33220 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
33223 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
33225 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
33226 ((unused))' to silence gcc warning.
33228 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
33230 * configure.ac: Correct `AC_PROG_YACC' test.
33232 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33234 * util/powerpc/ieee1275/grub-install.in: Run the mount point
33235 check before installing files.
33237 2005-11-22 Mike Small <smallm@panix.com>
33239 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
33240 number regex so multidigit numbers are recognized correctly.
33242 2005-11-22 Mike Small <smallm@panix.com>
33244 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
33245 debugging message before attempting to claim memory.
33246 (grub_rescue_cmd_initrd): Add a claim debugging message and try
33247 multiple addresses in case of failure.
33249 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33251 * term/tparm.c (get_space): Remove empty `if' statement.
33253 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
33255 * kern/parser.c (check_varstate): Rename `state' to 's'.
33257 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33259 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
33260 variable definitions to the beginning of each function. Sort stack
33262 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
33263 `buf' argument to `char *'.
33265 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33267 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
33268 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
33269 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
33270 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33271 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33272 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33273 configfile.mod, search.mod, gzio.mod and test.mod.
33274 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33275 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33276 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33277 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33278 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33279 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33280 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33281 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33282 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33283 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33284 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33285 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33286 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33287 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33288 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33289 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33290 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33291 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33292 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33293 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33294 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33295 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33296 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
33298 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
33300 (pkgdata_MODULES): Add test.mod.
33302 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33304 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
33305 appending to variables with "+=".
33306 (PModule): Use full pathname to generate *.lst filenames.
33308 * Makefile.in: Fixed list rules moved from genmk.rb.
33309 (.DELETE_ON_ERROR): New special target.
33310 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
33312 * conf/i386-pc.rmk: Include conf/common.mk.
33313 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
33314 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
33315 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33316 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33317 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33318 configfile.mod, search.mod, gzio.mod and test.mod.
33319 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33320 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33321 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33322 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33323 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33324 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33325 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33326 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33327 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33328 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33329 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33330 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33331 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33332 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33333 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33334 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33335 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33336 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33337 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33338 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33339 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33340 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33341 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
33343 * conf/common.rmk: ... to here. New file.
33345 * conf/common.mk: New file.
33347 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
33349 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
33350 (grub_script.tab.c): ... here.
33352 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
33353 (grub_script.tab.c): ... here.
33355 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
33356 (grub_script.tab.c): ... here.
33358 * normal/command.c (grub_command_find): Fixed a memory leak of
33359 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
33361 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33363 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
33364 "@" which marks the start of a comment on ARM.
33365 (VARIABLE): Likewise.
33367 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33369 Add support for Linux/ADFS partition tables.
33371 * partmap/acorn.c: New file.
33373 * include/grub/acorn_filecore.h: Likewise.
33375 * DISTLIST: Added `partmap/acorn.c' and
33376 `include/grub/acorn_filecore.h'.
33378 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33380 (pkgdata_MODULES): Add `acorn.mod'.
33381 (acorn_mod_SOURCES): New variable.
33382 (acorn_mod_CFLAGS): Likewise.
33384 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33386 (pkgdata_MODULES): Add `acorn.mod'.
33387 (acorn_mod_SOURCES): New variable.
33388 (acorn_mod_CFLAGS): Likewise.
33390 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
33391 (pkgdata_MODULES): Add `acorn.mod'.
33392 (acorn_mod_SOURCES): New variable.
33393 (acorn_mod_CFLAGS): Likewise.
33394 (acorn_mod_LDFLAGS): Likewise.
33396 * include/types.h (grub_disk_addr_t): New typedef.
33398 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
33400 * geninit.sh: New file.
33402 * geninitheader.sh: Likewise.
33404 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
33405 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
33406 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
33407 * commands/configfile.c (grub_configfile_init)
33408 (grub_configfile_fini): Likewise.
33409 * commands/default.c (grub_default_init, grub_default_fini):
33411 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
33412 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
33413 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
33414 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
33416 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
33417 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
33419 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
33420 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
33422 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
33424 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
33426 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
33427 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
33428 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
33429 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
33430 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
33431 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
33432 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
33433 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
33434 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
33435 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
33436 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
33437 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
33438 * partmap/amiga.c (grub_amiga_partition_map_init)
33439 (grub_amiga_partition_map_fini): Likewise.
33440 * partmap/apple.c (grub_apple_partition_map_init)
33441 (grub_apple_partition_map_fini): Likewise.
33442 * partmap/pc.c (grub_pc_partition_map_init)
33443 (grub_pc_partition_map_fini): Likewise.
33444 * partmap/sun.c (grub_sun_partition_map_init,
33445 grub_sun_partition_map_fini): Likewise.
33446 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
33449 * util/grub-emu.c: Include <grub_modules_init.h>.
33450 (main): Don't initialize and de-initialize any modules directly,
33451 use `grub_init_all' and `grub_fini_all' instead.
33453 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
33454 `grub_vesafb_mod_init'.
33455 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
33457 * term/i386/pc/vga.c (grub_vga_init): Renamed to
33458 `grub_vga_mod_init'. Updated all users.
33459 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
33461 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
33462 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
33465 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
33466 Generate a function to initialize the module in utilities.
33467 Updated all callers.
33468 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
33469 initialize the module in utilities. Updated all callers.
33471 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33473 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
33474 escape sequence and a literal ^L to clear the screen.
33476 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
33477 when returning from Open Firmware.
33479 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33481 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
33482 (grub_ofconsole_height): Likewise.
33483 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
33484 manually insert a '\n'.
33485 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
33486 `grub_ofconsole_height'. Return early if these are already set.
33488 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
33490 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33491 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
33492 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
33493 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
33494 and `normal/script.c'.
33495 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33496 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33497 (test_mod_SOURCES): New variable.
33498 (test_mod_CFLAGS): Likewise.
33499 (test_mod_LDFLAGS): Likewise.
33500 (pkgdata_MODULES): Add `test.mod'.
33501 (grub_script.tab.c): New rule.
33502 (grub_script.tab.h): Likewise.
33504 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
33506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33507 `commands/test.c', `normal/execute.c', `normal/lexer.c',
33508 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33509 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33510 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33511 (test_mod_SOURCES): New variable.
33512 (test_mod_CFLAGS): Likewise.
33513 (pkgdata_MODULES): Add `test.mod'.
33514 (grub_script.tab.c): New rule.
33515 (grub_script.tab.h): Likewise.
33517 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
33519 Add initial scripting support.
33521 * commands/test.c: New file.
33522 * include/grub/script.h: Likewise.
33523 * normal/execute.c: Likewise.
33524 * normal/function.c: Likewise.
33525 * normal/lexer.c: Likewise.
33526 * normal/parser.y: Likewise.
33527 * normal/script.c: Likewise.
33529 * configure.ac: Add `AC_PROG_YACC' test.
33531 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
33532 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
33533 `normal/function.c' and `normal/script.c'.
33534 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33535 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33536 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
33538 (pkgdata_MODULES): Add `test.mod'.
33539 (grub_script.tab.c): New rule.
33540 (grub_script.tab.h): Likewise.
33542 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
33544 * include/grub/normal.h (grub_test_init): New prototype.
33545 (grub_test_fini): Likewise.
33547 * normal/command.c: Include <grub/script.h>.
33548 (grub_command_execute): Rewritten.
33550 * util/grub-emu.c (main): Call `grub_test_init' and
33553 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33555 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
33557 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
33558 there are no pending characters.
33560 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33562 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
33563 `grub_strndup' to drop device arguments. Replace unnecessary
33564 `grub_strndup' with `grub_strdup'.
33566 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33568 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
33569 `debug' environment variable has been set.
33571 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
33573 * Makefile.in (install-local): Use $(DATA).
33574 (uninstall): Likewise.
33575 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
33576 (sbin_UTILITIES): ... to here.
33577 (sbin_SCRIPTS): New variable.
33578 (grub_install_SOURCES): New variable.
33579 * util/powerpc/ieee1275/grub-install.in: New file.
33580 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
33582 (add_segments): Call `grub_util_get_path'.
33584 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33586 From Timothy Baldwin:
33587 * commands/ls.c (grub_ls_list_files): Close FILE with
33589 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
33591 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
33593 * include/grub/parser.h: New file.
33595 * kern/parser.c: Likewise.
33597 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
33598 (grub_setup_SOURCES): Likewise.
33599 (grub_probefs_SOURCES): Likewise.
33600 (grub_emu_SOURCES): Likewise.
33601 (kernel_img_HEADERS): Add `parser.h'.
33603 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33604 (grub_emu_SOURCES): Add `kern/parser.c'.
33605 (grubof_SOURCES): Likewise.
33607 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33608 (grubof_SOURCES): Add `kern/parser.c'.
33610 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
33612 * kern/misc.c (grub_split_cmdline): Removed function.
33614 * kern/rescue.c: Include <grub/parser.h>.
33615 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
33616 of `grub_split_cmdline'.
33618 * normal/command.c: Include <grub/parser.h>.
33619 (grub_command_execute): Use `grub_parser_split_cmdline' instead
33620 of `grub_split_cmdline'.
33622 * normal/completion.c: Include <grub/parser.h>.
33623 (cmdline_state): New variable.
33624 (iterate_dir): End the filename with a quote depending on the
33625 command line state.
33626 (get_state): new function.
33627 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
33628 split the arguments and determine the current argument. When the
33629 argument string is not quoted, escape all spaces.
33631 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33633 * normal/sparc64/setjmp.S: New file.
33635 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33637 * include/grub/sparc64/libgcc.h: New file.
33638 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
33639 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
33640 normal/sparc64/setjmp.c.
33642 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33644 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
33645 * kern/sparc64/cache.S: New file.
33646 * kern/sparc64/cache.c: Removed.
33647 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
33648 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
33650 (COMMON_LDFLAGS): Add -melf64_sparc.
33651 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
33652 (grubof_SOURCES): Use cache.S instead of cache.c.
33653 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
33654 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
33655 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
33657 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
33658 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
33659 (linux_mod_CFLAGS): Commented out.
33660 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
33661 out because module isn't built.
33662 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
33663 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
33664 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
33665 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
33666 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
33667 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
33668 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
33669 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
33670 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
33671 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
33672 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33673 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33674 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
33675 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
33677 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
33679 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
33680 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
33681 longer, because HFS should not be used on PC.
33683 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33685 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
33686 consistently within the loop.
33688 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
33690 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
33691 directory can not be read.
33693 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33695 * configure.ac (AC_INIT): Increase the version number to 1.91.
33697 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
33698 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
33699 term/i386/pc/serial.c.
33701 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33703 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
33704 file size must be permitted.
33706 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
33707 between %ah and %al.
33709 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33711 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
33713 Call the hook with a NUL-terminated filename.
33714 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
33717 * kern/term.c (cursor_state): New variable.
33718 (grub_term_set_current): Reset the cursor state on a new
33720 (grub_setcursor): Rewritten to use CURSOR_STATE.
33721 (grub_getcursor): New function.
33723 * include/grub/term.h (grub_getcursor): New prototype.
33725 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
33726 integers on ARM. Reported by Timothy Baldwin
33727 <T.E.Baldwin99@members.leeds.ac.uk>.
33729 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
33731 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
33733 (grub_sfs_dir): Likewise.
33735 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
33737 Add support for the SFS filesystem.
33739 * fs/sfs.c: New file.
33741 * DISTLIST: Added `fs/sfs.c'.
33743 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
33744 (grub_probefs_SOURCES): Likewise.
33745 (grub_emu_SOURCES): Likewise.
33746 (pkgdata_MODULES): Add `sfs.mod'.
33747 (sfs_mod_SOURCES): New variable.
33748 (sfs_mod_CFLAGS): Likewise.
33749 (sfs_mod_LDFLAGS): Likewise.
33751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
33752 (pkgdata_MODULES): Add `sfs.mod'.
33753 (sfs_mod_SOURCES): New variable.
33754 (sfs_mod_CFLAGS): Likewise.
33756 * util/grub-emu.c (main): Call `grub_sfs_init' and
33759 * include/grub/fs.h (grub_sfs_init): New prototype.
33760 (grub_sfs_fini): Likewise.
33762 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
33764 Add support for the AFFS filesystem.
33766 * fs/affs.c: New file.
33768 * DISTLIST: Added `fs/affs.c'.
33770 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
33771 (grub_probefs_SOURCES): Likewise.
33772 (grub_emu_SOURCES): Likewise.
33773 (pkgdata_MODULES): Add `affs.mod'.
33774 (affs_mod_SOURCES): New variable.
33775 (affs_mod_CFLAGS): Likewise.
33776 (affs_mod_LDFLAGS): Likewise.
33778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
33779 (pkgdata_MODULES): Add `affs.mod'.
33780 (affs_mod_SOURCES): New variable.
33781 (affs_mod_CFLAGS): Likewise.
33783 * util/grub-emu.c (main): Call `grub_affs_init' and
33786 * include/grub/fs.h (grub_affs_init): New prototype.
33787 (grub_affs_fini): Likewise.
33789 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
33791 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
33793 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
33795 * configure.ac: Accept `x86_64' as host_cpu. In that case add
33798 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
33801 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
33802 (COMMON_LDFLAGS): New variable.
33803 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
33804 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
33805 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
33806 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
33807 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
33808 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
33809 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
33810 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
33811 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
33812 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
33813 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
33814 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
33815 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
33816 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
33817 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
33819 (normal_mod_ASFLAGS): Add `-m32'.
33821 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
33822 (grub_host_size_t, grub_host_ssize_t): New types.
33823 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
33824 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
33825 `GRUB_HOST_SIZEOF_VOID_P'.
33827 * include/grub/kernel.h (struct grub_module_header): Type of
33828 member offset changed to `grub_host_off_t'. Type of member size
33829 changed to `grub_host_size_t'.
33830 (struct grub_module_info): Type of member offset changed to
33831 `grub_host_off_t'. Type of member size changed to
33832 `grub_host_size_t'.
33834 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
33836 Make GRUB's kernel compliant to Multiboot Specification.
33838 * kern/i386/pc/startup.S (multiboot_header): New label.
33839 (multiboot_entry): Likewise.
33840 (multiboot_trampoline): Likewise.
33842 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33843 Increased to 0x4A0.
33845 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
33846 put parentheses after a question mark.
33847 [!GRUB_UTIL] (my_mod): New variable.
33849 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
33851 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
33853 Adds support for the XFS filesystem. Btrees are not supported
33856 * fs/xfs.c: New file.
33858 * DISTLIST: Added `fs/xfs.c'.
33860 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
33861 (grub_probefs_SOURCES): Likewise.
33862 (grub_emu_SOURCES): Likewise.
33863 (pkgdata_MODULES): Add `xfs.mod'.
33864 (xfs_mod_SOURCES): New variable.
33865 (xfs_mod_CFLAGS): Likewise.
33867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
33868 (pkgdata_MODULES): Add `xfs.mod'.
33869 (xfs_mod_SOURCES): New variable.
33870 (xfs_mod_CFLAGS): Likewise.
33872 * util/grub-emu.c (main): Call `grub_xfs_init' and
33875 * include/grub/fs.h (grub_xfs_init): New prototype.
33876 (grub_xfs_fini): Likewise.
33879 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
33881 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
33882 color modes, allow greater than 16 colors to be configured as
33885 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33887 * normal/completion.c (complete_arguments): Add the qualifier
33888 const into OPTIONS.
33890 From Omniflux <omniflux+lists@omniflux.com>:
33891 * include/grub/terminfo.h: New file.
33892 * include/grub/tparm.h: Likewise.
33893 * include/grub/i386/pc/serial.h: Likewise.
33894 * term/terminfo.c: Likewise.
33895 * term/tparm.c: Likewise.
33896 * term/i386/pc/serial.c: Likewise.
33897 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
33899 (terminfo_mod_SOURCES): New variable.
33900 (terminfo_mod_CFLAGS): Likewise.
33901 (serial_mod_SOURCES): Likewise.
33902 (serial_mod_CFLAGS): Likewise.
33904 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
33906 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
33907 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
33908 and kern/powerpc/ieee1275/cmain.c, respectively.
33910 * boot/powerpc/ieee1275/crt0.S: Moved to ...
33911 * kern/powerpc/ieee1275/crt0.S: ... here.
33913 * boot/powerpc/ieee1275/cmain.c: Moved to ...
33914 * kern/powerpc/ieee1275/cmain.c: ... here.
33916 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
33917 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
33918 instead of boot/powerpc/ieee1275/crt0.S and
33919 boot/powerpc/ieee1275/cmain.c, respectively.
33921 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
33922 sectors. It was not used anyway.
33924 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
33926 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
33927 `unused parameter' warning.
33929 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
33931 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
33933 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
33936 2005-08-28 Marco Gerards <metgerards@student.han.nl>
33938 * include/grub/normal.h (enum grub_completion_type): Added
33939 `GRUB_COMPLETION_TYPE_ARGUMENT'.
33941 * normal/cmdline.c (print_completion): Handle
33942 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
33943 * normal/menu_entry.c (store_completion): Likewise.
33945 * normal/completion.c (complete_arguments): New function.
33946 (grub_normal_do_completion): Call `complete_arguments' when the
33947 current words start with a dash.
33949 2005-08-27 Marco Gerards <metgerards@student.han.nl>
33951 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
33952 `gzio.mod' instead of `io.mod').
33954 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
33956 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
33957 (DISTDIRS): Added io and video.
33958 Rewrite the search routine to make an output consistently.
33960 * DISTLIST: Added conf/sparc64-ieee1275.mk,
33961 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
33962 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
33963 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
33964 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
33965 util/powerpc/ieee1275/misc.c.
33967 * include/grub/gzio.h: New file.
33968 * io/gzio.c: Likewise.
33970 * kern/file.c (grub_file_close): Call grub_device_close only if
33971 FILE->DEVICE is not NULL.
33973 * include/grub/mm.h [!NULL] (NULL): New macro.
33975 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
33977 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
33978 (pkgdata_MODULES): Added gzio.mod.
33979 (gzio_mod_SOURCES): New variable.
33980 (gzio_mod_CFLAGS): Likewise.
33982 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
33983 (pkgdata_MODULES): Added gzio.mod.
33984 (gzio_mod_SOURCES): New variable.
33985 (gzio_mod_CFLAGS): Likewise.
33987 * commands/cat.c: Include grub/gzio.h.
33988 (grub_cmd_cat): Use grub_gzfile_open instead of
33991 * commands/cmp.c: Include grub/gzio.h.
33992 (grub_cmd_cmp): Use grub_gzfile_open instead of
33995 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
33996 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
33998 (grub_rescue_cmd_module): Likewise.
34000 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34002 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
34003 kern/sparc64/ieee1275/init.c because it contains _start.
34004 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
34006 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34008 * configure.ac: Add support for sparc64 host with ieee1275
34010 * configure: Generated from configure.ac.
34011 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
34013 (grub_ofdisk_read): Likewise.
34014 (grub_ofdisk_open): Use %p to print pointer values, and cast the
34015 pointers as (void *) to remove a warning.
34016 (grub_ofdisk_close): Likewise.
34017 (grub_ofdisk_read): Likewise.
34018 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
34019 returns, so make it return void to remove a warning.
34020 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
34021 Corresponding prototype change.
34022 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
34023 values, and cast the pointers as (void *) to remove a warning.
34024 (grub_mm_dump): Likewise.
34025 * conf/sparc64-ieee1275.mk: New file.
34026 * conf/sparc64-ieee1275.rmk: Likewise.
34027 * include/grub/sparc64/setjmp.h: Likewise.
34028 * include/grub/sparc64/types.h: Likewise.
34029 * include/grub/sparc64/ieee1275/console.h: Likewise.
34030 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34031 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34032 * include/grub/sparc64/ieee1275/time.h: Likewise.
34033 * kern/sparc64/cache.c: Likewise.
34034 * kern/sparc64/dl.c: Likewise.
34035 * kern/sparc64/ieee1275/init.c: Likewise.
34036 * kern/sparc64/ieee1275/openfw.c: Likewise.
34038 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34040 * util/console.c (grub_ncurses_putchar): If C is greater than
34041 0x7f, set C to a question mark.
34042 (grub_ncurses_getcharwidth): New function.
34043 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
34046 * normal/menu.c (print_entry): Made aware of Unicode. First,
34047 convert TITLE to UCS-4, and predict the cursor position by
34050 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
34052 * kern/misc.c (grub_utf16_to_utf8): Likewise.
34054 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34056 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
34057 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34060 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
34061 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34062 grub_strcpy and grub_strlen. Take it into account that a space
34063 character is inserted as a delimiter.
34065 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34067 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
34068 invalid magic in the error.
34070 * commands/search.c: New file.
34072 * util/grub-emu.c (main): Call grub_search_init and
34075 * kern/rescue.c (grub_rescue_print_disks): Removed.
34076 (grub_rescue_print_devices): New function.
34077 (grub_rescue_cmd_ls): Use grub_device_iterate with
34078 grub_rescue_print_devices instead of grub_disk_dev_iterate with
34079 grub_rescue_print_disks.
34081 * kern/partition.c (grub_partition_iterate): Return the result of
34082 PARTMAP->ITERATE instead of GRUB_ERRNO.
34084 * kern/device.c: Include grub/partition.h.
34085 (grub_device_iterate): New function.
34087 * include/grub/partition.h (grub_partition_iterate): Return int
34088 instead of grub_err_t.
34090 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
34092 [GRUB_UTIL] (grub_search_fini): Likewise.
34094 * include/grub/device.h (grub_device_iterate): New prototype.
34096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34098 (pkgdata_MODULES): Added search.mod.
34099 (search_mod_SOURCES): New variable.
34100 (search_mod_CFLAGS): Likewise.
34102 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
34103 (pkgdata_MODULES): Added search.mod.
34104 (search_mod_SOURCES): New variable.
34105 (search_mod_CFLAGS): Likewise.
34107 * commands/ls.c (grub_ls_list_disks): Renamed to ...
34108 (grub_ls_list_devices): ... this, and use grub_device_iterate.
34109 All callers changed.
34111 * DISTLIST: Added commands/search.c.
34113 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34115 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
34117 (grub_getcharwidth): New function.
34119 * kern/misc.c (grub_utf8_to_ucs4): New function.
34121 * include/grub/term.h (struct grub_term): Added a new member
34123 (grub_getcharwidth): New prototype.
34125 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
34127 * term/i386/pc/console.c (map_char): New function. Segregated from
34128 grub_console_putchar.
34129 (grub_console_putchar): Use map_char.
34130 (grub_console_getcharwidth): New function.
34131 (grub_console_term): Specified grub_console_getcharwidth as
34134 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
34135 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
34137 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
34139 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
34140 on grub_strtoul completely.
34141 (write_char): Declare local variables in the beginning of the
34143 (grub_vesafb_getcharwidth): New function.
34144 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
34147 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
34149 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
34150 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
34151 commands/i386/pc/vbetest.c.
34153 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
34154 call grub_vbe_get_controller_info again, because the returned
34155 information is volatile.
34156 (grub_vbe_set_video_mode): Mostly rewritten.
34157 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
34158 grub_vbe_status_t correctly.
34159 (grub_vbe_get_video_mode_info): Likewise.
34160 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
34161 several if statements.
34163 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
34164 * commands/i386/pc/vbeinfo.c: ... this.
34166 * commands/i386/pc/vbe_test.c: Renamed to ...
34167 * commands/i386/pc/vbetest.c: ... this.
34169 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
34171 (grub_cmd_vbeinfo): ... this. Save video modes before
34172 iterating. Skip a video mode, if it is not available, not enough
34173 information is given or it is monochrome. Show the memory
34174 model. Leave the interpretation of MODEVAR to grub_strtoul
34176 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
34177 (GRUB_MOD_FINI): Likewise.
34179 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
34180 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
34181 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
34182 duplicated grub_env_get. Leave the interpretation of MODEVAR to
34183 grub_strtoul completely.
34184 (real2pm): Removed.
34185 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
34186 (GRUB_MOD_FINI): Likewise.
34188 * normal/misc.c: Include grub/mm.h.
34190 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
34191 vbe_list_modes with vbetest.mod and vbeinfo.mod.
34192 (vbe_list_modes_mod_SOURCES): Removed.
34193 (vbe_list_modes_mod_CFLAGS): Likewise.
34194 (vbe_test_mod_SOURCES): Likewise.
34195 (vbe_test_mod_CFLAGS): Likewise.
34196 (vbeinfo_mod_SOURCES): New variable.
34197 (vbeinfo_mod_CFLAGS): Likewise.
34198 (vbetest_mod_SOURCES): Likewise.
34199 (vbetest_mod_CFLAGS): Likewise.
34201 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
34203 * normal/misc.c: New file.
34205 * DISTLIST: Added normal/misc.c.
34207 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
34208 DISK to HOOK. Call HOOK with DISK.
34209 * partmap/apple.c (apple_partition_map_iterate): Likewise.
34210 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34211 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34213 * normal/menu_entry.c (struct screen): Added a new member
34214 "completion_shown".
34215 (completion_buffer): New global variable.
34216 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
34217 (store_completion): New function.
34218 (complete): Likewise.
34219 (clear_completions): Likewise.
34220 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
34221 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
34222 a tab, call complete.
34224 * normal/completion.c (disk_dev): Removed.
34225 (print_simple_completion): Likewise.
34226 (print_partition_completion): Likewise.
34227 (print_func): New global variable.
34228 (add_completion): Do not take the arguments WHAT or PRINT any
34229 longer. Added a new argument TYPE. Instead of printing directly,
34230 call PRINT_FUNC if not NULL.
34231 All callers changed.
34232 (complete_device): Use a local variable DEV instead of
34233 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
34234 (grub_normal_do_completion): Take a new argument HOOK. Do not
34235 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
34236 empty string, return NULL instead.
34237 All callers changed.
34239 * normal/cmdline.c (print_completion): New function.
34241 * kern/partition.c (grub_partition_iterate): Add an argument DISK
34243 All callers changed.
34245 * kern/disk.c (grub_print_partinfo): Removed.
34247 * include/grub/partition.h (struct grub_partition_map): Add a new
34248 argument DISK into HOOK of ITERATE.
34249 (grub_partition_iterate): Add a new argument DISK to HOOK.
34251 * include/grub/normal.h (enum grub_completion_type): New enum.
34252 (grub_completion_type_t): New type.
34253 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
34254 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
34255 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
34256 (GRUB_COMPLETION_TYPE_FILE): Likewise.
34257 (grub_normal_do_completion): Added a new argument HOOK.
34258 (grub_normal_print_device_info): New prototype.
34260 * include/grub/disk.h (grub_print_partinfo): Removed.
34262 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
34263 (normal_mod_SOURCES): Likewise.
34264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34265 (normal_mod_SOURCES): Likewise.
34267 * commands/ls.c (grub_ls_list_disks): Use
34268 grub_normal_print_device_info instead of grub_print_partinfo. Free
34270 (grub_ls_list_files): Use grub_normal_print_device_info instead of
34271 duplicating the code.
34273 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34275 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
34276 follow GCS more precisely.
34277 * commands/i386/pc/vbe_test.c: Likewise.
34278 * include/grub/i386/pc/vbe.h: Likewise.
34279 * term/i386/pc/vesafb.c: Likewise.
34280 * video/i386/pc/vbe.c: Likewise.
34282 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34284 * DISTLIST: Added term/i386/pc/vesafb.c
34285 DISTLIST: Added video/i386/pc/vbe.c
34286 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
34287 DISTLIST: Added commands/i386/pc/vbe_test.c.
34288 * commands/i386/pc/vbe_list_modes.c: New file.
34289 * commands/i386/pc/vbe_test.c: Likewise.
34290 * term/i386/pc/vesafb.c: Likewise.
34291 * video/i386/pc/vbe.c: Likewise.
34292 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
34293 (grub_vbe_probe) Added prototype.
34294 (grub_vbe_set_video_mode) Likewise.
34295 (grub_vbe_get_video_mode) Likewise.
34296 (grub_vbe_get_video_mode_info) Likewise.
34297 (grub_vbe_set_pixel_rgb) Likewise.
34298 (grub_vbe_set_pixel_index) Likewise.
34299 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
34300 (pkgdata_MODULES): Added vesafb.mod.
34301 (pkgdata_MODULES): Added vbe_list_modes.mod.
34302 (pkgdata_MODULES): Added vbe_test.mod.
34303 (vbe_mod_SOURCES): Added.
34304 (vbe_mod_CFLAGS): Likewise.
34305 (vesafb_mod_SOURCES): Likewise.
34306 (vesafb_mod_CFLAGS): Likewise.
34307 (vbe_list_modes_mod_SOURCES): Likewise.
34308 (vbe_list_modes_mod_CFLAGS): Likewise.
34309 (vbe_test_mod_SOURCES): Likewise.
34310 (vbe_test_mod_CFLAGS): Likewise.
34312 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
34314 * normal/command.c (grub_command_execute): If INTERACTIVE is
34315 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
34316 CMDLINE. Disable the pager if INTERACTIVE is true.
34317 All callers are changed.
34319 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
34320 before reading a config file.
34321 * normal/main.c (read_config_file): Even if a command is not
34322 found, register it if it is within an entry.
34324 * util/grub-emu.c: Include sys/types.h and unistd.h.
34325 (options): Added --hold.
34326 (struct arguments): Added a new member "hold".
34327 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
34329 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
34330 cleared by a debugger, if it is not zero.
34332 * include/grub/normal.h (grub_command_execute): Add an argument
34335 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
34337 * DISTLIST: Added include/grub/i386/pc/vbe.h.
34339 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
34341 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
34342 program with another one, because the old one didn't detect a bug
34343 in gcc-3.4. Always use regparm 2, because the new test is still
34344 not enough for gcc-4.0. Someone must investigate a simple test
34345 case which detects a bug in gcc-4.0.
34347 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
34349 * DISTLIST: Added normal/completion.c.
34351 * normal/completion.c: New file.
34353 * term/i386/pc/console.c (grub_console_getwh): New function.
34354 (grub_console_term): Assign grub_console_getwh to getwh.
34356 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
34357 function is defined in normal/completion.c as
34358 grub_normal_do_completion.
34359 (grub_cmdline_get): Use grub_normal_do_completion instead of
34362 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
34363 returns non-zero, otherwise return 0.
34364 (grub_partition_iterate): First, probe the partition map. Then,
34365 call ITERATE only for this partition map.
34367 * kern/misc.c (grub_strncmp): Rewritten.
34369 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
34370 returns non-zero. Otherwise return 0.
34372 * include/grub/partition.h (grub_partition_map_iterate): Return
34373 int instead of void.
34375 * include/grub/normal.h (grub_normal_do_completion): New prototype.
34377 * include/grub/misc.h (grub_strncmp): Change the type of N to
34380 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
34383 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
34384 unsigned explicitly before comparing it with I.
34386 * kern/main.c (grub_env_write_root): Add the attribute unused into
34389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34390 normal/completion.c.
34391 (normal_mod_SOURCES): Likewise.
34392 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34393 (normal_mod_SOURCES): Likewise.
34395 * normal/command.c (grub_iterate_commands): If ITERATE returns
34396 non-zero, return one immediately.
34398 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
34400 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
34401 * kern/i386/pc/startup.S: Updated Global Descriptor table's
34403 (grub_vbe_get_controller_info): New function.
34404 (grub_vbe_get_mode_info): Likewise.
34405 (grub_vbe_set_mode): Likewise.
34406 (grub_vbe_get_mode): Likewise.
34407 (grub_vbe_set_memory_window): Likewise.
34408 (grub_vbe_get_memory_window): Likewise.
34409 (grub_vbe_set_scanline_length): Likewise.
34410 (grub_vbe_get_scanline_length): Likewise.
34411 (grub_vbe_set_display_start): Likewise.
34412 (grub_vbe_get_display_start): Likewise.
34413 (grub_vbe_set_palette_data): Likewise.
34414 * include/grub/i386/pc/vbe.h: New file.
34416 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34418 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34419 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
34420 * DISTLIST: Likewise.
34421 * kern/ieee1275/of.c: Moved to ...
34422 * kern/ieee1275/ieee1275.c: ... here.
34424 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34426 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
34427 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
34428 Pass 0 as `end' parameter to grub_strtoul().
34430 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34432 * include/grub/powerpc/ieee1275/console.h: Do not include
34433 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
34435 (grub_console_cur_color): Remove i386-specific prototype.
34436 (grub_console_real_putchar): Likewise.
34437 (grub_console_checkkey): Likewise.
34438 (grub_console_getkey): Likewise.
34439 (grub_console_getxy): Likewise.
34440 (grub_console_gotoxy): Likewise.
34441 (grub_console_cls): Likewise.
34442 (grub_console_setcursor): Likewise.
34443 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
34444 Include <grub/machine/console.h>.
34445 * term/ieee1275/ofconsole.c: Likewise.
34447 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
34449 * Makefile.in (LIBLZO): New variable.
34451 * configure.ac: Check for LZO version 2.
34453 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
34454 lzo/lzo1x.h instead of lzo1x.h.
34456 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
34459 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
34460 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
34462 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
34463 copying the data from PARTITION to P.
34465 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34467 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
34468 negative, unload the module.
34470 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
34471 map is "pc_partition_map" but not "pc".
34472 (usage): Fix the description. The options are --boot-image and
34473 --core-image but not --boot-file or --core-file.
34474 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
34475 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
34478 * util/i386/pc/grub-install.in: Do not specify --boot-file or
34479 --core-file. Specify INSTALL_DEVICE as an argument.
34481 * util/console.c: Include config.h.
34482 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
34483 [HAVE_NCURSES_H]: Include ncurses.h.
34484 [HAVE_CURSES_H]: Include curses.h.
34485 [!A_NORMAL] (A_NORMAL): Defined as zero.
34486 [!A_STANDOUT] (A_STANDOUT): Likewise.
34488 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
34490 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
34492 * configure.ac: Check for curses libraries and headers.
34494 * Makefile.in (LIBCURSES): New variable.
34496 * genmk.rb (Script::rule): Set the executable bits.
34498 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
34499 name of the PC partition map is "pc_partition_map" but not "pc".
34501 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34503 * util/i386/pc/grub-install.in (grub_probefs): New variable.
34504 (modules): Likewise.
34505 (usage): Added descriptions for --modules and --grub-probefs.
34506 Handle --modules and --grub-probefs. Save the arguments in MODULES
34507 and GRUB_PROBEFS, respectively.
34508 Auto-detect a filesystem module against GRUBDIR. If the result is
34509 empty and modules are not specified explicitly, abort the
34510 installation. Add the result to MODULES.
34512 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
34513 disk/powerpc/ieee1275/ofdisk.c,
34514 include/grub/powerpc/ieee1275/init.h and
34515 term/powerpc/ieee1275/ofconsole.c.
34516 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
34517 term/ieee1275/ofconsole.c.
34519 * include/grub/powerpc/ieee1275/console.h: Resurrected.
34521 * COPYING: Upgraded to the latest version. Only the address of the
34522 FSF office has changed.
34524 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34526 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34527 kern/ieee1275.c with kern/ieee1275/of.c.
34529 * kern/ieee1275.c: Moved to ...
34530 * kern/ieee1275/of.c: ... here.
34532 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
34534 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
34537 * config.guess: Updated to the latest version from gnulib.
34538 * config.sub: Likewise.
34539 * install.sh: Likewise.
34540 * mkinstalldirs: Likewise.
34542 * include/grub/console.h: Removed. This file is arch-specific. Do
34543 not put this in include/grub.
34545 * include/grub/i386/pc/console.h: Resurrected.
34547 * util/console.c: Include grub/machine/console.h instead of
34549 * util/grub-emu.c: Likewise.
34551 2005-08-04 Marco Gerards <metgerards@student.han.nl>
34553 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
34556 From Vincent Pelletier <subdino2004@yahoo.fr>
34557 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
34558 Redefined to use grub_getwh.
34559 (grub_term): New member named getwh.
34560 (grub_getwh): New prototype.
34561 * kern/term.c (grub_getwh): New function.
34562 * term/i386/pc/console.c (grub_console_getwh): New function.
34563 (grub_console_term): New member `getwh'.
34564 * term/i386/pc/vga.c (grub_vga_getwh): New function.
34565 (grub_vga_term): New member `getwh'.
34566 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
34568 (grub_ofconsole_getw): New function.
34569 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
34570 (grub_ofconsole_term): New field named getwh and new initial
34573 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
34575 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
34576 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
34577 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
34578 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
34579 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
34580 of <grub/machine/ieee1275.h>.
34581 * commands/ieee1275/reboot.c: Likewise.
34582 * boot/powerpc/ieee1275/ieee1275.c: Move ...
34583 * kern/ieee1275.c: ... to here. All users updated. Change all
34584 parameter structs to use new type `grub_ieee1275_cell_t'.
34585 * term/powerpc/ieee1275/ofconsole.c: Move ...
34586 * term/ieee1275/ofconsole.c: ... to here. All users updated.
34587 * disk/powerpc/ieee1275/ofdisk.c: Move ...
34588 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
34589 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
34591 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
34592 Remove unused prototypes. All users updated.
34593 * include/grub/powerpc/ieee1275/console.h: Removed.
34594 * include/grub/powerpc/ieee1275/ieee1275.h: Define
34595 `grub_ieee1275_cell_t'.
34596 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
34597 Cast comparisons with -1 to the correct type.
34598 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
34599 type to match `grub_ieee1275_entry_fn'.
34601 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
34603 * DISTLIST: Added util/i386/pc/grub-probefs.c.
34605 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
34606 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
34608 (grub_probefs_SOURCES): New variable.
34610 * util/i386/pc/grub-probefs.c: New file.
34612 * util/i386/pc/grub-setup.c (main): Call
34613 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
34614 grub_hfs_init and grub_jfs_init to initialize the system. Call
34615 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
34616 grub_pc_partition_map_fini to finish the system.
34618 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
34620 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
34622 (grub_multiboot_load_elf32): Likewise.
34623 (grub_multiboot_is_elf64): Likewise.
34624 (grub_multiboot_load_elf64): Likewise.
34625 (grub_multiboot_load_elf): Likewise.
34626 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
34627 an ELF32 or ELF64 file.
34628 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
34630 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
34631 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
34632 NULL before calling FS->LABEL.
34633 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
34634 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
34635 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
34636 before calling FS->LABEL.
34638 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
34640 * util/i386/pc/grub-install.in (datadir): New variable.
34642 (pkgdatadir): New variable.
34643 (pkglibdir): Removed.
34645 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
34647 * DISTLIST: Added util/i386/pc/grub-install.in.
34649 * util/i386/pc/grub-install.in: New file.
34651 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
34652 (grub_install_SOURCES): Likewise.
34654 * genmk.rb: Added support for scripts.
34655 (Script): New class.
34656 (scripts): New variable.
34658 * Makefile.in (install-local): Install sbin_SCRIPTS by
34660 (uninstall): Remove sbin_SCRIPTS.
34662 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
34663 device, try to get a GRUB device by
34664 grub_util_biosdisk_get_grub_dev.
34667 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
34668 description for --device-map.
34670 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
34672 Change the semantics of variable hooks. They now return strings
34673 instead of error values.
34675 * util/i386/pc/grub-setup.c: Include grub/env.h.
34676 (setup): Use grub_device_set_root instead of grub_env_set.
34678 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
34679 grub_env_get instead of grub_device_set_root and
34680 grub_device_get_root, respectively.
34682 * kern/main.c (grub_env_write_root): New function.
34683 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
34684 grub_env_set instead of grub_device_set_root.
34686 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
34688 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
34689 rather than calling ENV->WRITE_HOOK afterwards.
34690 (grub_env_get): Return the result of ENV->READ_HOOK rather than
34691 passing a pointer of a pointer.
34692 (grub_register_variable_hook): Change the types of "read_hook" and
34693 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
34695 Allocate the default empty string on the heap, because this string
34696 may be freed later.
34698 * kern/device.c: Include grub/env.h.
34699 (grub_device_set_root): Removed.
34700 (grub_device_get_root): Likewise.
34701 (grub_device_open): Use grub_env_get instead of
34702 grub_device_get_root.
34704 * include/grub/env.h (grub_env_read_hook_t): New type.
34705 (grub_env_write_hook_t): Likewise.
34706 (grub_env_var): Change the types of "read_hook" and "write_hook"
34707 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
34708 (grub_register_variable_hook): Likewise.
34710 * include/grub/device.h (grub_device_set_root): Removed.
34711 (grub_device_set_root): Likewise.
34713 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
34714 make sure that DIRNAME terminates with '/', so that
34715 grub_fat_find_dir will fail if PATH is not a directory.
34717 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
34719 Use the qualifier auto for print_files and print_files_long.
34720 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
34722 Put a newline only if there is no error.
34723 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
34726 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
34728 * kern/partition.c (grub_partition_probe): Initialize PART to
34729 NULL. Otherwise, when no partition map is registered, this returns
34732 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
34734 * partmap/apple.c (apple_partition_map_iterate): Check if POS
34735 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
34738 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
34740 * commands/ls.c (grub_ls_list_disks): Print the filesystem
34741 information on each device, if it does not have partitions. Print
34742 "Device" instead of "Disk", because this function is not specific
34745 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
34746 static to ensure that it is put on the memory rather than a
34749 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
34751 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
34752 (grub_cat_init): Likewise.
34753 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
34754 (options): Likewise.
34755 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
34756 (grub_configfile_init): Likewise.
34757 * font/manager.c (GRUB_MOD_INIT): Likewise.
34758 * commands/help.c (GRUB_MOD_INIT): Likewise.
34759 (grub_help_init): Likewise.
34760 * normal/command.c (grub_command_init): Likewise.
34761 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
34762 * disk/loopback.c (grub_loop_init): Likewise.
34763 (GRUB_MOD_INIT): Likewise.
34764 * commands/ls.c (grub_ls_init): Likewise.
34765 (GRUB_MOD_INIT): Likewise.
34766 (options): Likewise.
34767 * commands/boot.c (grub_boot_init): Likewise.
34768 (GRUB_MOD_INIT): Likewise.
34769 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
34770 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
34771 (GRUB_MOD_INIT): Likewise.
34772 * commands/cmp.c (grub_cmp_init): Likewise.
34773 (GRUB_MOD_INIT): Likewise.
34775 * normal/arg.c: Use <> instead of "" to include header files.
34776 (SHORT_ARG_HELP): New macro.
34777 (SHORT_ARG_USAGE): Likewise.
34778 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
34779 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
34781 (find_short): Check if C is 'h' or 'u' explicitly.
34782 (grub_arg_show_help): Use space characters instead of tabs. Treat
34783 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
34784 are shown with --help and --usage only if they are not used for
34785 the command itself.
34786 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
34789 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
34790 const into "longarg". Change the type of "shortarg" to int.
34792 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
34794 * boot/i386/pc/boot.S (boot_drive_check): New label.
34796 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
34799 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
34800 which do not pass a boot drive correctly. Copied from GRUB Legacy.
34802 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
34804 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
34805 When turning off Gate A20, skip the check and return immediately,
34806 because this is not fatal usually.
34808 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
34810 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
34811 be 0x7C00 instead of 0x8000.
34813 * boot/i386/pc/pxeboot.S: Rewritten.
34815 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
34817 (gate_a20_check_state): Read a byte from 0x108000. Invert the
34820 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
34822 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
34823 robustness. This routine now supports a BIOS call and System
34824 Control Port A to modify the gate A20.
34826 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34827 Increased to 0x440.
34829 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
34831 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
34832 device path and resulting ihandle.
34833 (grub_ofdisk_close): dprintf the ihandle being closed.
34834 (grub_ofdisk_read): dprintf function parameters.
34835 * kern/mm.c (grub_mm_init_region): Likewise.
34836 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
34837 (grub_linux_boot): dprintf the Linux entry point, initrd address and
34838 size, and boot arguments.
34839 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
34840 before loading into memory.
34841 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
34842 before loading into memory.
34844 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
34846 * kern/mm.c: Added much documentation.
34847 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
34848 8, set to 5 instead of 8.
34850 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
34852 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
34854 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
34855 (grub_mkdevicemap_SOURCES): New variable.
34857 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
34858 lib/device.c of GRUB Legacy.
34860 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
34862 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
34863 instead of PATH is NULL.
34865 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
34867 * commands/cmp.c (BUFFER_SIZE): New macro.
34868 (grub_cmd_cmp): Close the right file at the right time. Compare
34869 only data just read. Don't report files of different size as
34870 identical. Dynamically allocate buffers. Move variable
34871 declarations at the beginning of function.
34873 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
34875 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
34878 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
34880 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
34881 when backspace is pressed at beginning of line.
34883 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
34885 * DISTLIST: Added genfslist.sh.
34887 * normal/main.c (fs_module_list): New variable.
34888 (autoload_fs_module): New function.
34889 (read_fs_list): Likewise.
34890 (grub_normal_execute): Call read_fs_list.
34892 * kern/fs.c (grub_fs_autoload_hook): New variable.
34893 (grub_fs_probe): Added support for auto-loading.
34895 * include/grub/normal.h (struct grub_fs_module_list): New struct.
34896 (grub_fs_module_list_t): New type.
34898 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
34899 (grub_fs_autoload_hook): New prototype.
34901 * genfslist.sh: New file.
34903 * genmk.rb: Added a rule to generate a filesystem list.
34905 2005-06-30 Marco Gerards <metgerards@student.han.nl>
34907 * configure.ac: Fix the test for cross-compiling.
34909 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
34910 define GRUB_UTIL anymore.
34912 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
34913 so this function works on other systems than just big endian.
34914 (load_modules): Likewise.
34915 (add_segments): Likewise.
34917 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
34919 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
34920 contains `l' modifier, get a long from va_arg().
34922 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
34924 * kern/mm.c (grub_free): If the next free block which is being
34925 merged is the first free block, set the first block to the block
34927 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
34929 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
34931 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
34932 `grub_ieee1275_chosen'.
34934 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
34936 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
34937 (grub_ieee1275_chosen): New variable.
34938 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
34940 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
34941 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
34942 Rename first argument to `phandle' for consistency.
34943 (grub_ieee1275_get_property_length): Likewise.
34944 (grub_ieee1275_next_property): Likewise. Change type of first argument
34945 to grub_ieee1275_phandle_t.
34946 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
34947 Move export next to declaration.
34948 (grub_ieee1275_chosen): New variable.
34949 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
34950 Correct cosmetic typo.
34951 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
34952 `grub_ieee1275_chosen'.
34953 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
34954 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
34955 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
34956 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
34957 `grub_ieee1275_chosen'.
34959 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
34961 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
34963 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
34964 /chosen/bootargs as "variable=value" pairs.
34966 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
34968 * include/grub/misc.h (grub_dprintf): New macro.
34969 (grub_real_dprintf): New prototype.
34970 (grub_strword): Likewise.
34971 (grub_iswordseparator): Likewise.
34972 * kern/misc.c (grub_real_dprintf): New function.
34973 (grub_strword): Likewise.
34974 (grub_iswordseparator): Likewise.
34976 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
34978 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
34979 (roundup): Remove macro.
34980 (grub_ieee1275_flags): Make static.
34981 (grub_ieee1275_realmode): Remove.
34982 (grub_ieee1275_test_flag): New function.
34983 (grub_ieee1275_set_flag): Likewise.
34984 (find_options): Rename to `grub_ieee1275_find_options'; update
34985 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
34986 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
34987 (cmain): New prototype.
34988 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
34989 `grub_ieee1275_flags' directly.
34990 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
34991 machine/biosdisk.h.
34992 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
34993 Don't include grub/machine/init.h.
34994 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
34995 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
34997 (grub_ieee1275_realmode): Likewise.
34998 (grub_ieee1275_flag): New enum.
34999 (grub_ieee1275_test_flag): New prototype.
35000 (grub_ieee1275_set_flag): New prototype.
35001 * include/grub/powerpc/ieee1275/init.h: Remove file.
35002 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
35003 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
35004 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
35005 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
35007 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
35008 `grub_ieee1275_test_flag'.
35009 (grub_ieee1275_encode_devname): Likewise.
35011 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
35013 * include/grub/powerpc/ieee1275/ieee1275.h
35014 (grub_ieee1275_encode_devname): New prototype.
35015 (grub_ieee1275_get_filename): Likewise.
35016 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
35018 (grub_set_prefix): Likewise.
35019 (grub_machine_init): Call grub_set_prefix.
35020 * kern/powerpc/ieee1275/openfw.c: Fix typos.
35021 (grub_parse_type): New enum.
35022 (grub_ieee1275_get_devargs): New function.
35023 (grub_ieee1275_get_devname): Likewise.
35024 (grub_ieee1275_parse_args): Likewise.
35025 (grub_ieee1275_get_filename): Likewise.
35026 (grub_ieee1275_encode_devname): Likewise.
35028 2005-03-30 Marco Gerards <metgerards@student.han.nl>
35030 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
35031 `grub_loader_unset'.
35033 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
35035 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
35036 instead of grub_ieee1275_interpret.
35037 (grub_halt_init): New function.
35038 (grub_halt_fini): Likewise.
35039 (GRUB_MOD_INIT): Correct message grammar.
35040 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
35041 instead of grub_ieee1275_interpret.
35042 (grub_reboot_init): New function.
35043 (grub_reboot_fini): Likewise.
35044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
35045 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
35046 util/i386/pc/misc.c with commands/ieee1275/halt.c,
35047 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
35048 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
35050 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
35052 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
35054 (grub_halt): Likewise.
35055 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
35056 (cmain): Remove __attribute__((unused)).
35057 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
35058 (grub_heap_len): Likewise.
35059 (grub_machine_fini): New function.
35060 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
35061 (grub_halt): Likewise.
35062 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
35064 * util/powerpc/ieee1275/misc.c: New file.
35066 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35068 * DISTLIST: New file.
35069 * gendistlist.sh: Likewise.
35071 * Makefile.in (COMMON_DISTFILES): Removed.
35072 (BOOT_DISTFILES): Likewise.
35073 (CONF_DISTFILES): Likewise.
35074 (DISK_DISTFILES): Likewise.
35075 (FS_DISTFILES): Likewise.
35076 (INCLUDE_DISTFILES): Likewise.
35077 (KERN_DISTFILES): Likewise.
35078 (LOADER_DISTFILES): Likewise.
35079 (TERM_DISTFILES): Likewise.
35080 (UTIL_DISTFILES): Likewise.
35081 (DISTFILES): Likewise.
35082 (uninstall): Uninstall files in $(pkgdata_DATA).
35083 (DISTLIST): New target.
35084 (distdir): Use the contents of the file DISTLIST to get a list of
35087 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35089 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
35090 descriptor. This is ported from GRUB Legacy.
35092 * gencmdlist.sh: Added an extra semicolon to make it work with
35093 old sed versions. Reported by Robert Bihlmeyer
35094 <robbe@orcus.priv.at>.
35096 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
35098 Automatic loading of commands is supported.
35100 * normal/main.c (read_command_list): New function.
35101 (grub_normal_execute): Call read_command_list.
35103 * normal/command.c (grub_register_command): Return zero or CMD.
35104 Allocate CMD->NAME from the heap.
35105 Initialize CMD->MODULE_NAME to zero.
35106 Find the same name as well. If the same command is found and it is
35107 a dummy command, overwrite members. If it is not a dummy command,
35109 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
35110 (grub_command_find): If a dummy command is found, load a module
35111 and retry to find a command only once.
35113 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
35114 make sure that each command is loaded.
35116 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
35118 (struct grub_command): Remove const from the member `name'.
35119 Add a new member `module_name'.
35120 (grub_register_command): Return grub_command_t.
35122 * commands/help.c (grub_cmd_help): Call grub_command_find to make
35123 sure that each command is loaded.
35125 * genmk.rb (PModule::rule): Specify a module name without the
35126 suffix ".mod" to gencmdlist.sh.
35128 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35130 * gencmdlist.sh: New file.
35132 * genmk.rb (PModule::rule): Generate a rule for a command list.
35134 Generate command.lst from $(COMMANDFILES).
35136 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
35137 (DATA): Added $(pkgdata_DATA).
35138 (install-local): Install files in $(pkgdata_DATA).
35140 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35142 * term/i386/pc/vga.c (debug_command): Removed.
35143 (GRUB_MOD_INIT): Do not register the command "debug".
35145 From Hollis Blanchard:
35146 * commands/configfile.c: New file.
35147 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35148 commands/configfile.c.
35149 (pkgdata_MODULES): Added configfile.mod.
35150 (configfile_mod_SOURCES): New variable.
35151 (configfile_mod_CFLAGS): Likewise.
35152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35153 commands/configfile.c.
35154 (pkgdata_MODULES): Added configfile.mod.
35155 (configfile_mod_SOURCES): New variable.
35156 (configfile_mod_CFLAGS): Likewise.
35157 * util/grub-emu.c (main): Call grub_configfile_init and
35158 grub_configfile_fini.
35159 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
35161 [GRUB_UTIL] (grub_configfile_fini): Likewise.
35163 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35165 * normal/arg.c (grub_arg_show_help): Do not show the bug report
35168 * commands/help.c (grub_cmd_help): Do not print newlines after
35169 the last command in print_command_help.
35171 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35173 * commands/default.h: New file.
35174 * commands/timeout.h: Likewise.
35175 * normal/context.c: Likewise.
35177 * util/misc.c: Do not include sys/times.h.
35178 Include sys/time.h and grub/machine/time.h.
35179 (grub_get_rtc): Rewritten with gettimeofday.
35181 * util/grub-emu.c (main): Call grub_default_init and
35182 grub_timeout_init before grub_normal_init, and call
35183 grub_timeout_fini and grub_default_fini after grub_main.
35185 * util/console.c (grub_ncurses_checkkey): Return the read
35188 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
35191 * normal/main.c (read_config_file): Push MENU. If this fails,
35192 print an error and wait for a user input.
35193 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
35194 If a menu is empty or an error occurs, pop MENU.
35195 (grub_normal_execute): Pop and free MENU after grub_menu_run
35198 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
35200 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
35202 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35204 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
35206 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35209 * include/grub/normal.h (struct grub_menu_list): New struct.
35210 (grub_menu_list_t): New type.
35211 (struct grub_context): New struct.
35212 (grub_context_t): New type.
35213 (grub_register_command): Got rid of EXPORT_FUNC.
35214 (grub_unregister_command): Likewise.
35215 (grub_context_get): New prototype.
35216 (grub_context_get_current_menu): Likewise.
35217 (grub_context_push_menu): Likewise.
35218 (grub_context_pop_menu): Likewise.
35219 [GRUB_UTIL] (grub_default_init): Likewise.
35220 [GRUB_UTIL] (grub_default_fini): Likewise.
35221 [GRUB_UTIL] (grub_timeout_init): Likewise.
35222 [GRUB_UTIL] (grub_timeout_fini): Likewise.
35224 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
35225 commands/timeout.c and normal/context.c.
35226 (pkgdata_MODULES): Added default.mod and timeout.mod.
35227 (normal_mod_SOURCES): Added normal/context.c.
35228 (default_mod_SOURCES): New variable.
35229 (default_mod_CFLAGS): Likewise.
35230 (timeout_mod_SOURCES): Likewise.
35231 (timeout_mod_CFLAGS): Likewise.
35232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
35234 (pkgdata_MODULES): Added default.mod and timeout.mod.
35235 (normal_mod_SOURCES): Added normal/context.c.
35236 (default_mod_SOURCES): New variable.
35237 (default_mod_CFLAGS): Likewise.
35238 (timeout_mod_SOURCES): Likewise.
35239 (timeout_mod_CFLAGS): Likewise.
35241 * Makefile.in (all-local): Added $(MKFILES).
35243 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
35245 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
35246 (grub_emu_SOURCES): Likewise.
35247 (pkgdata_MODULES): Add `sun.mod'.
35248 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35251 (pkgdata_MODULES): Add `sun.mod'.
35252 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35253 * include/grub/partition.h (grub_sun_partition_map_init): New
35255 (grub_sun_partition_map_fini): Likewise.
35256 * partmap/sun.c: New file.
35257 * util/grub-emu.c (main): Initialize and de-initialize the sun
35258 partitionmap support.
35260 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
35262 This implements an Emacs-like menu entry editor.
35264 * normal/menu_entry.c: New file.
35266 * util/console.c (grub_ncurses_putchar): Translate some Unicode
35267 characters to ASCII.
35268 (saved_char): New variable.
35269 (grub_ncurses_checkkey): Rewritten completely.
35270 (grub_ncurses_getkey): Likewise.
35271 (grub_ncurses_init): Call raw instead of cbreak.
35273 * normal/menu.c (print_entry): Do not put a space.
35274 (init_page): Renamed to ...
35275 (grub_menu_init_page): ... this. All callers changed.
35276 (edit_menu_entry): Removed.
35277 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
35279 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
35281 * kern/misc.c (grub_vprintf): Call grub_refresh.
35283 * normal/menu.c (DISP_LEFT): Renamed to ...
35284 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
35285 * normal/menu.c (DISP_UP): Renamed to ...
35286 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
35287 * normal/menu.c (DISP_RIGHT): Renamed to ...
35288 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
35289 * normal/menu.c (DISP_DOWN): Renamed to ...
35290 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
35291 * normal/menu.c (DISP_HLINE): Renamed to ...
35292 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
35293 * normal/menu.c (DISP_VLINE): Renamed to ...
35294 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
35295 * normal/menu.c (DISP_UL): Renamed to ...
35296 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
35297 * normal/menu.c (DISP_UR): Renamed to ...
35298 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
35299 * normal/menu.c (DISP_LL): Renamed to ...
35300 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
35301 * normal/menu.c (DISP_LR): Renamed to ...
35302 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
35303 * normal/menu.c (TERM_WIDTH): Renamed to ...
35304 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
35305 * normal/menu.c (TERM_HEIGHT): Renamed to ...
35306 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
35307 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
35308 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
35309 * normal/menu.c (TERM_MARGIN): Renamed to ...
35310 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
35311 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
35312 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
35313 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
35314 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
35315 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
35316 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
35317 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
35318 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
35319 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
35320 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
35321 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
35322 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
35323 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
35324 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
35325 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
35326 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
35327 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
35328 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
35329 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
35330 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
35331 All callers changed.
35333 * include/grub/normal.h: New prototype.
35335 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35336 normal/menu_entry.c.
35337 (normal_mod_SOURCES): Likewise.
35338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35339 (normal_mod_SOURCES): Likewise.
35341 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
35343 * include/grub/normal.h (grub_halt_init): New prototype.
35344 (grub_halt_fini): Likewise.
35345 (grub_reboot_init): Likewise.
35346 (grub_reboot_fini): Likewise.
35348 * util/grub-emu.c: Include signal.h.
35349 (main_env): New global variable.
35350 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
35352 (grub_machine_fini): New function.
35353 (main): Call grub_halt_init and grub_reboot_init before
35354 grub_main, and grub_reboot_fini and grub_halt_fini after it.
35355 Call setjmp with MAIN_ENV to go back afterwards.
35356 Call grub_machine_fini right before return.
35358 * include/grub/util/misc.h: Include setjmp.h.
35359 (main_env): New prototype.
35361 * include/grub/kernel.h (grub_machine_fini): New prototype.
35362 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
35363 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
35365 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
35366 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
35367 * term/i386/pc/console.c (grub_console_fini): Likewise.
35369 * util/i386/pc/misc.c: New file.
35371 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35372 util/i386/pc/misc.c, commands/i386/pc/halt.c and
35373 commands/i386/pc/reboot.c.
35375 2005-02-14 Guillem Jover <guillem@hadrons.org>
35377 * include/grub/dl.h (grub_dl_check_header): New prototype.
35378 (grub_arch_dl_check_header): Change return type to grub_err_t,
35379 remove size parameter and export function. Update all callers.
35380 * kern/dl.c (grub_dl_check_header): New function.
35381 (grub_dl_load_core): Use `grub_dl_check_header' instead of
35382 `grub_arch_dl_check_header'. Check ELF type. Check if sections
35383 are inside the core.
35384 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
35385 independent ELF header checks.
35386 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35387 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
35388 `grub_dl_check_header' instead of explicit checks. Check for the
35390 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
35391 `grub_dl_check_header' instead of explicit checks. Remove arch
35392 specific ELF header checks.
35394 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
35397 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
35399 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
35400 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
35402 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
35404 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
35405 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
35406 (part_map_iterate): Clear `grub_errno' and return 0 if
35407 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
35408 * partmap/amiga.c (amiga_partition_map_iterate): Return
35409 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
35410 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35412 2005-02-01 Guillem Jover <guillem@hadrons.org>
35414 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
35417 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35419 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
35421 (grub_rescue_cmd_linux): New prototype.
35422 (grub_rescue_cmd_initrd): Likewise.
35423 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
35425 (grub_linux_release_mem): Release the memory for the initrd.
35426 (grub_load_linux): Renamed from this...
35427 (grub_rescue_cmd_linux): ...To this. Changed all callers.
35428 Changed `entry' not to be static. Loop over memory regions to
35429 find another one when the default fails.
35430 (grub_rescue_cmd_initrd): New function.
35431 (grub_linux_init): Remove function.
35432 (grub_linux_fini): Likewise.
35433 (GRUB_MOD_INIT): Register `initrd'.
35434 (GRUB_MOD_FINI): Unregister `initrd'.
35435 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
35437 (grub_linux_normal_fini): Likewise.
35438 (GRUB_MOD_INIT): Register `initrd'.
35439 (GRUB_MOD_FINI): Unregister `initrd'.
35441 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35443 * commands/help.c: New file.
35444 * normal/arg.c (show_help): Renamed to...
35445 (grub_arg_show_help): ... this.
35446 * commands/i386/pc/halt.c: New file.
35447 * commands/i386/pc/reboot.c: Likewise.
35448 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
35449 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
35450 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
35451 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
35453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35455 (pkgdata_MODULES): Add `help.mod'.
35456 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
35457 * grub/i386/pc/init.h (grub_reboot): New prototype.
35458 (grub_halt): Likewise.
35459 * include/grub/normal.h (grub_arg_show_help): New prototype.
35460 (grub_help_init): Likewise.
35461 (grub_help_fini): Likewise.
35462 * util/grub-emu.c (main): Initialize and deinitialize the help
35465 * normal/cmdline.c (grub_cmdline_get): Doc fix.
35467 * normal/command.c (grub_command_init): Fixed the description of
35468 the `set' and `unset' commands.
35470 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35472 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
35474 * commands/ieee1275/halt.c: New file.
35475 * commands/ieee1275/reboot.c: Likewise.
35476 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
35477 `__attribute__ ((unused))'. Some GCS related fixed.
35478 (grub_suspend_init) [GRUB_UTIL]: Function removed.
35479 (grub_suspend_fini): Likewise.
35480 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
35482 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
35483 (halt_mod_CFLAGS): New variables.
35484 * include/grub/powerpc/ieee1275/ieee1275.h
35485 (grub_ieee1275_interpret): New prototype.
35487 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
35489 * include/grub/misc.h (memmove): New prototype.
35490 (memcpy): Likewise.
35492 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
35494 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
35495 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
35497 2005-01-22 Marco Gerards <metgerards@student.han.nl>
35499 * kern/misc.c (grub_strndup): Function rewritten.
35501 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
35503 * normal/menu.c (TERM_WIDTH): Macro redefined.
35504 (TERM_TOP_BORDER_Y): Likewise.
35505 (draw_border): Replaced while-loop by a for-loop. Make the number
35506 of lines consistent with the number of lines displayed in
35507 print_entries. Added a margin below the rectangle.
35508 (print_entry): Make the entry fit in the rectangle.
35509 (print_entries): Display the scroll arrows next to the right
35512 2005-01-21 Marco Gerards <metgerards@student.han.nl>
35514 * fs/minix.c (grub_minix_find_file): Reserve more space for
35515 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
35516 `grub_strncpy' to copy `path' into it.
35518 2005-01-21 Marco Gerards <metgerards@student.han.nl>
35520 Add the loopback device, a device via which files can be accessed
35523 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
35524 (pkgdata_MODULES): Add loopback.mod.
35525 (loopback_mod_SOURCES): New variable.
35526 (loopback_mod_CFLAGS): Likewise.
35527 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35529 (pkgdata_MODULES): Add loopback.mod.
35530 (loopback_mod_SOURCES): New variable.
35531 (loopback_mod_CFLAGS): Likewise.
35532 * disk/loopback.c: new file.
35533 * include/grub/normal.h (grub_loop_init): New prototype.
35534 (grub_loop_fini): New prototype.
35535 * util/grub-emu.c (main): Initialize and de-initialize loopback
35537 * include/grub/disk.h (grub_disk_dev_id): Add
35538 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
35540 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
35542 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
35544 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
35545 (suspend_mod_SOURCES): New variable.
35546 (suspend_mod_CFLAGS): Likewise.
35547 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
35549 * commands/ieee1275/suspend.c: New file.
35551 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35553 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
35554 ((unused))' to `__attribute__ ((used))'.
35555 (GRUB_MOD_FINI): Likewise.
35556 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
35557 * genmk.rb (PModule): Assign space to common symbols when linking
35560 2005-01-20 Marco Gerards <metgerards@student.han.nl>
35562 * include/grub/mm.h (grub_mm_init_region): Change the type of the
35563 `unsigned' arguments to `grub_size_t'.
35564 (grub_malloc): Likewise.
35565 (grub_realloc): Likewise.
35566 (grub_memalign): Likewise.
35567 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
35568 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35569 * util/misc.c (grub_malloc): Likewise.
35570 (grub_realloc): Likewise.
35571 * kern/mm.c (get_header_from_pointer): Change the casts to
35572 `unsigned' into a cast to `grub_size_t'.
35574 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
35575 point to `currnode' when `currnode' is changed.
35577 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
35578 Schottelius <nico-linux@schottelius.org>.
35580 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
35582 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
35583 (note_path): Remove variable.
35584 (GRUB_IEEE1275_NOTE_NAME): New macro.
35585 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
35586 (grub_ieee1275_note_hdr): New structure.
35587 (grub_ieee1275_note_desc): Likewise.
35588 (grub_ieee1275_note): Likewise.
35589 (load_note): Remove `dir' argument. All callers updated. Remove
35590 `note_img' and `path'. Do not load a file from `note_path'.
35591 Initialize a struct grub_ieee1275_note and write that to `out'.
35592 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
35594 2005-01-05 Marco Gerards <metgerards@student.han.nl>
35596 * util/misc.c (grub_util_read_image): Revert last change. It
35597 called `grub_util_read_at', which seeks from the beginning of the
35600 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
35602 * TODO: Add note about endianness in grub-mkimage.
35603 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
35605 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
35606 (grub_mkimage_SOURCES): New target.
35607 * include/grub/kernel.h (grub_start_addr): Remove variable.
35608 (grub_end_addr): Likewise.
35609 (grub_total_module_size): Likewise.
35610 (grub_kernel_image_size): Likewise.
35611 (GRUB_MODULE_MAGIC): New constant.
35612 (grub_module_info): New structure.
35613 (grub_arch_modules_addr): New prototype.
35614 (grub_get_end_addr): Remove prototype.
35615 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
35616 * include/grub/powerpc/ieee1275/kernel.h: New file.
35617 * include/grub/util/misc.h (grub_util_get_fp_size): New
35619 (grub_util_read_at): Likewise.
35620 (grub_util_write_image_at): Likewise.
35621 * kern/main.c (grub_get_end_addr): Remove function.
35622 (grub_load_modules): Call grub_arch_modules_addr instead of using
35623 grub_end_addr. Look for a grub_module_info struct in memory. Use
35624 the grub_module_info fields instead of calling grub_get_end_addr
35625 as loop conditions. Move grub_add_unused_region code here.
35626 (grub_add_unused_region): Remove function.
35627 * kern/i386/pc/init.c: Include grub/cache.h.
35628 (grub_machine_init): Remove call to grub_get_end_addr. Remove
35629 one call to add_mem_region.
35630 (grub_arch_modules_addr): New function.
35631 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
35632 (grub_total_module_size): Likewise.
35633 Include grub/machine/kernel.h.
35634 (grub_arch_modules_addr): New function.
35635 * util/grub-emu.c (grub_end_addr): Remove variable.
35636 (grub_total_module_size): Likewise.
35637 (grub_arch_modules_addr): New function.
35638 * util/misc.c: Include unistd.h.
35639 (grub_util_get_fp_size): New function.
35640 (grub_util_read_at): Likewise.
35641 (grub_util_write_image_at): Likewise.
35642 (grub_util_read_image): Call grub_util_read_at.
35643 (grub_util_write_image): Call grub_util_write_image_at.
35644 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
35645 additional memory in kernel_img for a struct grub_module_info.
35646 Fill in that grub_module_info.
35647 * util/powerpc/ieee1275/grub-mkimage.c: New file.
35649 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
35651 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
35653 * include/grub/powerpc/ieee1275/ieee1275.h
35654 (grub_ieee1275_milliseconds): New prototype.
35655 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
35657 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
35658 grub_ieee1275_milliseconds.
35660 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
35662 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
35664 (find_options): New function.
35665 (cmain): Call find_options.
35666 * include/grub/powerpc/ieee1275/ieee1275.h
35667 (grub_ieee1275_realmode): New extern variable.
35668 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
35669 grub_map if grub_ieee1275_realmode is false.
35671 2004-12-29 Marco Gerards <metgerards@student.han.nl>
35673 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
35674 lines are inserted and make it work like readline. Reported by
35675 Vincent Pelletier <subdino2004@yahoo.fr>.
35677 2004-12-28 Marco Gerards <metgerards@student.han.nl>
35679 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
35681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
35682 `kern/powerpc/cache.S'.
35684 2004-12-27 Marco Gerards <metgerards@student.han.nl>
35686 * genmk.rb: Handle the `Program' class in the main loop. Written
35687 by Johan Rydberg <jrydberg@gnu.org>.
35688 (Program): New class.
35689 (programs): New variable.
35690 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
35691 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
35692 instead of "grub/kernel.h". Include <grub/machine/init.h>.
35693 (help_arch): Function removed.
35694 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
35695 `powerpc/libgcc.h' and `loader.h'.
35696 (pkgdata_PROGRAMS): New variable.
35697 (sbin_UTILITIES): Variable removed.
35698 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
35699 (grubof_SOURCES): Variable re-defined so it only includes the
35700 core functionality.
35701 (grubof_CFLAGS): Remove `-DGRUBOF'.
35702 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
35703 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
35704 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
35705 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
35706 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
35707 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
35708 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
35709 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
35710 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
35711 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
35712 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35713 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
35714 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
35715 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
35716 (pc_mod_CFLAGS): New variables.
35717 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
35718 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
35719 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
35720 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
35722 * include/grub/i386/pc/init.h (grub_os_area_addr)
35723 (rub_os_area_size): ... to here.
35724 * include/grub/powerpc/ieee1275/ieee1275.h
35725 (grub_ieee1275_entry_fn): Export symbol.
35726 * include/grub/powerpc/ieee1275/init.h: New file.
35727 * include/grub/powerpc/libgcc.h: Likewise.
35728 * include/grub/cache.h: Likewise.
35729 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
35730 <hollis@penguinppc.org>.
35731 * kern/dl.c: Include <grub/cache.h>.
35732 (grub_dl_flush_cache): New function.
35733 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
35735 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
35736 (grub_console_init): Removed prototypes.
35737 (grub_machine_init): Don't initialize the modules anymore.
35738 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
35740 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
35741 Macro undef removed.
35742 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
35743 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
35744 relocation `R_PPC_REL32'. Return an error when the relocation is
35746 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
35747 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
35748 * util/misc.c (grub_arch_sync_caches): Likewise.
35750 2004-12-19 Marco Gerards <metgerards@student.han.nl>
35752 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
35753 `symlist.c', add `grubof_symlist.c'.
35754 (symlist.c): Variable removed.
35755 (grubof_HEADERS): Variable added.
35756 (grubof_symlist.c): New target.
35757 (kernel_syms.lst): Use `grubof_HEADERS' instead of
35758 `kernel_img_HEADERS'.
35759 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
35760 * kern/powerpc/dl.c: New file.
35761 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
35763 (grub_arch_dl_relocate_symbols): Likewise.
35764 (grub_register_exported_symbols): Likewise.
35766 2004-12-13 Marco Gerards <metgerards@student.han.nl>
35768 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
35769 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
35770 to fail instead. Reported by Vincent Pelletier
35771 <subdino2004@yahoo.fr>.
35773 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
35774 it is not allocated. Reported by Vincent Pelletier
35775 <subdino2004@yahoo.fr>.
35777 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
35778 output so the output looks better.
35780 2004-12-04 Marco Gerards <metgerards@student.han.nl>
35782 Modulize the partition map support and add support for the amiga
35785 * commands/ls.c: Include <grub/partition.h> instead of
35786 <grub/machine/partition.h>.
35787 * kern/disk.c: Likewise.
35788 * kern/rescue.c: Likewise.
35789 * loader/i386/pc/chainloader.c: Likewise.
35790 * normal/cmdline.c: Likewise.
35791 * kern/powerpc/ieee1275/init.c: Likewise.
35792 (grub_machine_init): Call `grub_pc_partition_map_init',
35793 `grub_amiga_partition_map_init' and
35794 `grub_apple_partition_map_init'.
35795 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
35796 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
35797 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
35798 `partition.h' and `pc_partition.h'.
35799 (grub_setup_SOURCES): Remove
35800 `disk/i386/pc/partition.c'. Add `kern/partition.c',
35801 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
35802 (grub_emu_SOURCES): Likewise.
35803 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
35804 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
35805 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
35806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
35807 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
35808 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
35809 (grubof_SOURCES): Likewise.
35810 * disk/i386/pc/partition.c: File removed.
35811 * disk/powerpc/ieee1275/partition.c: Likewise.
35812 * include/grub/powerpc/ieee1275/partition.h: Likewise.
35813 * include/grub/i386/pc/partition.h: Likewise.
35814 * kern/partition.c: New file.
35815 * partmap/amiga.c: Likewise.
35816 * partmap/apple.c: Likewise.
35817 * partmap/pc.c: Likewise.
35818 * include/grub/partition.h: Likewise..
35819 * include/grub/pc_partition.h: Likewise.
35820 * util/grub-emu.c: Include <grub/partition.h> instead of
35821 <grub/machine/partition.h>.
35822 (main): Call `grub_pc_partition_map_init',
35823 `grub_amiga_partition_map_init' and
35824 `grub_apple_partition_map_init' and deinitialize afterwards.
35825 * util/i386/pc/biosdisk.c: Include `#include
35826 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
35827 `<grub/machine/partition.h>'.
35828 * util/i386/pc/grub-setup.c: Likewise.
35829 * util/i386/pc/biosdisk.c: Likewise.
35830 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
35831 partition information in case of a PC partition.
35832 * util/i386/pc/grub-setup.c: Include `#include
35833 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
35834 `<grub/machine/partition.h>'.
35835 (setup): Only access the PC specific partition information in case
35838 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
35840 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
35841 (grub_longjmp): Likewise.
35842 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
35844 * normal/powerpc/setjmp.S: New file.
35845 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
35846 `normal/powerpc/setjmp.S'.
35847 (grubof_CFLAGS): Add `-DGRUBOF'.
35848 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
35849 [GRUB_UTIL && !GRUBOF].
35851 2004-11-16 Marco Gerards <metgerards@student.han.nl>
35853 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
35854 property named `name'. Correctly handle the error returned by
35855 `grub_ieee1275_finddevice' if a device can not be opened.
35857 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
35859 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
35860 `actual' for negativity.
35861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
35864 2004-11-01 Marco Gerards <metgerards@student.han.nl>
35866 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
35867 (PAGE_OFFSET): New macro.
35868 (CRTC_ADDR_PORT): Likewise.
35869 (CRTC_DATA_PORT): Likewise.
35870 (START_ADDR_HIGH_REGISTER): Likewise.
35871 (START_ADDR_LOW_REGISTER): Likewise.
35872 (GRAPHICS_ADDR_PORT): Likewise.
35873 (GRAPHICS_DATA_PORT): Likewise.
35874 (READ_MAP_REGISTER): Likewise.
35875 (INPUT_STATUS1_REGISTER): Likewise.
35876 (INPUT_STATUS1_VERTR_BIT): Likewise.
35877 (page): New variable.
35878 (wait_vretrace): New function.
35879 (set_read_map): Likewise.
35880 (set_start_address): Likewise.
35881 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
35883 (check_vga_mem): Take the page into account.
35884 (write_char): Likewise.
35885 (write_cursor): Likewise.
35886 (scroll_up): Likewise. Copy the page to the page that is not
35887 shown and switch between both pages.
35888 (grub_vga_putchar): Fix off by one error.
35889 (grub_vga_cls): Wait for the vertical retrace. Take the page into
35892 2004-11-01 Marco Gerards <metgerards@student.han.nl>
35894 Add support for iso9660 (including rockridge).
35896 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
35897 (iso9660_mod_SOURCES): New variable.
35898 (iso9660_mod_CFLAGS): Likewise.
35899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
35900 * include/grub/fs.h (grub_iso9660_init): New prototype.
35901 * util/grub-emu.c (main): Call `grub_iso9660_init'.
35902 * fs/iso9660.c: New file.
35904 * include/grub/misc.h (grub_strncat): New prototype.
35905 * kern/misc.c (grub_strncat): New function.
35907 * fs/hfs.c (grub_hfs_mount): Translate the error
35908 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
35909 * fs/jfs.c (grub_jfs_mount): Likewise.
35910 * fs/ufs.c (grub_ufs_mount): Likewise.
35912 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
35914 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
35915 which initialized BAT registers.
35916 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
35917 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
35919 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
35920 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
35922 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
35923 (grub_mapclaim): Likewise.
35924 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
35925 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
35928 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
35930 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
35931 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
35932 -ffreestanding and -msoft-float.
35934 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
35936 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
35937 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
35938 set in grub_ieee1275_flags.
35940 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
35942 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
35944 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
35945 grub_console_init first.
35946 Change the memory range used for grub_ieee1275_claim and
35947 grub_mm_init_region.
35948 Print an error message if the claim fails.
35949 Include <grub/misc.h>.
35951 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
35953 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
35954 Call grub_children_iterate for device nodes of type `scsi',
35956 (grub_ofdisk_open): Remove manual device alias resolution.
35957 Fix memory leak when device cannot be opened.
35958 * include/grub/powerpc/ieee1275/ieee1275.h
35959 (grub_children_iterate): New prototype.
35960 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
35962 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
35963 Return -1 if args.size was -1.
35965 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
35967 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
35968 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
35969 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
35970 Open Firmware's memory for it; claim memory from _start to _end.
35971 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
35972 (_end): New extern.
35973 (_start): Zero BSS from __bss_start to _end.
35974 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
35976 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
35978 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
35980 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
35981 -1 if args.base was -1.
35983 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
35985 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
35986 escape sequence instead of a literal ^L. Also call
35987 grub_ofconsole_gotoxy.
35989 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
35991 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
35992 void * arguments to grub_addr_t. All callers updated. Also make
35993 the `result' argument optional.
35994 (grub_ieee1275_release): change void * arguments to grub_addr_t.
35995 All callers updated.
35997 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
35999 * commands/ls.c (grub_ls_list_files): Use the string following the
36000 initial ')', if present, as the filesystem path.
36001 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
36003 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
36005 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
36007 Make the source code of the menu interface more readable.
36009 * normal/menu.c: Include grub/mm.h.
36010 (TERM_WIDTH): New macro.
36011 (TERM_HEIGHT): Likewise.
36012 (TERM_INFO_HEIGHT): Likewise.
36013 (TERM_MARGIN): Likewise.
36014 (TERM_SCROLL_WIDTH): Likewise.
36015 (TERM_TOP_BORDER_Y): Likewise.
36016 (TERM_LEFT_BORDER_X): Likewise.
36017 (TERM_BORDER_WIDTH): Likewise.
36018 (TERM_MESSAGE_HEIGHT): Likewise.
36019 (TERM_BORDER_HEIGHT): Likewise.
36020 (TERM_NUM_ENTRIES): Likewise.
36021 (TERM_FIRST_ENTRY_Y): Likewise.
36022 (TERM_ENTRY_WIDTH): Likewise.
36023 (TERM_CURSOR_X): Likewise.
36024 (draw_border): Use macros instead of magic numbers.
36025 (print_entry): Likewise.
36026 (print_entries): Likewise.
36027 (run_menu): Likewise. Also, handle the key 'e'.
36028 (run_menu_entry): Ignore empty command lines.
36029 (print_message): Added a new argument EDIT. If EDIT is true,
36030 print a different message.
36031 (init_page): Likewise.
36032 (edit_menu_entry): New function. Not implemented yet.
36034 2004-09-17 Marco Gerards <metgerards@student.han.nl>
36036 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
36037 can be loaded from normal mode.
36039 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
36041 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
36042 (multiboot_mod_CFLAGS): New variables.
36043 * loader/i386/pc/linux_normal.c: New file.
36044 * loader/i386/pc/multiboot_normal.c: Likewise.
36046 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
36047 attribute `unused'.
36049 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
36050 `fdiro' to read the mode information from instead of `diro'.
36052 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
36053 looking up a symlink.
36055 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
36057 * normal/command.c (grub_command_execute): Don't parse the
36058 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
36059 flags of the command.
36061 * normal/menu.c (grub_menu_run): Fix typo.
36063 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
36065 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
36067 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
36068 `y + 1' instead of `y - 1'.
36070 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
36072 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
36074 From Hollis Blanchard <hollis@penguinppc.org>:
36075 * kern/misc.c (memmove): New alias for grub_memmove.
36076 (memcmp): New alias for grub_memcmp.
36077 (memset): New alias for grub_memset.
36078 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36079 Change "int handle" to "grub_ieee1275_phandle_t handle".
36080 * include/grub/powerpc/ieee1275/ieee1275.h
36081 (grub_ieee1275_get_property): Likewise.
36083 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
36085 Added normal mode command `chainloader' as module chain.mod, which
36086 depends on normal.mod and _chain.mod.
36088 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
36089 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
36090 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
36092 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
36093 but arguments parsing moved to ...
36094 (grub_chainloader_cmd): ... here. New function.
36095 * include/grub/i386/pc/chainloader.h: New file.
36096 * loader/i386/pc/chainloader_normal.c: Likewise.
36098 2004-09-11 Marco Gerards <metgerards@student.han.nl>
36100 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
36101 (grub_mkimage_LDFLAGS): Likewise.
36102 (grub_emu_SOURCES): Likewise.
36103 (kernel_img_HEADERS): Added fshelp.h.
36104 * fs/ext2.c: Include <grub/fshelp.h>.
36105 (FILETYPE_REG): New macro.
36106 (FILETYPE_INO_REG): Likewise.
36107 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
36109 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
36111 (grub_fshelp_node): New struct.
36112 (grub_ext2_data): Added member `diropen'. Changed member `inode'
36114 (grub_ext2_get_file_block): Removed function.
36115 (grub_ext2_read_block): New function.
36116 (grub_ext2_read_file): Replaced parameter `data' by `node'.
36117 This function was written.
36118 (grub_ext2_mount): Read the root inode. Create a diropen struct.
36119 (grub_ext2_find_file): Removed function.
36120 (grub_ext2_read_symlink): New function.
36121 (grub_ext2_iterate_dir): Likewise.
36122 (grub_ext2_open): Rewritten.
36123 (grub_ext2_dir): Rewritten.
36124 * include/grub/fshelp.h: New file.
36125 * fs/fshelp.c: Likewise.
36127 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
36129 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
36130 (print_message): Add a missing newline.
36131 (run_menu): Added timeout support.
36132 (run_menu_entry): New local function.
36133 (grub_menu_run): Added support for booting.
36135 * kern/loader.c (grub_loader_is_loaded): New function.
36137 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
36138 (grub_get_rtc): Exported.
36140 * include/grub/i386/pc/time.h: Include grub/symbol.h.
36141 (grub_get_rtc): Exported.
36143 * include/grub/normal.h (struct grub_command_list): Remove
36144 constant from the member `command'.
36146 * include/grub/loader.h (grub_loader_is_loaded): Declared.
36148 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
36150 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
36152 2004-08-28 Marco Gerards <metgerards@student.han.nl>
36154 Add support for the JFS filesystem.
36156 * fs/jfs.c: New file.
36157 * include/grub/fs.h (grub_jfs_init): New prototype.
36158 (grub_jfs_fini): New prototype.
36159 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
36160 (grub_emu_SOURCES): Likewise.
36161 (pkgdata_MODULES): Add jfs.mod.
36162 (jfs_mod_SOURCES): New variable.
36163 (jfs_mod_CFLAGS): Likewise.
36164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
36165 (grubof_SOURCES): Likewise.
36166 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
36168 * fs/fat.c (grub_fat_find_dir): Convert the filename little
36169 endian to the host endian.
36170 (grub_fat_utf16_to_utf8): Move function from there...
36171 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
36172 the endianness of the source string anymore.
36173 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
36175 2004-08-24 Marco Gerards <metgerards@student.han.nl>
36177 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
36178 (grub_boot_fini) [GRUB_UTIL]: Likewise.
36179 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
36180 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
36182 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
36183 (grub_hfs_iterate_dir): Make the function static. Add prototypes
36184 for `node_found' and `it_dir'.
36185 (grub_hfs_dir): Add prototype for `dir_hook'.
36187 * fs/minix.c (grub_minix_get_file_block): Add prototype for
36188 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
36189 and `indir32' to silence a gcc warning.
36191 * include/grub/fs.h (grub_hfs_init): New prototype.
36192 (grub_hfs_fini): Likewise.
36195 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36197 Each disk device has its own id now. This is useful to make use
36198 of multiple disk devices.
36200 * include/grub/disk.h (grub_disk_dev_id): New enum.
36201 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
36202 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
36204 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
36205 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36207 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
36208 GRUB_DISK_DEVICE_OFDISK_ID as an id.
36210 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
36211 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36213 * include/grub/disk.h (struct grub_disk_dev): Added a new member
36214 "id" which is used by the cache manager.
36216 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
36219 2004-08-18 Marco Gerards <metgerards@student.han.nl>
36221 * fs/hfs.c: New file.
36222 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
36223 (grub_emu_SOURCES): Likewise.
36224 (pkgdata_MODULES): Add hfs.mod.
36225 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
36226 (grubof_SOURCES): Likewise.
36227 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
36229 * include/grub/misc.h (grub_strncasecmp): Add prototype.
36230 * kern/misc.c (grub_strncasecmp): Add function.
36232 2004-08-14 Marco Gerards <metgerards@student.han.nl>
36234 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
36237 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
36238 (grub_ext2_dir): In case the directory entry type is unknown, read
36241 2004-08-02 Peter Bruin <pjbruin@dds.nl>
36243 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
36244 grub_load_linux instead of grub_rescue_cmd_linux as second
36245 argument of grub_rescue_register_command.
36247 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
36249 2004-07-27 Marco Gerards <metgerards@student.han.nl>
36251 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
36253 * commands/boot.c: Remove the check for `GRUB_UTIL'.
36254 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
36255 `loader/powerpc/ieee1275/linux.c',
36256 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
36257 * include/grub/powerpc/ieee1275/ieee1275.h
36258 (grub_ieee1275_release): New prototype.
36259 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
36260 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
36261 normal, boot, linux and linux_normal.
36262 * loader/powerpc/ieee1275/linux.c: New file.
36263 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36265 2004-07-12 Marco Gerards <metgerards@student.han.nl>
36267 * normal/arg.c (grub_arg_parse): Correct error handling after
36268 reallocating the argumentlist (check if `argl' is not null instead
36269 of checking if `args' is not null).
36270 * kern/mm.c (grub_realloc): Return the same pointer when using the
36271 same region, instead of returning the header address.
36273 2004-07-11 Marco Gerards <metgerards@student.han.nl>
36275 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
36276 one block instead of two when looking for the initial partition.
36277 (grub_partition_probe): Initialize the local variable `p' with 0.
36278 Use base 10 for the grub_strtoul call.
36279 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
36280 need for one local variable.
36281 (grub_strtoul): Don't add the new value to `num', instead of that
36284 2004-07-11 Marco Gerards <metgerards@student.han.nl>
36286 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
36287 (pxeboot_img_SOURCES): New variable.
36288 (pxeboot_img_ASFLAGS): Likewise.
36289 (pxeboot_img_LDFLAGS): Likewise.
36290 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
36291 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
36292 <lode_leroy@hotmail.com>.
36294 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36296 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
36297 there was no input.
36299 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36301 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
36302 the history buffer logic.
36304 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36306 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
36307 (FILETYPE_INO_SYMLINK): New macros.
36308 (grub_ext2_find_file): Check if the node is a directory using the
36309 inode stat information instead of using the filetype in the
36310 dirent. Exclude the first character of an absolute symlink.
36311 (grub_ext2_dir): Mask out the filetype part of the mode member of
36314 2004-05-24 Marco Gerards <metgerards@student.han.nl>
36316 Add support for UFS version 1 and 2. Add support for the minix
36317 filesystem version 1 and 2, both the variants with 14 and 30 long
36320 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
36322 (grub_emu_SOURCES): Likewise.
36323 (pkgdata_MODULES): Add ufs.mod and minix.mod.
36324 (ufs_mod_SOURCES): New variable.
36325 (ufs_mod_CFLAGS): Likewise.
36326 (minix_mod_SOURCES): Likewise.
36327 (minix_mod_CFLAGS): Likewise.
36328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
36330 (grubof_SOURCES): Likewise.
36331 * fs/ufs.c: New file.
36332 * fs/minix.c: New file.
36333 * include/grub/fs.h (grub_ufs_init): New prototype.
36334 (grub_ufs_fini): Likewise.
36335 (grub_minix_init): Likewise.
36336 (grub_minix_fini): Likewise.
36337 * util/grub-emu.c (main): Initialize and deinitialize UFS and
36340 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
36342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
36343 commands/ls.c, commands/terminal.c, commands/boot.c,
36344 commands/cmp.c and commands/cat.c.
36345 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
36347 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
36350 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36352 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
36353 and grub_, respectively. Because the conversion is trivial and
36354 mechanical, I omit the details here. Please refer to the CVS
36355 if you need more information.
36357 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36359 * include/pupa: Renamed to ...
36360 * include/grub: ... this.
36361 * util/i386/pc/pupa-mkimage.c: Renamed to ...
36362 * util/i386/pc/grub-mkimage.c: ... this.
36363 * util/i386/pc/pupa-setup.c: Renamed to ...
36364 * util/i386/pc/grub-setup.c: ... this.
36365 * util/pupa-emu.c: Renamed to ...
36366 * util/grub-emu.c: ... this.
36368 2004-03-29 Marco Gerards <metgerards@student.han.nl>
36370 Add support for the newworld apple macintosh (PPC). This has been
36371 tested on the powerbook 2000 only. It only adds support for
36372 generic ieee1275 functions, console and disk support. This should
36373 be easy to port to other architectures with support for Open
36376 * configure.ac: Accept the powerpc as host_cpu. In the case of
36377 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
36378 specific tests are only executed while building for the i386.
36379 Inverse test for crosscompile.
36380 * genmk.rb (Utility): Allow assembler files.
36381 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
36382 * conf/powerpc-ieee1275.rmk: New file.
36383 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
36384 * disk/powerpc/ieee1275/partition.c: Likewise.
36385 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
36386 * include/pupa/powerpc/ieee1275/console.h: Likewise.
36387 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
36388 * include/pupa/powerpc/ieee1275/time.h: Likewise.
36389 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
36390 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
36391 * include/pupa/powerpc/ieee1275/loader.h
36392 * include/pupa/powerpc/setjmp.h: Likewise.
36393 * include/pupa/powerpc/types.h: Likewise.
36394 * kern/powerpc/ieee1275/init.c: Likewise.
36395 * kern/powerpc/ieee1275/openfw.c: Likewise.
36396 * term/powerpc/ieee1275/ofconsole.c: Likewise.
36398 These files were written by Johan Rydberg
36399 (jrydberg@night.trouble.net) and I only modified them slightly.
36401 * boot/powerpc/ieee1275/cmain.c: New file.
36402 * boot/powerpc/ieee1275/crt0.S: Likewise.
36403 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
36404 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
36406 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
36408 * Makefile.in: Update copyright.
36409 * genmodsrc.sh: Likewise.
36410 * gensymlist.sh: Likewise.
36411 * term/i386/pc/vga.c: Indent correctly.
36413 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
36414 bugreporting address.
36415 * util/i386/pc/pupa-setup.c (usage): Likewise,
36416 (main): Call pupa_ext2_init and pupa_ext2_fini.
36418 * fs/fat.c (log2): Renamed to ...
36419 (fat_log2): ... this.
36420 All callers changed.
36421 * kern/misc.c (memcpy): Alias to pupa_memmove.
36422 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
36424 * util/console.c (pupa_ncurses_fini): Return 0.
36426 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
36427 Move fail label here.
36428 [__GNU__]: Don't warn when using stat.
36429 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
36430 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
36431 long int. Use strtol instead of strtoul.
36433 2004-03-14 Marco Gerards <metgerards@student.han.nl>
36435 * commands/boot.c: New file.
36436 * commands/cat.c: Likewise.
36437 * commands/cmp.c: Likewise.
36438 * commands/ls.c: Likewise.
36439 * commands/terminal.c: Likewise.
36440 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
36441 (pupa_register_command): Changed interface to match the new
36443 (pupa_command_execute): Changed (almost rewritten) so it uses
36444 pupa_split_command. Added support for setting variables using the
36446 (rescue_command): Changed to work with the new argument parser.
36447 (terminal_command): Moved from here to commands/terminal.c.
36448 (set_command): New function.
36449 (unset_command): New function.
36450 (insmod_command): New function.
36451 (rmmod_command): New function.
36452 (lsmod_command): New function.
36453 (pupa_command_init): Don't initialize the command terminal
36454 anymore. Initialize the commands set, unset, insmod, rmmod and
36456 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
36457 (kernel_img_HEADERS): Add arg.h and env.h.
36458 (pupa_mkimage_LDFLAGS): Add kern/env.c.
36459 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
36460 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
36462 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
36464 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
36465 (boot_mod_SOURCES): New variable.
36466 (terminal_mod_SOURCES): Likewise.
36467 (ls_mod_SOURCES): Likewise.
36468 (cmp_mod_SOURCES): Likewise.
36469 (cat_mod_SOURCES): Likewise.
36471 * normal/arg.c: New file.
36472 * kern/env.c: Likewise.
36473 * include/pupa/arg.h: Likewise.
36474 * include/pupa/env.h: Likewise.
36475 * font/manager.c (font_command): Changed to match argument parsing
36477 (PUPA_MOD_INIT): Likewise.
36478 * hello/hello.c (pupa_cmd_hello): Likewise.
36479 (PUPA_MOD_INIT): Likewise.
36480 * include/pupa/disk.h: Include <pupa/device.h>.
36481 (pupa_print_partinfo): New prototype.
36482 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
36483 (pupa_dl_get_prefix): Likewise.
36484 * include/pupa/misc.h: Include <pupa/err.h>.
36485 (pupa_isgraph): New prototype.
36486 (pupa_isdigit): Likewise.
36487 (pupa_split_cmdline): Likewise.
36488 * include/pupa/normal.h: Include <pupa/arg.h>.
36489 (pupa_command): Changed the prototype of the member `func' to
36490 match the argument parsing interface. Added member `options'.
36491 (pupa_register_command): Updated to match function.
36492 (pupa_arg_parse): New prototype.
36493 (pupa_hello_init) [PUPA_UTIL]: New prototype.
36494 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
36495 (pupa_ls_init) [PUPA_UTIL]: Likewise.
36496 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
36497 (pupa_cat_init) [PUPA_UTIL]: Likewise.
36498 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
36499 (pupa_boot_init) [PUPA_UTIL]: Likewise.
36500 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
36501 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
36502 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
36503 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
36504 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
36505 * kern/disk.c: Include <pupa/file.h>.
36506 (pupa_print_partinfo): New function.
36507 * kern/dl.c: Include <pupa/env.h>.
36508 (pupa_dl_dir): Variable removed.
36509 (pupa_dl_load): Use the environment variable `prefix' instead of
36510 the variable pupa_dl_dir.
36511 (pupa_dl_set_prefix): Function removed.
36512 (pupa_dl_get_prefix): Likewise.
36513 * kern/i386/pc/init.c: Include <pupa/env.h>.
36514 (pupa_machine_init): Use the environment variable `prefix' instead of
36515 using pupa_dl_set_prefix to set the prefix.
36516 * kern/main.c: Include <pupa/env.h>.
36517 (pupa_set_root_dev): Use the environment variable `prefix' instead of
36518 using pupa_dl_get_prefix to get the prefix.
36519 * kern/misc.c: Include <pupa/env.h>.
36520 (pupa_isdigit): New function.
36521 (pupa_isgraph): Likewise.
36522 (pupa_ftoa): Likewise.
36523 (pupa_vsprintf): Added support for printing values of the type
36524 `double'. Make it possible to format variable output when using
36525 formatting like `%1.2%f'.
36526 (pupa_split_cmdline): New function.
36527 * kern/rescue.c: Include <pupa/env.h>.
36528 (next_word): Removed function.
36529 (pupa_rescue_cmd_prefix): Likewise.
36530 (pupa_rescue_cmd_set): New function.
36531 (pupa_rescue_cmd_unset): New function.
36532 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
36533 split the command line instead of splitting it here. Added
36534 support for setting variables using the syntax `foo=bar'. Don't
36535 initialize the prefix command anymore. Initialized the set and
36537 * normal/cmdline.c: Include <pupa/env.h>.
36538 (pupa_tab_complete): Added prototypes for print_simple_completion,
36539 print_partition_completion, add_completion, iterate_commands,
36540 iterate_dev, iterate_part and iterate_dir. Moved code to print
36541 partition information from here to kern/disk.c.
36542 (pupa_cmdline_run): Don't check if the function exists anymore.
36543 * normal/main.c: Include <pupa/env.h>.
36544 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
36545 instead of using pupa_dl_get_prefix to get the prefix.
36546 * term/i386/pc/vga.c: Include <pupa/arg.h>.
36547 (check_vga_mem): Cast pointers to `void *' to silence a gcc
36549 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
36550 (pupa_vga_setcolor): Declare unused variables with `__attribute__
36551 ((unused))' to silence a gcc warning.
36552 (pupa_vga_setcolor): Likewise.
36553 (debug_command): Changed to match argument parsing
36555 * util/pupa-emu.c: Include <pupa/env.h>.
36556 (options): Added 0's for unused fields to silence a gcc warning.
36558 (main): Use the environment variable `prefix' instead of using
36559 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
36560 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
36563 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
36564 * util/misc.c: Include <malloc.h>.
36565 (pupa_malloc): Rewritten so errors are correctly reported.
36566 (pupa_realloc): Likewise.
36567 (pupa_memalign): Likewise.
36568 (pupa_mm_init_region): Declare unused variables with
36569 `__attribute__ ((unused))' to silence a gcc warning.
36570 * normal/i386/setjmp.S: Remove tab at the end of the file to
36571 silence a gcc warning.
36572 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
36573 variables with `__attribute__ ((unused))' to silence a gcc
36575 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
36576 local variable i unsigned to silence a gcc warning.
36578 * kern/term.c: Include <pupa/misc.h>.
36579 (pupa_more_lines): New variable.
36580 (pupa_more): Likewise.
36581 (pupa_putcode): When the pager is active pause at the end of every
36583 (pupa_set_more): New function.
36584 * include/pupa/term.h (pupa_set_more): New prototype.
36587 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
36589 Now this project is GRUB 2 rather than PUPA. The location of
36590 the CVS repository was moved to GRUB's.
36592 * configure.ac: Use bug-grub as the reporting address.
36593 Use GRUB instead of PUPA.
36594 Change the version number to 1.90.
36596 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
36598 * genkernsyms.sh: Updated copyright information.
36599 * genmk.rb: Likewise.
36600 * genmodsrc.sh: Likewise.
36601 * gensymlist.sh: Likewise.
36602 * boot/i386/pc/boot.S: Likewise.
36603 * boot/i386/pc/diskboot.S: Likewise.
36604 * disk/i386/pc/biosdisk.c: Likewise.
36605 * disk/i386/pc/partition.c: Likewise.
36606 * font/manager.c: Likewise.
36607 * fs/ext2.c: Likewise.
36608 * fs/fat.c: Likewise.
36609 * include/pupa/boot.h: Likewise.
36610 * include/pupa/device.h: Likewise.
36611 * include/pupa/disk.h: Likewise.
36612 * include/pupa/dl.h: Likewise.
36613 * include/pupa/elf.h: Likewise.
36614 * include/pupa/err.h: Likewise.
36615 * include/pupa/file.h: Likewise.
36616 * include/pupa/font.h: Likewise.
36617 * include/pupa/fs.h: Likewise.
36618 * include/pupa/kernel.h: Likewise.
36619 * include/pupa/loader.h: Likewise.
36620 * include/pupa/misc.h: Likewise.
36621 * include/pupa/mm.h: Likewise.
36622 * include/pupa/net.h: Likewise.
36623 * include/pupa/normal.h: Likewise.
36624 * include/pupa/rescue.h: Likewise.
36625 * include/pupa/setjmp.h: Likewise.
36626 * include/pupa/symbol.h: Likewise.
36627 * include/pupa/term.h: Likewise.
36628 * include/pupa/types.h: Likewise.
36629 * include/pupa/i386/setjmp.h: Likewise.
36630 * include/pupa/i386/types.h: Likewise.
36631 * include/pupa/i386/pc/biosdisk.h: Likewise.
36632 * include/pupa/i386/pc/boot.h: Likewise.
36633 * include/pupa/i386/pc/console.h: Likewise.
36634 * include/pupa/i386/pc/init.h: Likewise.
36635 * include/pupa/i386/pc/kernel.h: Likewise.
36636 * include/pupa/i386/pc/linux.h: Likewise.
36637 * include/pupa/i386/pc/loader.h: Likewise.
36638 * include/pupa/i386/pc/memory.h: Likewise.
36639 * include/pupa/i386/pc/multiboot.h: Likewise.
36640 * include/pupa/i386/pc/partition.h: Likewise.
36641 * include/pupa/i386/pc/time.h: Likewise.
36642 * include/pupa/i386/pc/vga.h: Likewise.
36643 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
36644 * include/pupa/util/getroot.h: Likewise.
36645 * include/pupa/util/misc.h: Likewise.
36646 * include/pupa/util/resolve.h: Likewise.
36647 * kern/device.c: Likewise.
36648 * kern/disk.c: Likewise.
36649 * kern/dl.c: Likewise.
36650 * kern/err.c: Likewise.
36651 * kern/file.c: Likewise.
36652 * kern/fs.c: Likewise.
36653 * kern/loader.c: Likewise.
36654 * kern/main.c: Likewise.
36655 * kern/misc.c: Likewise.
36656 * kern/mm.c: Likewise.
36657 * kern/rescue.c: Likewise.
36658 * kern/term.c: Likewise.
36659 * kern/i386/dl.c: Likewise.
36660 * kern/i386/pc/init.c: Likewise.
36661 * kern/i386/pc/lzo1x.S: Likewise.
36662 * kern/i386/pc/startup.S: Likewise.
36663 * loader/i386/pc/chainloader.c: Likewise.
36664 * loader/i386/pc/linux.c: Likewise.
36665 * loader/i386/pc/multiboot.c: Likewise.
36666 * normal/cmdline.c: Likewise.
36667 * normal/command.c: Likewise.
36668 * normal/main.c: Likewise.
36669 * normal/menu.c: Likewise.
36670 * normal/i386/setjmp.S: Likewise.
36671 * term/i386/pc/console.c: Likewise.
36672 * term/i386/pc/vga.c: Likewise.
36673 * util/console.c: Likewise.
36674 * util/genmoddep.c: Likewise.
36675 * util/misc.c: Likewise.
36676 * util/pupa-emu.c: Likewise.
36677 * util/resolve.c: Likewise.
36678 * util/unifont2pff.rb: Likewise.
36679 * util/i386/pc/biosdisk.c: Likewise.
36680 * util/i386/pc/getroot.c: Likewise.
36681 * util/i386/pc/pupa-mkimage.c: Likewise.
36682 * util/i386/pc/pupa-setup.c: Likewise.
36684 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
36686 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
36687 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
36688 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
36689 reading and reset it after reading.
36690 (pupa_ext2_close): Return PUPA_ERR_NONE.
36692 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
36694 (struct linux_kernel_header): Add kernel_version and
36696 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
36697 pupa_file_read succeeds.
36698 (pupa_rescue_cmd_initrd): Implement.
36700 2003-12-03 Marco Gerards <metgerards@student.han.nl>
36702 * fs/ext2.c (pupa_ext2_label): New function.
36703 (pupa_ext2_fs): Added label.
36704 * fs/fat.c (pupa_fat_label): New function.
36705 (pupa_fat_fs): Added label.
36706 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
36708 * kern/misc.c (pupa_strndup): New function.
36709 * include/pupa/misc.h (pupa_strndup): New prototype.
36711 * include/pupa/normal.h: Include <pupa/err.h>.
36712 (pupa_set_history): New prototype.
36713 (pupa_iterate_commands): New prototype.
36714 * normal/cmdline.c: Include <pupa/machine/partition.h>,
36715 <pupa/disk.h>, <pupa/file.h>.
36716 (hist_size): New variable.
36717 (hist_lines): Likewise.
36718 (hist_end): Likewise.
36719 (hist_used): Likewise.
36720 (pupa_set_history): New function.
36721 (pupa_history_get): Likewise.
36722 (pupa_history_add): Likewise.
36723 (pupa_history_replace): Likewise.
36724 (pupa_tab_complete): Likewise.
36725 (pupa_cmdline_run): Added tab completion and history buffer. Tab
36726 completion shows partitionnames while completing partitions, this
36727 feature was suggested by Jeff Bailey.
36728 * normal/command.c (pupa_iterate_commands): New function.
36729 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
36730 (pupa_normal_init): Initialize history buffer.
36731 (PUPA_MOD_INIT): Likewise.
36732 (pupa_normal_fini): Free the history buffer.
36733 (PUPA_MOD_FINI): Likewise.
36735 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
36738 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
36739 * configure.ac [i386]: Check for regparam bug.
36740 (NESTED_FUNC_ATTR) [! i386]: Defined.
36742 2003-11-17 Marco Gerards <metgerards@student.han.nl>
36744 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
36745 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
36746 (pupa_emu_SOURCES): New variable.
36747 (pupa_emu_LDFLAGS): Likewise.
36748 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
36749 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
36750 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
36751 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
36752 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
36753 (pupa_jmp_buf): New typedef.
36754 (pupa_setjmp) [PUPA_UTIL]: New macro.
36755 (pupa_longjmp) [PUPA_UTIL]: Likewise.
36756 * include/pupa/term.h (struct pupa_term): New member `refresh'.
36757 (pupa_refresh): New prototype.
36758 * include/pupa/util/getroot.h: New file.
36759 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
36761 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
36762 (pupa_rescue_cmd_cat): Likewise.
36763 (pupa_rescue_cmd_ls): Likewise.
36764 (pupa_rescue_cmd_testload): Likewise.
36765 (pupa_rescue_cmd_lsmod): Likewise.
36766 * normal/cmdline.c (pupa_cmdline_get): Likewise.
36767 * normal/menu.c (run_menu): Likewise.
36768 * kern/term.c (pupa_cls): Likewise.
36769 (pupa_refresh): New function.
36770 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
36771 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
36772 * util/console.c: New file.
36774 * util/i386/pc/getroot.c: New file.
36775 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
36776 (pupa_putchar): New function.
36777 (pupa_refresh): Likewise.
36778 (xgetcwd): Function moved to ...
36779 (strip_extra_slashes): Likewise.
36780 (get_prefix): Likewise.
36781 * util/i386/pc/getroot.c: ... here.
36782 (find_root_device): Function moved and renamed to...
36783 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
36784 Changed all callers.
36785 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
36787 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
36788 Changed all callers.
36789 * util/misc.c (pupa_memalign): New function.
36790 (pupa_mm_init_region): Likewise.
36791 (pupa_register_exported_symbols): Likewise.
36792 (pupa_putchar): Function removed.
36793 * util/pupa-emu.c: New file.
36795 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
36797 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
36798 (_multiboot_mod_SOURCES): New variable.
36799 (_multiboot_mod_CFLAGS): Likewise.
36800 * loader/i386/pc/multiboot.c: New file.
36801 * include/pupa/i386/pc/multiboot.h: Likewise.
36802 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
36803 (pupa_multiboot_real_boot): New function.
36804 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
36805 (pupa_multiboot_real_boot): New prototype.
36806 (pupa_rescue_cmd_multiboot): Likewise
36807 (pupa_rescue_cmd_module): Likewise.
36809 * kern/loader.c (pupa_loader_set): Continue when
36810 pupa_loader_unload_func() fails.
36811 (pupa_loader_unset): New function.
36812 * include/pupa/loader.h (pupa_loader_unset): New prototype.
36814 * kern/misc.c (pupa_stpcpy): New function.
36815 * include/pupa/misc.h (pupa_stpcpy): New prototype.
36817 2003-11-12 Marco Gerards <metgerards@student.han.nl>
36819 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
36820 for available extensions.
36822 * include/pupa/i386/pc/time.h: New file.
36823 * kern/disk.c: Include <pupa/machine/time.h>.
36824 (PUPA_CACHE_TIMEOUT): New macro.
36825 (pupa_last_time): New variable.
36826 (pupa_disk_open): Flush the cache when there was a timeout.
36827 (pupa_disk_close): Reset the timer.
36828 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
36830 * util/misc.c: Include <sys/times.h>
36831 (pupa_get_rtc): New function.
36833 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36835 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
36837 (pupa_ext2_get_file_block): Use blocks member.
36839 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
36840 first block. Return -1 instead of pupa_errno on error.
36842 2003-10-27 Marco Gerards <metgerards@student.han.nl>
36844 * README: In the pupa-mkimage example use _chain instead of chain
36845 and ext2 instead of fat.
36846 * TODO: Replace ext2fs with jfs as an example. Add an item for
36847 adding journal playback for ext2fs.
36848 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
36849 (pkgdata_MODULES): Added ext2.mod.
36850 (ext2_mod_SOURCES): New variable.
36851 (ext2_mod_CFLAGS): Likewise.
36852 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
36853 * include/pupa/misc.h (pupa_strncpy): New prototype.
36854 (pupa_strcat): Likewise.
36855 (pupa_strncmp): Likewise.
36856 * kern/misc.c (pupa_strcat): Enable function.
36857 (pupa_strncpy): New function.
36858 (pupa_strncmp): Likewise.
36859 * fs/ext2.c: New file.
36861 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
36862 when the read failed before retrying.
36863 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
36864 (_FILE_OFFSET_BITS): Likewise.
36865 * configure.ac: Added AC_SYS_LARGEFILE.
36867 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
36869 * genmk.rb (PModule#rule): Make sure to get only symbol names
36870 from the output of nm.
36871 Reported by Robert Millan <rmh.grub@aybabtu.com>.
36873 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
36875 I forgot to check in these changes for a long time. This adds
36876 incomplete support for VGA console, and this is still very
36877 buggy. Also, a lot of consideration is required for I18N,
36878 UNICODE, and VGA font issues. Therefore, assume that this is
36879 such that "better than nothing".
36881 * font/manager.c: New file.
36882 * include/pupa/font.h: Likewise.
36883 * include/pupa/i386/pc/vga.h: Likewise.
36884 * term/i386/pc/vga.c: Likewise.
36885 * util/unifont2pff.rb: Likewise.
36887 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
36888 (pkgdata_MODULES): Added vga.mod and font.mod.
36889 (vga_mod_SOURCES): New variables.
36890 (vga_mod_CFLAGS): Likewise.
36891 (font_mod_SOURCES): Likewise.
36892 (font_mod_CFLAGS): Likewise.
36894 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
36896 * include/pupa/term.h: Include pupa/err.h.
36897 (struct pupa_term): Added init and fini.
36898 Changed the argument of putchar to pupa_uint32_t.
36900 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
36901 (pupa_console_real_putchar): New prototype.
36902 (pupa_console_putchar): Removed.
36903 (pupa_console_checkkey): Exported.
36904 (pupa_console_getkey): Likewise.
36906 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
36909 * kern/term.c (pupa_term_set_current): Rewritten.
36910 (pupa_putchar): Likewise.
36911 (pupa_putcode): New function.
36913 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
36914 (pupa_console_real_putchar): ... this.
36915 (pupa_vga_set_mode): New function.
36916 (pupa_vga_get_font): Likewise.
36918 * normal/command.c: Include pupa/term.h.
36919 (terminal_command): New function.
36920 (pupa_command_init): Register the command "terminal".
36922 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
36923 (DISP_UP): Likewise.
36924 (DISP_RIGHT): Likewise.
36925 (DISP_DOWN): Likewise.
36926 (DISP_HLINE): Likewise.
36927 (DISP_VLINE): Likewise.
36928 (DISP_UL): Likewise.
36929 (DISP_UR): Likewise.
36930 (DISP_LL): Likewise.
36931 (DISP_LR): Likewise.
36933 * term/i386/pc/console.c (pupa_console_putchar): New function.
36935 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
36937 * util/resolve.c (pupa_util_resolve_dependencies): BUG
36938 FIX. Reverse the path_list.
36940 * include/pupa/normal.h: Export pupa_register_command and
36941 pupa_unregister_command.
36943 * hello/hello.c (pupa_cmd_hello): New module.
36944 * conf/i386-pc.rmk: Added hello.mod.
36946 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
36948 * kern/i386/pc/lzo1x.S: New file.
36950 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
36951 (compress_kernel): New variable.
36952 (generate_image): Heavily modified to support compressing a
36953 large part of the core image.
36955 * util/misc.c (pupa_util_read_image): Fix a file descriptor
36957 (pupa_util_load_image): New function.
36959 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
36960 (pupa_compressed_size): New variable.
36961 (codestart): Enable Gate A20 here.
36962 Decompress the compressed part of the core image.
36963 Rearrange the code to put functions and variables which are
36964 required for initialization in the non-compressed part.
36967 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
36970 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
36972 * include/pupa/i386/pc/kernel.h
36973 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
36974 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
36975 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
36976 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
36977 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
36979 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
36981 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
36982 (Utility#rule): Likewise.
36984 * configure.ac: Check if LZO is available.
36986 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
36988 * include/pupa/normal.h: New file.
36989 * include/pupa/setjmp.h: Likewise.
36990 * include/pupa/i386/setjmp.h: Likewise.
36991 * normal/cmdline.c: Likewise.
36992 * normal/command.c: Likewise.
36993 * normal/main.c: Likewise.
36994 * normal/menu.c: Likewise.
36995 * normal/i386/setjmp.S: Likewise.
36997 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
36998 (pupa_rescue_cmd_initrd): Likewise.
37000 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
37003 * kern/i386/pc/startup.S (translation_table): New variable.
37004 (translate_keycode): New function.
37005 (pupa_console_getkey): Call translate_keycode.
37007 * kern/rescue.c (attempt_normal_mode): New function.
37008 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
37009 it failed, print a message.
37011 * kern/mm.c (pupa_real_malloc): Print more information when a
37012 free magic is broken.
37013 (pupa_free): If the first free header is not free actually, set
37016 * kern/main.c (pupa_load_normal_mode): Just load the module
37018 (pupa_main): Don't print the message
37019 "Entering into rescue mode..." here.
37021 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
37023 (pupa_rescue_cmd_initrd): Likewise.
37024 (pupa_rescue_cmd_initrd): Likewise.
37026 * include/pupa/symbol.h (FUNCTION): Specify the type.
37027 (VARIABLE): Likewise.
37029 * include/pupa/err.h (pupa_err_t): Added
37030 PUPA_ERR_UNKNOWN_COMMAND.
37032 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
37033 (pupa_dl_get_prefix): Likewise.
37035 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
37036 Added _chain.mod and _linux.mod instead of chain.mod and
37038 (chain_mod_SOURCES): Renamed to ...
37039 (_chain_mod_SOURCES): ... this.
37040 (chain_mod_CFLAGS): Renamed to ...
37041 (_chain_mod_CFLAGS): ... this.
37042 (linux_mod_SOURCES): Renamed to ...
37043 (_linux_mod_SOURCES): ... this.
37044 (linux_mod_CFLAGS): Renamed to ...
37045 (_linux_mod_CFLAGS): ... this.
37046 (normal_mod_SOURCES): New variable.
37047 (normal_mod_CFLAGS): Likewise.
37048 (normal_mod_ASFLAGS): Likewise.
37050 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
37052 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
37055 * kern/dl.c (pupa_dl_ref): Refer depending modules
37057 (pupa_dl_unref): Unrefer depending modules recursively.
37058 Don't call pupa_dl_unload implicitly, because PUPA can crash if
37059 a module is unloaded before one depending on that module is
37061 (pupa_dl_unload): Unload depending modules explicitly,
37064 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
37066 * include/pupa/i386/pc/linux.h: New file.
37067 * loader/i386/pc/linux.c: Likewise.
37069 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
37071 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
37072 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
37073 of PUPA_CHAINLOADER_BOOT_SECTOR.
37075 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
37076 (pupa_linux_prot_size): New variable.
37077 (pupa_linux_tmp_addr): Likewise.
37078 (pupa_linux_real_addr): Likewise.
37079 (pupa_linux_boot_zimage): New function.
37080 (pupa_linux_boot_bzimage): Likewise.
37082 * kern/i386/pc/init.c (struct mem_region): New structure.
37083 (MAX_REGIONS): New macro.
37084 (mem_regions): New variable.
37085 (num_regions): Likewise.
37086 (pupa_os_area_addr): Likewise.
37087 (pupa_os_area_size): Likewise.
37088 (pupa_lower_mem): Likewise.
37089 (pupa_upper_mem): Likewise.
37090 (add_mem_region): New function.
37091 (compact_mem_regions): Likewise.
37092 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
37093 the size of the conventional memory and that of so-called upper
37094 memory (before the first memory hole).
37095 Instead of adding each found region to free memory, use
37096 add_mem_region and add them after removing overlaps.
37097 Also, add only 1/4 of the upper memory to free memory. The rest
37098 is used for loading OS images. Maybe this is ad hoc, but this
37099 makes it much easier to relocate OS images when booting.
37101 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
37102 (pupa_enter_rescue_mode): Don't register initrd and module.
37104 * kern/mm.c: Include pupa/dl.h.
37106 * kern/main.c: Include pupa/file.h and pupa/device.h.
37108 * kern/loader.c (pupa_loader_load_module_func): Removed.
37109 (pupa_loader_load_module): Likewise.
37111 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
37114 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
37115 (pupa_linux_tmp_addr): Likewise.
37116 (pupa_linux_real_addr): Likewise.
37117 (pupa_linux_boot_zimage): Likewise.
37118 (pupa_linux_boot_bzimage): Likewise.
37120 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
37121 (pupa_upper_mem): Likewise.
37122 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
37123 module is too dangerous.
37125 * include/pupa/loader.h (pupa_os_area_addr): Declared.
37126 (pupa_os_area_size): Likewise.
37127 (pupa_loader_set): Remove the first argument. Loader doesn't
37128 manage modules or initrd any longer.
37129 (pupa_loader_load_module): Removed.
37131 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
37132 (linux_mod_SOURCES): New variable.
37133 (linux_mod_CFLAGS): Likewise.
37135 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
37137 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
37138 the length of a blocklist correctly.
37140 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
37141 Use ioctl only if the OS file is a block device.
37142 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
37143 not very useful for normal files.
37145 * kern/main.c (pupa_set_root_dev): New function.
37146 (pupa_load_normal_mode): Likewise.
37147 (pupa_main): Call those above.
37149 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
37152 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
37154 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37156 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
37157 (setup): Configure the installed partition information and the
37160 * loader/i386/pc/chainloader.c (my_mod): New variable.
37161 (pupa_chainloader_unload): New function.
37162 (pupa_rescue_cmd_chainloader): Refer itself.
37163 (PUPA_MOD_INIT): Save its own module in MY_MOD.
37165 * kern/i386/pc/startup.S (install_partition): Removed.
37166 (version_string): Likewise.
37167 (config_file): Likewise.
37168 (pupa_install_dos_part): New variable.
37169 (pupa_install_bsd_part): Likewise.
37170 (pupa_prefix): Likewise.
37171 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
37173 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
37175 (make_install_device): New function.
37176 (pupa_machine_init): Set the dl prefix.
37178 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
37179 (buf): Renamed to ...
37180 (linebuf): ... this.
37181 (pupa_rescue_cmd_prefix): New function.
37182 (pupa_rescue_cmd_insmod): Likewise.
37183 (pupa_rescue_cmd_rmmod): Likewise.
37184 (pupa_rescue_cmd_lsmod): Likewise.
37185 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
37188 * kern/mm.c (pupa_memalign): If failed even after invalidating
37189 disk caches, unload unneeded modules and retry.
37191 * kern/misc.c (pupa_memmove): New function.
37192 (pupa_memcpy): Removed.
37193 (pupa_strcpy): New function.
37194 (pupa_itoa): Made static.
37196 * kern/dl.c (pupa_dl_iterate): New function.
37197 (pupa_dl_ref): Likewise.
37198 (pupa_dl_unref): Likewise.
37199 (pupa_dl_unload): Return if succeeded or not.
37200 (pupa_dl_unload_unneeded): New function.
37201 (pupa_dl_unload_all): Likewise.
37202 (pupa_dl_init): Renamed to ...
37203 (pupa_dl_set_prefix): ... this.
37204 (pupa_dl_get_prefix): New function.
37206 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
37207 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
37208 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
37209 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
37210 (pupa_install_dos_part): Declared.
37211 (pupa_install_bsd_part): Likewise.
37212 (pupa_prefix): Likewise.
37213 (pupa_boot_drive): Likewise.
37215 * include/pupa/types.h: Fix a typo.
37217 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
37219 (pupa_memmove): Declared.
37220 (pupa_strcpy): Likewise.
37222 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
37223 pupa_mod_init takes one argument, its own module.
37224 (pupa_dl_unload_unneeded): Declared.
37225 (pupa_dl_unload_all): Likewise.
37226 (pupa_dl_ref): Likewise.
37227 (pupa_dl_unref): Likewise.
37228 (pupa_dl_iterate): Likewise.
37229 (pupa_dl_init): Renamed to ...
37230 (pupa_dl_set_prefix): ... this.
37231 (pupa_dl_get_prefix): Declared.
37233 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
37234 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
37236 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
37237 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
37239 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
37240 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
37242 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37244 * util/i386/pc/pupa-setup.c (setup): Define the internal
37245 function find_first_partition_start at the top level, because GCC
37246 3.0.x cannot compile internal functions in deeper scopes
37248 (find_root_device): Use lstat instead of stat.
37249 Don't follow symbolic links.
37250 Fix the path-constructing code.
37252 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
37253 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
37254 by a BLKGETSIZE ioctl first, because block devices don't fill
37255 the member st_mode of the structure stat on Linux.
37256 [__linux__] (linux_find_partition): Use a temporary buffer
37257 REAL_DEV for the working space. Copy it to DEV before returning.
37258 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
37259 buffer cache consistent.
37260 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
37261 strncmp. The previous value was merely wrong.
37262 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
37264 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
37265 FAT size is 12. The previous value was merely wrong.
37267 * kern/main.c (pupa_main): Don't split the starting message from
37270 * kern/term.c (pupa_putchar): Put CR after LF instead of before
37271 LF, because BIOS goes crazy about character attributes in this
37274 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37276 * include/i386/pc/util/biosdisk.h: New file.
37277 * util/i386/pc/biosdisk.c: Likewise.
37278 * util/i386/pc/pupa-setup.c: Likewise.
37280 * Makefile.in (INCLUDE_DISTFILES): Added
37281 include/pupa/i386/pc/util/biosdisk.h.
37282 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
37283 directory util/i386/pc.
37284 (install-local): Added a rule for sbin_UTILITIES.
37285 (uninstall): Likewise.
37287 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
37289 * util/misc.c (xrealloc): New function.
37290 (pupa_malloc): Likewise.
37291 (pupa_free): Likewise.
37292 (pupa_realloc): Likewise.
37293 (pupa_stop): Likewise.
37294 (pupa_putchar): Likewise.
37296 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
37298 * include/pupa/util/misc.h (xrealloc): Declared.
37300 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
37302 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
37303 (PUPA_BOOT_MACHINE_BPB_END): ... this.
37305 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
37306 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37308 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
37309 way should be implemented.
37310 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37312 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
37313 the size of NAME for safety.
37314 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
37317 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
37318 (pupa_setup_SOURCES): Likewise.
37320 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
37322 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37324 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
37325 bunch of pushl's from pusha, because this destroys the return
37328 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37330 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
37331 This means that any missing prototypes could be fatal. Also, you
37332 must take care when writing assembly code. See the comments at
37333 the beginning of startup.S, for more details.
37335 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
37336 compilation mechanism.
37337 (pupa_chainloader_real_boot): Likewise.
37338 (pupa_biosdisk_rw_int13_extensions): Likewise.
37339 (pupa_biosdisk_rw_standard): Likewise.
37340 (pupa_biosdisk_check_int13_extensions): Likewise.
37341 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
37342 (pupa_biosdisk_get_diskinfo_standard): Likewise.
37343 (pupa_get_memsize): Likewise.
37344 (pupa_get_mmap_entry): Likewise.
37345 (pupa_console_putchar): Likewise.
37346 (pupa_console_setcursor): Likewise.
37347 (pupa_getrtsecs): Use pushl instead of push.
37349 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
37350 memory instead of the stack for a mmap entry, because some
37351 BIOSes may ignore the maximum size and overflow.
37353 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
37355 * genmk.rb (PModule#rule): Compile automatically generated
37356 sources with module-specific CFLAGS as well as other sources.
37358 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37360 * configure.ac: Check ld.
37361 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
37362 respectively, before checking endianness and sizes.
37364 * Makefile.in (LD): New variable.
37366 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37368 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
37370 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37372 * Changelog: New file.