]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Remove extra declaration of sleep for mingw32.
[grub2.git] / ChangeLog
1 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2
3 Remove extra declaration of sleep for mingw32.
4
5 * util/misc.c (sleep) [__MINGW32__]: Removed.
6 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
7
8 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9
10 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
11 type and packname.
12 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13 Resurrected.
14 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15 (grub_netbsd_btinfo_bootwedge): New struct.
16 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
17 New function.
18 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
19
20 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
21
22 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
23 loader.
24
25 2011-09-28 Andreas Born <futur.andy@googlemail.com>
26
27 Fix incorrect identifiers in bash-completion.
28
29 * util/bash-completion.d/grub-completion.bash.in
30 (_grub_mkpasswd-pbkdf2): Rename to ...
31 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
32 (_grub_script-check): Rename to ...
33 (_grub_script_check): ... this. All users updated.
34
35 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
38 Return 0 if disk isn't biosdisk.
39
40 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
41
42 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
43 on NetBSD.
44 * Makefile.util.def (grub-fstest): Likewise.
45
46 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
47
48 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
49 Get sector size from disk label.
50
51 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
52
53 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
54 */README* as well as README*.
55 Reported by: Axel Beckert.
56
57 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
60 case of less than 256 MiB of RAM.
61
62 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * grub-core/commands/wildcard.c (make_regex): Handle @.
65
66 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * util/grub-install.in: Move cryptodisk logic to appropriate place.
69
70 2011-08-21 Szymon Janc <szymon@janc.net.pl>
71
72 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
73 AC_LANG_CONFTEST macros.
74
75 2011-08-20 Szymon Janc <szymon@janc.net.pl>
76
77 Add grub-fstest option to uncompress data for commands.
78
79 * util/grub-fstest.c (uncompress): New var.
80 (options): New option -u.
81
82 2011-08-20 Szymon Janc <szymon@janc.net.pl>
83
84 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
85 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
86
87 2011-08-20 Szymon Janc <szymon@janc.net.pl>
88
89 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
90 file type was not recognized correctly (not gzip or corrupted).
91
92 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
95 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
96
97 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
98
99 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
100 loongson.
101 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
102 video_radeon_fuloong2e.
103 * grub-core/video/radeon_fuloong2e.c: New file.
104 * include/grub/video.h (grub_video_id_t): Add new ID
105 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
106
107 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
110 define.
111 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
112 that PRID matches the detected subplatform and reset the subplatform
113 if it doesn't.
114
115 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
118
119 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
120
121 Fix PCI iterating on functions >= 4.
122
123 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
124 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
125 Removed.
126 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
127 (grub_pci_read): Fix bitmask.
128 (grub_pci_read_word): Likewise.
129 (grub_pci_read_byte): Likewise.
130 (grub_pci_write): Likewise.
131 (grub_pci_write_word): Likewise.
132 (grub_pci_write_byte): Likewise.
133
134 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
137 can still be specified in TARGET_CFLAGS)
138
139 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
140
141 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
142
143 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
144 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
145 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
146 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
147 (FULOONG): Rename to ...
148 (FULOONG2F): ... this. All users updated.
149 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
150 (machtype_fuloong2f_str): ... this.
151 (machtype_fuloong2e_str): New string.
152 Check for machtype_fuloong2e_str.
153 * grub-core/loader/mips/linux.c (loongson_machtypes)
154 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
155 * grub-core/term/serial.c (loongson_defserial)
156 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
157 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
158 loongson_defserial.
159 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
160 Rename to ...
161 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
162 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
163 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
164 to IMAGE_FULOONG2F_FLASH. All users updated.
165 (image_targets): Rename images.
166 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
167
168 2011-08-19 Szymon Janc <szymon@janc.net.pl>
169
170 Make enable of disk cache statistics code configurable.
171
172 * configure.ac: --enable-cache-stats added.
173 * config.h.in (DISK_CACHE_STATS): New define.
174 * grub-core/Makefile.core.def (cacheinfo): New command.
175 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
176 * grub-core/commands/cacheinfo.c: New file.
177 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
178 moved to cacheinfo.c.
179 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
180 debug code.
181 * include/grub/disk.h: Likewise.
182
183 2011-08-19 Szymon Janc <szymon@janc.net.pl>
184
185 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
186 * grub-core/Makefile.am: Likewise.
187
188 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
191 non-zero pull.
192
193 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
196 All users updated.
197 (grub_jfs_lookup_symlink): Use correct starting inode.
198
199 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * util/grub-setup.c (main): Add missing gcry initialisation.
202
203 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
204
205 Don't accept text modes on EFI when booting Linux.
206
207 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
208 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
209
210 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
211 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
212
213 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
214 use of "/path/.." as in grub-install for EFI as well as handling
215 symlinks correctly.
216 Fixes Debian bug #637768.
217
218 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
219
220 * util/grub-probe.c: Remove duplicate #include.
221
222 2011-08-10 Robert Millan <rmh@gnu.org>
223
224 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
225
226 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
227 function.
228 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
229 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
230
231 2011-08-03 Robert Millan <rmh@gnu.org>
232
233 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
234 la_array as packed.
235 Reported by: Zachary Bedell
236
237 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
238
239 * configure.ac: The Loongson port requires grub-mkfont due to its
240 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
241 be built.
242
243 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
244
245 * util/grub-install.in: Don't source grub-mkconfig_lib until after
246 processing arguments (otherwise help2man fails when GRUB has not yet
247 been installed).
248
249 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
250
251 New script grub-mkstandalone.
252
253 * Makefile.util.def (grub-mkstandalone): New script.
254 * docs/man/grub-mkstandalone.h2m: New file.
255 * util/grub-mkstandalone.in: Likewise.
256
257 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
258
259 Support ATA disks with 4K sectors.
260
261 * include/grub/ata.h (grub_ata): New member log_sector_size.
262 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
263 (grub_ata_identify): Read sector size.
264 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
265
266 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * util/grub-install.in: Don't use uhci outside of x86.
269
270 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * util/grub-mkrescue.in: Add missing quotes.
273
274 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
277 dereference.
278
279 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
282
283 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * include/grub/video.h: add missing EXPORT_FUND on
286 grub_video_edid_checksum and grub_video_edid_preferred_mode.
287
288 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * include/grub/mips/kernel.h: Fix define conflict.
291
292 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
295 all four ways.
296
297 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
298
299 Preferred resolution detection for VBE.
300
301 * grub-core/video/video.c (grub_video_edid_checksum): New function.
302 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
303 the Flat Panel extension, in line with the X.org VESA driver.
304 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
305 New function.
306 (grub_vbe_bios_get_ddc_capabilities): Likewise.
307 (grub_vbe_bios_read_edid): Likewise.
308 (grub_vbe_get_preferred_mode): Likewise.
309 (grub_video_vbe_setup): When the mode is "auto", try to get the
310 preferred mode from VBE, and use the largest mode that is no larger
311 than the preferred mode (some BIOSes expose a preferred mode that is
312 not in their mode list!). If this fails, fall back to 640x480 as a
313 safe conservative choice.
314 (grub_video_vbe_get_edid): New function.
315 (grub_video_vbe_adapter): Add get_edid.
316 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
317 (struct grub_video_adapter): Add get_edid.
318 (grub_video_edid_checksum): Add prototype.
319 (grub_video_edid_preferred_mode): Likewise.
320 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
321 structure.
322
323 * grub-core/commands/videoinfo.c (print_edid): New function.
324 (grub_cmd_videoinfo): Print EDID if available.
325
326 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
327 is more appropriate on a wider range of platforms than 640x480.
328 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
329 documentation.
330
331 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
334
335 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * po/POTFILES.in: Regenerate.
338
339 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
342 incorrect memory usage.
343
344 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * util/grub-install.in: Source grub-mkconfig_lib.
347
348 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
349
350 Remove getroot.c from core on emu platform.
351
352 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
353 kern/emu/raid.c.
354 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
355 useless.
356 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
357 * util/getroot.c (get_win32_path): ... here.
358 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
359 * util/getroot.c (fini_libzfs): ... here.
360 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
361 * util/getroot.c (grub_get_libzfs_handle): ... here.
362 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
363 Moved from here...
364 * util/getroot.c (grub_find_zpool_from_dir): ... here.
365 * grub-core/kern/emu/misc.c
366 (grub_make_system_path_relative_to_its_root): Moved from here...
367 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
368 * grub-core/kern/emu/getroot.c: Moved from here ...
369 * util/getroot.c: ... here. All users updated.
370 * grub-core/kern/emu/raid.c: Moved from here ...
371 * util/raid.c: ... here. All users updated.
372
373 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * po/POTFILES.in: Regenerate.
376
377 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
378
379 Fix compilation on GNU/Linux.
380
381 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
382 Disable geli.
383 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
384 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
385 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
386
387 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
388 2011-07-07 Michael Gorven <michael@gorven.za.net>
389 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
390
391 LUKS and GELI support.
392
393 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
394 grub-core/disk/luks.c, grub-core/disk/geli.c,
395 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
396 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
397 grub-core/lib/arg.c.
398 (libgrubmods.a): Remove gcrypts cflags and cppflags.
399 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
400 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
401 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
402 (grub-bin2h): Add libgcry.a.
403 (grub-mkimage): Likewise.
404 (grub-mkrelpath): Likewise.
405 (grub-script-check): Likewise.
406 (grub-editenv): Likewise.
407 (grub-mkpasswd-pbkdf2): Likewise.
408 (grub-pe2elf): Likewise.
409 (grub-fstest): Likewise.
410 (grub-mkfont): Likewise.
411 (grub-mkdevicemap): Likewise.
412 (grub-probe): Likewise.
413 (grub-ofpath): Likewise.
414 (grub-mklayout): Likewise.
415 (example_unit_test): Likewise.
416 (grub-menulst2cfg): Likewise.
417 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
418 * grub-core/Makefile.core.def (cryptodisk): New module.
419 (luks): Likewise.
420 (geli): Likewise.
421 * grub-core/disk/AFSplitter.c: New file.
422 * grub-core/disk/cryptodisk.c: Likewise.
423 * grub-core/disk/geli.c: Likewise.
424 * grub-core/disk/luks.c: Likewise.
425 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
426 grub_util_is_lvm.
427 (grub_util_get_dm_abstraction): New function.
428 (grub_util_follow_gpart_up): Likewise.
429 (grub_util_get_geom_abstraction): Likewise.
430 (grub_util_get_dev_abstraction): Use new functions.
431 (grub_util_pull_device): Pull GELI and LUKS.
432 (grub_util_get_grub_dev): Handle LUKS and GELI.
433 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
434 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
435 (follow_geom_up): Removed.
436 (grub_util_fd_seek): New function.
437 (open_device): Use grub_util_fd_seek.
438 (nread): Rename to ..
439 (grub_util_fd_read): ... this. All users updated.
440 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
441 (grub_crypto_cbc_decrypt): Likewise.
442 (grub_crypto_hmac_write): Likewise.
443 (grub_crypto_hmac_buffer): Likewise.
444 (grub_password_get): Extend to util.
445 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
446 New member modname.
447 (gcry_md_spec) [GRUB_UTIL]: Likewise.
448 * include/grub/cryptodisk.h: New file.
449 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
450 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
451 LUKS and GELI.
452 (grub_util_follow_gpart_up): New proto.
453 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
454 (grub_util_fd_read): Likewise.
455 (grub_cryptodisk_cheat_mount): Likewise.
456 (grub_util_cryptodisk_print_uuid): Likewise.
457 (grub_util_get_fd_sectors): Likewise.
458 * util/grub-fstest.c (mount_crypt): New var.
459 (fstest): Mount crypto if requested.
460 (options): New option -C.
461 (argp_parser): Parse -C.
462 (main): Init and fini gcry.
463 * util/grub-install.in: Support cryptodisk install.
464 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
465 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
466 cryptodisk.
467 (prepare_grub_to_access_device): Likewise.
468 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
469 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
470 (probe_cryptodisk_uuid): New function.
471 (probe_abstraction): Likewise.
472 (probe): Use new functions.
473 * util/import_gcry.py: Create Makefile.utilgcry.def.
474 Add modname member.
475
476 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
477
478 Lazy device scanning.
479
480 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
481 (grub-setup): Remove util/raid.c.
482 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
483 * grub-core/disk/lvm.c (scan_depth): New variable.
484 (grub_lvm_iterate): Rescan if necessary.
485 (find_lv): New function based on grub_lvm_open.
486 (grub_lvm_open): Use find_lv. Rescan on error.
487 (is_node_readable): New function.
488 (is_lv_readable): Likewise.
489 (grub_lvm_scan_device): Skip already found disks.
490 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
491 Stop if searched device is found and readable.
492 * grub-core/disk/raid.c (inscnt): New variable.
493 (scan_depth): Likewise.
494 (scan_devices): New function based on grub_raid_register. Abort if
495 looked for device is found.
496 (grub_raid_iterate): Rescan if needed.
497 (find_array): NEw function based on -grub_raid_open.
498 (grub_raid_open): Use find_array and rescan.
499 (insert_array): Set became_readable_at.
500 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
501 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
502 New function.
503 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
504 (grub_util_pull_device): New function.
505 (grub_util_get_grub_dev): Call grub_util_pull_device.
506 * util/raid.c: Moved to ..
507 * grub-core/kern/emu/raid.c: ... here.
508 (grub_util_raid_getmembers): New parameter "bootable".
509 All users updated. Support 1.x.
510 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
511 All users updated.
512 * include/grub/disk.h (grub_disk_pull_t): New enum.
513 (grub_disk_dev): Change iterate prototype.
514 All users updated.
515 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
516 New proto.
517 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
518 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
519 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
520 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
521 All users updated.
522 * include/grub/util/raid.h: Removed.
523
524 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * po/POTFILES.in: Regenerate.
527
528 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
529
530 Unify sparc init with other ieee1275.
531
532 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
533 instead of kern/sparc64/ieee1275/init.c.
534 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
535 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
536 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
537 grub/machine/kernel.h.
538 (grub_ieee1275_original_stack) [__sparc__]: New variable.
539 (grub_claim_heap) [__sparc__]: Use sparc version.
540 (grub_machine_init): Moved args parsing to
541 (grub_parse_cmdline): ...this.
542 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
543 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
544 New definition.
545 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
546
547 Move BOOTP to separate file.
548
549 * grub-core/Makefile.core.def (net): Add net/bootp.c.
550 * grub-core/net/net.c: Move all BOOTP functions to
551 * grub-core/net/bootp.c: ... here.
552
553 Use frame interface on PXE.
554
555 * grub-core/Makefile.core.def (pxecmd): Removed.
556 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
557 * grub-core/commands/i386/pc/pxecmd.c: Removed.
558 * grub-core/i386/pc/pxe.c: Moved from here ...
559 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
560 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
561 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
562
563 EFI network support.
564
565 * grub-core/Makefile.core.def (efinet): New module.
566 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
567 here...
568 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
569 All users updated.
570 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
571 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
572 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
573 * grub-core/net/drivers/efi/efinet.c: New file.
574 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
575 (grub_efi_net_config): New extern var.
576
577 Various cleanups and bugfixes.
578
579 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
580 error.
581 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
582 disk declared as partition.
583 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
584 leak on failure.
585 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
586 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
587 (grub_debug_zalloc): Likewise.
588 (grub_debug_realloc): Likewise.
589 (grub_debug_memalign): Likewise.
590 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
591 Check that target is IPv4.
592 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
593 local-mac-address as fallback.
594 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
595 memory leak.
596 * grub-core/net/ip.c (ipchksum): Rename to ...
597 (grub_net_ip_chksum): ... this. All users updated.
598 (grub_net_recv_ip_packets): Special handling for DHCP.
599 * util/grub-mkimage.c (generate_image): Zero-out aout header.
600
601 Unify prefix handling
602
603 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
604 (grub_machine_get_bootlocation): ... this.
605 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
606 (grub_machine_get_bootlocation): ... this.
607 (grub_prefix): New variable.
608 (prefix): Removed.
609 (root_dev): New variable.
610 (dir): Likewise.
611 (main): Use new variables.
612 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
613 Revamped into ...
614 (grub_machine_get_bootlocation): ... this.
615 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
616 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
617 (grub_machine_get_bootlocation): ... this.
618 (grub_machine_set_prefix): Removed.
619 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
620 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
621 Revamped into ...
622 (grub_machine_get_bootlocation): ... this.
623 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
624 (grub_set_prefix_and_root): ... this. All users updated.
625 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
626 Revamped into ...
627 (grub_machine_get_bootlocation): ... this.
628 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
629 (grub_machine_get_bootlocation): New proto.
630 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
631
632 Less intrusive and more reliable seek on network implementation.
633
634 * grub-core/kern/file.c (grub_file_net_seek): Removed.
635 (grub_file_seek): Don't call grub_file_net_seek.
636 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
637 (grub_net_fs_read_real): .. this.
638 (grub_net_seek_real): Use net->offset.
639 (grub_net_fs_read): Seek if necessary.
640
641 Unify IEEE1275 netwotk config with the other platforms.
642
643 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
644 New variable.
645 (grub_machine_get_bootlocation): Support network.
646 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
647 Support type and device parsing.
648 (grub_ieee1275_get_device_type): New function.
649 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
650 into ...
651 (grub_ieee1275_net_config_real): ... this.
652 (grub_ofnet_probecards): Removed.
653 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
654 * include/grub/ieee1275/ofnet.h: Removed.
655 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
656 extern var.
657 (grub_ieee1275_get_device_type): New function.
658
659 Unify network device closing across platforms and make more robust.
660
661 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
662 grub_grubnet_fini.
663 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
664 already.
665 * grub-core/net/net.c (grub_net_network_level_interface_register):
666 Update num_ifaces.
667 (grub_net_card_unregister): Close all interfaces.
668 (receive_packets): Don't poll if no iterfaces are registered.
669 Open if necessary.
670 (grub_net_fini_hw): New function.
671 (grub_net_restore_hw): Likewise.
672 (fini_hnd): New variable.
673 (GRUB_MOD_INIT): Register preboot hook.
674 (GRUB_MOD_FINI): Run and unregister preboot hook.
675
676 Poll network cards when idle.
677
678 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
679 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
680 * grub-core/net/net.c (receive_packets): Save last poll time.
681 (grub_net_poll_cards_idle_real): New function.
682 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
683 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
684 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
685
686 Rename ofnet interfaces.
687
688 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
689 (grub_ofnet_findcards): Use ofnet_%s names.
690
691 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
692
693 Cleanup socket opening.
694
695 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
696 (grub_net_fs_close): Likewise.
697 (grub_net_fs_read_real): Use eof member.
698 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
699 (+grub_net_udp_close): New inline function.
700
701 * include/grub/net/tftp.h: Moved to the top of ...
702 * grub-core/net/tftp.c: ... here.
703 * include/grub/net/ip.h: Moved mostly to the top of ...
704 * grub-core/net/ip.c: ... here.
705 * include/grub/net/ethernet.h: Moved mostly to the top of ...
706 * grub-core/net/ethernet.c: ... here.
707
708 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
709
710 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
711 FS name.
712
713 * include/grub/net/ip.h (ipv4_ini): Removed.
714 (ipv4_fini): Likewise.
715
716 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
717 (grub_net_send_ip_packets): Likewise.
718
719 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
722 grub_read_cmos prototype.
723
724 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
725
726 VGA text support in qemu-mips
727
728 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
729 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
730 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
731 text.
732 * grub-core/kern/i386/qemu/init.c: Renamed to ...
733 * grub-core/kern/vga_init.c: ... this.
734 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
735 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
736 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
737 Adjust.
738 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
739 GRUB_MACHINE_PCI_IO_BASE.
740
741 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
742
743 MIPS qemu flash support.
744
745 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
746 magic.
747 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
748 (grub_machine_init): Probe memory if its size isn't known.
749 * util/grub-mkimage.c (image_targets): Add flash targets.
750 (generate_image): Handle flash targets.
751
752 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
753
754 MIPS qemu at_keyboard support.
755
756 * gentpl.py (videoinkernel): Add qemu-mips.
757 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
758 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
759 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
760 modules.
761 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
762 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
763 * grub-core/term/serial.c (grub_serial_register)
764 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
765
766 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
767
768 CMOS support on sparc.
769
770 * gentpl.py (cmos): Add powerpc and sparc.
771 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
772 powerpc and sparc.
773 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
774 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
775 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
776 grub_set_datetime_cmos.
777 * grub-core/lib/ieee1275/cmos.c: New file.
778 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
779 (find_rtc): Set no_ieee1275_rtc on error.
780 (grub_get_datetime): Call grub_get_datetime_cmos on error.
781 (grub_set_datetime): Call grub_set_datetime_cmos on error.
782 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
783 fail. Move value to argument. All users updated
784 (grub_cmos_write): Likewise.
785 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
786 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
787 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
788 grub_get_datetime_cmos and grub_set_datetime_cmos.
789
790 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
791
792 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
793 sourcing grub-mkconfig_lib.
794 * util/update-grub_lib.in: Likewise.
795 * util/grub.d/00_header.in: Likewise.
796 * util/grub.d/10_hurd.in: Likewise.
797 * util/grub.d/10_kfreebsd.in: Likewise.
798 * util/grub.d/10_linux.in: Likewise.
799 * util/grub.d/10_netbsd.in: Likewise.
800 * util/grub.d/10_windows.in: Likewise.
801 * util/grub.d/20_linux_xen.in: Likewise.
802 * util/grub.d/30_os-prober.in: Likewise.
803
804 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
805
806 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
807 default_bg_color rather than black.
808 (grub_gfxterm_fullscreen): Likewise.
809 (grub_gfxterm_background_color_cmd): Save new background color in
810 default_bg_color.
811
812 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
815
816 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
819 mismerge.
820
821 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
822
823 Chainloading on coreboot support.
824
825 * grub-core/Makefile.core.def (chain): Add coreboot.
826 * grub-core/loader/i386/coreboot/chainloader.c: New file.
827
828 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
831 if it happens.
832
833 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
834
835 Implement time command.
836
837 * grub-core/Makefile.core.def (time): New module.
838 * grub-core/commands/time.c: New file.
839 * grub-core/script/parser.y: Remove "time" keyword.
840 * grub-core/script/yylex.l: Likewise.
841
842 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
845
846 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
849 when handling leftovers.
850
851 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
854 so that help2man doesn't fail.
855
856 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
859 type in pointers on sparc64.
860 (get_card_packet): Likewise.
861
862 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
863
864 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
865 with `*'.
866 (grub_cmd_videoinfo): Fetch current video mode.
867
868 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
871 because of underlying system restrictions.
872
873 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
876 necessary.
877
878 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
879
880 Coreboot video support.
881
882 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
883 (vbe): Likewise.
884 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
885 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
886 here ...
887 * grub-core/kern/i386/int.S: ... here.
888 * grub-core/video/i386/pc/vbe.c: Updated includes.
889 * grub-core/video/i386/pc/vga.c: Likewise.
890 * include/grub/i386/coreboot/memory.h
891 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
892 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
893 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
894 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
895 Disable interrupts.
896 * include/grub/i386/pc/vga.h: Removed. All users updated.
897
898 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
901 definitions for dprintf.
902 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
903
904 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
907 prototype.
908 (get_card_packet): Likewise.
909
910 2011-06-26 Yves Blusseau <blusseau@zetam.org>
911
912 Display the path of the file when file is not found
913
914 * grub-core/fs/fat.c: Display the filename when file is not found.
915 * grub-core/fs/fshelp.c: Likewise.
916 * grub-core/fs/hfs.c: Likewise.
917 * grub-core/fs/jfs.c: Likewise.
918 * grub-core/fs/minix.c: Likewise.
919 * grub-core/fs/ufs.c: Likewise.
920 * grub-core/fs/btrfs.c: Likewise.
921 * grub-core/commands/i386/pc/play.c: Likewise.
922
923 2011-06-26 Szymon Janc <szymon@janc.net.pl>
924
925 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
926 pointer checks before calling grub_free().
927 * grub-core/commands/wildcard.c (match_devices): Likewise.
928 * grub-core/commands/wildcard.c (match_files): Likewise.
929 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
930 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
931 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
932 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
933 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
934 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
935 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
936 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
937 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
938
939 2011-06-25 Patrick <p55@mailinator.com>
940
941 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
942
943 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
946 (grub_pxe_send): Likewise.
947 (GRUB_MOD_INIT): Fix types.
948
949 2011-06-24 Szymon Janc <szymon@janc.net.pl>
950
951 * grub-core/io/xzio.c: Fix code style issues
952
953 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
954 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
955
956 Network infrastructure.
957 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
958
959 * include/grub/net/arp.h: New file.
960 * include/grub/net/device.h: Likewise.
961 * include/grub/net/ethernet.h: Likewise.
962 * include/grub/net/ip.h: Likewise.
963 * include/grub/net/netbuff.h: Likewise.
964 * include/grub/net/tftp.h: Likewise.
965 * include/grub/net/udp.h: Likewise.
966 * include/grub/ieee1275/ofnet.h: Likewise.
967 * include/grub/emu/export.h: Likewise.
968 * include/grub/net.h: Likewise.
969 * grub-core/net/arp.c: Likewise.
970 * grub-core/net/ethernet.c: Likewise.
971 * grub-core/net/ip.c: Likewise.
972 * grub-core/net/udp.c: Likewise.
973 * grub-core/net/tftp.c: Likewise.
974 * grub-core/net/netbuff.c: Likewise.
975 * grub-core/net/net.c: Likewise.
976 * grub-core/net/drivers/emu/emunet.c: Likewise.
977 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
978 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
979 export.h.
980 * grub-core/Makefile.core.def (net): New module.
981 (tftp): Likewise.
982 (ofnet): Likewise.
983 (emunet): Likewise.
984 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
985 network protocols.
986 * grub-core/kern/device.c (grub_net_open) : New variable.
987 (grub_device_open): Handle network device.
988 (grub_device_close): Likewise.
989 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
990 (grub_grubnet_fini): Likewise.
991 (grub_file_seek): Seek in network device.
992 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
993 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
994 network root.
995 (grub_machine_fini): Call grub_grubnet_fini.
996 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
997 network.
998 (grub_ieee1275_get_aliasdevname): New function.
999 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1000 Add unofficial Solaris network info.
1001 (grub_multiboot_make_mbi): Likewise.
1002 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
1003 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
1004 * include/grub/device.h (grub_fs): Removed.
1005 * include/grub/err.h (grub_err_t): Add network-related values.
1006 * include/grub/i386/pc/pxe.h: Removed bootp parts.
1007 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
1008 (grub_ieee1275_get_aliasdevname): New proto.
1009 * include/grub/net.h: Rewritten.
1010
1011 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
1014 names.
1015
1016 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
1019 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
1020 it truncates the output.
1021 Reported by: Ximin Luo.
1022
1023 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
1026
1027 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1030 partmap before abstraction.
1031
1032 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
1033
1034 * util/grub-mkconfig_lib.in: Add missing quotes.
1035
1036 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
1039 old method if mountinfo would return /dev/root and /dev/root doesn't
1040 exist.
1041
1042 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 ZFS zlib support
1045
1046 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
1047 (decomp_table): Add zlib entries.
1048 (zio_read): USe 8 bits for compression function rather than 3.
1049 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
1050
1051 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * grub-core/disk/ahci.c: Add missing license statements.
1054 * grub-core/fs/romfs.c: Likewise.
1055 * grub-core/lib/ia64/setjmp.S: Likewise.
1056 * grub-core/loader/i386/pc/freedos.c: Likewise.
1057 * grub-core/loader/ia64/efi/linux.c: Likewise.
1058 * grub-core/video/colors.c: Likewise.
1059 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
1060
1061 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 AHCI support.
1064
1065 * grub-core/Makefile.core.def (ata_pthru): Removed.
1066 (ahci): New module.
1067 (pata): Likewise.
1068 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
1069 on unload.
1070 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
1071 readwrite.
1072 (grub_hdparm_do_check_powermode_cmd): Likewise.
1073 (grub_hdparm_do_smart_cmd): Likewise.
1074 (grub_hdparm_set_val_cmd): Likewise.
1075 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
1076 * grub-core/disk/ahci.c: New file.
1077 * grub-core/disk/ata.c: Factor out the low-level part into ...
1078 * grub-core/disk/pata.c: ... here.
1079 * grub-core/disk/ata_pthru.c: Contents moved to ...
1080 * grub-core/disk/pata.c: ... here.
1081 * grub-core/disk/scsi.c (grub_scsi_names): New array.
1082 (grub_scsi_iterate): Use grub_scsi_names.
1083 (grub_scsi_open): Likewise.
1084 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
1085 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
1086 (grub_ata_regs_t): New struct.
1087 (grub_disk_ata_pass_through_parms): Likewise.
1088 (grub_ata_device): Renamed to ...
1089 (grub_ata): ... this.
1090 (grub_ata_dev): New struct.
1091 Removed all low-level inline functions.
1092 * include/grub/scsi.h: Add PATA and AHCI subsystems.
1093 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
1094 iterate hooks and open. All users updated.
1095 * util/grub-install.in: Handle AHCI disk module.
1096
1097 2011-06-23 Szymon Janc <szymon@janc.net.pl>
1098
1099 Add support for DRI and RSTn markers in JPEG files.
1100
1101 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
1102 (JPEG_MARKER_RST0): Likewise.
1103 (JPEG_MARKER_RST1): Likewise.
1104 (JPEG_MARKER_RST2): Likewise.
1105 (JPEG_MARKER_RST3): Likewise.
1106 (JPEG_MARKER_RST4): Likewise.
1107 (JPEG_MARKER_RST5): Likewise.
1108 (JPEG_MARKER_RST6): Likewise.
1109 (JPEG_MARKER_RST7): Likewise.
1110 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
1111 (grub_jpeg_decode_dri): New function.
1112 (grub_jpeg_decode_sos): Move image data related part into
1113 grub_jpeg_decode_data function.
1114 (grub_jpeg_decode_data): New function.
1115 (grub_jpeg_reset): New function.
1116 (grub_jpeg_decode_jpeg): Handle new markers.
1117
1118 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * util/ieee1275/ofpath.c (check_sas): Close fd.
1121 (main): Free of_path.
1122 Reported by: David Volgyes <dvolgyes>.
1123
1124 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
1127 Reported by: David Volgyes <dvolgyes>.
1128
1129 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
1132 file after stat.
1133 Reported by: David Volgyes <dvolgyes>.
1134
1135 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
1138
1139 Reported by: David Volgyes <dvolgyes>.
1140
1141 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
1144 Prevent memory leak.
1145
1146 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
1149 (main): Close file.
1150 Reported by: David Volgyes <dvolgyes>.
1151
1152 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
1155 to continue if allocation is failed.
1156
1157 Reported by: David Volgyes <dvolgyes>.
1158
1159 2011-06-23 David Volgyes <dvolgyes>
1160
1161 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
1162 dereference.
1163
1164 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 Fix spurious warning.
1167
1168 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
1169 (acorn_partition_map_find): Use .bin member.
1170
1171 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
1174 /dev/root as a valid device.
1175
1176 2011-06-23 Jim Meyering <meyering@redhat.com>
1177
1178 Avoid NULL deref in grub_device_open.
1179
1180 * grub-core/kern/device.c (grub_device_open): Don't dereference
1181 a NULL pointer upon failed grub_env_get.
1182
1183 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 Support non-512B sectors and agglomerate reads.
1186
1187 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
1188 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
1189 (disk_io_guid): Removed.
1190 (make_devices): Locate solely by BlockIO.
1191 (grub_efidisk_open): Fill log_sector_size and total_sectors.
1192 (grub_efidisk_read): Use read_blocks.
1193 (grub_efidisk_write): Use write_blocks.
1194 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
1195 log_sector_size.
1196 (get_safe_sectors): Handle non-512B sectors.
1197 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
1198 sectors.
1199 (grub_biosdisk_write): Handle non-512B sectors.
1200 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
1201 (grub_scsi_read): Remove special non-512B block handling (now handled
1202 one level up).
1203 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
1204 and do sanity checks.
1205 (grub_disk_adjust_range): Handle non-512B sectors.
1206 (transform_sector): New function.
1207 (grub_disk_read_small): Likewise.
1208 (grub_disk_read): Rewritten.
1209 (grub_disk_write): Handle non-512B sectors.
1210 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
1211 log_sector_size.
1212 (open_device): Use log_sector_size.
1213 (grub_util_biosdisk_read): Likewise.
1214 (grub_util_biosdisk_write): Likewise.
1215 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
1216 non-512B sectors.
1217 (pc_partition_map_embed): Likewise.
1218 * include/grub/disk.h (grub_disk): New field log_sector_size.
1219 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
1220 (GRUB_DISK_CACHE_BITS): Increased to 6.
1221 * util/grub-fstest.c (fstest): New command testload.
1222 (argp_parser): Likewise.
1223
1224 2011-06-16 Robert Millan <rmh@gnu.org>
1225
1226 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
1227 `ata' driver on kernel of FreeBSD 9.
1228
1229 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
1230 (get_ataraid_disk_name): New functions.
1231 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
1232 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
1233 get_ataraid_disk_name() and get_ada_disk_name().
1234
1235 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
1236
1237 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
1238 input format.
1239
1240 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
1241
1242 * docs/grub.texi (Obtaining and Building GRUB): Substitute
1243 `ftp.gnu.org' for `alpha.gnu.org'.
1244
1245 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
1246
1247 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
1248 partitions under /dev/disk/by-id/.
1249
1250 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
1251
1252 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
1253 after ten consecutive open failures. Scanning all the way up to
1254 10000 is excessive and can cause serious performance problems in
1255 some configurations.
1256 Fixes Ubuntu bug #787461.
1257
1258 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
1261 opening new one.
1262
1263 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
1264 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 Don't stat devices unless we have to.
1267
1268 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
1269 dir == /dev/mapper.
1270 (grub_guess_root_device): Use already known os_dev if possible.
1271 * grub-core/kern/emu/hostdisk.c
1272 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
1273 if device is known to be a dm one.
1274
1275 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
1276
1277 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
1278 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
1279 Reported by: Pawel Tecza.
1280
1281 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
1284 (lsefisystab): Likewise.
1285 (lssal): Likewise.
1286 (lsefimmap): Likewise.
1287 (hdparm): Enable on qemu-mips.
1288 (setjmp): Add ia64 nodist.
1289 (serial): Simplify tags.
1290
1291 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1292
1293 * Makefile.util.def (grub-ofpathname): Install manual page.
1294
1295 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1296
1297 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
1298
1299 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1300
1301 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
1302
1303 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
1306 into dprintf.
1307
1308 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 Use full 64-bit division.
1311
1312 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
1313 (grub_divmod64): ... this.
1314 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
1315 version.
1316
1317 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1318
1319 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
1320 `source'.
1321
1322 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1323
1324 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
1325 to avoid accidents when debugging with 'sh -x'.
1326 * grub-core/gensyminfo.sh.in: Likewise.
1327 * tests/example_scripted_test.in: Likewise.
1328 * tests/grub_cmd_regexp.in: Likewise.
1329 * tests/grub_script_blanklines.in: Likewise.
1330 * tests/grub_script_dollar.in: Likewise.
1331 * tests/grub_script_expansion.in: Likewise.
1332 * tests/grub_script_final_semicolon.in: Likewise.
1333 * tests/partmap_test.in: Likewise.
1334 * tests/util/grub-shell-tester.in: Likewise.
1335 * tests/util/grub-shell.in: Likewise.
1336
1337 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1338
1339 Move gfxmenu color handling to video, so that gfxterm can use it
1340 too.
1341
1342 * grub-core/gfxmenu/named_colors.c: Move to ...
1343 * grub-core/video/colors.c: ... here. Rename
1344 grub_gui_get_named_color to grub_video_get_named_color.
1345 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
1346 * grub-core/video/colors.c (my_isxdigit): ... here.
1347 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
1348 Move to ...
1349 * grub-core/video/colors.c (parse_hex_color_component): ... here.
1350 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
1351 to ...
1352 * grub-core/video/colors.c (grub_video_parse_color): ... here.
1353
1354 * include/grub/gui.h (grub_gui_color_t): Move to ...
1355 * include/grub/video.h (grub_video_rgba_color_t): ... here.
1356 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
1357 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
1358 * include/grub/gui.h (grub_gui_map_color): Move to ...
1359 * include/grub/video.h (grub_video_map_rgba_color): ... here.
1360 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
1361 to ...
1362 * include/grub/video.h (grub_video_get_named_color): ... here.
1363 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
1364 * include/grub/video.h (grub_video_parse_color): ... here.
1365
1366 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
1367 video/colors.c.
1368 (gfxmenu): Remove gfxmenu/named_colors.c.
1369 (video) [videomodules]: Add video/colors.c.
1370
1371 Add a background_color command.
1372
1373 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
1374 function.
1375 (GRUB_MOD_INIT): Register background_color command.
1376 (GRUB_MOD_FINI): Unregister background_color command.
1377 (redraw_screen_rect): Allow blend/replace of text layer to be
1378 controlled independently from whether there is a background bitmap.
1379 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
1380 changing bitmap.
1381
1382 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 Patch BPB in ntldr and chainloader --bpb.
1385
1386 * grub-core/fs/fat.c: Include grub/fat.h.
1387 (grub_fat_bpb): Moved to ...
1388 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
1389 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
1390 grub/ntfs.h.
1391 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
1392 Moved from here...
1393 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
1394 here.
1395 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
1396 New function.
1397 (grub_chainloader_cmd): Patch BPB if --bpb is given.
1398 (GRUB_MOD_INIT): Show --bpb.
1399 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
1400 * grub-core/normal/main.c (features): New variable.
1401 (GRUB_MOD_INIT): Set feature_* variables.
1402 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
1403 proto.
1404 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
1405
1406 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
1409 for cleanness.
1410
1411 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 FreeDOS direct loading support.
1414
1415 * docs/grub.texi (Supported OS): Add FreeDOS.
1416 * grub-core/Makefile.core.def (freedos): New module.
1417 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
1418 variable.
1419 (grub_relocator16_boot): Handle %ebx.
1420 * grub-core/lib/i386/relocator16.S: Likewise.
1421 * grub-core/loader/i386/pc/freedos.c: New file.
1422
1423 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 Long Linux command line support.
1426
1427 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1428 (maximal_cmdline_size): New variable.
1429 (allocate_pages): Use maximal_cmdline_size.
1430 (grub_cmd_linux): Set and use maximal_cmdline_size.
1431 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1432 (allocate_pages): Use maximal_cmdline_size.
1433 (grub_cmd_linux): Set and use maximal_cmdline_size.
1434 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
1435 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
1436 and cmdline_size.
1437
1438 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1439 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1440
1441 Improve devmapper support
1442
1443 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
1444 (grub_util_is_lvm): New function.
1445 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
1446 than lvm if not dmraid.
1447 Handle mapped md nodes.
1448 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
1449 (grub_util_device_is_mapped): ... this. Make always available. All users
1450 updated.
1451 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
1452 (convert_system_partition_to_system_disk): Handle lvm, mpath and
1453 dmraid nodes.
1454 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
1455
1456 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
1459
1460 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
1461 * grub-core/modinfo.sh.in: New file.
1462 * grub-core/Makefile.core.def (modinfo.sh): New script.
1463 * util/grub-mknetdir.in: Use modinfo.sh.
1464 * util/grub-mkrescue.in: Likewise.
1465
1466 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1469 Fix potential usage of Elf32 instead of Elf64 when compiling on
1470 32-bit architecture. Add endianness macros while on it.
1471
1472 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 Use mipsel- rather than mips- in directories involving mipsel ports to
1475 allow both endiannesses coexist.
1476
1477 * configure.ac: proparate target_cpu=mipsel rather than resetting to
1478 mips. All conditions adjusted.
1479 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
1480 variable.
1481 * util/grub-install.in: Adjust conditions to take renaming into account.
1482 * util/grub-mkimage.c (image_targets): Likewise. New target
1483 mips-qemu_mips-elf for bigendian mips.
1484
1485 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 Avoid unnecessary copying on MIPS.
1488
1489 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
1490 early if src == dest.
1491 * util/grub-mkimage.c (generate_image): Arange for src == dest if
1492 compression is none.
1493
1494 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 Reduce memory footprint on SGI by putting modules before the kernel
1497 as opposed to after.
1498
1499 * grub-core/Makefile.core.def (kernel): Increase linking address.
1500 (none_decompress): Likewise.
1501 (xz_decompress): Likewise.
1502 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
1503 address.
1504 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
1505 layout change.
1506 (grub_arch_modules_addr): New function.
1507 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
1508 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
1509 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
1510 here.
1511 * grub-core/kern/mips/startup.S (total_size): Rename to ...
1512 (grub_total_modules_size): ... this. Make global.
1513 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
1514 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
1515 New definition.
1516 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
1517 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
1518 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
1519 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
1520 * util/grub-mkimage.c (image_target_desc): New flag
1521 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
1522 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
1523 (generate_image): Handle images with modules before kernel.
1524
1525 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 Prevent potential loss of memory map by overwrite on qemu-mips.
1528
1529 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1530 Save ram size in $s4.
1531 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
1532 All users changed to grub_arch_memsize.
1533 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
1534 Loongson.
1535 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
1536 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
1537 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
1538 external variable.
1539
1540 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1541
1542 * .bzrignore: Remove grub-dumpbios.
1543
1544 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1545
1546 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
1547 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
1548 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
1549 existing options which append).
1550 * docs/grub.texi (Simple configuration): Document new options.
1551 Reported by: Ian Jackson. Fixes Debian bug #617538.
1552
1553 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1554
1555 * util/grub-fstest.c (cmd_cat): New function.
1556 (fstest): Handle CMD_CAT.
1557 (options): Add cat.
1558 (argp_parser): Handle cat.
1559
1560 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1561
1562 * Makefile.util.def (grub-bin2h): Don't install.
1563 * docs/man/grub-bin2h.h2m: Remove.
1564
1565 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
1568 place.
1569
1570 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 Reenable qemu-mips port.
1573
1574 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
1575 Fix small arc bug while on it.
1576 * gentpl.py: Handle qemu_mips.
1577 * grub-core/Makefile.am: Likewise.
1578 * grub-core/Makefile.core.def: Likewise.
1579 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
1580 inappropriate includes.
1581 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
1582 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
1583 * grub-core/kern/main.c (grub_modules_get_end)
1584 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
1585 * grub-core/kern/mips/qemu-mips: Moved to ..
1586 * grub-core/kern/mips/qemu_mips: ... this.
1587 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
1588 (grub_machine_init): Call terminfo_init and serial_init.
1589 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
1590 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1591 New variable.
1592 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
1593 parameter passing.
1594 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
1595 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
1596 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1597 * include/grub/mips/qemu_mips/cmos.h: New file.
1598 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
1599 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
1600 Removed.
1601 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
1602 Use correct mips-style address.
1603 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
1604 (GRUB_TICKS_PER_SECOND): Removed.
1605 (grub_get_rtc): Likewise.
1606 (grub_cpu_idle): Likewise.
1607 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
1608 New definition.
1609 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
1610 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
1611 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
1612 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
1613 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1614 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1615 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
1616 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
1617
1618 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 SGI ARCS port.
1621
1622 * Makefile.util.def (libgrubmods.a): Add dvh.c.
1623 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
1624 platforms.
1625 * configure.ac: New target mips-arc.
1626 * gentpl.py: Likewise.
1627 * grub-core/Makefile.am: Likewise.
1628 * grub-core/Makefile.core.def: Likewise.
1629 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
1630 (none_decompress): Likewise.
1631 (lsdev): New module.
1632 (datetime): Use lib/arc/datetime.c on ARC.
1633 (part_dvh): New module.
1634 * grub-core/commands/arc/lsdev.c: New file.
1635 * grub-core/disk/arc/arcdisk.c: Likewise.
1636 * grub-core/kern/mips/arc/init.c: Likewise.
1637 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
1638 aligned addresses.
1639 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
1640 support.
1641 (grub_arch_dl_relocate_symbols): Likewise.
1642 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
1643 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
1644 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
1645 platforms.
1646 * grub-core/lib/arc/datetime.c: New file.
1647 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
1648 pci.h on non-loongson.
1649 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
1650 (grub_linux_boot): Set unused registers to 0.
1651 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
1652 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
1653 * grub-core/mmap/mips/uppermem.c: ...here.
1654 * grub-core/partmap/dvh.c: New file.
1655 * grub-core/term/arc/console.c: Likewise.
1656 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
1657 (grub_terminfo_set_current): Add terminal "arc".
1658 (grub_terminfo_readkey): Support ARC sequences.
1659 * include/grub/arc/arc.h: New file.
1660 * include/grub/arc/console.h: Likewise.
1661 * include/grub/disk.h (grub_disk_dev_id): Add
1662 GRUB_DISK_DEVICE_ARCDISK_ID.
1663 * include/grub/mips/arc/kernel.h: New file.
1664 * include/grub/mips/arc/memory.h: Likewise.
1665 * include/grub/mips/arc/time.h: Likewise.
1666 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
1667 * include/grub/mips/kernel.h (grub_halt): ... here.
1668 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
1669 here...
1670 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
1671 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
1672 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
1673 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
1674 proto.
1675 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
1676 from here ...
1677 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
1678 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
1679 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
1680 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
1681 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
1682 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
1683 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
1684 (grub_phys_addr_t): Moved from here ...
1685 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
1686 (grub_vtop): Moved from here ...
1687 * include/grub/mips/memory.h (grub_vtop): ... here.
1688 (grub_map_memory): Moved from here ...
1689 * include/grub/mips/memory.h (grub_map_memory): ... here.
1690 (grub_unmap_memory): Moved from here ...
1691 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
1692 (grub_machine_mmap_iterate): Moved from here ...
1693 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
1694 (grub_mmap_get_lower): Moved from here ...
1695 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
1696 (grub_mmap_get_upper): Moved from here ...
1697 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
1698 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
1699 here ...
1700 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
1701 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
1702 here ...
1703 * include/grub/mips/time.h (grub_get_rtc): ... here.
1704 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
1705 here ...
1706 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
1707 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
1708 here ...
1709 * include/grub/mips/time.h (grub_cpu_idle): ... here.
1710 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
1711 definition.
1712 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
1713 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
1714 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
1715 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
1716 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1717 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1718 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
1719 (GRUB_MACHINE_LINK_ADDR): Likewise.
1720 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
1721 to 6.
1722 * util/grub-install.in: Run dvhtool on ARC.
1723 * util/grub-mkimage.c (image_targets): Add mips-arc.
1724 (generate_image): Handle ECOFF output for mips-arc.
1725
1726 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
1729 blocks.
1730
1731 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
1734 after enabling port.
1735
1736 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 Skip incorrect USB devices.
1739
1740 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
1741 configcnt == 0.
1742 * include/grub/usb.h (grub_usb_err_t): New enum value
1743 GRUB_USB_ERR_BADDEVICE.
1744
1745 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 Fuloong video init support.
1748
1749 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
1750 well.
1751 (grub_vga_read_arx): New function.
1752 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
1753 definition.
1754 (framebuffer): New members io, mmioptr and mmiobase.
1755 (read_sis_cmd): New function.
1756 (write_sis_cmd): Likewise.
1757 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
1758 rather than 640x400.
1759 * grub-core/video/sis315_init.c: New file.
1760
1761 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
1764 non-loongson.
1765 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
1766 to grub_dl_register_symbol.
1767
1768 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 Fix compilation errors.
1771
1772 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
1773 potentially unused.
1774 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
1775 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
1776 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
1777 to loongson machines.
1778
1779 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 Several FS mtime support.
1782
1783 * grub-core/fs/affs.c (grub_affs_time): New struct.
1784 (grub_affs_file): New field mtime.
1785 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
1786 type. Removed 'size'. New field 'di'. All users updated.
1787 (grub_affs_mount): Simplify checsum checking.
1788 (grub_affs_iterate_dir): New helper grub_affs_create_node.
1789 (grub_affs_dir): Handle mtime.
1790 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
1791 (grub_cpio_dir): Likewise.
1792 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
1793 (grub_hfs_filerec): New field mtime.
1794 (grub_hfs_dir): Handle mtime.
1795 (grub_hfs_mtime): New function.
1796 (grub_hfs_fs): Register grub_hfs_mtime.
1797 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
1798 (grub_iso9660_dir): New field mtime.
1799 (grub_fshelp_node): New field dirent.
1800 (iso9660_to_unixtime): New function.
1801 (iso9660_to_unixtime2): Likewise.
1802 (grub_iso9660_read_symlink): Use node->dirent.
1803 (grub_iso9660_iterate_dir): Likewise.
1804 (grub_iso9660_dir): Set mtime.
1805 (grub_iso9660_mtime): New function.
1806 (grub_iso9660_fs): Register grub_iso9660_mtime.
1807 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
1808 (grub_jfs_inode): New fields atime, ctime and mtime.
1809 (grub_jfs_dir): Set mtime.
1810 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1811 * grub-core/fs/ntfs.c (list_file): Set mtime.
1812 (grub_ntfs_dir): Likewise.
1813 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
1814 (grub_reiserfs_iterate_dir): Set mtime.
1815 (grub_reiserfs_dir): Likewise.
1816 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
1817 (grub_fshelp_node): Likewise.
1818 (grub_sfs_iterate_dir): Set mtime.
1819 (grub_sfs_dir): Likewise.
1820 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
1821 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
1822 (grub_xfs_inode): New fields atime, mtime, ctime.
1823 (grub_xfs_dir): Set mtime.
1824 * include/grub/datetime.h (grub_datetime2unixtime): New function.
1825 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
1826 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
1827
1828 Support UDF symlinks.
1829
1830 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
1831 (grub_ufs_read_symlink): New function. All users updated.
1832
1833 Check amiga partmap checksum.
1834
1835 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
1836 (grub_amiga_partition): Likewise.
1837 (amiga_partition_map_checksum): New function.
1838 (amiga_partition_map_iterate): Check checksum.
1839
1840 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 ROMFS support.
1843
1844 * Makefile.util.def (libgrubmods.a): Add romfs.
1845 * grub-core/Makefile.core.def (romfs): New module.
1846 * grub-core/fs/romfs.c: New file.
1847
1848 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 Squashfs v4 support.
1851
1852 * Makefile.util.def (libgrubmods.a): Add squash4.
1853 * grub-core/Makefile.core.def (squash4): New module.
1854 * grub-core/fs/squash4.c: New file.
1855 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
1856 disk_input_start, disk_input.
1857 (get_byte): Handle disk_input.
1858 (grub_zlib_disk_read): New function.
1859 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
1860
1861 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1862 2011-05-15 Feiran Zheng <famcool@gmail.com>
1863
1864 * Makefile.util.def (libgrubmods.a): Add minix3.
1865 * grub-core/Makefile.core.def (minix3): New module.
1866 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
1867 (GRUB_MINIX_BSIZE): Removed.
1868 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
1869 (grub_minix_ino_t): New type.
1870 (grub_minix_le_to_cpu_ino): New macro.
1871 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
1872 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
1873 (grub_minix_data): New field block_size.
1874 (grub_minix_read_file): Handle 64-bit correctly.
1875 * grub-core/fs/minix3.c: New file.
1876
1877 2011-05-15 Tristan Gingold <gingold@free.fr>
1878 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
1879 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 IA64 support.
1882
1883 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
1884 * configure.ac: Add ia64-efi target.
1885 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
1886 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
1887 * gentpl.py: Add ia64_efi platform.
1888 Rename x86_efi to efi and Add ia64-efi. All users updated.
1889 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
1890 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
1891 Remove kern/generic/rtc_get_time_ms.c on EFI.
1892 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
1893 kern/ia64/dl_helper.c on ia64-efi.
1894 Add kern/emu/cache.c on emu.
1895 (linux): Use on loader/ia64/efi/linux.c on ia64.
1896 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
1897 whether symbol is a function.
1898 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
1899 (grub_symbol): New field 'isfunc'.
1900 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
1901 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
1902 (grub_dl_load_segments): Place all sections into the same region.
1903 [__ia64__]: Create trampolines and got.
1904 [GRUB_MACHINE_EMU]: Call mprotect.
1905 (grub_dl_resolve_symbols): Resolve symbol type as well.
1906 [__ia64__]: Create function descriptors.
1907 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
1908 (grub_rtc_get_time_ms): ... this. Expressions simplified.
1909 (grub_get_rtc): New function.
1910 * grub-core/kern/emu/cache.c [__ia64__]: New file.
1911 * grub-core/kern/emu/cache.S: Renamed to ...
1912 * grub-core/kern/emu/cache_s.S: ... this.
1913 [__ia64__]: Add a nop.
1914 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
1915 [__ia64__]: New function.
1916 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
1917 * grub-core/kern/ia64/dl.c: New file.
1918 * grub-core/kern/ia64/dl_helper.c: Likewise.
1919 * grub-core/kern/ia64/efi/init.c: New file.
1920 * grub-core/kern/ia64/efi/startup.S: Likewise.
1921 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
1922 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
1923 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
1924 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
1925 * grub-core/loader/ia64/efi/linux.c: New file.
1926 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
1927 (GRUB_MOD_DEP): Likewise.
1928 (grub_dl) [__ia64__]: New fields got and tramp.
1929 (grub_dl): New field 'base'.
1930 (grub_dl_register_symbol): New argument isfunc. All users updated.
1931 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
1932 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
1933 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
1934 (grub_ia64_dl_get_tramp_got_size): New proto.
1935 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
1936 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
1937 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
1938 * include/grub/efi/api.h: Skip call wrappers on ia64.
1939 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
1940 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
1941 * include/grub/elf.h (ELF_ST_INFO): New definition.
1942 * include/grub/ia64/efi/kernel.h: New file.
1943 * include/grub/ia64/efi/memory.h: Likewise.
1944 * include/grub/ia64/efi/time.h: Likewise.
1945 * include/grub/ia64/kernel.h: Likewise.
1946 * include/grub/ia64/setjmp.h: Likewise (from glibc).
1947 * include/grub/ia64/time.h: New file.
1948 * include/grub/ia64/types.h: Likewise.
1949 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
1950 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
1951 New protos.
1952 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
1953 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1954 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
1955 * util/grub-mkimage.c (image_target_desc): New field pe_target.
1956 All users updated.
1957 (EFI64_HEADER_SIZE): New definition. All users updated.
1958 (image_targets): Add ia64-efi.
1959 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
1960 jumpers_addr. All users updated.
1961 Create function descriptors.
1962 (count_funcs): New function.
1963 (unaligned_uint32): New struct.
1964 (MASK20): New definition.
1965 (MASK19): Likewise.
1966 (MASKF21): Likewise.
1967 (add_value_to_slot_20b): New function.
1968 (add_value_to_slot_21_real): Likewise.
1969 (add_value_to_slot_21): Likewise.
1970 (ia64_kernel_trampoline): New struct.
1971 (nopm): New variable.
1972 (jump): Likewise.
1973 (make_trampoline): New function.
1974 (relocate_addresses): Handle ia64.
1975 (make_reloc_section): Likewise.
1976 (load_image): Likewise.
1977
1978 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
1981 warning. Move variables before code while on it.
1982
1983 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 Fuloong support.
1986
1987 * configure.ac: Rename yeeloong platform to loongson. All users updated.
1988 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
1989 * grub-core/boot/mips/loongson/fuloong.S: New file.
1990 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
1991 Explicitly init CS5536.
1992 [FULOONG]: Don't use serial until CS5536 is available.
1993 Set GPIO based on dumps.
1994 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
1995 [FULOONG]: Handle GPIO and memory controller differences.
1996 Parse machine type in $a2.
1997 * grub-core/boot/mips/startup_raw.S: Determine and save the
1998 architecture.
1999 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
2000 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
2001 init on architecture type.
2002 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
2003 SIS315E. Don't init at_keyboard on fuloong.
2004 (grub_halt): Support Fuloong.
2005 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
2006 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
2007 (loongson_machtypes): New array.
2008 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
2009 type.
2010 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
2011 config. All users updated. Handle CS5536 serial.
2012 * grub-core/term/serial.c (grub_serial_register): Conditionalise
2013 default port on machine type. Register serial as inactive.
2014 * grub-core/video/sis315pro.c: New file.
2015 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
2016 definition.
2017 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
2018 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
2019 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
2020 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
2021 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
2022 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
2023 to ...
2024 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
2025 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
2026 definition.
2027 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
2028 (grub_arch_machine): New extern var.
2029 * include/grub/mips/loongson/serial.h
2030 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
2031 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
2032 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
2033 (GRUB_MACHINE_SERIAL_PORT0): ... this.
2034 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
2035 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
2036 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
2037 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
2038 * include/grub/term.h (grub_term_register_input_inactive): New inline
2039 function.
2040 (grub_term_register_output_inactive): Likewise.
2041 * include/grub/video.h (grub_video_driver_id): New value
2042 GRUB_VIDEO_DRIVER_SIS315PRO.
2043 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
2044 New field "names". All users updated.
2045 New field value IMAGE_FULOONG_FLASH.
2046 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
2047
2048 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
2049
2050 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
2051 and add some clarification.
2052
2053 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
2056 platforms if kernel is compressed.
2057
2058 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
2061 unused modules since currently referrence counter isn't reliable and
2062 there isn't much memory to recover there anyway.
2063
2064 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
2067 rather than resetting it to allow modules to reference themselves
2068 in init.
2069
2070 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
2073 counter on dependencies since grub_dl_unref already handles this.
2074
2075 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
2078 on error if not already done.
2079
2080 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 Fix few potential memory misusage.
2083
2084 * grub-core/font/font.c (load_font_index): Don't free char_index to
2085 avoid double free.
2086 (grub_font_load): Zero-fill font at alloc for safety.
2087 Close file on error.
2088 (free_font): Free bmp_idx.
2089
2090 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * docs/grub.texi (Installation): Fix several outdated claims.
2093
2094 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 Handle module_license on windows.
2097
2098 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
2099 sections shifted.
2100 (insert_string): Make argument const char * instead of char *.
2101 (write_section_data): Handle long section names.
2102 Handle module_license.
2103
2104 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
2107 handle class-free menuentries.
2108 (grub_normal_add_menu_entry): Add a check to be sure.
2109
2110 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
2113 PgUp and PgDown.
2114
2115 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * configure.ac: Bump version to 1.99.
2118
2119 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 Give ATA device a bit more time on first try in order to allow disks
2122 to spin up.
2123
2124 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
2125 if dev->present is 1. Reset dev->present on failure.
2126 (grub_ata_device_initialize): Set dev->present to 1.
2127 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
2128 (grub_ata_device): New member 'present'.
2129
2130 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * util/grub-mkimage.c (generate_image): Update hash.
2133
2134 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 Flush caches on DMA memory.
2137
2138 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
2139 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
2140 (grub_dma_free): Likewise.
2141 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
2142
2143 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
2146 to avoid asm treating ld and sd as macros.
2147
2148 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
2151 decompressor.
2152
2153 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
2156 grub_decompress_core since later would fail if grub_decompress_core
2157 is too far.
2158
2159 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
2162 R_MIPS_JALR since it's used by newer compiler.
2163
2164 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
2167
2168 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
2171 file_path to 0 for surety.
2172 (grub_chainloader_boot): Set exit_data to NULL.
2173 Unset the loader once done.
2174 (grub_cmd_chainloader): Fix confusing error message if file is empty.
2175
2176 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
2179 unknown key into a dprintf.
2180
2181 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
2184 on first non-existant partition.
2185
2186 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
2189 openning fails.
2190 Reported by: Mark Korenberg.
2191
2192 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
2195 overflow.
2196
2197 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * util/grub-mkimage.c (main): Explicitely flush and sync the output
2200 before closing to ensure that it will be readable by grub-setup.
2201
2202 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
2205 (devpath_1): Use MAKE_PIWG_PATH.
2206 (devpath_2): Likewise.
2207 (devpath_3): Likewise.
2208 (devpath_4): Likewise.
2209 (devpath_5): Likewise.
2210 (devpath_6): Likewise.
2211
2212 The appleldr.mod was checked that to be binary identical to previous
2213 version.
2214
2215 2011-05-05 Zach <mikezackles>
2216
2217 Support 2010 Macbooks.
2218
2219 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
2220 (devs): Add devpath_6.
2221
2222 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
2225 /dev/random. /dev/urandom is good enough for our purposes (salting).
2226
2227 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
2230
2231 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
2234 hexadecimal.
2235
2236 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
2239 and not 0 on failure.
2240
2241 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
2242
2243 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
2244 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
2245 disk; otherwise grub_fs_probe will not fall back to the next
2246 filesystem.
2247 (grub_pxefs_open): Likewise, for consistency.
2248 Reported and tested by: Ezekiel Grave.
2249
2250 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
2251
2252 * tests/partmap_test.in: Don't hardcode path to parted.
2253 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
2254
2255 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
2256
2257 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
2258 of `ls' to find out which devices are available.
2259
2260 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
2263 than source address for efi mmap buffer.
2264
2265 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
2268 wrong action on non-detecting the magic.
2269
2270 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
2273 already supplied by another part of the module (fixes compilation on
2274 FreeBSD).
2275
2276 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
2279 match the one used by mdadm.
2280
2281 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2282
2283 * po/README: Add instructions for creating po/LINGUAS.
2284
2285 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2286
2287 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
2288 #551428.
2289
2290 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
2291 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
2292 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
2293 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2294 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
2295 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
2296 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
2297 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
2298 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
2299 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2300 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
2301 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
2302 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
2303 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
2304 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
2305 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
2306 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
2307 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
2308 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
2309 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
2310 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
2311 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
2312
2313 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2314
2315 * grub-core/kern/emu/getroot.c
2316 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
2317 test that was incorrectly reintroduced in r3214.
2318 Reported by: Ian Dall. Fixes Savannah bug #33133.
2319
2320 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2321
2322 Fix stack pointer handling in 16-bit relocator.
2323
2324 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
2325 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
2326 Fixes Ubuntu bug #683904.
2327
2328 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 * configure.ac: Bump version to 1.99~rc2.
2331
2332 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
2335 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
2336 * grub-core/lib/x86_64/setjmp.S: Likewise.
2337 * grub-core/lib/mips/setjmp.S: Likewise.
2338 * grub-core/lib/powerpc/setjmp.S: Likewise.
2339 * grub-core/lib/sparc64/setjmp.S: Likewise.
2340
2341 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
2344 * grub-core/lib/efi/datetime.c: Likewise.
2345
2346 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
2349 New function.
2350 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
2351 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
2352 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
2353
2354 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2355
2356 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
2357 bitmap.
2358 (grub_gfxterm_term_init): Likewise.
2359
2360 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 Take into account the decorations the computing menu entry width.
2363
2364 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
2365 (grub_gfxmenu_create_box): Register get_border_width.
2366 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
2367 if available.
2368 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
2369 get_border_width.
2370
2371 2011-04-18 Endres Puschner <code@e7p.de>
2372
2373 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
2374 Don't skip first class.
2375
2376 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
2379 chunks.
2380 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
2381
2382 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 Complete 64-bit division support.
2385
2386 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
2387 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
2388 * include/grub/misc.h (grub_divmod64): Rename to ...
2389 (grub_divmod64_full): ... this.
2390 (grub_divmod64): New inline function.
2391
2392 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * util/grub-mkimage.c (generate_image): Add forgotten comma.
2395
2396 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
2399 performing the necessary test.
2400
2401 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
2404 (kfreebsd.elf): Likewise.
2405 (pc-chainloader.elf): Likewise.
2406 (ntldr.elf): Likewise.
2407
2408 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 Identify RAID by its UUID rather than (guessed) name.
2411
2412 * grub-core/disk/raid.c (ascii2hex): New function.
2413 (grub_raid_open): Accept mduuid/%s specification.
2414 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
2415 (get_mdadm_uuid): ... this.
2416 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
2417
2418 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
2421 to negative size.
2422
2423 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
2424
2425 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
2426 btrfs subvolume.
2427 * util/grub.d/20_linux_xen.in: Likewise.
2428
2429 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
2430
2431 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
2432 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
2433
2434 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
2435 Build a list of relevant visible mounts using the mnt_id and
2436 parent_mnt_id fields, and then scan that list at the end.
2437
2438 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2439
2440 * docs/grub.texi (normal): New section.
2441 (normal_exit): New section.
2442 (Embedded configuration): Add reference to normal.
2443 (GRUB only offers a rescue shell): Likewise.
2444 * docs/grub-dev.texi (Error Handling): Fix typo.
2445
2446 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2447
2448 * NEWS: Drop obsolete entry about probe-only btrfs support.
2449
2450 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2451
2452 * util/import_gcry.py: Fix typo.
2453
2454 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * NEWS: Add btrfs support.
2457
2458 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2459 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
2460
2461 BtrFS support. Written by me (Vladimir) with important bugfixes and
2462 even more important testing by Colin.
2463
2464 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
2465 * grub-core/Makefile.core.def (btrfs): Add crc.c.
2466 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
2467 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
2468 mem_input_off and mem_input. All users updated to accept in-RAM input.
2469 (gzio_seek): New function.
2470 (test_zlib_header): Likewise.
2471 (grub_gzio_read): Likewise.
2472 (grub_zlib_decompress): Likewise.
2473 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
2474 Accept partial and non-virtual mounts.
2475 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
2476 avoid receiving /dev/dm-X as device.
2477 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
2478 Handle bind and partial mounts.
2479 * grub-core/lib/crc.c: New file.
2480 * include/grub/deflate.h: Likewise.
2481 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
2482 proto.
2483 * include/grub/lib/crc.h: New file.
2484
2485 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 Implement automatic module license checking according to new GNU
2488 guidelines.
2489
2490 * grub-core/kern/dl.c (grub_dl_check_license): New function.
2491 (grub_dl_load_core): Use grub_dl_check_license.
2492 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
2493 (GRUB_MOD_LICENSE): Likewise.
2494 (GRUB_MOD_DUAL_LICENSE): Likewise.
2495 All modules updated.
2496
2497 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
2498
2499 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
2500 reserved_first_sector to 1. btrfs reserves plenty of space for boot
2501 loaders.
2502 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
2503
2504 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
2507
2508 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * util/grub-fstest.c (read_file): Report GRUB error if file opening
2511 failed.
2512
2513 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * grub-core/kern/file.c (grub_file_open): Don't take into account the
2516 parenthesis in the middle of the filename.
2517
2518 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
2521 rather than trying to put initrd way too high.
2522 Reported by: Ryan Lortie <desrt@desrt.ca>
2523
2524 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
2527 improperly removed string.
2528
2529 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
2532 is_disk.
2533 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
2534 (open_device) Likewise.
2535 (grub_util_biosdisk_close): Likewise.
2536 Reported by: Mark Korenberg.
2537
2538 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
2539
2540 * util/grub-mkconfig_lib.in: Add missing quotes.
2541
2542 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
2543
2544 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
2545 is NULL.
2546
2547 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 Dynamically count the number of lines for the lower banner.
2550
2551 * grub-core/normal/menu_entry.c (per_term_screen): New member
2552 num_entries.
2553 (print_down): Use num_entries.
2554 (update_screen): Likewise.
2555 (grub_menu_entry_run): Set num_entries.
2556 * grub-core/normal/menu_text.c (menu_viewer_data): New member
2557 num_entries.
2558 (grub_print_message_indented): Move real part to ...
2559 (grub_print_message_indented_real): ... here. Additional argument
2560 dry_run.
2561 (draw_border): Additional argument num_entries.
2562 (print_message): Additional argument dry_run.
2563 (print_entries): Receive menu viewer data.
2564 (grub_menu_init_page): New argment num_entries.
2565 (menu_text_set_chosen_entry): Use num_entries.
2566 (grub_menu_try_text): Likewise.
2567 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
2568 All users updated.
2569 (grub_ucs4_count_lines): New function.
2570 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
2571 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
2572 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
2573 (grub_term_border_height): Likewise.
2574 (grub_term_num_entries): Likewise.
2575
2576 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
2579 Remove now unused string.
2580
2581 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
2582
2583 * docs/grub-dev.texi (Finding your way around): Update for 1.99
2584 build system.
2585 (Getting started): GRUB is developed in Bazaar now, not Subversion.
2586
2587 (Comment): Fix typo.
2588 (Getting started): General copy-editing.
2589 (Typical Development Experience): Likewise.
2590 (Error Handling): Likewise.
2591 (Video API): Likewise.
2592
2593 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
2594
2595 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
2596 throughout.
2597
2598 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * util/grub-mkimage.c (main): Handle special naming of yeeloong
2601 directory.
2602
2603 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
2604
2605 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
2606 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
2607 "development".
2608
2609 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
2612 grub_strcpy since the lines aren't necessarily 0-terminated.
2613
2614 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
2617 root on legacy.
2618
2619 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * grub-core/commands/probe.c (options): Argument to set isn't optional.
2622 (GRUB_MOD_INIT): DEVICE isn't optional.
2623
2624 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
2627 word on new line if it's too long anyway. Fixes a hang.
2628
2629 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
2632 const.
2633 * util/grub-setup.c (main): Reuse md device name if available.
2634 * util/raid.c (grub_util_raid_getmembers): Receive device name and
2635 not GRUB name as argument.
2636 Based on patch by: Florian Wagner <fwagner>.
2637
2638 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2641 Place mbi on low memory for better compatibility.
2642
2643 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
2646
2647 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2648 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
2649
2650 * autogen.sh: Ensure that collate and ctype locale is C.
2651 * conf/Makefile.common: Likewise.
2652
2653 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/normal/menu.c: Add missing include.
2656
2657 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
2660
2661 2011-04-08 Martin Zuther <mzuther@mzuther.de>
2662
2663 * util/grub-mkconfig.in: Ignore emacsen backup.
2664
2665 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
2668 on open.
2669 (grub_util_biosdisk_close): Likewise.
2670
2671 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
2674 const attribute and use grub_isdigit.
2675
2676 2011-04-06 Andrey <dev_null@ukr.net>
2677
2678 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
2679 gcc warning.
2680
2681 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
2684 useful grub_dprintf's.
2685
2686 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
2689
2690 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
2693
2694 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 Output errors if theme loading failed.
2697
2698 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
2699 grub_gfxterm_fullscreen on error paths to ...
2700 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
2701 theme loading error.
2702
2703 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
2706 space for older compilers.
2707 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2708
2709 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
2712 and report them as not RAID members since they are useless for GRUB.
2713 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2714
2715 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 Increase LVM implementation robustness in order not to crash on
2718 configurations like pvmove. Previously code assumed that in some places
2719 only lvs or only pvs are used whereas it seems that they are used
2720 interchangeably.
2721
2722 * grub-core/disk/lvm.c (read_node): New function.
2723 (read_lv): Use read_node.
2724 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
2725 Match volumes only at the end when all lvs are found. Take both
2726 pvs (first) and lvs (second) into account.
2727 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
2728 mirror_* into node_*. All users updated.
2729 (grub_lvm_stripe): Merge this ...
2730 (grub_lvm_mirror): ... and this ...
2731 (grub_lvm_node): ... into this. All users updated.
2732
2733 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
2736 of function to allow further scanning for LVMs.
2737
2738 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
2741 on failed seek as it breaks open fd reusage.
2742
2743 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * util/grub-install.in: Add a recommendation to use --recheck before
2746 reporting bugs.
2747
2748 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
2751 are obtained.
2752
2753 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 GRUB developper manual based on existing Internals section and
2756 contributions by the various authors with active copyright assignment.
2757
2758 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
2759 * docs/font_char_metrics.png: New file.
2760 * docs/font_char_metrics.txt: Likewise.
2761 * docs/grub-dev.texi: Likewise.
2762 * docs/grub.texi (Internals): Move from here ...
2763 * docs/grub-dev.texi: ... here.
2764
2765 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
2766
2767 Store the loopback device as data on loopback grub_disk structures,
2768 rather than the file it points to. This fixes use of freed memory
2769 if an existing loopback device is replaced.
2770
2771 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
2772 disk->data, not dev->file.
2773 (grub_loopback_read): Adjust file assignment to match.
2774 Fixes Ubuntu bug #742967.
2775
2776 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
2777
2778 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
2779 when replacing an existing device.
2780
2781 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
2784 memory corruptions.
2785
2786 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
2787 unsigned.
2788 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
2789 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
2790 (grub_jfs_read_inode): Likewise.
2791 (grub_jfs_opendir): Likewise. Remove now useless casts.
2792 (grub_jfs_getent): Likewise.
2793 Make ino a grub_uint32_t rather than int.
2794 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
2795 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
2796 division and module with bit operations.
2797 (grub_jfs_find_file): Make ino a grub_uint32_t.
2798 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
2799
2800 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
2801
2802 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
2803 warning. (This was in fact always initialised before use, but GCC
2804 wasn't smart enough to prove that.)
2805 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
2806
2807 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
2810 stack alignment.
2811 (efi_wrap_1): Likewise.
2812 (efi_wrap_2): Likewise.
2813 (efi_wrap_3): Likewise.
2814 (efi_wrap_4): Likewise.
2815 (efi_wrap_5): Likewise.
2816 (efi_wrap_6): Likewise.
2817 (efi_wrap_10): Likewise.
2818 Based on information by: Red Hat/Peter Jones.
2819
2820 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
2821
2822 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
2823 set-but-not-used variable.
2824
2825 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
2826
2827 * docs/grub.texi (Simple configuration): Be more explicit about
2828 GRUB_DEFAULT, and add an example.
2829 Reported by: Leslie Rhorer.
2830
2831 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2832
2833 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
2834 shell".
2835
2836 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
2837
2838 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
2839 * util/grub.d/20_linux_xen.in: Likewise.
2840
2841 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * util/grub.d/10_linux.in: Try alternative config filenames where
2844 we parse config file.
2845 * util/grub.d/20_linux_xen.in: Likewise.
2846
2847 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
2848
2849 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
2850 * util/grub.d/20_linux_xen.in: Likewise.
2851
2852 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * grub-core/disk/raid.c (insert_array): Add few potentially
2855 useful grub_util_info.
2856 (grub_raid_register): Likewise.
2857
2858 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
2861 Preserve partition number in mdadm code path.
2862
2863 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
2866 few potentially useful grub_util_info.
2867
2868 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
2871
2872 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2873
2874 * docs/grub.texi (default): Use @example rather than nested
2875 itemized lists to avoid breaking gendocs.
2876
2877 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2878
2879 * docs/grub.texi (Future): Update.
2880
2881 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2882
2883 * docs/grub.texi (Environment): New chapter.
2884 (Changes from GRUB Legacy): Link to "Environment block" section for
2885 details of limitations.
2886 (Simple configuration): Likewise. Link to documentation of gfxmode
2887 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
2888 respectively.
2889 (Shell-like scripting): Note that normal variables are stored in the
2890 environment.
2891 (gettext): Link to documentation of lang and locale_dir.
2892 (list_env): New section.
2893 (load_env): New section.
2894 (save_env): New section.
2895
2896 (Reporting bugs): Fix typo.
2897
2898 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
2901 the example.
2902
2903 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/term/at_keyboard.c (set_scancodes)
2906 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
2907
2908 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2909
2910 * docs/grub.texi (Menu-specific commands): Remove some semantics
2911 that were true in GRUB Legacy but not in GRUB 2.
2912 (submenu): New section.
2913 (false): New section.
2914 (read): New section.
2915 (true): New section.
2916
2917 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2918
2919 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
2920
2921 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
2922
2923 * docs/grub.texi (Simple configuration): Explain some of the
2924 current limitations of grub-mkconfig.
2925 Reported by: Leslie Rhorer.
2926
2927 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 Old macs search for boot.efi rather than for bootia32.efi.
2930
2931 * util/grub-install.in: Copy bootia32.efi to boot.efi.
2932 * util/grub-mkrescue.in: Likewise.
2933 Suggested by: Peter Jones.
2934
2935 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
2938
2939 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
2942 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
2943 (grub_lvm_mirror): New struct.
2944 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
2945 (grub_lvm_iterate): Iterate only visible volumes.
2946 (grub_lvm_read): Factor out to ..
2947 (read_lv): ... this. Support mirrors.
2948 (grub_lvm_read): New wrapper function.
2949 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
2950 stripped or mirrored.
2951
2952 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
2955
2956 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
2957
2958 * docs/grub.texi (loopback): New section.
2959
2960 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
2961
2962 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
2963 removed -p option.
2964
2965 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
2966
2967 * docs/grub.texi (BIOS installation): New section, partly based on
2968 previous text in other sections.
2969 (Installing GRUB using grub-install): Replace BIOS discussion with a
2970 cross-reference.
2971 (Images): Likewise.
2972
2973 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/kern/emu/hostdisk.c (find_partition_start)
2976 [HAVE_DIOCGDINFO]: Add safety checks.
2977
2978 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
2981 per default compiled in kernel and prior to 8.0 isn't shipped at all.
2982
2983 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
2984
2985 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
2986 real_sb->size is zero (e.g. RAID-0), get the disk size from
2987 real_sb->data_size instead.
2988 Fixes Ubuntu bug #743136.
2989
2990 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
2993 printf clauses for printing size and start.
2994
2995 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
2998 Reported and tested by: Timothy Nikkel.
2999
3000 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
3003 (dirty_region_add_real): ... this.
3004 (dirty_region_add): Don't discard margin refresh when performing
3005 scheduled repaint.
3006
3007 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * grub-core/lib/relocator.c (allocate_regstart)
3010 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
3011 terminals are capabple of malloc-free operation.
3012 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
3013 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
3014
3015 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
3016
3017 * util/grub-setup.c: Copy the partition table zone if floppy support
3018 is disabled, even if no partition table is found.
3019
3020 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
3021 during POST if an invalid partition table is contained in the PBR
3022 of the active partition when GRUB is installed to a partition.
3023
3024 2011-03-28 Colin Watson <cjwatson@debian.org>
3025
3026 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
3027 comment.
3028
3029 2011-03-28 Colin Watson <cjwatson@debian.org>
3030
3031 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
3032 to be specific about what kind of RAID device we're scanning for.
3033
3034 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
3035
3036 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
3037 return freed string.
3038
3039 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
3042
3043 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 Use libgeom on FreeBSD to detect partitions.
3046
3047 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
3048 (grub-mkrelpath): Likewise.
3049 (grub-script-check): Likewise.
3050 (grub-editenv): Likewise.
3051 (grub-mkpasswd-pbkdf2): Likewise.
3052 (grub-fstest): Likewise.
3053 (grub-mkfont): Likewise.
3054 (grub-mkdevicemap): Likewise.
3055 (grub-probe): Likewise.
3056 (grub-setup): Likewise.
3057 (grub-ofpathname): Likewise.
3058 (grub-mklayout): Likewise.
3059 (example_unit_test): Likewise.
3060 (grub-menulst2cfg): Likewise.
3061 * grub-core/Makefile.core.def (grub-emu): Likewise.
3062 (grub-emu-lite): Likewise.
3063 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
3064 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
3065 define HAVE_DIOCGDINFO.
3066 (follow_geom_up) [FreeBSD]: New function.
3067 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
3068 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
3069 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
3070 unconditionally of HAVE_DIOCGDINFO.
3071
3072 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 Fix FreeBSD compilation problem.
3075
3076 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
3077 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
3078
3079 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
3080
3081 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
3082 Switch back to page zero before loading a kernel, since some kernel
3083 drivers expect that.
3084 Thanks to: Felix Kuehling.
3085
3086 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
3089 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
3090 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
3091
3092 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
3095 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
3096
3097 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
3100 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
3101 malloc is disabled.
3102
3103 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
3106 for modules headers when counting the needed allocation size.
3107
3108 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
3111 if no ASCII character is found to prevent crash.
3112
3113 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
3114
3115 * grub-core/video/bitmap.c (match_extension): Ignore case.
3116
3117 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
3120
3121 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/script/parser.y: Declare "time" as valid argument.
3124
3125 2011-03-23 Peter Jones <pjones@redhat.com>
3126
3127 Fix incorrect assert failure reporting.
3128
3129 * grub-core/tests/example_functional_test.c (example_test): Add
3130 a failure comment.
3131 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
3132 (failure_start): ...this. Check that malloc succeeded.
3133 Don't call xvasprintf. Return failure struct.
3134 (failure_append_vtext): New function.
3135 (failure_append_text): Likewise.
3136 (add_failure): Likewise.
3137 (grub_test_assert_helper): Likewise.
3138 * include/grub/test.h (grub_test_assert_helper): New declaration.
3139 (grub_test_assert): Macro rewritten.
3140
3141 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
3144
3145 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
3148
3149 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
3152 into GRUB-style one.
3153
3154 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
3157 error and not grub_errno.
3158 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3159
3160 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
3163 GRUB_USB_SPEED_NONE in case of failure and not the error code.
3164
3165 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/efiemu/i386/pc/cfgtables.c
3168 (grub_machine_efiemu_init_tables): Make declaration a prototype.
3169 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
3170 (grub_xnu_unlock): Likewise.
3171 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
3172
3173 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
3176 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
3177 * grub-core/commands/hashsum.c (aliases): Likewise.
3178 * grub-core/commands/setpci.c (pci_registers): Likewise.
3179 * grub-core/disk/usbms.c (attach_hook): Likewise.
3180 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
3181 (zio_checksum_table): Likewise.
3182 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
3183 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
3184 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
3185 * grub-core/lib/relocator.c (leftovers): Likewise.
3186 (extra_blocks): Likewise.
3187 * grub-core/loader/i386/bsd.c (relocator): Likewise.
3188 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
3189 (modules_last): Likewise.
3190 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
3191 (devices): Likewise.
3192 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
3193 (modules_last): Likewise.
3194 * grub-core/normal/auth.c (users): Likewise.
3195 * grub-core/normal/context.c (initial_menu): Likewise.
3196 (current_menu): Likewise.
3197 * grub-core/normal/crypto.c (crypto_specs): Likewise.
3198 * grub-core/term/serial.c (grub_serial_ports): Likewise.
3199 (grub_serial_terminfo_input_template): Likewise.
3200 (grub_serial_terminfo_output_template): Likewise.
3201 (grub_serial_terminfo_input): Likewise.
3202 (grub_serial_terminfo_output): Likewise.
3203 (registered): Likewise.
3204 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
3205
3206 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
3209 grub_video_mode_type_t.
3210 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
3211 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
3212 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
3213
3214 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * util/grub-install.in: Correct the x86-64 name as x86_64.
3217
3218 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
3219
3220 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
3221 initial chunk read from the kernel always includes GRUB's multiboot
3222 header, which is now outside the first sector.
3223
3224 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
3225
3226 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
3227 cached mmap_size, so that this works correctly when called multiple
3228 times.
3229 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
3230
3231 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
3232
3233 * docs/grub.texi (Simple configuration): Tidy up formatting.
3234
3235 2011-03-07 Szymon Janc <szymon@janc.net.pl>
3236
3237 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
3238 Set-but-not-used variable removed.
3239
3240 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 Workaround yet another IEEE1275 bug.
3243
3244 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3245 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
3246 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
3247 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
3248 is set.
3249 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3250 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
3251
3252 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
3255 error.
3256
3257 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
3258
3259 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
3260 empty, since in that case we can only generate either nothing or a
3261 syntactically invalid configuration file.
3262 Reported by: Michal Suchanek. Fixes Debian bug #612898.
3263
3264 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
3265
3266 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
3267 (Making a GRUB bootable CD-ROM): Likewise.
3268 (Invoking grub-mkrescue): New section.
3269 Reported by: Yann Dirson. Fixes Debian bug #612585.
3270
3271 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
3272
3273 * util/grub-install.in: Remove unnecessary brackets from tr
3274 arguments.
3275 * util/grub.d/10_hurd.in: Likewise.
3276 * util/grub.d/10_kfreebsd.in: Likewise.
3277 * util/grub.d/10_linux.in: Likewise.
3278 * util/grub.d/20_linux_xen.in: Likewise.
3279 Reported by: Jamie Heilman. Fixes Debian bug #612564.
3280
3281 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
3282
3283 * include/grub/file.h (not_easly_seekable): Rename to ...
3284 (not_easily_seekable): ... this. Update all users.
3285
3286 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
3287
3288 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
3289 grub-mkrescue.
3290
3291 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 * util/grub-mkimage.c (generate_image): Refuse to create the images
3294 bigger than the actual flash (512K) in Loongson machines. 512K is also
3295 the biggest chip supported by them.
3296
3297 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
3300
3301 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
3302
3303 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
3304 super_offset field.
3305
3306 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * util/grub-install.in: Ignore install device on platforms
3309 where it doesn't make sense. Always use UUIDs except on pc, efi and
3310 sparc64.
3311 Reported by: Daniel Kahn Gillmor.
3312
3313 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
3316
3317 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
3320 (iterate_real): Don't rely on partition being non-NULL.
3321
3322 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
3325 supported platforms. Put a compile time assert for this rather than
3326 generate a warning with 32-bit shift.
3327
3328 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
3331 logical expression more readable.
3332
3333 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
3336 even if some elements have a name.
3337 Reported by: Alexander GQ Gerasiov.
3338
3339 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
3340
3341 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
3342 path unreadable if `grub-probe -t abstraction' fails, for example if
3343 memberlist fails on an LVM volume group.
3344 Reported by: Darius Jahandarie.
3345
3346 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
3347
3348 * docs/grub.texi (Simple configuration): Document
3349 GRUB_PRELOAD_MODULES.
3350
3351 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
3352
3353 * .bzrignore: Remove nonexistent grub-pbkdf2.
3354
3355 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * configure.ac: Bump version to 1.99~rc1.
3358
3359 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
3362 for safety.
3363
3364 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
3367 module.
3368
3369 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
3372
3373 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
3376 diskdevid.
3377
3378 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 Fix compilation on cygwin.
3381
3382 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
3383 -R .drectve on cygwin.
3384 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
3385 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
3386 (COND_CYGWIN): New condition.
3387 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
3388 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
3389 not @TARGET_OBJ2ELF@.
3390 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
3391 type to determine whether aux is to be used.
3392
3393 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
3396 realpath'ed device string.
3397 Handle floppy (somewhat).
3398 Issue error in unknown case rather than garbage.
3399 Reported by: Axel Beckert.
3400
3401 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * util/grub.d/00_header.in (load_video): Handle the case when no video
3404 drivers available.
3405 Thanks to: Axel Beckert.
3406
3407 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
3410 variable. Fixes problem on big endian platforms.
3411
3412 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
3415 It doesn't work well there.
3416
3417 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
3420 warning.
3421 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
3422 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
3423 counter.
3424
3425 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 Use alias->path rather than buggy "canon".
3428
3429 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
3430 (ofdisk_hash_add): New argument curcan. All users updated.
3431
3432 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
3433
3434 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
3435
3436 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
3439 loadmask before doing any calculations. Use correct type for offset.
3440 (grub_linux_load64): Likewise.
3441
3442 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
3443
3444 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
3445 with NULL.
3446 (console_grub_equivalences_unshift): Likewise.
3447 Reported by: Daniel Dehennin.
3448
3449 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
3452 (set_env_limn_ro): Likewise.
3453 (GRUB_MOD_INIT): Likewise.
3454 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
3455 ARRAY_SIZE while on it.
3456 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
3457 * grub-core/normal/context.c (grub_env_export): Move from here ...
3458 * grub-core/kern/env.c (grub_env_export): ... here.
3459 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
3460 prefix.
3461 * grub-core/kern/main.c (grub_main): Export root and prefix.
3462 * include/grub/env.h (grub_env_export): Export.
3463 Reported by: Seth Goldberg.
3464
3465 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3468 Take into account space used by ELF sections and multiboot palette.
3469 Reported by: Grégoire Sutre.
3470
3471 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * BUGS: New file.
3474
3475 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 Pass more appropriate video id to Linux.
3478
3479 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
3480 grub_video_get_driver_id and variable gfxpayloadforcelfb to
3481 fill have_vga.
3482 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
3483 shift params->lfb_size.
3484 * include/grub/i386/linux.h: Make an enume out of have_vga values.
3485
3486 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * util/grub-menulst2cfg.c: Add missing include of misc.h.
3489
3490 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
3493 separator and pass bootpath/devid even if only one of them is available.
3494 Reported by: Seth Goldberg.
3495
3496 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
3499 implementations bug on them.
3500
3501 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
3502 memory.
3503 (filter_memory_map): Likewise.
3504
3505 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
3508 Reported by: nebuchadnezzar.
3509
3510 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
3513 Reported by: nebuchadnezzar.
3514
3515 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 Submenu default support.
3518
3519 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
3520 auto_boot. All users updated.
3521 Declared static.
3522 Handle chosen and default with submenus.
3523 (grub_menu_execute_with_fallback): Declared static.
3524 Don't notify failure if autobooted. Upper level does it.
3525 (menuentry_eq): New function.
3526 (get_entry_number): Use menuentry_eq.
3527 (show_menu): New parameter "autobooted". All users updated.
3528 (grub_show_menu): Likewise.
3529 * include/grub/normal.h (grub_show_menu): Likewise.
3530 * include/grub/menu.h (grub_menu_execute_entry): Removed.
3531 (grub_menu_execute_with_fallback): Likewise.
3532
3533 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * util/grub-mklayout.c (usage): Update help text.
3536
3537 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
3540
3541 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * util/grub-menulst2cfg.c (main): Trim the line.
3544
3545 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
3548 (grub_machine_init): Don't check amount of low memory as reportedly
3549 INT 12h can be broken and if low memory is too low we wouldn't have
3550 gotten into grub_machine_init anyway.
3551
3552 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
3555 (grub_machine_mmap_iterate): Take low memory into account
3556
3557 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
3560 badfs.
3561 Reported by: TiCPU.
3562
3563 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
3566 members errors.
3567
3568 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3569
3570 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
3571 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
3572
3573 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3574
3575 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
3576 openbsd and netbsd types being in part_bsd module.
3577
3578 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
3581 (_FILE_OFFSET_BITS): Likewise.
3582 Reported by: Seth Goldberg.
3583
3584 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3585
3586 * configure.ac: Check for libdevmapper header.
3587
3588 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
3591 avoid aliasing.
3592 (fzap_lookup): Likewise.
3593 (dnode_get): Likewise.
3594 (make_mdn): Likewise.
3595 (zfs_mount): Likewise.
3596 (fzap_iterate): Use temporary pointer to avoid aliasing.
3597 (grub_zfs_read): Likewise.
3598 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
3599 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
3600 pointers to avoid aliasing.
3601 (grub_cmd_xnu_kernel64): Likewise.
3602 (grub_xnu_load_driver): Likewise.
3603
3604 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
3607 aliasing warning.
3608 (grub_cmd_terminal_output): Likewise.
3609 Reported and tested by: Grégoire Sutre.
3610
3611 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
3614 warning.
3615 Reported and tested by: Grégoire Sutre.
3616
3617 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * configure.ac: Do CPU substitution even if it's specified explicitly.
3620 Reported and tested by: Alain Greppin.
3621
3622 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
3625 Reported and tested by: Alain Greppin.
3626
3627 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 Satisfy some bison versions need for inttypes.h.
3630
3631 * grub-core/lib/posix_wrap/inttypes.h: New file.
3632 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
3633 (int16_t): Likewise.
3634 (int32_t): Likewise.
3635 (int64_t): Likewise.
3636 Reported and tested by: Alain Greppin.
3637
3638 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
3641 Silence spurious warning.
3642 Reported and tested by: Alain Greppin.
3643
3644 2011-01-07 Szymon Janc <szymon@janc.net.pl>
3645
3646 * docs/grub.texi (Support automatic decompression): Update with xz
3647 decompression support.
3648
3649 2011-01-07 Szymon Janc <szymon@janc.net.pl>
3650
3651 Improve loaders' kernel command line handling.
3652
3653 * grub-core/lib/cmdline.c: New file.
3654 * include/grub/lib/cmdline.h: Likewise.
3655 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
3656 grub_create_loader_cmdline to create kernel command line.
3657 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3658 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
3659 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
3660 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
3661 (linux): Add lib/cmdline.c on common.
3662
3663 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
3666 inopos might be unaligned.
3667
3668 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3671 endian transformations.
3672 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3673 Based on report by: Doug Nazar.
3674
3675 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
3676
3677 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
3678 array->members[i].start_sector.
3679 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
3680
3681 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
3684 Reported and tested by: Grégoire Sutre.
3685
3686 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
3687
3688 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
3689 avoid causing test failures by clearing the screen.
3690
3691 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
3692
3693 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
3694 Fix prefix check to handle the case where dir ends with a slash
3695 (most significantly, "/" itself).
3696 Reported by: Michael Vogt.
3697
3698 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 Run terminfo_cls on initing terminfo output to clear the screen and
3701 move the cursor to (0,0).
3702
3703 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
3704 Call grub_terminfo_output_init.
3705 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
3706 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
3707 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
3708
3709 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
3712 only when needed.
3713
3714 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
3717 CTRL.
3718
3719 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 The E820 type 5 is BADRAM, not EXEC_CODE.
3722
3723 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
3724 (GRUB_E820_BADRAM): New define.
3725 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
3726 into reserved. Propagate BADRAM.
3727 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
3728 (GRUB_E820_BADRAM): New define.
3729
3730 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
3733 Ignore the memory post-4G.
3734 (grub_relocator_firmware_alloc_region): Additional debug statement.
3735
3736 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
3739 names.
3740 Reported by: David Pravec.
3741
3742 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
3745 BIOSes.
3746
3747 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
3750 Prevent overflow.
3751 (grub_reed_solomon_recover): Likewise.
3752
3753 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
3756
3757 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
3760 variable.
3761
3762 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
3763
3764 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
3765 descriptions of extract_legacy_entries_source and
3766 extract_legacy_entries_configfile.
3767 Reported by: Seung Soo, Ha.
3768
3769 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
3770
3771 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
3772 on devices that do not implement function 0.
3773
3774 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
3775
3776 * grub-core/fs/hfsplus.c: Make parent unsigned.
3777 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
3778 overflows.
3779 (grub_hfsplus_cmp_extkey): Likewise
3780
3781 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * util/grub-install.in: Correctly use bootloader_id and not
3784 GRUB_DISTRIBUTOR on efibootmgr line.
3785
3786 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
3789
3790 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
3791
3792 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
3793 Xen and reorder menu item wording to make it clearer that this entry
3794 will launch Xen. Print separate messages when loading Xen and
3795 Linux.
3796
3797 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
3800 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
3801 loop in case of incorrect amiga partmap.
3802
3803 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
3806 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
3807 Reported by:EHeM.
3808
3809 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
3812 spurious warning.
3813 Reported by: crocket
3814
3815 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3816
3817 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
3818 Preload EFIemu.
3819 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
3820
3821 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
3824 is loaded
3825 (grub_cmd_xnu_kextdir): Likewise.
3826 (grub_cmd_xnu_splash): Likewise.
3827
3828 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 Avoid using Reed-Solomon with 0 redundancy.
3831
3832 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
3833 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
3834 or 0 redundancy.
3835 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
3836 (grub_reed_solomon_recover): Likewise.
3837
3838 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 Don't use disk subsystem in freebsd_boot.
3841
3842 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
3843 (freebsd_biosdev): Likewise.
3844 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
3845 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
3846
3847 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 Handling of files of unknown size is currently limited. They can't be
3850 used e.g. for initrd or modules. Moreover gzip handling of not
3851 easily seekable files is buggy. Disable unknown file size for now. May
3852 be inefficient but works.
3853
3854 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
3855 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3856
3857 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
3858
3859 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
3860 floppy probe.
3861
3862 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
3863
3864 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
3865
3866 2010-12-25 Shea Levy <shlevy>
3867
3868 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
3869
3870 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
3873 Windows Server 2008.
3874 Reported by: Devin Giddings.
3875
3876 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
3879 writing an error message because of async power management.
3880 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
3881 (grub_reboot): Likewise.
3882
3883 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
3884
3885 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
3886 keep unit tests from failing when they shouldn't.
3887
3888 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3889
3890 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
3891 previous patch increased the size of the RS code by 20 bytes (at
3892 least with gcc-4.4), so increase this by 20 bytes to match.
3893 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3894
3895 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3896
3897 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
3898 scratch area. Make sure to initialise chosen in standalone mode as
3899 well as non-standalone.
3900 Reported by: Robert Hooker and Andy Whitcroft.
3901 Tested by: Andy Whitcroft.
3902
3903 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3904
3905 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
3906 constructing a new unescaped string and passing it to grub_xputs in
3907 one go, rather than passing characters to grub_printf one at a time.
3908
3909 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3910
3911 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
3912 initialising utf16.
3913
3914 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
3915
3916 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
3917 comment. Add an extra layer of quotation, requiring the output of
3918 this function to be used in a printf format string.
3919 (gettext_printf): New function.
3920 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
3921 Extract translatable strings from here-documents and use a temporary
3922 variable instead, so that xgettext can find them.
3923 * util/grub.d/10_kfreebsd.in: Likewise.
3924 * util/grub.d/10_linux.in: Likewise.
3925 * util/grub.d/20_linux_xen.in: Likewise.
3926
3927 * po/grub.d.sed: New file.
3928 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
3929 arguments. Set c-format flags on all strings extracted from
3930 util/grub.d/ (xgettext refuses to include these itself for strings
3931 it extracted from a shell file, but these really are c-format).
3932
3933 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
3936 Avoid next pointing to nowhere.
3937
3938 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
3941 rather than assuming than rootblock is exactly in the middle.
3942 (grub_affs_label): Likewise.
3943
3944 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
3947 reserved_first_sector to 0.
3948 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
3949 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
3950 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
3951
3952 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 Fix handling of UTF-16 UDF labels.
3955
3956 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
3957 (read_string): .. here.
3958 (grub_udf_label): Use read_string.
3959
3960 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
3961
3962 * grub-core/normal/menu_entry.c (run): Execute commands from menu
3963 editor under argument scope.
3964 Reported by: Jordan Uggla
3965
3966 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
3969
3970 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
3971
3972 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
3973 line, and other keys scroll an entire page (previous handling was
3974 for \r and \n to scroll a page and other keys to scroll two lines).
3975
3976 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3979 Set ptrdest to correct get_physical_target_address rather than
3980 incorrect get_virtual_current_address.
3981
3982 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
3983
3984 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
3985 correct cat to grub_uint8_t * rather than grub_uint32_t *.
3986
3987 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
3988
3989 * .bzrignore: Ignore grub-core/rs_decoder.S.
3990
3991 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
3992
3993 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
3994 .mo/.mo.gz opening sequence to ...
3995 (grub_mofile_open_lang): ... here.
3996 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
3997 * util/grub.d/00_header.in (grub_lang): Include country part of
3998 locale.
3999 Reported by: Mario Limonciello.
4000
4001 2010-12-09 Robert Millan <rmh@gnu.org>
4002
4003 * NEWS: Document addition of ZFS support.
4004
4005 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
4006
4007 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
4008 rather than `/ 2', as the latter requires -Wa,--divide which would
4009 require bumping our minimum binutils version.
4010
4011 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
4012
4013 * util/grub-script-check.c (main): Print script line number on
4014 error.
4015
4016 2010-12-01 Robert Millan <rmh@gnu.org>
4017
4018 * grub-core/fs/zfs/zfs.c: New file.
4019 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
4020 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
4021 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
4022 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4023
4024 * include/grub/zfs/dmu.h: Likewise.
4025 * include/grub/zfs/dmu_objset.h: Likewise.
4026 * include/grub/zfs/dnode.h: Likewise.
4027 * include/grub/zfs/dsl_dataset.h: Likewise.
4028 * include/grub/zfs/dsl_dir.h: Likewise.
4029 * include/grub/zfs/sa_impl.h: Likewise.
4030 * include/grub/zfs/spa.h: Likewise.
4031 * include/grub/zfs/uberblock_impl.h: Likewise.
4032 * include/grub/zfs/vdev_impl.h: Likewise.
4033 * include/grub/zfs/zap_impl.h: Likewise.
4034 * include/grub/zfs/zap_leaf.h: Likewise.
4035 * include/grub/zfs/zfs.h: Likewise.
4036 * include/grub/zfs/zfs_acl.h: Likewise.
4037 * include/grub/zfs/zfs_znode.h: Likewise.
4038 * include/grub/zfs/zil.h: Likewise.
4039 * include/grub/zfs/zio.h: Likewise.
4040 * include/grub/zfs/zio_checksum.h: Likewise.
4041
4042 * Makefile.util.def: Build ZFS into libgrubmods.
4043 * grub-core/Makefile.core.def: Build zfs.mod.
4044
4045 2010-11-30 Szymon Janc <szymon@janc.net.pl>
4046
4047 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
4048 variable.
4049 * grub-core/commands/wildcard.c (match_files): Likewise.
4050
4051 2010-11-30 Robert Millan <rmh@gnu.org>
4052
4053 * grub-core/loader/i386/bsd.c
4054 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
4055 whether kernel is loaded using grub_loader_is_loaded(), rather
4056 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
4057 certain error conditions.
4058
4059 2010-11-30 Robert Millan <rmh@gnu.org>
4060
4061 * grub-core/commands/echo.c: Include `<grub/term.h>'.
4062 (grub_cmd_echo): Call grub_refresh() after printing a message.
4063
4064 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 Avoid using tricks for initialising endian variables.
4067
4068 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
4069 Make const.
4070 (GRUB_MOD_INIT): Don't byte-swap.
4071 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4072 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
4073 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
4074 (grub_swap_bytes32_compile_time): Likewise.
4075 (grub_cpu_to_le32_compile_time): Likewise.
4076 (grub_cpu_to_le16_compile_time): Likewise.
4077
4078 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * util/grub-setup.c (setup): Stop recommending --force. People who
4081 understand the dangers of blocklists are able to find this option
4082 anyway and the ones who don't shouldn't use it anyway.
4083
4084 2010-11-26 Robert Millan <rmh@gnu.org>
4085
4086 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
4087 Update all users.
4088
4089 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
4090
4091 Fix LVM-on-RAID probing.
4092
4093 * util/grub-probe.c (probe): Remember which disk was detected as
4094 RAID (perhaps an LVM physical volume). Use that disk's raidname
4095 rather than that of the top-level disk.
4096
4097 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
4098
4099 Fix cmdline argument quotes for setparams command of menuentry
4100 definitions.
4101
4102 * grub-core/commands/menuentry.c (setparams_prefix): Use single
4103 quotes for arguments.
4104 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
4105 grub_strchrsub function instead.
4106
4107 * include/grub/misc.h (grub_strchrsub): New function.
4108
4109 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4110
4111 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
4112 effort by skipping "." and ".." entries up-front.
4113 Suggested by: Michael Lazarev.
4114
4115 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4116
4117 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
4118 ldflags to ldadd, to fix link line ordering.
4119 (none_decompress): Likewise.
4120
4121 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4122
4123 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
4124 platforms.
4125 (grub-emu-lite): Remove kern/emu/cache.S.
4126
4127 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4128
4129 * util/deviceiter.c (compare_devices): If the by-id link for a
4130 device couldn't be resolved, fall back to sorting by the by-id link
4131 rather than segfaulting.
4132 Reported and tested by: Daniel Mierswa.
4133
4134 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4135
4136 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
4137 ldflags, to fix link line ordering.
4138
4139 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4140
4141 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
4142 linkers are picky about this.
4143
4144 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4145
4146 * grub-core/Makefile.am (command.lst): Adjust sed expression
4147 ordering so that extended and priority commands aren't treated as
4148 ordinary commands.
4149
4150 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4151
4152 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4153 Remove byte-swapping function calls, which are not valid in
4154 structure initialisers.
4155 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
4156 non-const.
4157 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
4158 grub_gpt_partition_type_bios_boot.
4159
4160 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4161
4162 Fix test program build on GNU/kFreeBSD.
4163
4164 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
4165 $(LIBNVPAIR)' library dependencies.
4166
4167 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4168
4169 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
4170
4171 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4172
4173 * util/grub-install.in: Remove excessive quoting that broke
4174 installations to RAID devices.
4175
4176 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
4179 bootloader version instead of 0.
4180
4181 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
4184 warning.
4185
4186 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
4189 retrieve the metadat sector if size isn't known.
4190 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4191
4192 2010-11-18 Robert Millan <rmh@gnu.org>
4193
4194 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
4195 with grub_memcmp().
4196
4197 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
4200 arrow.
4201 Reported by: Jordan Uggla.
4202
4203 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 Make better UTF compliant.
4206
4207 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
4208 sequences as incorrect.
4209 (grub_is_valid_utf8): Likewise.
4210 (grub_utf8_to_ucs4): Likewise.
4211 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
4212 (grub_ucs4_to_utf8_alloc): Likewise.
4213 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
4214
4215 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 Make legacy_source behave like source.
4218
4219 * grub-core/commands/legacycfg.c (legacy_file): Don't call
4220 grub_show_menu.
4221 (grub_cmd_legacy_source): Call grub_show_menu if needed.
4222
4223 2010-11-16 Colin Watson <cjwatson@debian.org>
4224
4225 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
4226 (-Wunused implies -Wunused-parameter, but not vice versa).
4227
4228 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
4229
4230 * configure.ac: Make error messages less confusing by testing for
4231 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
4232 accepted, but produces a diagnostic if something else is wrong).
4233
4234 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
4237 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
4238 (now unused).
4239 (grub_keyboard_controller_init)
4240 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
4241 read the initial state since controller isn't inited yet.
4242
4243 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
4246 allocate_regbeg may need to create new chunk header.
4247
4248 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 Fix quoting in legacy parser.
4251
4252 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
4253 single quotes.
4254 (grub_legacy_parse): Likewise.
4255 Reported by: Jordan Uggla.
4256 Tested by: Jordan Uggla.
4257
4258 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4259
4260 Don't add -lgcc on i386 and x86_64.
4261
4262 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
4263 * conf/Makefile.common (LDADD_KERNEL): Likewise.
4264 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
4265
4266 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * configure.ac: Add -Wno-trampolines when supported.
4269
4270 2010-11-14 Modestas Vainius <modax@debian.org>
4271
4272 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
4273 fakeraid.
4274
4275 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4276
4277 Add generic logical block size support for UDF.
4278
4279 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
4280 (GRUB_UDF_BLKSZ): Removed.
4281 (struct grub_udf_data): New field "lbshift" to hold the logical block
4282 size of the file system in log2 format. All users updated.
4283 (sblocklist): Change type to unsigned.
4284 (grub_udf_mount): Change type of "sblklist" to unsigned.
4285 Move AVDP search before VRS recognition, because the latter requires
4286 knowledge of the logical block size, which is detected during the
4287 former.
4288 Detect and validate logical block size during AVDP search, adding
4289 support for block sizes 512, 1024 and 4096.
4290 Make VRS recognition independent of block size.
4291
4292 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4293
4294 Properly handle deleted files on UDF.
4295
4296 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
4297 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
4298 set.
4299
4300 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4301
4302 Support reading files larger than 2 GiB.
4303
4304 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
4305 "offset" to grub_off_t.
4306 (grub_udf_read_file): Likewise for parameter "pos".
4307
4308 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
4311 unavailable.
4312 (Simple configuration): Refer to Changes from GRUB Legacy about
4313 save_env availability.
4314
4315 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * util/grub-install.in: Ignore empty partition table detection
4318 instead of trying to include part_ module.
4319
4320 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
4323 LVM on RAID support.
4324
4325 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 Properly define WORDS_BIGENDIAN in wrapped environments.
4328
4329 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
4330 definition.
4331 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
4332
4333 Reported by: Manoel Rebelo Abranches.
4334 Tested by: Manoel Rebelo Abranches.
4335
4336 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * util/grub-mkconfig.in: Fix quoting.
4339
4340 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 Support big ext2 files.
4343
4344 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
4345 (grub_ext2_read_block): Support triple indirect blocks.
4346 (grub_ext2_read_file): Use 64-bit types and read size_high.
4347 (grub_ext2_open): Read size_high.
4348 Reported by: Ximin Luo.
4349 Tested by: Manoel Rebelo Abranches.
4350
4351 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * util/grub-install.in: Handle filenames containing spaces.
4354 Reported by: Jordan Uggla.
4355 Tested by: Jordan Uggla.
4356
4357 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * util/grub-mkconfig.in (grub_script_check): New variable.
4360 Use grub_script_check instead of grub-script-check.
4361 Reported by: Barry Jackson.
4362
4363 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * docs/grub.texi (menu): Correct the order.
4366 Reported by: D. Hugh Redelmeier.
4367
4368 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
4371 jump.
4372
4373 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4374
4375 * include/grub/elfload.h (grub_elf32_size): New parameter.
4376 All users updated.
4377 Return maximum segments alignment.
4378 (grub_elf64_size): Likewise.
4379 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
4380 Return maximum segments alignment.
4381 (grub_elf64_size): Likewise.
4382 * grub-core/loader/powerpc/ieee1275/linux.c:
4383 (grub_linux_claimmap_iterate): New function. Uses the
4384 "available" property in the "memory" node for memory allocation
4385 for kernel in the PowerPC loader.
4386 (grub_linux_load32): Correctly find linux entry point offset.
4387 (grub_linux_load64): Likewise.
4388
4389 2010-11-07 Robert Millan <rmh@gnu.org>
4390
4391 On mips-yeeloong, build with -march=loongson2f when this flag is
4392 available (GCC >= 4.4).
4393 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
4394 `-march=mips3'.
4395 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
4396 or otherwise add -march=mips3.
4397
4398 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
4399
4400 Suppress shell expansion on echo '*' and echo "*" like cases.
4401 Reported by: Jordan Uggla.
4402
4403 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4404 string arguments before shell expansion.
4405 * tests/grub_cmd_echo.in: New testcases.
4406
4407 2010-11-07 Robert Millan <rmh@gnu.org>
4408
4409 * conf/mips-qemu-mips.rmk: Remove stale file from previous
4410 transition.
4411
4412 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * grub-core/kern/emu/hostdisk.c
4415 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
4416
4417 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
4420 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
4421 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
4422
4423 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
4426
4427 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * util/grub-install.in: Replace useless recomendation to pass
4430 --modules with a recomendation to report a bug.
4431
4432 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 Properly register serial terminfo.
4435 Reported by: Jordan Uggla
4436
4437 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
4438 const.
4439 (grub_serial_terminfo_output_template): Likewise.
4440 (grub_cmd_serial): Register "serial" with terminfo.
4441 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
4442 grub_serial_terminfo_output.
4443
4444 2010-11-05 Robert Millan <rmh@gnu.org>
4445
4446 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
4447 needed).
4448
4449 2010-11-05 Robert Millan <rmh@gnu.org>
4450
4451 On Yeeloong, pass machine type information to Linux.
4452
4453 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
4454 (LOONGSON_MACHTYPE): New macro, set to
4455 "machtype=lemote-yeeloong-2f-8.9inches".
4456 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
4457 additional argument to Linux.
4458
4459 2010-11-04 Robert Millan <rmh@gnu.org>
4460
4461 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
4462 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
4463 (its SATA disks are detected as slaveless IDE master drives on
4464 kFreeBSD).
4465 Reported by Carsten Aulbert.
4466
4467 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
4468
4469 * util/bin2h.c (main): Fix spelling error in generated output.
4470
4471 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
4472
4473 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
4474
4475 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
4478 vga= option is supplied.
4479
4480 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
4483 * util/grub.d/10_kfreebsd.in: Likewise.
4484 * util/grub.d/10_linux.in: Likewise.
4485 * util/grub.d/20_linux_xen.in: Likewise.
4486
4487 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
4490 argument as an argument to no-argument option.
4491
4492 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * util/grub.d/10_linux.in: Add missing load_video with explicit
4495 GRUB_GFXPAYLOAD_LINUX.
4496
4497 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
4500
4501 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
4504 elements with invlid index.
4505 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4506 * grub-core/disk/raid.c (insert_array): Automatically reallocate
4507 members.
4508 * include/grub/raid.h (grub_raid_member): New struct.
4509 (grub_raid_array): Transform devices and start_sector into usage of
4510 grub_raid_member. All users updated
4511 (allocated_devs): New member.
4512
4513 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
4516 is modified
4517
4518 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
4519
4520 NetBSD build fix for getline function conflict from gnulib.
4521
4522 * Makefile.util.def (libgrubkern.a): New library for grub kernel
4523 components that depend on gnulib headers.
4524 (libgrubmods.a): Renamed from earlier libgrub.a.
4525 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
4526
4527 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
4530 install rather than creating a broken install.
4531
4532 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * util/grub-setup.c (argp): Remove misleading example of installing to
4535 a partition.
4536
4537 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * util/grub-setup.c (setup): Clarify the error message.
4540
4541 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
4544
4545 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * grub-core/kern/emu/misc.c
4548 (grub_make_system_path_relative_to_its_root)
4549 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
4550
4551 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * grub-core/kern/emu/misc.c
4554 (grub_make_system_path_relative_to_its_root): Revert r2882.
4555
4556 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
4559 useless field head. All users updated.
4560 (free_subchunk): Correct handling of IN_REGION subchunk.
4561
4562 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
4563
4564 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
4565 (Supported kernels): Likewise.
4566
4567 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
4568
4569 Make mktemp invocations portable.
4570
4571 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
4572 exit if mktemp fails.
4573 * tests/grub_script_blockarg.in: Likewise.
4574 * tests/partmap_test.in: Likewise.
4575 * tests/util/grub-shell-tester.in: Likewise.
4576 * tests/util/grub-shell.in: Likewise.
4577 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4578 * Makefile.am: Likewise, and chain shell commands with `&&'
4579 instead of ';'.
4580 * util/grub-mkrescue.in: Use the same explicit template as above, and
4581 exit if mktemp fails.
4582
4583 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
4584
4585 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
4586 Linux kernel, reported by Dennis Schridde.
4587
4588 2010-10-17 Szymon Janc <szymon@janc.net.pl>
4589
4590 * grub-core/normal/auth.c (grub_auth_check_authentication):
4591 Set-but-not-used variable removed.
4592
4593 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * docs/grub.texi (GNU/Linux): Document APM unavailability with
4596 32-bit linux protocol.
4597
4598 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
4601 cursor shape for sanity.
4602
4603 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * docs/grub.texi (Installation): Document buggy BIOS install.
4606
4607 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * docs/grub.texi (Installation): Indent.
4610
4611 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * util/grub-setup.c (setup): New parameter allow_floppy.
4614 (arguments): New member allow_floppy.
4615 (argp_parser): Handle --allow-floppy.
4616 (main): Pass allow_floppy.
4617 * util/grub-install.in: New option --allow-floppy passed though to
4618 grub-setup.
4619
4620 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4621
4622 * util/grub-install.in: Handle partitionless disks.
4623
4624 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * util/grub-setup.c (setup): Don't clean blocklists before readability
4627 verfification.
4628
4629 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * docs/grub.texi (Installation): Document embedding zone. Remove
4632 obsolete grub-install example.
4633
4634 2010-10-16 Szymon Janc <szymon@janc.net.pl>
4635
4636 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4637 Set-but-not-used variable ifdef'ed.
4638 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
4639 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
4640 variable removed.
4641 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
4642 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
4643 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4644 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
4645 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
4646 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4647 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
4648 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
4649 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4650 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
4651 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
4652 Likewise.
4653
4654 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
4657 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
4658 enum value.
4659
4660 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
4663 synonym to _S5_. Needed for some DSDTs.
4664
4665 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 Userspace ACPI parser debugging.
4668
4669 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
4670 headers and add relevant defines. Don't include standard headers.
4671 (main) [GRUB_DSDT_TEST]: New function.
4672 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
4673 Don't declare functions.
4674
4675 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 Remove dead grub_efi_mm_fini.
4678
4679 * grub-core/kern/efi/mm.c (allocated_page): Removed.
4680 (ALLOCATED_PAGES_SIZE): Likewise.
4681 (MAX_ALLOCATED_PAGES): Likewise.
4682 (allocated_pages): Likewise.
4683 (grub_efi_allocate_pages): Don't record allocated pages.
4684 (grub_efi_free_pages): Likewise.
4685 (grub_efi_mm_init): Likewise.
4686 (grub_efi_mm_fini): Removed.
4687
4688 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
4691 (grub_efi_mm_init): Take into account the memory map size increase.
4692
4693 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
4696 (serial_hw_put): Wait based on real time rather than port reads. Don't
4697 roken ports.
4698 * include/grub/serial.h (grub_serial_port): New field broken.
4699
4700 2010-10-16 Robert Millan <rmh@gnu.org>
4701
4702 * grub-core/kern/emu/misc.c
4703 (grub_make_system_path_relative_to_its_root): Fix premature return
4704 when processing non-root ZFS filesystems.
4705 Reported by Sergio Talens-Oliag.
4706
4707 2010-10-15 Robert Millan <rmh@gnu.org>
4708
4709 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
4710 guarantee compressed ones are processed first.
4711
4712 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
4715 grub_efiemu_autocore.
4716
4717 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
4720 rather than 0x1b.
4721 (grub_console_getkey): Use correct jae opcode rather than ja.
4722
4723 2010-10-12 Robert Millan <rmh@gnu.org>
4724
4725 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
4726 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
4727 variable. All references updated.
4728
4729 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
4730
4731 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 Correctly distinguish mdraid flavours.
4734
4735 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
4736 (insert_array): New argument raid.
4737 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
4738 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
4739 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
4740
4741 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
4744 handling of special keys.
4745
4746 2010-10-02 Aleš Nesrsta <starous@volny.cz>
4747
4748 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
4749 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
4750
4751 2010-10-02 Aleš Nesrsta <starous@volny.cz>
4752
4753 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
4754 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
4755 users updated.
4756 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
4757 Use right endpoint when querying descriptor.
4758
4759 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 Clear out 0x80 color bit on EFI.
4762 Tested by: decoder
4763 Reported by: decoder and meta tech.
4764
4765 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
4766 (grub_console_setcolorstate): Clear out 0x80 bit.
4767 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
4768 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
4769 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
4770
4771 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
4774 Set to "auto".
4775
4776 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
4779 mo_file after freeing.
4780
4781 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
4784
4785 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
4788 flags.
4789
4790 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
4793 usage.
4794
4795 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 Put terminfo into core on ieee1275 and yeeloong (needed for console).
4798
4799 * gentpl.py: New groups terminfoinkernel and terminfomodule.
4800 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
4801 and terminfo.h when needed.
4802 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
4803 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
4804 (terminfo): Enable only on terminfokernel.
4805 (extcmd): Likewise.
4806 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
4807 * include/grub/lib/arg.h: Likewise.
4808 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
4809 incorrect usage of ->.
4810
4811 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
4814 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
4815
4816 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 Fix coreboot compilation.
4819
4820 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4821 Take VBE info into account even if only text is supported.
4822 (fill_vbe_info): Take into account the case when only VGA text
4823 is supported.
4824 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
4825 on coreboot, multiboot and qemu.
4826
4827 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
4830 debug messages.
4831 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
4832
4833 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
4836 parameters.
4837
4838 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
4841 if they were BSD-style.
4842
4843 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * grub-core/boot/i386/pc/lnxboot.S: Replace
4846 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
4847 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
4848
4849 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 Write embedding zone using Reed-Solomon.
4852
4853 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
4854 * grub-core/Makefile.am (rs_decoder.S): New target.
4855 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
4856 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
4857 (multiboot): Move to RS part.
4858 (post_reed_solomon): New label.
4859 (grub_boot_drive): Move to non-RS part since it's modified in memory
4860 on boot.
4861 Include rs_decoder.S.
4862 * grub-core/lib/reed_solomon.c: New file.
4863 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
4864 New definition.
4865 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
4866 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
4867 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
4868 * include/grub/partition.h (grub_partition_map): Change prototype of
4869 embed to allow returning additional sectors.
4870 * include/grub/reed_solomon.h: New file.
4871 * util/grub-setup.c (setup): Handle Reed-Solomon.
4872
4873 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
4874
4875 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
4876 i386 and x86-64 definedness tests.
4877
4878 2010-09-27 Yves Blusseau <blusseau@zetam.org>
4879
4880 Fix generation of kernel_syms.lst
4881
4882 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
4883 ASM_PREFIX
4884
4885 2010-09-26 Robert Millan <rmh@gnu.org>
4886
4887 Support degraded ZFS arrays in "grub-probe -t device" resolution.
4888
4889 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
4890 the pool is an array of devices, iterate through it and return the
4891 first device that passes a stat() test (instead of blindly returning
4892 the first one).
4893
4894 2010-09-26 Robert Millan <rmh@gnu.org>
4895
4896 Build fixes for GNU/kFreeBSD.
4897
4898 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
4899 to programs that require ZFS conversion.
4900 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
4901 kernels that don't have FLOPPY_MAJOR.
4902
4903 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
4904
4905 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
4906
4907 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
4908
4909 Fix grub-emu build.
4910
4911 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
4912 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
4913 mdraid09 and mdraid1x.
4914
4915 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
4916
4917 Re-enable grub-extras.
4918
4919 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
4920 avoid confusing Automake. Run autogen only twice, once for the top
4921 level and once for grub-core. Add Makefile.util.def and
4922 Makefile.core.def from extra modules to the appropriate autogen
4923 invocations. If Makefile.common exists in an extra module, include
4924 it in both Makefile.util.am and grub-core/Makefile.core.am;
4925 similarly, include any Makefile.util.common file in Makefile.util.am
4926 and any Makefile.core.common file in grub-core/Makefile.core.am.
4927 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
4928 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
4929 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
4930 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
4931
4932 * gentpl.py (gvar_add): Turn GVARS into a set.
4933 (global_variable_initializers): Sort global variables on output.
4934 (vars_init): New function.
4935 (first_time): Likewise.
4936 (library): Ensure that non-global variable initialisations are
4937 emitted before the first time we emit code for a library block.
4938 Append to variables rather than setting them. Only emit
4939 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
4940 each conditional path.
4941 (program): installdir() emits an Autogen macro, so must be passed to
4942 var_add rather than gvar_add.
4943 (data): Likewise.
4944 (script): Likewise.
4945 (rules): New function, centralising handling for different target
4946 types. Set up Guile association lists for first_time and vars_init,
4947 and send most output to a diversion so that variable initialisations
4948 can be emitted first.
4949 (module_rules): Use new rules function.
4950 (kernel_rules): Likewise.
4951 (image_rules): Likewise.
4952 (library_rules): Likewise.
4953 (program_rules): Likewise.
4954 (script_rules): Likewise.
4955 (data_rules): Likewise.
4956
4957 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
4958
4959 * .bzrignore: Add contrib and grub-core/contrib. Remove
4960 grub-core/Makefile.gcry.am.
4961
4962 2010-09-24 Yves Blusseau <blusseau@zetam.org>
4963
4964 * grub-core/lib/LzFind.c: Add missing include.
4965 * grub-core/lib/LzmaEnc.c: Likewise.
4966 * grub-core/script/lexer.c: Likewise.
4967 * grub-core/script/yylex.l: Likewise.
4968 * util/grub-macho2img.c: Likewise.
4969 * util/grub-menulst2cfg.c: Likewise.
4970 * util/grub-mklayout.c: Likewise.
4971 * util/grub-mkpasswd-pbkdf2.c
4972 * util/grub-mkrelpath.c: Likewise.
4973 * util/resolve.c: Likewise.
4974
4975 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
4976
4977 * Makefile.util.def (example_unit_test): Add
4978 grub-core/gnulib/libgnu.a.
4979
4980 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
4981
4982 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
4983
4984 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 Support xz compression on yeeloong.
4987
4988 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
4989 * configure.ac: Check for LZMA.
4990 * grub-core/Makefile.core.def (xz_decompress): New target.
4991 (none_decompress): Likewise.
4992 * grub-core/boot/decompressor/minilib.c: New file.
4993 * grub-core/boot/decompressor/none.c: Likewise.
4994 * grub-core/boot/decompressor/xz.c: Likewise.
4995 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
4996 * grub-core/kern/mips/cache_flush.S: Likewise.
4997 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
4998 * grub-core/kern/mips/startup.S: Move first stage to ...
4999 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
5000 nomacro.
5001 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
5002 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
5003 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
5004 Allocate statically.
5005 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
5006 Allocate statically or use scratch. Don't check CRC32.
5007 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
5008 Allocate statically. Don't check CRC32.
5009 * include/grub/decompressor.h: New file.
5010 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
5011 Removed.
5012 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
5013 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
5014 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
5015 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
5016 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
5017 * util/grub-mkimage.c (grub_compression_t): New type.
5018 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
5019 (image_target_desc): New field default_compression.
5020 (image_targets): Adjust yeeloong targets.
5021 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
5022 (compress_kernel): New parameter comp.
5023 (generate_image): Likewise. Handle new compression case.
5024 (options): New option --compression
5025 (help): Likewise.
5026 (main): Handle new option.
5027
5028 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
5029
5030 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
5031
5032 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
5033
5034 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
5035 typo in __i386__ conditional.
5036
5037 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
5040 include.
5041
5042 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 Implement EFI and ACPI multiboot2 extensions.
5045
5046 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
5047 new tags as supported.
5048 (acpiv2_size): New function.
5049 (grub_multiboot_get_mbi_size): Take new tags into account.
5050 (grub_multiboot_make_mbi): Add new tags.
5051 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
5052
5053 2010-09-21 Aleš Nesrsta <starous@volny.cz>
5054
5055 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
5056 Added missing configuration of USB device.
5057
5058 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5059
5060 * grub-core/normal/menu_entry.c (run): Make sure we always return
5061 a value.
5062
5063 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5064
5065 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
5066 NumberOfPages is UINT64 according to the UEFI specification, not
5067 UINTN. Fix printf format.
5068
5069 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5070
5071 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
5072 `err' to grub_usb_err_t.
5073 Reported and tested by: KESHAV P.R.
5074
5075 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5076
5077 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
5078 tpart non-const, so that we can assign to it. (Since this is a
5079 typedef, the constness refers to the pointer rather than what it
5080 points to.)
5081
5082 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5083
5084 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
5085 $(top_srcdir)/grub-core/gnulib as well as
5086 $(top_builddir)/grub-core/gnulib.
5087 Reported by: KESHAV P.R.
5088
5089 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5090
5091 * util/grub-install.in: Fix the bootloader ID option to be
5092 consistently --bootloader-id, not --bootloader_id.
5093 Reported by: KESHAV P.R.
5094
5095 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5096
5097 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
5098 check hash checksum." consistently translatable.
5099
5100 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5101
5102 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
5103 $(top_builddir).
5104
5105 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5106
5107 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
5108 (GRUB_MOD_INIT): Register sha1sum command.
5109 (GRUB_MOD_FINI): Unregister sha1sum command.
5110
5111 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5112
5113 Keep boot and grub directory names in sync with utils scripts
5114
5115 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
5116 * config.h.in: Add previous macros.
5117 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
5118 * util/grub-install.in: Use $bootdir and $grubdir variables.
5119
5120 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5121
5122 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
5123 convert partition names to disk names if the new `convert' parameter
5124 is set.
5125 (grub_util_biosdisk_get_grub_dev): If opening the disk device
5126 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
5127 disk in its own right. This can happen with Xen disk images.
5128
5129 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5130
5131 * util/grub-editenv.c: Update strings to avoid warnings when generating
5132 grub.pot file.
5133 * util/grub-setup.c: Likewise.
5134
5135 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * configure.ac: Change version to 1.99~beta0.
5138
5139 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
5142 Add BADRAM.
5143 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
5144 Likewise.
5145 * include/multiboot.h: Resynced with specification.
5146 * include/multiboot2.h: Likewise.
5147
5148 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5149
5150 Fix po directory handling.
5151
5152 * configure.ac: Create po/Makefile.in rather than po/Makefile.
5153 * grub-core/gnulib/Makefile.am: Import gettext module.
5154 * m4/gnulib-cache.m4: Likewise.
5155 * m4/gnulib-comp.m4: Likewise.
5156 * m4/gettext.m4: New file, from gnulib.
5157 * m4/glibc2.m4: Likewise.
5158 * m4/iconv.m4: Likewise.
5159 * m4/intdiv0.m4: Likewise.
5160 * m4/intl.m4: Likewise.
5161 * m4/intldir.m4: Likewise.
5162 * m4/intlmacosx.m4: Likewise.
5163 * m4/intmax.m4: Likewise.
5164 * m4/inttypes-pri.m4: Likewise.
5165 * m4/lcmessage.m4: Likewise.
5166 * m4/lib-ld.m4: Likewise.
5167 * m4/lib-link.m4: Likewise.
5168 * m4/lib-prefix.m4: Likewise.
5169 * m4/lock.m4: Likewise.
5170 * m4/nls.m4: Likewise.
5171 * m4/po.m4: Likewise.
5172 * m4/printf-posix.m4: Likewise.
5173 * m4/progtest.m4: Likewise.
5174 * m4/threadlib.m4: Likewise.
5175 * m4/uintmax_t.m4: Likewise.
5176 * m4/visibility.m4: Likewise.
5177 * po/Makefile.am: Remove.
5178 * po/Makefile.in.in: New file, from gettext.
5179 ($(DOMAIN).pot-update): Support POTFILES-shell.
5180 * po/Makevars: New file.
5181 * po/POTFILES-shell: Rename to ...
5182 * po/POTFILES-shell.in: ... this. Update.
5183 * po/POTFILES: Rename to ...
5184 * po/POTFILES.in: ... this. Update.
5185 * po/Rules-quot: New file, from gettext.
5186 * po/boldquot.sed: Likewise.
5187 * po/en@boldquot.header: Likewise.
5188 * po/en@quot.header: Likewise.
5189 * po/insert-header.sin: Likewise.
5190 * po/quot.sed: Likewise.
5191 * po/remove-potcdate.sin: Likewise.
5192
5193 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
5196
5197 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * util/grub.d/20_linux_xen.in: Use submenus.
5200
5201 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 Support submenus.
5204
5205 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
5206 parameter submenu. All users updated.
5207 * grub-core/normal/main.c (free_menu): Rename to ...
5208 (grub_normal_free_menu): ... this. Made global.
5209 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
5210 if requested.
5211 * grub-core/normal/menu_entry.c (screen): New field submenu.
5212 (make_screen): Set submenu.
5213 (run): Open new context if requested.
5214 * include/grub/menu.h (grub_menu_entry): New field submenu.
5215 * include/grub/normal.h (grub_normal_free_menu): New proto.
5216
5217 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 Menu entries extractor.
5220
5221 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
5222 variants.
5223 (GRUB_MOD_INIT): Register new variants.
5224 (GRUB_MOD_FINI): Unregister new variants.
5225 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
5226 into grub_cmd_legacy_source.
5227 (grub_cmd_legacy_source): Implement extractor variants.
5228 (GRUB_MOD_INIT): Register new variants.
5229 (GRUB_MOD_FINI): Unregister new variants.
5230 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
5231 as an extractor.
5232 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
5233 search as an extractor.
5234 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
5235 test as an extractor.
5236 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
5237 as an extractor.
5238 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
5239 (grub_env_new_context): New function.
5240 (grub_env_context_open): Likewise.
5241 (grub_env_extractor_open): Likewise.
5242 (grub_env_extractor_close): Likewise.
5243 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
5244 grub_extractor_level.
5245 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
5246 * include/grub/env.h (grub_env_extractor_open): New proto.
5247 (grub_env_extractor_close): Likewise.
5248 * include/grub/normal.h (grub_extractor_level): New external variable.
5249
5250 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 Make cutmem accept a region specification.
5253 Suggested by: Samuel Thibault
5254
5255 * grub-core/mmap/mmap.c (parsemem): New function.
5256 (grub_cmd_cutmem): Handle new arguments.
5257
5258 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 New command cutmem.
5261
5262 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
5263 (GRUB_MOD_INIT): Register new command.
5264 (GRUB_MOD_FINI): Unregister new command.
5265
5266 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 Support some annoying BSD and Minix subpartitions.
5269
5270 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
5271 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
5272 Properly handle concatenation.
5273 * grub-core/kern/device.c (grub_device_iterate): Likewise.
5274 * grub-core/normal/completion.c (iterate_partition): Likewise.
5275 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
5276 contain partition. All users updated.
5277 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
5278 struct.
5279 (grub_openbsdlabel_partition_map): Likewise.
5280 (bsdlabel_partition_map_iterate): Rename to ..
5281 (iterate_real): ... this. New arguments sector, freebsd and pmap.
5282 (bsdlabel_partition_map_iterate): New function.
5283 (netopenbsdlabel_partition_map_iterate): Likewise.
5284 (netbsdlabel_partition_map_iterate): Likewise.
5285 (openbsdlabel_partition_map_iterate): Likewise.
5286 (GRUB_MOD_INIT): Register new partmaps.
5287 (GRUB_MOD_FINI): Unregister new partmaps.
5288 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
5289 (grub_partition_msdos_iterate): ... this. All users updated.
5290 Don't support embedding other than in a minix partition.
5291 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
5292 proto.
5293 * include/grub/partition.h (grub_partition): New field msdostype.
5294 * util/grub-install.in: Handle openbsd and netbsd types being in
5295 part_bsd module.
5296
5297 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
5300
5301 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
5302 * grub-core/Makefile.core.def (mdraid): Renamed to ...
5303 (mdraid09): ... this.
5304 (mdraid1x): New module.
5305 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
5306 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
5307
5308 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
5311 vsprintf.
5312
5313 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5314
5315 * grub-core/commands/efi/lsefimmap.c: Correct header.
5316 * NEWS: Update.
5317
5318 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5319
5320 * util/grub-editenv.c (argp_parser): Don't pass translated strings
5321 as printf format strings; the translations might contain '%' which
5322 could cause a crash.
5323 (main): Likewise.
5324 * util/grub-fstest.c (argp_parser): Likewise.
5325 * util/grub-setup.c (argp_parser): Likewise.
5326 (main): Likewise.
5327
5328 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 Use argp in grub-fstest.
5331
5332 * util/grub-fstest.c: Don't include getopt.h.
5333 Include argp.h.
5334 (root): New variable.
5335 (args_count): Likewise.
5336 (nparm): Likewise.
5337 (num_disks): Likewise.
5338 (images): Likewise.
5339 (cmd): Likewise.
5340 (debug_str): Likewise.
5341 (args): Likewise.
5342 (options): Transformed to argp.
5343 (usage): Removed.
5344 (main): Split argument parsing into ...
5345 (argp_parser): ... this. Changed to argp format.
5346 (argp): New variable.
5347 (main): Use argp_parse.
5348
5349 2010-09-20 Tristan Gingold <gingold@free.fr>
5350 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
5351 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * grub-core/commands/efi/lsefimmap.c: New file.
5354 * grub-core/Makefile.core.def (lsefimmap): New module.
5355 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
5356
5357 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 Pause the execution (10s max) if any errors are displayed so the user
5360 has a chance to see them.
5361
5362 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
5363 (grub_print_error): Increment grub_err_printed_errors.
5364 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
5365 execution if any errors were displayed.
5366 (show_menu): Remove old code for pause.
5367 * grub-core/normal/menu_entry.c (run): Likewise.
5368 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
5369 users updated.
5370 (grub_normal_get_char_counter): Likewise.
5371 * include/grub/err.h (grub_err_printed_errors): New external variable.
5372 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
5373
5374 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 Support multiboot VBE info.
5377
5378 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5379 Take VBE info into account.
5380 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
5381 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5382 Call fill_vbe_info when appropriate.
5383 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
5384 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
5385 as supported.
5386 (grub_multiboot_get_mbi_size): Take new tags into account.
5387 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
5388 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5389 Call fill_vbe_tag when appropriate.
5390 (grub_multiboot_make_mbi): Properly align tags.
5391 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
5392 function.
5393 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
5394 proto.
5395 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
5396
5397 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 Suport manual terminal geometry specification.
5400
5401 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
5402 Save state in grub_ofconsole_terminfo_output.
5403 (grub_ofconsole_term): Use grub_terminfo_getwh.
5404 (grub_ofconsole_getwh): Removed.
5405 * grub-core/term/serial.c (grub_serial_getwh): Removed.
5406 (grub_serial_term): Use grub_terminfo_getwh.
5407 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
5408 (options): New struct.
5409 (OPTION_*): New enum.
5410 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
5411 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
5412 width and height.
5413 (grub_terminfo_getwh): New proto.
5414 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
5415
5416 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 Handle legacy "terminal" command.
5419
5420 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
5421 and FLAG_TERMINAL.
5422 (legacy_commands): Add terminal and title.
5423 (grub_legacy_parse): Handle terminal. Simplify title handling.
5424
5425 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
5428 parameters overflow.
5429
5430 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5431
5432 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
5433 widthspec.h.
5434
5435 * docs/grub.texi (Shell-like scripting): Document `!'.
5436 (Network): Simplify using new i386-pc-pxe format. Mention
5437 grub-mknetdir.
5438
5439 * NEWS: Update.
5440
5441 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5442
5443 * Makefile.am (SUBDIRS): Restore "."; it's important to force
5444 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
5445 when needed.
5446
5447 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5448
5449 * grub-core/commands/efi/lsefisystab.c: Correct header.
5450 * grub-core/commands/efi/lssal.c: Likewise.
5451 * grub-core/commands/testload.c: Likewise.
5452
5453 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5454
5455 * util/grub-mkrescue.in: Add explicit root argument to --set to
5456 prevent the UUID being interpreted as an argument to --set (matches
5457 previous change to prepare_grub_to_access_device).
5458
5459 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5460
5461 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
5462 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
5463 the verbosity of later #ifs.
5464 (find_partition_start): Define this function on FreeBSD too.
5465 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
5466 function.
5467 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
5468 on FreeBSD.
5469
5470 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5471
5472 * util/grub-editenv.c: Use argp instead of getopt.
5473
5474 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5475
5476 * util/grub-setup.c: Use argp instead of getopt.
5477
5478 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5479
5480 Use gnulib-tool to create gnulib source files.
5481
5482 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
5483 grub-core/gnulib directories
5484 * .bzignore: Add **/.deps and autogenerated gnulib files
5485 * configure.ac: Assign auxiliary directory to build-aux, add invocation
5486 of gnulib macros, add grub-core/gnulib/Makefile
5487 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
5488 include m4 directory to aclocal.
5489 * Makefile.util.def: Remove direct compilation of gnulib source files
5490 and use the new grub-core/gnulib/libgnu.a.
5491 * build-aux/config.rpath: move config.rpath from top directory to
5492 build-aux
5493 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
5494 in gnulib headers
5495 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
5496 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
5497 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
5498 header.
5499 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
5500 string.
5501
5502 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5503
5504 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
5505 grub-core/genmod.sh and grub-core/gensyminfo.sh
5506
5507 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
5508
5509 Add a test for echo command options.
5510
5511 * tests/grub_cmd_echo.in: New test.
5512 * Makefile.util.def: Rules for new test.
5513
5514 2010-09-20 Szymon Janc <szymon@janc.net.pl>
5515
5516 Remove crc.mod and move crc command to hashsum.mod.
5517 Remove lib/crc.c - users updated to use gcrypt implementation.
5518
5519 * grub-core/commands/crc.c: Removed.
5520 * grub-core/Makefile.core.def (crc): Module removed.
5521 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
5522 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
5523 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
5524 * grub-core/lib/crc.c: Removed.
5525 * include/grub/lib/crc.h: Removed.
5526 * Makefile.util.def (crc): Remove lib/crc.c
5527 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
5528 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
5529 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
5530 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
5531 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
5532 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
5533
5534 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
5537
5538 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 Split config.h for util and core.
5541
5542 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
5543 (ADDR32): Likewise.
5544 (DATA32): Likewise.
5545 (BSS_START_SYMBOL): Likewise.
5546 (END_SYMBOL): Likewise.
5547 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
5548 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
5549 * config.h.in: New file.
5550 * configure.ac: Use config-util.h as config define file.
5551 Rename MACHINE into GRUB_MACHINE. All users updated.
5552 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
5553 updated.
5554 (NESTED_FUNC_ATTR): Likewise.
5555 Substitue new variables.
5556 (COND_HAVE_ASM_USCORE): New conditional.
5557 * grub-core/Makefile.am (ASM_PREFIX): New variable.
5558 (kernel_syms.lst): Use ASM_PREFIX.
5559 * grub-core/kern/emu/console.c: Include config-util.h.
5560 * grub-core/kern/emu/misc.c: Likewise.
5561 * grub-core/kern/emu/mm.c: Likewise.
5562 * include/grub/emu/misc.h: Likewise.
5563 * include/grub/libgcc.h: Likewise.
5564
5565 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
5568 constants usage.
5569 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
5570 Fix GRUB_TERM_KEY_* constants usage.
5571 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
5572
5573 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
5576 print pointer.
5577 * grub-core/bus/usb/uhci.c: Remove empty define.
5578 (grub_uhci_check_transfer): Add missing cast.
5579 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
5580 print pointer.
5581 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
5582 PRIuGRUB_SIZE.
5583 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
5584
5585 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * grub-core/Makefile.core.def (legacycfg): Add
5588 lib/i386/pc/vesa_modes_table.c on emu.
5589
5590 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5591
5592 Reduce number of temporary files generated by build system.
5593
5594 * grub-core/gencmdlist.sh: Removed.
5595 * grub-core/genfslist.sh: Removed.
5596 * grub-core/genhandlerlist.sh: Removed.
5597 * grub-core/genmodsrc.sh: Removed.
5598 * grub-core/genpartmaplist.sh: Removed.
5599 * grub-core/genparttoollist.sh: Removed.
5600 * grub-core/gentermiinallist.sh: Removed.
5601 * grub-core/genvideolist.sh: Removed.
5602
5603 * grub-core/genmod.sh.in: New file.
5604 * grub-core/gensyminfo.sh.in: New file.
5605
5606 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
5607 * conf/Makefile.extra-dist: Update with new files.
5608 * gentpl.py: Remove rules related to unnecessary temporary files.
5609 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
5610 and und-* files.
5611 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
5612 genmod.sh scripts.
5613 * grub-core/bus/usb/uhci.c: Remove empty #define.
5614 * grub-core/genmoddep.awk: Updated with new syminfo format.
5615 * util/bash-completion.d/Makefile.am: Add config.log to
5616 CLEANFILES.
5617
5618 2010-09-19 Yves Blusseau <blusseau@zetam.org>
5619
5620 * Makefile.util.def: Add forgotten $(LIBINTL) library.
5621
5622 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5623
5624 * util/grub-mkconfig.in: Check the config script for syntax errors
5625 before saving.
5626
5627 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
5628 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * Makefile.util.def (grub-install): Use util/grub-install.in on all
5631 platforms.
5632 * util/grub-install.in: Add EFI and IEEE1275 support.
5633 * util/i386/efi/grub-install.in: Removed.
5634 * util/ieee1275/grub-install.in: Likewise.
5635
5636 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
5639 (grub_cmd_cmosclean): Likewise.
5640 (GRUB_MOD_INIT): Register command cmosclean.
5641 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
5642 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
5643
5644 2010-09-18 Carles Pina i Estany <carles@pina.cat>
5645 2010-09-18 Aleš Nesrsta <starous@volny.cz>
5646 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 Add keyboard layouts support.
5649
5650 * Makefile.util.def (grub-mklayout): New file.
5651 (grub-kbdcomp): New script.
5652 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
5653 Add keyboard_layouts.h.
5654 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
5655 commands/boot.c on yeeloong.
5656 (keylayouts): New module.
5657 * grub-core/bus/usb/ohci.c
5658 * grub-core/bus/usb/uhci.c
5659 * grub-core/bus/usb/usbhub.c (rescan): New variable.
5660 (grub_usb_add_hub): Poll interrupt pipe for device handling.
5661 (attach_root_port): Likewise.
5662 (poll_nonroot_hub): Likewise.
5663 (grub_usb_poll_devices): Likewise.
5664 (detach_device): Close transfer.
5665 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
5666 function.
5667 (grub_usb_bulk_setup_readwrite): Likewise.
5668 (grub_usb_bulk_finish_readwrite): Likewise.
5669 * grub-core/commands/keylayouts.c: New file.
5670 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
5671 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
5672 aliases.
5673 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
5674 support scancode 2.
5675 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
5676 * include/grub/keyboard_layouts.h: New file.
5677 * util/grub-mklayout.c: New file.
5678 * util/grub-kbdcomp.in: Likewise.
5679
5680 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 Unify memory types.
5683
5684 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
5685 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
5686 types.
5687 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
5688 (grub_upper_mem): Likewise.
5689 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
5690 * include/grub/memory.h (grub_memory_type_t): New enum.
5691 All users updated.
5692
5693 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * grub-core/Makefile.core.def (lsapm): New module.
5696 * grub-core/commands/i386/pc/lsapm.c: New file.
5697 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
5698 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
5699 Likewise.
5700 * include/grub/i386/pc/apm.h: New file.
5701 * include/multiboot.h (multiboot_apm_info): New struct.
5702
5703 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 GRUB-legacy configuration file support.
5706
5707 * Makefile.util.def (grub-menulst2cfg): New util.
5708 * docs/man/grub-menulst2cfg.h2m: New file.
5709 * grub-core/Makefile.core.def (legacycfg): New module.
5710 * grub-core/commands/legacycfg.c: New file.
5711 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
5712 (grub_normal_add_menu_entry): ... this.
5713 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
5714 (grub_normal_set_password): ...this.
5715 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
5716 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
5717 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
5718 * grub-core/lib/legacy_parse.c: New file.
5719 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
5720 * include/grub/i386/pc/vesa_modes_table.h: New file.
5721 * include/grub/legacy_parse.h: Likewise.
5722 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
5723 * util/grub-menulst2cfg.c: New file.
5724
5725 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
5726
5727 * grub-core/kern/emu/hostdisk.c
5728 (convert_system_partition_to_system_disk): Initialise node.
5729
5730 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
5731
5732 * grub-core/kern/emu/hostdisk.c
5733 (convert_system_partition_to_system_disk): Fix devmapper memory pool
5734 leak.
5735 Reported and based on patch by: Modestas Vainius.
5736
5737 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
5738
5739 Fix DM-RAID probing with recent versions of device-mapper udev
5740 rules.
5741
5742 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
5743 canonicalise device paths under /dev/mapper/.
5744 (convert_system_partition_to_system_disk): Compare the
5745 uncanonicalised path to /dev/mapper/ rather than the canonicalised
5746 path, since device nodes under /dev/mapper/ are often symlinks.
5747
5748 2010-09-17 Yves Blusseau <blusseau@zetam.org>
5749
5750 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
5751
5752 2010-09-16 Yves Blusseau <blusseau@zetam.org>
5753
5754 * configure.ac: Avoid some annoying error messages if freetype-config
5755 program is not found.
5756
5757 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
5758
5759 Support RAID on virtio devices, and others.
5760
5761 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
5762 Rename to ...
5763 [__MINGW32__] (grub_find_device): ... this.
5764 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
5765 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
5766 reasonable default if dir is NULL.
5767 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
5768 ...
5769 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
5770 (grub_guess_root_device): Update callers.
5771 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
5772
5773 * util/raid.c (grub_util_getdiskname): Remove.
5774 (grub_util_raid_getmembers): Use grub_find_device rather than
5775 grub_util_getdiskname.
5776
5777 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
5778
5779 * docs/grub.texi (serial): Remove obsolete comment about GRUB
5780 needing to be compiled with serial support.
5781 (ls): Indicate that multiple files are accepted.
5782 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
5783 indicate that multiple files are accepted.
5784
5785 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
5786
5787 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
5788 libgrub_a_init.c, and util/bash-completion.d/grub.
5789
5790 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * util/grub-setup.c (setup): Fix incorrect container semantics.
5793
5794 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
5797 misusage.
5798 Reported by: J. Nick Terry
5799
5800 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 Move embedding routines to partmap sources files.
5803
5804 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
5805 [GRUB_UTIL]: New variable.
5806 (gpt_partition_map_iterate): Set part.parent.
5807 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
5808 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
5809 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
5810 New function.
5811 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
5812 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
5813 (grub_partition_map) [GRUB_UTIL]: New field embed.
5814 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
5815 (setup): Use ->embed.
5816
5817 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
5820 function.
5821 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
5822 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
5823
5824 2010-09-15 Yves Blusseau <blusseau@zetam.org>
5825
5826 Add function to get completions from usage.
5827
5828 * util/bash-completion.d/grub-completion.bash.in: Add function to get
5829 completions from usage. Use LC_ALL=C to get options properly.
5830
5831 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5832
5833 * grub-core/gnulib/basename-lgpl.c: Imported.
5834 * grub-core/gnulib/basename.c: Likewise.
5835 * grub-core/gnulib/dirname-lgpl.c: Likewise.
5836 * grub-core/gnulib/dirname.c: Likewise.
5837 * grub-core/gnulib/dirname.h: Likewise.
5838 * grub-core/gnulib/stripslash.c: Likewise.
5839
5840 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * grub-core/gnulib/error.c: Resynced.
5843 * grub-core/gnulib/getopt.c: Likewise.
5844 * grub-core/gnulib/getopt_int.h: Likewise.
5845 * grub-core/gnulib/regex.h: Likewise.
5846 * grub-core/gnulib/regex_internal.c: Likewise.
5847 * grub-core/gnulib/regex_internal.h: Likewise.
5848
5849 2010-09-15 Szymon Janc <szymon@janc.net.pl>
5850
5851 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
5852 CRC calculations and validity checks.
5853 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
5854 calculations.
5855
5856 2010-09-15 Szymon Janc <szymon@janc.net.pl>
5857
5858 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
5859
5860 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 Fix incorrect echo options handling.
5863 Reported by: Yves Blusseau.
5864
5865 * include/grub/command.h (grub_command_flags_t): New flags
5866 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
5867 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
5868 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
5869
5870 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
5873 users updated.
5874 (GRUB_COMMAND_FLAG_MENU): Likewise.
5875 (GRUB_COMMAND_FLAG_BOTH): Likewise.
5876 (GRUB_COMMAND_FLAG_TITLE): Removed.
5877 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
5878 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
5879 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
5880 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
5881 (grub_command_flags_t): New enum. All users updated.
5882
5883 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
5884
5885 Fix solaris compilation.
5886
5887 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
5888 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
5889 (grub-emu-list): Likewise.
5890
5891 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 Remove deprecated root command.
5894
5895 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
5896 updated.
5897
5898 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 * util/i386/pc/grub-setup.c: Merge this ...
5901 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
5902 * util/grub-setup.c: ... into this.
5903 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
5904 New struct.
5905
5906 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
5909 possible.
5910
5911 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5912
5913 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
5914 allocate p.
5915
5916 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
5919 explicit root argument to set to prevent UUID to be interpreted as
5920 argument to set.
5921
5922 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
5925
5926 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 Don't export grub_gate_a20.
5929
5930 * grub-core/kern/i386/pc/init.c: Remove leftovers.
5931 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
5932 to ...
5933 (grub_gate_a20): ... this. All users updated.
5934 * include/grub/i386/pc/init.h: Removed. All users updated.
5935
5936 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 Create euro.pf2 which supports most European languages.
5939
5940 * Makefile.am (grubdata_DATA): Add euro.pf2.
5941 (euro.pf2): New target.
5942 (CLEANFILES): Add euro.pf2.
5943
5944 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * configure.ac: Disable emu-usb by default to prevent inadvertent
5947 device takeover.
5948
5949 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 Disable usbserial on grub-emu since our libusb code isn't good enough
5952 yet.
5953
5954 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
5955 (usbserial_pl2303): Likewise.
5956 (usbserial_ftdi): Likewise.
5957
5958 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * include/grub/disk.h (grub_disk): Remove has_partitions.
5961 All users updated.
5962 * disk/loopback.c (grub_loopback): Remove has_partitions.
5963 All users updated.
5964 (options): Remove partitions. All users updated.
5965 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
5966 * util/i386/pc/grub-setup.c (setup): copy partition table only when
5967 actual partition table is found.
5968
5969 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 Remove readability checks (too many false negatives).
5972
5973 * util/grub-install.in: Remove readability checks.
5974 * util/grub-mkconfig.in: Likewise.
5975 * util/grub.d/10_hurd.in: Likewise.
5976 * util/grub.d/10_kfreebsd.in: Likewise.
5977 * util/grub.d/10_linux.in: Likewise.
5978 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
5979 way.
5980
5981 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 Enable acpi shutdown on all ACPI platforms.
5984
5985 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
5986 on coreboo, multiboot and EFI.
5987 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
5988 (grub_acpi_halt): Likewise.
5989 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
5990 (grub_cmd_halt): Don't call grub_acpi_halt directly.
5991 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
5992 * grub-core/lib/i386/halt.c (grub_halt)
5993 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
5994
5995 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
5998 context.
5999
6000 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * grub-core/video/efi_gop.c: Fix over-80-chars line.
6003 * grub-core/video/efi_uga.c: Likewise.
6004
6005 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 Filter devaliases and never open same device twice.
6008
6009 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
6010 (last_ihandle): Likewise.
6011 (ofdisk_hash_ent): New member shortest.
6012 (ofdisk_hash_add): Add canonical path too.
6013 (scan): New function.
6014 (grub_ofdisk_iterate): Iterate over hashed entries.
6015 (compute_dev_path): Don't add :0.
6016 (grub_ofdisk_open): Don't really open the disk.
6017 (grub_ofdisk_close): Avoid closing unrelated disk.
6018 (grub_ofdisk_read): Implement reopen logic.
6019 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
6020 New function.
6021 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
6022 New proto.
6023
6024 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 Fix sparc64.
6027
6028 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
6029 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
6030 right address. Add sparc64_ieee1275_ldflags.
6031 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
6032 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
6033 to grub_host_to_target_addr
6034 (load_image): Likewise.
6035
6036 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * grub-core/normal/completion.c (complete_file): Handle device
6039 containing slash.
6040 Fix based on patch by Doug Nazar.
6041
6042 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 grub-mknetdir script.
6045
6046 * Makefile.util.def (grub-mknetdir): New module.
6047 * tests/util/grub-shell.in: Support boot=net
6048 * util/grub-mknetdir.in: New file.
6049
6050 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 videoinfo on non-vbe.
6053
6054 * grub-core/Makefile.core.def (vbeinfo): Removed.
6055 (vbetest): Removed.
6056 (videoinfo): New module.
6057 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
6058 * grub-core/commands/i386/pc/vbetest.c: Removed.
6059 * grub-core/commands/videoinfo.c: New file.
6060 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
6061 specification.
6062 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
6063 as vbetest.
6064 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
6065 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
6066 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
6067 mode_number. New parameter mode. All users updated.
6068 (grub_video_gop_iterate): New function.
6069 (grub_video_efi_gop): New member iterate.
6070 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
6071 (grub_vbe_set_video_mode): Remove setting useless fields.
6072 (vbe2videoinfo): New function.
6073 (grub_video_vbe_iterate): Likewise.
6074 (grub_video_vbe_setup): Use vbe2videoinfo.
6075 (grub_video_vbe_print_adapter_specific_info): New function.
6076 (grub_video_vbe_adapter): New fields iterate and
6077 print_adapter_specific_info.
6078 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
6079 All users updated.
6080 (grub_video_mode_info): New field mode_number.
6081 (grub_video_adapter): New fields iterate and
6082 print_adapter_specific_info.
6083
6084 2010-09-13 Tristan Gingold <gingold@free.fr>
6085 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
6086 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * grub-core/commands/efi/lsefisystab.c: New file.
6089 * grub-core/commands/efi/lssal.c: Likewise.
6090 * grub-core/Makefile.core.def (lsacpi): New module.
6091 (lsefisystab): Likewise.
6092 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
6093 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
6094 (grub_efi_sal_system_table): New struct.
6095 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
6096 (grub_efi_sal_system_table_memory_descriptor): Likewise.
6097 (grub_efi_sal_system_table_platform_features): Likewise.
6098 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
6099 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
6100 (grub_efi_sal_system_table_ap_wakeup): Likewise.
6101 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
6102
6103 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 Support explicit user claim that a device is BIOS-visible.
6106
6107 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
6108 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
6109 * grub-core/kern/emu/hostdisk.c
6110 (convert_system_partition_to_system_disk): Support mdX.
6111 (find_system_device): New parameter add. All users updated.
6112 (grub_util_biosdisk_is_present): New function.
6113 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
6114 proto.
6115
6116 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 Search hints support.
6119
6120 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
6121 All users updated.
6122
6123 2010-09-13 Yves Blusseau <blusseau@zetam.org>
6124
6125 Bash completion script for util commands
6126
6127 * Makefile.am: Add util/bash-completion.d directory
6128 * configure.ac: Likewise.
6129 * util/bash-completion.d/Makefile.am: New file.
6130 * util/bash-completion.d/grub-completion.bash.in: Likewise.
6131
6132 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
6135 (print_backlog): set backlog_ucs4 and backlog_glyphs.
6136 Reported by: Yves Blusseau.
6137
6138 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
6141 partition size and offset.
6142
6143 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
6146
6147 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
6150
6151 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
6154 (grub_xvasprintf): Likewise.
6155
6156 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
6159
6160 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6161
6162 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
6163 args ending with NULL.
6164
6165 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
6168 pointer.
6169
6170 2010-09-11 Szymon Janc <szymon@janc.net.pl>
6171
6172 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
6173
6174 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 Shutdown using ACPI.
6177
6178 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
6179 * grub-core/commands/acpihalt.c: New file.
6180 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
6181 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
6182 (grub_acpi_halt): New proto.
6183 (GRUB_ACPI_SLP_EN): New const.
6184 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
6185 (GRUB_ACPI_OPCODE_*): New enum.
6186 (GRUB_ACPI_EXTOPCODE_*): Likewise.
6187
6188 2010-09-11 Tristan Gingold <gingold@free.fr>
6189 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
6190 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * commands/lsacpi.c: New file.
6193 * grub-core/Makefile.core.def (lsacpi): New module.
6194 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
6195 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
6196 (grub_acpi_madt_entry_header): New struct.
6197 (grub_acpi_madt): Likewise.
6198 (grub_acpi_madt_entry_interrupt_override): Likewise.
6199 (grub_acpi_madt_entry_sapic): Likewise.
6200 (grub_acpi_madt_entry_lsapic): Likewise.
6201 (grub_acpi_madt_entry_platform_int_source): Likewise.
6202 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
6203 (PRIuGRUB_UINT32_T): Likewise.
6204 (PRIxGRUB_UINT64_T): Likewise.
6205
6206 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 Implement loading palette on ieee1275_fb.
6209
6210 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
6211 (have_setcolors): Likewise.
6212 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
6213 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
6214 (grub_video_ieee1275_set_palette): Implement.
6215
6216 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6217 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
6218
6219 * util/grub-install.in (grub_partition): New variable.
6220 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
6221 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
6222 Fixes a bug reported by Yves Blusseau.
6223
6224 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 Fix emu on mipsel.
6227
6228 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
6229 =grub_cpu_flush_cache on all mips and not only yeeloong.
6230 * configure.ac (COND_mips): New conditional.
6231 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
6232 platforms.
6233 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
6234 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
6235 [GRUB_LINKER_HAVE_INIT]: New function.
6236 (grub_emu_post_init): Likewise.
6237 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
6238 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
6239 * include/grub/cache.h (_mips): Include mips/cache.h.
6240 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
6241 LVM and RAID prototypes.
6242 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
6243 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
6244 function.
6245
6246 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6247
6248 * util/grub-install.in: Don't try to verify core.img until after
6249 running grub-mkimage to create it.
6250
6251 2010-09-10 Robert Millan <rmh@gnu.org>
6252
6253 * util/grub.d/10_hurd.in: Add misc readability checks.
6254 * util/grub.d/10_kfreebsd.in: Likewise.
6255 * util/grub.d/10_linux.in: Likewise.
6256
6257 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6258
6259 * util/grub-install.in: ${imgext} won't be defined here until the
6260 install branch is merged. For the meantime, only verify core.img on
6261 i386-pc and sparc64-ieee1275 platforms.
6262
6263 2010-09-10 Robert Millan <rmh@gnu.org>
6264
6265 Solaris support in grub_find_zpool_from_dir(). Thanks
6266 Seth Goldberg for referring to getextmntent() facility.
6267
6268 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
6269 `sys/mkdev.h'.
6270 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
6271 `<sys/mnttab.h>'.
6272 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
6273 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
6274 method for finding zpool name.
6275
6276 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6277
6278 grub-fstest needs the host and hostfs modules while other utilities
6279 actively require those modules to be absent, so grub-fstest needs
6280 its own initialisation and finalisation code.
6281
6282 * Makefile.am (grub_fstest.pp): New target.
6283 (grub_fstest_init.lst): Likewise.
6284 (grub_fstest_init.c): Likewise.
6285 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
6286
6287 2010-09-10 Robert Millan <rmh@gnu.org>
6288
6289 * configure.ac: Check for `struct statfs.f_fstypename' and
6290 `struct statfs.f_mntfromname'.
6291
6292 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
6293 kFreeBSD-specific code.
6294
6295 2010-09-10 Robert Millan <rmh@gnu.org>
6296
6297 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
6298 on ZFS. Now non-main filesystems are supported as / too.
6299
6300 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
6301
6302 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
6303 and grub-core/disk/host.c to ...
6304 (grub-fstest): ... here. Having the host disk implementation
6305 present confuses grub-probe and other utility programs.
6306
6307 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
6308 when writing to a file, not when writing to stdout.
6309
6310 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
6311
6312 * tests/partmap_test.in: New test for partitions.
6313 * Makefile.util.def: Rules for new test.
6314
6315 2010-09-09 Robert Millan <rmh@gnu.org>
6316
6317 * util/grub-probe.c (probe): Fix a pair of unhandled error
6318 conditions.
6319
6320 2010-09-09 Robert Millan <rmh@gnu.org>
6321
6322 Basic Btrfs support (detection and UUID).
6323
6324 * grub-core/fs/btrfs.c: New file.
6325 * Makefile.util.def (library): Register btrfs.c.
6326 * grub-core/Makefile.core.def: Likewise.
6327
6328 2010-09-08 Robert Millan <rmh@gnu.org>
6329
6330 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
6331 with (optional) parameters to specify device and relative path.
6332 * util/grub-install.in: Use is_path_readable_by_grub() to
6333 verify readability of a few critical files.
6334 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
6335 verify readability of grub.cfg.new.
6336
6337 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 Split minix.mod into minix.mod and minix2.mod.
6340
6341 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
6342 * grub-core/Makefile.core.def (minix2): New module.
6343 * grub-core/fs/minix.c: Use definitions instead of runtime version
6344 checking.
6345 * grub-core/fs/minix2.c: New file.
6346
6347 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6348
6349 Add new --boot-directory option to replace --root-directory
6350
6351 * util/grub-install.in: Add new --boot-directory option
6352 * util/grub-reboot.in: Likewise.
6353 * util/grub-set-default.in: Likewise.
6354
6355 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6356
6357 * util/grub-mkconfig.in: Use new variable.
6358
6359 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6360
6361 * configure.ac: Define some useful variables.
6362
6363 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6366 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
6367 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
6368 Use terminfo and don't use cursor-on/cursor-off unless it's known
6369 to work.
6370 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
6371 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
6372
6373 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
6374
6375 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
6376 starts with "(,", fill the drive containing the loaded image in
6377 between those two characters, but expect that a full partition
6378 specification including partition map names will follow.
6379
6380 2010-09-08 Robert Millan <rmh@gnu.org>
6381
6382 * configure.ac: Remove `--enable-grub-fstest' option.
6383 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
6384
6385 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
6386 `grub-fstest' instead of `grub-probe' for readability verification.
6387 * util/grub-probe.c (probe): Remove readability verification kludge.
6388
6389 2010-09-08 Robert Millan <rmh@gnu.org>
6390
6391 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
6392 initializing `GRUB_FS'.
6393
6394 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
6395
6396 Not command (!) support to GRUB script.
6397
6398 * tests/grub_script_not.in: New test.
6399 * Makefile.util.def: Rules for new test.
6400
6401 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6402 ! command as a special case.
6403 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
6404
6405 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6406
6407 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
6408 grub_free.
6409
6410 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6411
6412 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
6413
6414 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6415
6416 * docs/grub.texi (Shell-like scripting): Documentation for break,
6417 continue, shift and return commands.
6418
6419 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 Rename CD-ROM to cd on BIOS.
6422
6423 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
6424 "cd".
6425 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
6426
6427 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
6430 * util/grub-probe.c (main): Likewise.
6431 * util/i386/pc/grub-setup.c (main): Likewise.
6432 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6433 Reported and debugged by: alexxy
6434
6435 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
6438 diagnostic info.
6439
6440 2010-09-05 Jo Shields <directhex@apebox.org>
6441
6442 * util/grub.d/30_os-prober.in: Add missing classes.
6443
6444 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * docs/grub.texi (Theme file format): Document new position format.
6447
6448 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
6451 a table. Use @code instead of @verbatim.
6452
6453 2010-09-05 Colin D Bennett <colin@gibibit.com>
6454
6455 Gfxmenu documentation.
6456
6457 * docs/grub.texi (Theme file format): New chapter.
6458
6459 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6460
6461 * grub-core/Makefile.core.def (xzio): New module.
6462 * grub-core/io/xzio.c: New file.
6463 * grub-core/lib/xzembed/xz.h: New file (from xembed).
6464 * grub-core/lib/xzembed/xz_config.h: Likewise.
6465 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
6466 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
6467 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
6468 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
6469 * grub-core/lib/xzembed/xz_private.h: Likewise.
6470 * grub-core/lib/xzembed/xz_stream.h: Likewise.
6471 * include/grub/file.h (grub_file_filter_id): New compression filter
6472 GRUB_FILE_FILTER_XZIO.
6473
6474 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
6477 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
6478 size.
6479
6480 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
6483 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
6484
6485 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 Uncompressed checksum support.
6488
6489 * grub-core/commands/hashsum.c (options): Add option --uncompress.
6490 (check_list): New parameter uncompress.
6491 (grub_cmd_hashsum): Handle --uncompress.
6492
6493 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 Reintroduce testload.
6496
6497 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
6498 from here ...
6499 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
6500 (GRUB_MOD_INIT): New function.
6501 (GRUB_MOD_FINI): Likewise.
6502 * grub-core/Makefile.core.def (testload): New module.
6503
6504 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6505
6506 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
6507 (uint8_t): New type.
6508 (uint16_t): Likewise.
6509 (uint32_t): Likewise.
6510 (uint64_t): Likewise.
6511
6512 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6513
6514 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
6515
6516 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
6519 Made static.
6520 (grub_gzfile_open): Removed. All users updated.
6521 (GRUB_MOD_INIT): New function.
6522 (GRUB_MOD_FINI): Likewise.
6523 * grub-core/kern/file.c (grub_file_filters_all): New variable.
6524 (grub_file_filters_enabled): Likewise.
6525 (grub_file_open): Handle filters.
6526 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
6527 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
6528 * include/grub/file.h (grub_file_filter_id_t): New type.
6529 (grub_file_filter_t): Likewise.
6530 (grub_file_filters_all): New extern variable.
6531 (grub_file_filters_enabled): Likewise.
6532 (grub_file_filter_register): New inline function.
6533 (grub_file_filter_unregister): Likewise.
6534 (grub_file_filter_disable): Likewise.
6535 (grub_file_filter_disable_compression): Likewise.
6536 * include/grub/gzio.h: Removed.
6537
6538 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6539
6540 Filename expansion support for wildcards in GRUB script.
6541
6542 * tests/grub_script_expansion.in: New test.
6543 * Makefile.util.def: Rule for new test.
6544
6545 * grub-core/commands/wildcard.c: New file, implements filename
6546 expansion support for GRUB script.
6547 * grub-core/Makefile.core.def: Rule update for regexp.mod.
6548 * grub-core/script/argv.c: Cosmetic changes.
6549 * grub-core/script/execute.c (grub_script_arglist_to_argv):
6550 Refactored to perform wildcard expansion on arguments.
6551 * include/grub/script_sh.h (grub_script_wildcard_translator): New
6552 struct.
6553
6554 * tests/util/grub-shell.in: Fix quoting for read input.
6555
6556 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6557
6558 Support for updating environment variables with matched substrings
6559 of regexp.
6560
6561 * tests/grub_cmd_regexp.in: New test.
6562 * Makefile.util.def: Rule for new test.
6563
6564 * grub-core/commands/regexp.c: New option -s to update environment
6565 variables with regexp matches.
6566
6567 2010-09-04 Szymon Janc <szymon@janc.net.pl>
6568
6569 * include/grub/file.h (grub_file): New member not_easly_seekable.
6570 (grub_file_seekable): New inline function.
6571 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
6572 easily seekable.
6573 (grub_gzio_open): Set not_easly_seekable.
6574 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
6575 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
6576
6577 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6578
6579 Support for options to appear multiple times on cmdline.
6580
6581 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
6582 * grub-core/commands/extcmd.c: Support for repeatable option.
6583 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
6584 repeatable option support.
6585
6586 Refactor menuentry into a regular command.
6587
6588 * grub-core/commands/menuentry.c: New file, menuentry command
6589 implementation.
6590 * grub-core/Makefile.core.def: Rule update for normal.mod.
6591 * grub-core/normal/main.c: Moved menuentry creation to
6592 grub-core/commands/menuentry.c.
6593 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
6594 (grub_menu_execute_entry_real): Removed.
6595 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
6596 function.
6597 (grub_script_execute_menuentry): Removed.
6598 * grub-core/script/parser.y (menuentry): Removed.
6599 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
6600 * grub-core/script/yylex.l (menuentry): Removed.
6601 * include/grub/menu.h (grub_menu_init): New prototype.
6602 (grub_menu_fini): New prototype.
6603 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
6604 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
6605 (grub_script_execute_sourcecode): New prototype.
6606
6607 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6608
6609 "return" command for GRUB script functions.
6610
6611 * tests/grub_script_return.in: New test.
6612 * Makefile.util.def: Rules for new test.
6613
6614 * grub-core/script/execute.c (grub_script_return): New function.
6615 * grub-core/script/main.c: Register/unregister return commaond.
6616 * include/grub/script_sh.h (grub_script_return): New prototype.
6617
6618 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6619
6620 "setparams" command to update positional parameters.
6621
6622 * tests/grub_script_setparams.in: New test.
6623 * Makefile.util.def: Rules for new test.
6624
6625 * grub-core/script/argv.c (grub_script_argv_make): New function.
6626 * grub-core/script/execute.c (replace_scope): New function.
6627 (grub_script_setparams): New function.
6628 * grub-core/script/lexer.c: Remove unused variables.
6629 * grub-core/script/main.c: Register/unregister setparams command.
6630 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
6631 (grub_script_setparams): New prototype.
6632
6633 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6634
6635 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
6636 grub_free order.
6637
6638 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6639
6640 Support for passing block of commands as an argument to extcmds.
6641
6642 * Makefile.util.def: Rules for new test.
6643 * tests/grub_script_blockarg.in: New test.
6644 * grub-core/tests/test_blockarg.c: New file, block argument
6645 command used in the test.
6646
6647 * include/grub/extcmd.h (grub_extcmd_context): New struct.
6648 (grub_register_extcmd_prio): New function prototype.
6649 (grub_extcmd_dispatcher): New function prototype.
6650 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
6651 type.
6652 * include/grub/script_sh.h (struct grub_script): New members
6653 `children', `next_siblings' and `refcnt' for block arguments and
6654 reference counting.
6655 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
6656 (grub_script_arg): New member `script' for block argument.
6657 (grub_script_argv): New member `script' for block argument.
6658 (grub_parser_param): New member `scripts' for block argument.
6659 (grub_script_mem_free): New extern function prototype.
6660 (grub_script_ref): New function prototype.
6661 (grub_script_unref): New function prototype.
6662
6663 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
6664 extcmd form to support block arguments.
6665 * grub-core/script/argv.c: Block arguments support.
6666 * grub-core/script/execute.c: Likewise.
6667 * grub-core/script/lexer.c: Likewise.
6668 * grub-core/script/main.c: Likewise.
6669 * grub-core/script/script.c: Likewise.
6670 * grub-core/script/parser.y: Likewise. New `block' and `block0'
6671 non-terminals.
6672
6673 * grub-core/commands/acpi.c: Update extcmd implementations with
6674 grub_extcmd_context_t.
6675 * grub-core/commands/cat.c: Likewise.
6676 * grub-core/commands/echo.c: Likewise.
6677 * grub-core/commands/extcmd.c: Likewise.
6678 * grub-core/commands/hashsum.c: Likewise.
6679 * grub-core/commands/hdparm.c: Likewise.
6680 * grub-core/commands/help.c: Likewise.
6681 * grub-core/commands/hexdump.c: Likewise.
6682 * grub-core/commands/i386/cpuid.c: Likewise.
6683 * grub-core/commands/i386/pc/drivemap.c: Likewise.
6684 * grub-core/commands/i386/pc/halt.c: Likewise.
6685 * grub-core/commands/i386/pc/sendkey.c: Likewise.
6686 * grub-core/commands/iorw.c: Likewise.
6687 * grub-core/commands/keystatus.c: Likewise.
6688 * grub-core/commands/loadenv.c: Likewise.
6689 * grub-core/commands/ls.c: Likewise.
6690 * grub-core/commands/lspci.c: Likewise.
6691 * grub-core/commands/memrw.c: Likewise.
6692 * grub-core/commands/probe.c: Likewise.
6693 * grub-core/commands/search_wrap.c: Likewise.
6694 * grub-core/commands/setpci.c: Likewise.
6695 * grub-core/commands/sleep.c: Likewise.
6696 * grub-core/disk/loopback.c: Likewise.
6697 * grub-core/hello/hello.c: Likewise.
6698 * grub-core/loader/i386/bsd.c: Likewise.
6699 * grub-core/loader/xnu.c: Likewise.
6700 * grub-core/term/gfxterm.c: Likewise.
6701 * grub-core/term/serial.c: Likewise.
6702 * grub-core/tests/lib/functional_test.c: Likewise.
6703
6704 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6705
6706 Multi-line quoted strings support.
6707
6708 * grub-core/script/lexer.c (append_newline): Removed.
6709 (grub_script_lexer_yywrap): Refactored.
6710 (grub_script_lexer_init): Refactored.
6711 * grub-core/script/yylex.l (yywrap): New function.
6712 (grub_lexer_resplit): New function.
6713 (grub_lexer_unput): New function.
6714 * include/grub/script_sh.h (grub_lexer_param): New members, unput
6715 and resplit.
6716 * tests/grub_script_echo1.in: Added few more testcases.
6717
6718 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 * grub-core/kern/misc.c: Don't add abort alias in utils.
6721 Reported by: echoline.
6722
6723 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
6724
6725 Add missing files into "make dist" tarball for other platforms.
6726
6727 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
6728 * conf/Makefile.common (dist_noinst_DATA): New variable.
6729 * conf/Makefile.extra-dist: Added missing make dist files.
6730 * grub-core/Makefile.core.def: Likewise.
6731
6732 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 Compress grub_prefix.
6735
6736 * grub-core/boot/i386/pc/lnxboot.S: Use
6737 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
6738 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
6739 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
6740 GRUB_MACHINE_PREFIX_END. All users updated.
6741 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
6742 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
6743 + 0x40.
6744 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6745 * util/grub-mkimage.c (image_target_desc): Change data_end to
6746 prefix_end. All users updated.
6747
6748 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
6751 value.
6752 (grub_openbsd_boot): Likewise.
6753 (grub_netbsd_boot): Likewise.
6754 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
6755 (grub_xnu_boot): Likewise.
6756
6757 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * configure.ac: Clean LIBS variable after tests.
6760
6761 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
6762
6763 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
6764
6765 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
6768 echo if libdevmapper will be used.
6769
6770 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
6771
6772 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
6773 constant for the same file.
6774
6775 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
6778
6779 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
6780
6781 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
6782 grub-core/*.pp.
6783
6784 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
6785
6786 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
6787 required by the boot protocol.
6788
6789 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
6790 ebp and edi members.
6791 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
6792 state.ebp and state.edi.
6793 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
6794 %ebp and %edi according to grub_relocator32_ebp and
6795 grub_relocator32_edi respectively.
6796 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
6797 and state.edi.
6798
6799 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 Add i386-pc-pxe image target.
6802
6803 * util/grub-mkimage.c (image_target_desc): New enum value
6804 IMAGE_I386_PC_PXE.
6805 (image_targets): New target i386-pc-pxe.
6806 (generate_image): Handle i386-pc-pxe image.
6807
6808 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 Fix grub_pxe_scan.
6811
6812 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
6813 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
6814 All users updated.
6815 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
6816 (grub_pxe_pxenv): Correct type.
6817
6818 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
6819
6820 * NEWS: Document most of the important changes since 1.98.
6821
6822 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
6823
6824 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
6825 generated manual page) a little.
6826
6827 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
6828
6829 * docs/grub.texi: Add myself as an author.
6830
6831 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
6832
6833 * Makefile.util.def (libgrub.a): Add missing sunpc.
6834 Reported by: Seth Goldberg.
6835
6836 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 Interrupt wrapping and code simplifications.
6839
6840 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
6841 x86_noieee1275 which are functionaly equivalent in this case.
6842 (grub-install): Make source on each platform explicit. Enable on
6843 all noemu.
6844 * gentpl.py (x86_efi_pc): Removed group.
6845 (x86_noefi): Likewise.
6846 (i386_noefi): Likewise.
6847 (x86_noieee1275): Likewise.
6848 (i386_noieee1275): Likewise.
6849 (i386_noefi_noieee1275): Likewise.
6850 (i386_pc_qemu_coreboot): Likewise.
6851 (i386_coreboot_multiboot): Likewise.
6852 (i386_pc_coreboot_multiboot_qemu): Likewise.
6853 (x86_noefi_mips): Likewise.
6854 (noieee1275): Likewise.
6855 (ieee1275_mips): Likewise.
6856 (noemu_noieee1275): Likewise.
6857 (cmos): New group.
6858 (usb): Likewise.
6859 (videoinkernel): Likewise.
6860 (videomodules): Likewise.
6861 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
6862 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
6863 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
6864 include/grub/loader.h, include/grub/msdos_partition.h,
6865 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
6866 include/grub/machine/console.h, include/grub/machine/vga.h,
6867 include/grub/machine/vbe.h, include/grub/machine/init.h,
6868 include/grub/machine/kernel.h, include/grub/cpu/time.h,
6869 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
6870 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
6871 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
6872 * grub-core/Makefile.core.def (kernel): Explicit the source for
6873 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
6874 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
6875 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
6876 Use videoinkernel tag.
6877 (usb): Enable on all usb.
6878 (usbserial_common): Likewise.
6879 (usbserial_pl2303): Likewise.
6880 (usbserial_ftdi): Likewise.
6881 (uhci): Enable on all x86.
6882 (ohci): Enable on all pci.
6883 (cmostest): Enable on all CMOS.
6884 (acpi): Include commands/acpi.c on all platforms.
6885 (halt): Add relevant lib/*/halt.c.
6886 (hdparm): Enable on all pci.
6887 (lspci): Likewise.
6888 (usbtest): Enable on all usb.
6889 (ata): Enable on all pci.
6890 (ata_pthru): Likewise.
6891 (usbms): Enable on all usb.
6892 (usb_keyboard): Likewise.
6893 (font): Use tag videomodules.
6894 (bufio): Likewise.
6895 (datetime): Use tag cmos. Enable on all noemu.
6896 (mmap): Use tags common and x86.
6897 (gfxterm): Use tag videomodules.
6898 (bitmap): Likewise.
6899 (bitmap_scale): Likewise.
6900 (video_fb): Likewise.
6901 (video): Likewise.
6902 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
6903 adjust padding accordingly. All users updated.
6904 (grub_ohci_transaction): Fix bad format specification.
6905 (GRUB_MOD_INIT): Add asserts for struct size.
6906 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
6907 (grub_alloc_td): Likewise.
6908 (grub_free_queue): Likewise.
6909 (grub_uhci_transfer): Likewise.
6910 (grub_uhci_transaction): Fix bad format specification.
6911 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
6912 (grub_usb_bulk_readwrite): Likewise.
6913 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
6914 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
6915 Made static.
6916 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
6917 Made static.
6918 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
6919 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
6920 Transformed into C.
6921 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
6922 Moved from here ...
6923 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
6924 ... here. Transformed into C. Made static.
6925 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
6926 Moved from here ...
6927 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
6928 ... here. Transformed into C. Made static.
6929 * grub-core/kern/i386/pc/startup.S
6930 (grub_biosdisk_check_int13_extensions): Moved from here ...
6931 * grub-core/disk/i386/pc/biosdisk.c
6932 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
6933 Made static.
6934 * grub-core/kern/i386/pc/startup.S
6935 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
6936 * grub-core/disk/i386/pc/biosdisk.c
6937 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
6938 Transformed into C. Made static.
6939 * grub-core/kern/i386/pc/startup.S
6940 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
6941 * grub-core/disk/i386/pc/biosdisk.c
6942 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
6943 Transformed into C. Made static.
6944 * grub-core/kern/i386/pc/startup.S
6945 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
6946 * grub-core/disk/i386/pc/biosdisk.c
6947 (grub_biosdisk_get_diskinfo_standard): ... here.
6948 Transformed into C. Made static.
6949 * grub-core/kern/i386/pc/startup.S
6950 (grub_biosdisk_get_num_floppies): Moved from here ...
6951 * grub-core/disk/i386/pc/biosdisk.c
6952 (grub_biosdisk_get_num_floppies): ... here.
6953 Transformed into C. Made static.
6954 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
6955 New function.
6956 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
6957 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
6958 Transformed into C. Made static.
6959 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
6960 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
6961 Transformed into C. Made static.
6962 * grub-core/kern/i386/ieee1275/init.c: Removed.
6963 * grub-core/kern/i386/misc.S: Likewise.
6964 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
6965 Splitted from here ...
6966 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
6967 Transformed into C. Made static. All users updated.
6968 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
6969 Transformed into C. Made static. All users updated.
6970 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
6971 Moved from here...
6972 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
6973 Transformed into C. Made static. All users updated.
6974 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
6975 Moved from here...
6976 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
6977 Transformed into C. Made static. All users updated.
6978 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
6979 Removed (replaced by C version).
6980 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
6981 Moved from here...
6982 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
6983 Transformed into C. Made static.
6984 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
6985 Moved from here...
6986 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
6987 ... here. Transformed into C.
6988 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
6989 Moved from here...
6990 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
6991 ... here. Transformed into C.
6992 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
6993 Moved from here...
6994 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
6995 ... here. Transformed into C. Made static.
6996 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
6997 Moved from here...
6998 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
6999 ... here. Transformed into C.
7000 * grub-core/kern/i386/pc/startup.S
7001 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
7002 * grub-core/video/i386/pc/vbe.c
7003 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
7004 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
7005 Moved from here...
7006 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
7007 ... here. Transformed into C.
7008 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
7009 Moved from here...
7010 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
7011 ... here. Transformed into C.
7012 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
7013 Moved from here...
7014 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
7015 ... here. Transformed into C.
7016 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
7017 Moved from here...
7018 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
7019 ... here. Transformed into C.
7020 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
7021 Moved from here...
7022 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
7023 ... here. Transformed into C. Made static.
7024 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
7025 Moved from here...
7026 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
7027 ... here. Transformed into C. Made static.
7028 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
7029 Moved from here...
7030 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
7031 ... here. Transformed into C. Made static.
7032 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
7033 pxe_rm_entry as third argument.
7034 (grub_bios_interrupt): New function.
7035 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
7036 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
7037 of calling grub_stop.
7038 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
7039 * grub-core/lib/efi/halt.c (grub_halt): ...here.
7040 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
7041 * grub-core/lib/emu/halt.c (grub_halt): ... here.
7042 * grub-core/lib/i386/halt.c: Moved from here ...
7043 * grub-core/lib/i386/halt.c: ... here.
7044 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
7045 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
7046 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
7047 grub_stop_floppy.
7048 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
7049 * include/grub/i386/coreboot/init.h: Removed.
7050 * include/grub/i386/multiboot/init.h: Likewise.
7051 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
7052 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
7053 * include/grub/i386/pc/int.h: New file.
7054 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
7055 (grub_pxe_scan): Removed.
7056 (grub_pxe_call): Update prototype.
7057 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
7058 prototypes.
7059 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
7060 * include/grub/i386/qemu/init.h: Removed.
7061 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
7062 noreturn.
7063 (grub_halt): Likewise.
7064 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
7065 (grub_reboot): Likewise.
7066 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
7067 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
7068 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
7069
7070 2010-08-30 Robert Millan <rmh@gnu.org>
7071
7072 * NEWS: Document addition of ZFS support in `grub-install' and
7073 `grub-mkconfig'.
7074
7075 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
7076
7077 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
7078 dprintf output.
7079
7080 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 Remove leftover embedding of font objects.
7083
7084 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7085 * util/grub-install.in (font): Removed.
7086 * util/grub-mkimage.c (generate_image): Remove font support. All users
7087 updated.
7088
7089 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 Remove leftover embedding of font objects.
7092
7093 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7094 * util/grub-install.in (font): Removed.
7095 * util/grub-mkimage.c (generate_image): Remove font support. All users
7096 updated.
7097
7098 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7099
7100 * docs/grub.texi (Network): Fix reference to pxe_blksize.
7101 Reported by: Ian Turner
7102
7103 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7104
7105 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
7106 timeout to avoid indefinite boot stalling.
7107
7108 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
7111 (grub_env_write_color_highlight): Likewise.
7112
7113 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 * grub-core/normal/term.c (print_more): Return to normal and not
7116 to standard state after printing "---MORE---".
7117
7118 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
7121 Mask out the bit 0x80 since it has other meaning that specifiing color.
7122
7123 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 New relocator. Allows for more kernel support and more straightforward
7126 loader writing.
7127
7128 * Makefile.am (BOOTTARGET): New variable.
7129 (QEMU32): Likewise.
7130 (linux.init.x86_64): New target.
7131 (linux.init.i386): Likewise.
7132 (multiboot.elf): Likewise.
7133 (kfreebsd.elf): Likewise.
7134 (kfreebsd.aout): Likewise.
7135 (pc-chainloader.elf): Likewise.
7136 (pc-chainloader.bin): Likewise.
7137 (ntldr.elf): Likewise.
7138 (ntldr.bin): Likewise.
7139 (multiboot2.elf): Likewise.
7140 (kfreebsd.init.x86_64): Likewise.
7141 (kfreebsd.init.i386): Likewise.
7142 (knetbsd.init.i386): Likewise.
7143 (kopenbsd.init.i386): Likewise.
7144 (knetbsd.init.x86_64): Likewise.
7145 (kopenbsd.init.x86_64): Likewise.
7146 (linux-initramfs.i386): Likewise.
7147 (linux-initramfs.x86_64): Likewise.
7148 (kfreebsd-mfsroot.i386.img): Likewise.
7149 (knetbsd.image.i386): Likewise.
7150 (kopenbsd.image.i386): Likewise.
7151 (kopenbsd.image.x86_64): Likewise.
7152 (knetbsd.miniroot-image.i386.img): Likewise.
7153 (kfreebsd-mfsroot.x86_64.img): Likewise.
7154 (knetbsd.image.x86_64): Likewise.
7155 (knetbsd.miniroot-image.x86_64.img): Likewise.
7156 (kfreebsd-mfsroot.i386.gz): Likewise.
7157 (bootcheck-kfreebsd-i386): Likewise.
7158 (kfreebsd-mfsroot.x86_64.gz): Likewise.
7159 (bootcheck-kfreebsd-x86_64): Likewise.
7160 (knetbsd.miniroot-image.i386.gz): Likewise.
7161 (bootcheck-knetbsd-i386): Likewise.
7162 (bootcheck-kopenbsd-i386): Likewise.
7163 (bootcheck-kopenbsd-x86_64): Likewise.
7164 (knetbsd.miniroot-image.x86_64.gz): Likewise.
7165 (bootcheck-knetbsd-x86_64): Likewise.
7166 (bootcheck-linux-i386): Likewise.
7167 (bootcheck-linux-x86_64): Likewise.
7168 (bootcheck-linux16-i386): Likewise.
7169 (bootcheck-linux16-x86_64): Likewise.
7170 (bootcheck-multiboot): Likewise.
7171 (bootcheck-multiboot2): Likewise.
7172 (bootcheck-kfreebsd-aout): Likewise.
7173 (bootcheck-pc-chainloader): Likewise.
7174 (bootcheck-ntldr): Likewise.
7175 (CLEANFILES): Add new targets.
7176 (BOOTCHECKS): New variable.
7177 (.PHONY): Add bootchecks.
7178 (SUCCESSFUL_BOOT_STRING): New variable.
7179 (BOOTCHECK_TIMEOUT): Likewise.
7180 (bootcheck): New target
7181 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
7182 * configure.ac: Correct efiemu excuse.
7183 * docs/grub.texi (Supported kernels): New chapter.
7184 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
7185 include/grub/mm_private.h. Simplify inclusion of
7186 include/grub/boot.h, include/grub/loader.h
7187 and include/grub/msdos_partition.h
7188 (KERNEL_HEADER_FILES) [i386_coreboot]:
7189 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
7190 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
7191 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
7192 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
7193 include/grub/machine/loader.h.
7194 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
7195 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
7196 extra_dist.
7197 (pci.mod): Enable on i386-multiboot.
7198 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
7199 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
7200 i386-qemu.
7201 (relocator.mod): Rewritten.
7202 (aout.mod): Enable on all x86.
7203 (bsd.mod): Likewise.
7204 (ntldr.mod): New module.
7205 (linux.mod): Use loader/i386/linux.c on all x86.
7206 (xnu.mod): Enable on all x86.
7207 (vga_text.mod): disable on EFI and QEMU.
7208 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
7209 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
7210 * grub-core/efiemu/loadcore.c: Likewise.
7211 * grub-core/efiemu/main.c: Likewise.
7212 (grub_efiemu_exit_boot_services): Removed.
7213 (grub_efiemu_finish_boot_services): Likewise.
7214 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
7215 function.
7216 * grub-core/efiemu/i386/nocfgtables.c: New file.
7217 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
7218 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
7219 (grub_efi_finish_boot_services): Moved from here ...
7220 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
7221 Fille finish memory map and related data.
7222 (finish_mmap_buf): New variable.
7223 (grub_efi_uintn_t finish_mmap_size): Likewise.
7224 (grub_efi_uintn_t finish_key): Likewise.
7225 (grub_efi_uintn_t finish_desc_size): Likewise.
7226 (grub_efi_uint32_t finish_desc_version): Likewise.
7227 (grub_efi_is_finished): Likewise.
7228 (grub_efi_get_memory_map): Use saved memory map if EFI is already
7229 finished.
7230 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
7231 (grub_elf64_phdr_iterate): Likewise.
7232 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
7233 (grub_os_area_size): Likewise.
7234 (grub_machine_init): Don't reserve os area.
7235 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
7236 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7237 * grub-core/kern/i386/loader.S: Removed.
7238 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
7239 (grub_os_area_size): Likewise.
7240 (grub_machine_init): Don't reserve os area.
7241 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7242 Don't call grub_dl_unload_all.
7243 Don't include loader.S.
7244 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7245 Declare the memory after _end as available.
7246 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
7247 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
7248 (GRUB_MM_ALLOC_MAGIC): Moved from here...
7249 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
7250 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
7251 * include/grub/mm_private.h (grub_mm_header): ... here.
7252 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
7253 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
7254 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
7255 (grub_mm_region): ..here. Removed addr. Added pre_size.
7256 All users updated.
7257 * grub-core/kern/mm.c (base): Renamed to ...
7258 (grub_mm_base): ... this. Made global.
7259 (grub_real_malloc): Alloc from end of region.
7260 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
7261 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
7262 * grub-core/kern/powerpc/cache_flush.S: ... here.
7263 * grub-core/lib/efi/relocator.c: New file.
7264 * grub-core/lib/i386/relocator.c: Rewritten.
7265 * grub-core/lib/i386/relocator16.S: New file.
7266 * grub-core/lib/i386/relocator32.S: Likewise.
7267 * grub-core/lib/i386/relocator64.S: Likewise.
7268 * grub-core/lib/i386/relocator_asm.S: Rewritten.
7269 * grub-core/lib/i386/relocator_common.S: New file.
7270 * grub-core/lib/ieee1275/relocator.c: Likewise.
7271 * grub-core/lib/mips/relocator.c: Rewritten.
7272 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
7273 stylistic adjustments.
7274 * grub-core/lib/powerpc/relocator.c: New file.
7275 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
7276 * grub-core/lib/relocator.c: Rewritten.
7277 * grub-core/lib/x86_64/relocator_asm.S: New file.
7278 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
7279 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
7280 (bsd_tag): New struct.
7281 (tags): New variable.
7282 (tags_last): Likewise.
7283 (netbsd_module): New struct.
7284 (netbsd_mods): New variable.
7285 (netbsd_mods_last): Likewise.
7286 (openbsd_opts): New parameter "serial".
7287 (OPENBSD_SERIAL_ARG): New definition.
7288 (netbsd_opts): New parameter "serial".
7289 (NETBSD_SERIAL_ARG): New definition.
7290 (grub_freebsd_add_meta): Reorganised into ...
7291 (grub_bsd_add_meta): ...this. All users updated.
7292 (grub_freebsd_add_mmap): Reorganised into ...
7293 (generate_e820_mmap): ...this...
7294 (grub_bsd_add_mmap): ...and this. All users updated.
7295 (grub_freebsd_list_modules): Use tags.
7296 (grub_netbsd_add_meta_module): New function.
7297 (grub_netbsd_list_modules): Likewise.
7298 (grub_freebsd_boot): Use relocator and finish EFI.
7299 (grub_openbsd_boot): Likewise.
7300 (grub_netbsd_setup_video): New function.
7301 (grub_netbsd_add_modules): Likewise.
7302 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
7303 and finish EFI.
7304 (grub_bsd_unload): Unload tags.
7305 (grub_bsd_load_aout): Use relocator.
7306 (grub_bsd_elf32_size_hook): New function.
7307 (grub_bsd_elf32_hook): Use relocator.
7308 (grub_bsd_elf64_size_hook): New function.
7309 (grub_bsd_elf64_hook): Use relocator.
7310 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
7311 (grub_bsd_load): Zero-out openbsd_ramdisk.
7312 (grub_bsd_load): Use relocator.
7313 (grub_cmd_openbsd): Support serial.
7314 (grub_cmd_netbsd): Support modules.
7315 (grub_cmd_freebsd_module): Use relocator.
7316 (grub_netbsd_module_load): New function.
7317 (grub_cmd_netbsd_module): Likewise.
7318 (grub_cmd_openbsd_ramdisk): Likewise.
7319 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
7320 kopenbsd_ramdisk.
7321 (GRUB_MOD_FINI): Unregister new commands.
7322 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
7323 (grub_freebsd_load_elfmodule_obj): Use relocator.
7324 (grub_freebsd_load_elfmodule): Likewise.
7325 (grub_freebsd_load_elf_meta): Likewise.
7326 (grub_netbsd_load_elf_meta): New function.
7327 (grub_openbsd_find_ramdisk): Likewise.
7328 * grub-core/loader/i386/bsd_helper.S: Removed.
7329 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
7330 * grub-core/loader/i386/bsd_trampoline.S: Removed.
7331 * grub-core/loader/i386/efi/linux.c: Likewise.
7332 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
7333 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
7334 (DEFAULT_VIDEO_MODE): Likewise.
7335 (real_mode_target): New variable.
7336 (prot_mode_target): Likewise.
7337 (initrd_mem_target): Likewise.
7338 (relocator): Likewise.
7339 (efi_mmap_buf): Likewise.
7340 (efi_mmap_size): Likewise.
7341 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
7342 (free_pages): Use relocator.
7343 (allocate_pages): Account for efi_mmap and use relocator. Return error.
7344 (grub_linux_setup_video): Return error.
7345 (grub_linux_trampoline_start): Removed.
7346 (grub_linux_trampoline_end): Likewise.
7347 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
7348 andd video parameters depending on firmware.
7349 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
7350 [GRUB_MACHINE_EFI]: Pass EFI parameters.
7351 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
7352 (grub_cmd_initrd): Use relocator.
7353 * grub-core/loader/i386/linux_trampoline.S: Removed.
7354 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
7355 (elf_sec_entsize): Likewise.
7356 (elf_sec_shstrndx): Likewise.
7357 (elf_sections): Likewise.
7358 (grub_multiboot_load): Use relocator.
7359 (grub_multiboot_get_mbi_size): Account for sections.
7360 (grub_multiboot_make_mbi): Use relocator and support sections.
7361 (grub_multiboot_add_elfsyms): New function.
7362 (grub_multiboot_free_mbi): Free sections.
7363 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
7364 (grub_linux_real_target): Likewise.
7365 (grub_linux_real_chunk): Likewise.
7366 (grub_linux16_prot_size): Likewise.
7367 (grub_linux16_boot): Use relocator.
7368 (grub_linux_unload): Unload relocator.
7369 (grub_cmd_linux): Use relocator.
7370 (grub_cmd_initrd): Likewise.
7371 * grub-core/loader/i386/pc/ntldr.c: New file.
7372 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
7373 Don't try to guess CPU frequency.
7374 (grub_xnu_set_video): Stretch bitmap.
7375 (grub_xnu_boot): Use relocator.
7376 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
7377 (grub_linux_unload): Free relocator.
7378 (grub_linux_load32): Use relocator.
7379 (grub_linux_load64): Likewise.
7380 (grub_cmd_initrd): Likewise.
7381 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
7382 (grub_multiboot_unload): Unload relocator.
7383 (grub_cmd_multiboot): Use relocator.
7384 (grub_cmd_module): Likewise.
7385 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
7386 Use relocator and support sections.
7387 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
7388 (elf_sec_entsize): Likewise.
7389 (elf_sec_shstrndx): Likewise.
7390 (elf_sections): Likewise.
7391 (grub_multiboot_load): Use relocator.
7392 (grub_multiboot_get_mbi_size): Account for sections.
7393 (grub_multiboot_make_mbi): Use relocator and support sections.
7394 (grub_multiboot_add_elfsyms): New function.
7395 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
7396 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
7397 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
7398 Prototype changed. All users updated.
7399 (grub_xnu_align_heap): Simplified.
7400 (grub_xnu_writetree_toheap): Likewise.
7401 (grub_xnu_unload): Unload relocator.
7402 (grub_cmd_xnu_kernel): Use relocator.
7403 (grub_cmd_xnu_kernel64): Likewise.
7404 (grub_xnu_register_memory): Simplified.
7405 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
7406 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
7407 EFI is finished.
7408 (grub_console_checkkey): Likewise.
7409 (grub_console_getkey): Likewise.
7410 (grub_console_getwh): Likewise.
7411 (grub_console_getxy): Likewise.
7412 (grub_console_gotoxy): Likewise.
7413 (grub_console_cls): Likewise.
7414 (grub_console_setcolorstate): Likewise.
7415 (grub_console_setcursor): Likewise.
7416 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
7417 * grub-core/tests/boot/kbsd.init-i386.S: New file.
7418 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
7419 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
7420 * grub-core/tests/boot/kernel-8086.S: Likewise.
7421 * grub-core/tests/boot/kernel-i386.S: Likewise.
7422 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
7423 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
7424 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
7425 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
7426 * grub-core/tests/boot/knetbsd.cfg: Likewise.
7427 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
7428 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
7429 * grub-core/tests/boot/linux.cfg: Likewise.
7430 * grub-core/tests/boot/linux.init-i386.S: Likewise.
7431 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
7432 * grub-core/tests/boot/linux16.cfg: Likewise.
7433 * grub-core/tests/boot/multiboot.cfg: Likewise.
7434 * grub-core/tests/boot/multiboot2.cfg: Likewise.
7435 * grub-core/tests/boot/ntldr.cfg: Likewise.
7436 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
7437 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
7438 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
7439 New definition.
7440 * include/grub/dl.h (grub_dl_unload_all): Removed.
7441 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
7442 (grub_efi_finish_boot_services): Change prototype.
7443 (grub_efi_is_finished): New variable.
7444 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
7445 Changed prototype.
7446 (grub_efiemu_finish_boot_services): Removed.
7447 (grub_machine_efiemu_init_tables): New prototype.
7448 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
7449 (grub_elf64_phdr_iterate): Likewise.
7450 * include/grub/i386/bsd.h: Include relocator.h.
7451 (freebsd_tag_header): New struct.
7452 (grub_openbsd_bios_mmap): Removed.
7453 (grub_unix_real_boot): Removed.
7454 (grub_freebsd_load_elfmodule32): Changed prototype.
7455 (grub_freebsd_load_elfmodule_obj64): Likewise.
7456 (grub_freebsd_load_elf_meta32): Likewise.
7457 (grub_freebsd_load_elf_meta64): Likewise.
7458 (grub_freebsd_add_meta): Removed.
7459 (grub_netbsd_load_elf_meta32): New prototype.
7460 (grub_netbsd_load_elf_meta64): Likewise.
7461 (grub_bsd_add_meta): Likewise.
7462 (grub_openbsd_ramdisk_descriptor): New struct.
7463 (grub_openbsd_find_ramdisk32): New prototype.
7464 (grub_openbsd_find_ramdisk64): Likewise.
7465 * include/grub/i386/coreboot/loader.h: Removed.
7466 * include/grub/i386/efi/loader.h: Likewise.
7467 * include/grub/i386/ieee1275/loader.h: Likewise.
7468 * include/grub/i386/linux.h (linux_kernel_header): Change void *
7469 to grub_uint32_t.
7470 * include/grub/i386/loader.h: Removed.
7471 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
7472 value.
7473 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
7474 (grub_phys_addr_t): New type.
7475 (grub_vtop): New inline function.
7476 (grub_map_memory): Likewise.
7477 (grub_unmap_memory): Likewise.
7478 * include/grub/i386/multiboot/loader.h: Removed.
7479 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
7480 (NETBSD_BTINFO_CONSOLE): New definition.
7481 (NETBSD_BTINFO_SYMTAB): Likewise.
7482 (NETBSD_BTINFO_MODULES): Likewise.
7483 (NETBSD_BTINFO_FRAMEBUF): Likewise.
7484 (grub_netbsd_bootinfo): New struct.
7485 (grub_netbsd_btinfo_common): Use explicit bitsize.
7486 (grub_netbsd_btinfo_mmap_entry): Removed.
7487 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
7488 (grub_netbsd_btinfo_bootdisk): New struct.
7489 (grub_netbsd_btinfo_symtab): Likewise.
7490 (grub_netbsd_btinfo_serial): Likewise.
7491 (grub_netbsd_btinfo_modules): Likewise.
7492 (grub_netbsd_btinfo_framebuf): Likewise.
7493 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
7494 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
7495 Likewise.
7496 (grub_openbsd_bootargs): Use explicit bitsize.
7497 (grub_openbsd_bootarg_console): New struct.
7498 (GRUB_OPENBSD_COM_MAJOR): New definition.
7499 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
7500 * include/grub/i386/pc/efiemu.h: Removed.
7501 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
7502 * include/grub/i386/qemu/loader.h: Removed.
7503 * include/grub/i386/relocator.h: Rewritten.
7504 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
7505 * include/grub/mips/memory.h: New file.
7506 * include/grub/mips/multiboot.h: Rewritten.
7507 * include/grub/mips/relocator.h: Rewritten.
7508 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
7509 (grub_vtop): New function.
7510 (grub_map_memory): Likewise.
7511 (grub_unmap_memory): Likewise.
7512 * include/grub/misc.h (ALIGN_DOWN): New definition.
7513 * include/grub/mm.h (grub_mm_check_real): New proto.
7514 (GRUB_MM_CHECK): New definition.
7515 * include/grub/mm_private.h: New file.
7516 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
7517 (grub_multiboot_get_mbi_size): Removed.
7518 (grub_multiboot_make_mbi): Change prottype.
7519 (grub_multiboot_set_accepts_video): New proto.
7520 (grub_multiboot_add_elfsyms): Likewise.
7521 (grub_multiboot_payload_eip): New variable.
7522 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
7523 New prototype.
7524 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
7525 New definition.
7526 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
7527 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
7528 * include/grub/powerpc/ieee1275/loader.h: Removed.
7529 * include/grub/powerpc/memory.h: New file.
7530 * include/grub/powerpc/relocator.h: Likewise.
7531 * include/grub/relocator.h: Likewise.
7532 * include/grub/relocator_private.h: Likewise.
7533 * include/grub/sparc64/ieee1275/loader.h: Removed.
7534 * include/grub/x86_64/memory.h: New file.
7535 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
7536 (grub_xnu_heap_malloc): Likewise.
7537 (grub_xnu_heap_real_start): Removed.
7538 (grub_xnu_heap_start): Likewise.
7539 (grub_xnu_relocator): New variable.
7540 (grub_xnu_heap_target_start): Likewise.
7541 * tests/util/grub-shell.in: Support non-pc.
7542 * util/grub-mkimage.c (image_targets): Fix multiboot target.
7543
7544 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
7547 on malloc error.
7548 (grub_bidi_logical_to_visual): Check that malloc succeded.
7549 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
7550 puts.
7551 (grub_xputs_normal): Likewise.
7552
7553 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
7556 extra_dist.
7557
7558 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * grub-core/efiemu/runtime/efiemu.sh: Removed.
7561
7562 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
7565
7566 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
7569 dprintf.
7570
7571 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
7572
7573 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
7574
7575 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/normal/term.c (print_more): Fix a memory leak.
7578 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
7579 (grub_xputs_normal): Likewise.
7580
7581 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
7584 the begining of the string
7585
7586 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/script/script.c (grub_script_parse): Free parsed on
7589 failure.
7590
7591 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
7594 on failure.
7595
7596 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
7599 return.
7600
7601 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
7604 (scroll_up): Fix a memory leak.
7605
7606 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
7609 errors.
7610
7611 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 Handle USB pendrives exposed as floppies.
7614
7615 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
7616 floppy.
7617 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7618 Check for partitions on all devices.
7619
7620 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
7623 (readkey): Likewise.
7624
7625 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7626
7627 Multiple variable names support to "export" command.
7628
7629 * normal/context.c (grub_cmd_export): "export" command supports
7630 multiple variable names.
7631
7632 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
7633
7634 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
7635 --target=drive output to Mach device name.
7636
7637 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7638
7639 New Automake based build system for GRUB.
7640
7641 * ABOUT-NLS: New file.
7642 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
7643 in Makefile.util.def file.
7644 * Makefile.util.def: New file. Autogen build definitions file for
7645 GRUB host utils.
7646 * conf/Makefile.common: New file. Common variables for GRUB host
7647 utils and target modules.
7648 * conf/Makefile.extra-dist: New file. Extra files for make dist.
7649 * docs/Makefile.am: New file. Automake file for docs.
7650 * gentpl.py: New file. Python script to generate Autogen
7651 template.
7652 * grub-core/Makefile.am: New file. GRUB target modules' rules
7653 that doesn't fit in Makefile.core.def file.
7654 * grub-core/Makefile.core.def: New file. Autogen build
7655 definitions file for GRUB target modules.
7656 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
7657 specific setjmp.S file.
7658 * po/Makefile.am: New file.
7659
7660 * .bzrignore: New ignores.
7661 * INSTALL: New requirements, without Ruby.
7662 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
7663 * autogen.sh: Updated to invoke autogen as necessary.
7664 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
7665 and defines for Automake conditionals.
7666 * geninit.sh: Refactoring.
7667
7668 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
7669 necessary.
7670 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
7671 New prototype.
7672
7673 * include/grub/test.h: Fix functional test modules' naming.
7674 * grub-core/tests/example_functional_test.c: Fix test module name.
7675
7676 * util/misc.c: Hosted versions' of grub functions for libgrub.a
7677 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
7678 * util/grub-editenv.c: Likewise.
7679 * util/grub-fstest.c: Likewise.
7680 * util/grub-mkdevicemap.c: Likewise.
7681 * util/grub-mkfont.c: Likewise.
7682 * util/grub-mkimage.c: Likewise.
7683 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7684 * util/grub-probe.c: Likewise.
7685 * util/grub-script-check.c: Likewise.
7686 * util/i386/pc/grub-setup.c: Likewise.
7687 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7688
7689 * tests/util/grub-shell.in: Fix override directory path.
7690 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
7691 * util/import_gcry.py: Create Makefile.gcry.def file instead.
7692
7693 * util/lvm.c: Update #includes.
7694 * util/raid.c: Likewise.
7695 * util/resolve.c: Likewise.
7696 * grub-core/bus/emu/pci.c: Likewise.
7697 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
7698 * grub-core/lib/posix_wrap/string.h: Likewise.
7699 * grub-core/kern/emu/main.c: Likewise.
7700
7701 * grub-core/gensymlist.sh: New file. Script for generating kernel
7702 symbols file.
7703 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
7704
7705 * grub-core/gentrigtables.c: Fix unused variable warnings.
7706
7707 * Makefile.in: Removed.
7708 * conf/any-emu.rmk: Removed.
7709 * conf/common.rmk: Removed.
7710 * conf/i386-coreboot.rmk: Removed.
7711 * conf/i386-efi.rmk: Removed.
7712 * conf/i386-ieee1275.rmk: Removed.
7713 * conf/i386-multiboot.rmk: Removed.
7714 * conf/i386-pc.rmk: Removed.
7715 * conf/i386-qemu.rmk: Removed.
7716 * conf/i386.rmk: Removed.
7717 * conf/mips-yeeloong.rmk: Removed.
7718 * conf/mips.rmk: Removed.
7719 * conf/powerpc-ieee1275.rmk: Removed.
7720 * conf/sparc64-ieee1275.rmk: Removed.
7721 * conf/tests.rmk: Removed.
7722 * conf/x86-efi.rmk: Removed.
7723 * conf/x86_64-efi.rmk: Removed.
7724 * gendistlist.sh: Removed.
7725 * geninitheader.sh: Removed.
7726 * genkernsyms.sh.in: Removed.
7727 * genmk.rb: Removed.
7728 * gensymlist.sh.in: Removed.
7729 * mkinstalldirs: Removed.
7730 * boot: Moved ...
7731 * grub-core/boot: ... to here.
7732 * bus: Moved ...
7733 * grub-core/bus: ... to here.
7734 * commands: Moved ...
7735 * grub-core/commands: ... to here.
7736 * disk: Moved ...
7737 * grub-core/disk: ... to here.
7738 * efiemu: Moved ...
7739 * grub-core/efiemu: ... to here.
7740 * font: Moved ...
7741 * grub-core/font: ... to here.
7742 * fs: Moved ...
7743 * grub-core/fs: ... to here.
7744 * gencmdlist.sh: Moved ...
7745 * grub-core/gencmdlist.sh: ... to here.
7746 * genemuinit.sh: Moved ...
7747 * grub-core/genemuinit.sh: ... to here.
7748 * genemuinitheader.sh: Moved ...
7749 * grub-core/genemuinitheader.sh: ... to here.
7750 * genfslist.sh: Moved ...
7751 * grub-core/genfslist.sh: ... to here.
7752 * genhandlerlist.sh: Moved ...
7753 * grub-core/genhandlerlist.sh: ... to here.
7754 * genmoddep.awk: Moved ...
7755 * grub-core/genmoddep.awk: ... to here.
7756 * genmodsrc.sh: Moved ...
7757 * grub-core/genmodsrc.sh: ... to here.
7758 * genpartmaplist.sh: Moved ...
7759 * grub-core/genpartmaplist.sh: ... to here.
7760 * genparttoollist.sh: Moved ...
7761 * grub-core/genparttoollist.sh: ... to here.
7762 * genterminallist.sh: Moved ...
7763 * grub-core/genterminallist.sh: ... to here.
7764 * gentrigtables.c: Moved ...
7765 * grub-core/gentrigtables.c: ... to here.
7766 * genvideolist.sh: Moved ...
7767 * grub-core/genvideolist.sh: ... to here.
7768 * gettext: Moved ...
7769 * grub-core/gettext: ... to here.
7770 * gfxmenu: Moved ...
7771 * grub-core/gfxmenu: ... to here.
7772 * gnulib: Moved ...
7773 * grub-core/gnulib: ... to here.
7774 * hello: Moved ...
7775 * grub-core/hello: ... to here.
7776 * hook: Moved ...
7777 * grub-core/hook: ... to here.
7778 * io: Moved ...
7779 * grub-core/io: ... to here.
7780 * kern: Moved ...
7781 * grub-core/kern: ... to here.
7782 * lib: Moved ...
7783 * grub-core/lib: ... to here.
7784 * loader: Moved ...
7785 * grub-core/loader: ... to here.
7786 * mmap: Moved ...
7787 * grub-core/mmap: ... to here.
7788 * normal: Moved ...
7789 * grub-core/normal: ... to here.
7790 * partmap: Moved ...
7791 * grub-core/partmap: ... to here.
7792 * parttool: Moved ...
7793 * grub-core/parttool: ... to here.
7794 * script: Moved ...
7795 * grub-core/script: ... to here.
7796 * term: Moved ...
7797 * grub-core/term: ... to here
7798 * tests/example_functional_test.c: Moved ...
7799 * grub-core/tests/example_functional_test.c: ... to here.
7800 * tests/lib/functional_test.c: Moved ...
7801 * grub-core/tests/lib/functional_test.c: ... to here.
7802 * tests/lib/test.c: Moved ...
7803 * grub-core/tests/lib/test.c: ... to here.
7804 * video: Moved ...
7805 * grub-core/video: ... to here.
7806
7807 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7808
7809 Replace --enable-grub-emu-modules with grub-emu-lite.
7810
7811 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
7812 cache.S.
7813
7814 * include/grub/emu/misc.h (grub_emu_init): New prototype.
7815 * kern/emu/full.c: New file. For grub-emu specific initialization.
7816 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
7817 * kern/emu/main.c: Call initialization function grub_emu_init.
7818
7819 * Makefile.in: Include grub-emu-lite in install.
7820 * commands/parttool.c: Use grub_no_autoload to differentiate
7821 between grub-emu and grub-emu-lite.
7822 * include/grub/misc.h: New variable grub_no_autoload.
7823
7824 * conf/any-emu.rmk: New rules for grub-emu-lite.
7825 * configure.ac: Remove --enable-grub-emu-modules.
7826 * genmk.rb: Cleanup unnecessary rules.
7827 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
7828
7829 * normal/main.c: Don't load list files on grub-emu-lite.
7830 * util/misc.c (grub_arch_sync_caches): Removed.
7831
7832 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
7833
7834 * kern/mips/startup.S (grub_prefix): Update comment to refer to
7835 grub-mkimage rather than grub-mkelfimage.
7836 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
7837
7838 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
7841 a key after CapsLock or NumLock. It's just a qemu bug.
7842
7843 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
7846 needed by libusb wrapper.
7847
7848 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
7849
7850 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
7851
7852 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
7855 --nounzip is passed.
7856
7857 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 USB hotunplugging and USB serial support.
7860
7861 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
7862 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
7863 (grub_uhci_transfer): Respect timeout and set *actual.
7864 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
7865 non-standard length.
7866 (grub_usb_device_attach): Autoload modules.
7867 (GRUB_MOD_INIT): Set grub_term_poll_usb.
7868 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
7869 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
7870 users updated.
7871 (grub_usb_add_hub): Fill nports and children.
7872 (attach_root_port): Receive hub instead of controller.
7873 All users updated. Fill hub->devices.
7874 (grub_usb_root_hub): Allocate hub->devices.
7875 (detach_device): New function.
7876 (poll_nonroot_hub): Fill children and detach devices.
7877 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
7878 actual arguments. All users updated.
7879 (grub_usb_bulk_read_extended): New function.
7880 * bus/usb/serial/common.c: New file.
7881 * bus/usb/serial/ftdi.c: Likewise.
7882 * bus/usb/serial/pl2303.c: Likewise.
7883 * commands/terminal.c (handle_command): Support wildcard.
7884 * commands/usbtest.c: Output "Unknown" instead of empty string.
7885 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
7886 (usbserial_common_mod_SOURCES): New variable.
7887 (usbserial_common_mod_CFLAGS): Likewise.
7888 (usbserial_common_mod_LDFLAGS): Likewise.
7889 (pkglib_MODULES): Add usbserial_pl2303.mod.
7890 (usbserial_pl2303_mod_SOURCES): New variable.
7891 (usbserial_pl2303_mod_CFLAGS): Likewise.
7892 (usbserial_pl2303_mod_LDFLAGS): Likewise.
7893 (pkglib_MODULES): Add usbserial_ftdi.mod.
7894 (usbserial_ftdi_mod_SOURCES): New variable.
7895 (usbserial_ftdi_mod_CFLAGS): Likewise.
7896 (usbserial_ftdi_mod_LDFLAGS): Likewise.
7897 (pkglib_MODULES): Add serial.mod.
7898 (serial_mod_SOURCES): New variable.
7899 (serial_mod_CFLAGS): Likewise.
7900 (serial_mod_LDFLAGS): Likewise.
7901 * conf/i386-pc.rmk: Likewise.
7902 * conf/mips-yeeloong.rmk: Likewise.
7903 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
7904 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7905 * disk/usbms.c (first_available_slot): New variable.
7906 (grub_usbms_attach): Don't reuse free slots due to potential cache
7907 problems.
7908 * include/grub/serial.h: Moved to ..
7909 * include/grub/ns8250.h: ...this.
7910 * include/grub/serial.h: New file.
7911 * include/grub/term.h (grub_term_poll_usb): New variable.
7912 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
7913 readkey. All users updated.
7914 (grub_terminfo_output_state): Pass term to put.
7915 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
7916 (grub_usb_controller_dev): Add timeout and actual arguments to
7917 transfer. All users updated.
7918 (grub_usb_interface): New field detach_data.
7919 (grub_usb_device): New fields children and nports.
7920 (grub_usb_ep_type_t): New type.
7921 (grub_usb_get_ep_type): New function.
7922 (grub_usb_bulk_read_extended): Likewise.
7923 * include/grub/usbdesc.h (grub_usb_desc): New type.
7924 * include/grub/usbserial.h: New file.
7925 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
7926 * kern/term.c (grub_term_poll_usb): New variable.
7927 (grub_getkey): Call grub_term_poll_usb if set.
7928 (grub_checkkey): Likewise.
7929 (grub_getkeystatus): Likewise.
7930 * term/serial.c: Moved controller-specific parts to ...
7931 * term/ns8250.c: ... here.
7932 * term/serial.c: Mostly rewritten.
7933 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
7934 according to spec.
7935
7936 2010-08-20 Robert Millan <rmh@gnu.org>
7937
7938 Make kFreeBSD code more generic to support ext2fs as root, ufs as
7939 a separate module and maybe other interesting combinations.
7940
7941 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
7942 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
7943 (kfreebsd_entry): Add generic filesystem module load routine.
7944 Map GRUB `ext2' to kFreeBSD `ext2fs'.
7945
7946 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
7947
7948 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
7949 "numcenter" (I misunderstood the purpose of this entry).
7950 * docs/grub.texi (sendkey): Likewise.
7951
7952 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
7953
7954 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
7955 status flag options; simply omitting the option is equivalent and
7956 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
7957 (keysym_table): Rename "num5numlock" to "numlock".
7958 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
7959 can uniformly say that only the last of multiple `sendkey'
7960 invocations has any effect.
7961 * docs/grub.texi (sendkey): New section.
7962
7963 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
7964
7965 * commands/i386/pc/sendkey.c (options): Fix three typos.
7966
7967 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 Implement sendkey support.
7970
7971 * commands/i386/pc/sendkey.c: New file.
7972 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
7973 (sendkey_mod_SOURCES): New variable.
7974 (sendkey_mod_CFLAGS): Likewise.
7975 (sendkey_mod_LDFLAGS): Likewise.
7976
7977 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
7978
7979 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
7980 fix warnings from Autoconf.
7981
7982 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
7983
7984 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
7985 to avoid false positives with some assemblers that output things
7986 like "someprefix_func" as part of their output.
7987
7988 2010-08-15 Robert Millan <rmh@gnu.org>
7989
7990 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
7991 errors.
7992 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
7993 grub_get_libzfs_handle() errors.
7994
7995 2010-08-14 Robert Millan <rmh@gnu.org>
7996
7997 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
7998 filesystem is not ZFS.
7999
8000 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8001
8002 Fix for misspelled color names defaulting to black/black (bug
8003 reported by Doug Nazar)
8004
8005 * include/grub/normal.h (grub_parse_color_name_pair): Add return
8006 status to prototype.
8007 * normal/color.c (grub_parse_color_name_pair): Return failure
8008 status.
8009 (grub_env_write_color_normal): Ignore bad color names.
8010 (grub_env_write_color_highlight): Likewise.
8011 * normal/main.c (GRUB_MOD_INIT): Set default color names.
8012
8013 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8014
8015 "shift" command support to GRUB script.
8016
8017 * include/grub/script_sh.h (grub_script_shift): New prototype.
8018 * script/execute.c (grub_script_shift): New function.
8019 * script/main.c (grub_script_init): Register shift command.
8020 (grub_script_fini): Unregister shift command.
8021 * util/grub-script-check.c (grub_script_cmd_shift): New function.
8022
8023 * tests/grub_script_shift.in: New testcase.
8024 * conf/tests.rmk: Rules for new testcase.
8025
8026 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8027
8028 "continue" command support to GRUB script.
8029
8030 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
8031 (grub_script_break): Continue support.
8032 * script/main.c (grub_script_init): Register continue command.
8033 (grub_script_fini): Unregister continue command.
8034
8035 * tests/grub_script_continue.in: New testcase.
8036 * conf/tests.rmk: Rules for new testcase.
8037
8038 2010-08-12 BVK Chaitanya <bvk@dbook>
8039
8040 "break" command support to GRUB script.
8041
8042 * conf/common.rmk: Rule updates to grub-script-check.
8043 * include/grub/misc.h (grub_min): New function.
8044 * include/grub/script_sh.h (grub_script_init): New prototype.
8045 (grub_script_fini): New prototype.
8046 (grub_script_break): New prototype.
8047 * script/main.c (grub_script_init): New function.
8048 (grub_script_fini): New function.
8049 * script/execute.c (grub_script_break): New function.
8050 * normal/main.c: Calls to grub_script_{init,fini}.
8051 * util/grub-script-check.c (grub_script_break): New function.
8052
8053 * tests/grub_script_break.in: New testcase.
8054 * conf/tests.rmk: Rules for new test case.
8055
8056 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8057
8058 Function parameters support to GRUB script.
8059
8060 * script/yylex.l (VARIABLE): Regular expression update.
8061 * script/function.c (grub_script_function_call): Moved ...
8062 * script/execute.c (grub_script_function_call): ... to here.
8063 (grub_script_execute_arglist_to_argv): Removed.
8064 (grub_script_arglist_to_argv): New function.
8065 * script/argv.c: New file.
8066 (grub_script_argv_free): New function.
8067 (grub_script_argv_next): Likewise.
8068 (grub_script_argv_append): Likewise.
8069 (grub_script_argv_split_append): Likewise.
8070 * include/grub/script_sh.h (grub_script_argv): New struct.
8071 (grub_script_argv_free): New function.
8072 (grub_script_argv_next): Likewise.
8073 (grub_script_argv_append): Likewise.
8074 (grub_script_argv_split_append): Likewise.
8075
8076 * conf/common.rmk (normal.mod): New source script/argv.c.
8077
8078 * tests/grub_script_echo1.in: More tests.
8079 * tests/grub_script_vars1.in: Likewise.
8080 * tests/grub_script_functions.in: New test case.
8081 * conf/tests.rmk: Rules for new testcase.
8082
8083 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8084
8085 Remove grub_script_cmdblock struct.
8086
8087 * include/grub/script_sh.h: Remove grub_script_cmdblock.
8088 * script/parser.y: Likewise.
8089 * script/execute.c: Rename cmdblock suffix to cmdlist.
8090 * script/script.c: Likewise.
8091 * util/grub-script-check.c: Likewise.
8092
8093 2010-08-11 Yves Blusseau <blusseau@zetam.org>
8094
8095 * .bzrignore: add grub-macho2img
8096
8097 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
8100
8101 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 Remove the dump of sm712 initialisation sequence.
8104
8105 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
8106 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
8107 (GRUB_VGA_IO_MISC_WRITE): Likewise.
8108 (GRUB_VGA_CR_*): Added many registers.
8109 (GRUB_VGA_SR_*): Likewise.
8110 (GRUB_VGA_GR_*): Likewise.
8111 (grub_vga_write_arx): New function.
8112 (grub_video_hw_config): New struct.
8113 (grub_vga_set_geometry): New function.
8114 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
8115 GRUB_PCI_CLASS_SUBCLASS_VGA.
8116 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
8117 * video/sm712.c (grub_sm712_write_reg): New function
8118 (grub_sm712_read_reg): Likewise.
8119 (grub_sm712_sr_write): Likewise.
8120 (grub_sm712_gr_write): Likewise.
8121 (grub_sm712_cr_write): Likewise.
8122 (grub_sm712_write_arx): Likewise.
8123 (grub_sm712_cr_shadow_write): Likewise.
8124 (grub_sm712_write_dda_lookup): Likewise.
8125 (grub_video_sm712_setup): Initialise the video rather then
8126 blindly replay the dump.
8127 (main) [TEST]: Add a routine to be able to compile as standalone for
8128 tests.
8129 * video/sm712_init.c (sm712_init): Removed.
8130 (sm712_sr_seq1): New array.
8131 (sm712_sr_seq2): Likewise.
8132
8133 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * include/grub/vga.h: Add missing grub/pci.h include.
8136
8137 2010-08-10 Yves Blusseau <blusseau@zetam.org>
8138
8139 * util/grub-macho2img.c (main): fix typo
8140
8141 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
8144 (grub_vga_gr_read): Likewise.
8145 (grub_vga_cr_write): Likewise.
8146 (grub_vga_cr_read): Likewise.
8147 (grub_vga_sr_write): Likewise.
8148 (grub_vga_sr_read): Likewise.
8149 (grub_vga_palette_read): Likewise.
8150 (grub_vga_palette_write): Likewise.
8151 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
8152 (grub_sm712_sr_read): New function.
8153 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
8154 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
8155
8156 2010-08-09 Robert Millan <rmh@gnu.org>
8157
8158 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
8159 out unused variables on non-ZFS build.
8160
8161 2010-08-08 Robert Millan <rmh@gnu.org>
8162
8163 Fix path generation for sub-filesystems in ZFS.
8164
8165 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
8166 missing slash.
8167
8168 2010-08-08 Robert Millan <rmh@gnu.org>
8169
8170 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
8171
8172 2010-08-08 Robert Millan <rmh@gnu.org>
8173
8174 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
8175 exist, issue a proper error message (rely on `ls' for translated
8176 strings).
8177
8178 2010-08-08 Robert Millan <rmh@gnu.org>
8179
8180 Fix grub-probe invocation.
8181
8182 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
8183
8184 2010-08-04 Robert Millan <rmh@gnu.org>
8185
8186 * configure.ac: Remove checks for getfsstat() and getmntany().
8187 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
8188 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
8189 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
8190 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
8191 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
8192 function.
8193 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
8194 via find_mount_point_from_dir() and getfsstat() / getmntany().
8195
8196 2010-08-04 Robert Millan <rmh@gnu.org>
8197
8198 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8199 (grub_find_zpool_from_mount_point): Merge into ...
8200 (grub_find_zpool_from_dir): ... this.
8201 * kern/emu/misc.c: Likewise.
8202
8203 * kern/emu/misc.c
8204 (grub_make_system_path_relative_to_its_root): Replace
8205 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
8206 with grub_find_zpool_from_dir().
8207 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
8208
8209 2010-08-04 Robert Millan <rmh@gnu.org>
8210
8211 Support OpenSolaris in ZFS device resolution.
8212
8213 * configure.ac: Check for getmntany().
8214 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
8215 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
8216 support.
8217
8218 2010-08-03 Robert Millan <rmh@gnu.org>
8219
8220 Fix grub-emu build.
8221
8222 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
8223 * include/grub/emu/misc.h: ... here.
8224
8225 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
8226 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
8227
8228 * util/misc.c: Remove `<grub/util/libzfs.h>'.
8229 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
8230 (grub_get_libzfs_handle): Move to ...
8231 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
8232 (grub_get_libzfs_handle): ... here.
8233
8234 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
8235
8236 * script/execute.c (grub_script_execute_cmdline): Check for NULL
8237 as command name case.
8238
8239 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
8240
8241 * disk/raid.c (insert_array): Select unique numbers for named arrays
8242 as well, for use as keys in the disk cache.
8243
8244 2010-08-01 Robert Millan <rmh@gnu.org>
8245
8246 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
8247 kFreeBSD device name, except on ZFS where the filesystem label is
8248 used.
8249 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
8250 `/boot/zfs/zpool.cache'.
8251 Set mountfrom kernel variable using ${kfreebsd_device}.
8252
8253 2010-08-01 Robert Millan <rmh@gnu.org>
8254
8255 Make it even harder to use uninitialized `libzfs_handle' (and
8256 make the interface a bit simpler).
8257
8258 * include/grub/util/misc.h (grub_util_init_libzfs)
8259 (libzfs_handle): Remove.
8260 (grub_get_libzfs_handle): New prototype.
8261
8262 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
8263 attribute.
8264 (grub_util_init_libzfs): Remove.
8265 (grub_get_libzfs_handle): New function.
8266
8267 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
8268 grub_get_libzfs_handle() to obtain a libzfs handle instead of
8269 accessing `libzfs_handle' directly.
8270
8271 2010-08-01 Robert Millan <rmh@gnu.org>
8272
8273 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8274 (grub_find_zpool_from_mount_point): New function prototypes.
8275
8276 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8277 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8278
8279 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8280 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8281 `static' attribute.
8282
8283 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8284 finding zpool from mount point into ...
8285 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8286
8287 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8288 requested path is part of a ZFS pool, use
8289 grub_find_zpool_from_mount_point() to detect its filesystem name,
8290 and generate a path with `/fsname@path' syntax.
8291
8292 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8293
8294 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
8295 (void) rather than () so that this is a proper prototype.
8296
8297 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
8300
8301 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
8304 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
8305
8306 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8307
8308 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
8309
8310 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8311
8312 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
8313
8314 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8315
8316 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
8317 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
8318 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
8319 disable gfxpayload.
8320 (Shell-like scripting): Add real content.
8321 (Serial terminal): Suggest `terminal_input serial; terminal_output
8322 serial' rather than putting the two commands on separate lines,
8323 since console input will be inoperative after the first command.
8324 (menuentry): Document --class, --users, and --hotkey options.
8325 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
8326 Vladimir Serbinenko).
8327
8328 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8329 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8330
8331 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
8332
8333 2010-08-01 Robert Millan <rmh@gnu.org>
8334
8335 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8336 (grub_find_zpool_from_mount_point): New function prototypes.
8337
8338 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8339 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8340
8341 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8342 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8343 `static' attribute.
8344
8345 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8346 finding zpool from mount point into ...
8347 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8348
8349 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8350 requested path is part of a ZFS pool, use
8351 grub_find_zpool_from_mount_point() to detect its filesystem name,
8352 and generate a path with `/fsname@path' syntax.
8353
8354 2010-08-01 Robert Millan <rmh@gnu.org>
8355
8356 Prevent accidental use of uninitialized libzfs_handle.
8357
8358 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
8359 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
8360 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
8361
8362 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8363
8364 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
8365 util/grub.d/10_linux.in). Fixes Debian bug #591093.
8366
8367 2010-08-01 Robert Millan <rmh@gnu.org>
8368
8369 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8370
8371 2010-07-31 Robert Millan <rmh@gnu.org>
8372
8373 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
8374
8375 2010-07-31 Robert Millan <rmh@gnu.org>
8376
8377 * kern/emu/misc.c: Add missing license header.
8378
8379 2010-07-31 Robert Millan <rmh@gnu.org>
8380
8381 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
8382
8383 * include/grub/util/libnvpair.h: Include `<config.h>'.
8384 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
8385 declaring libnvpair prototypes ourselves.
8386 * include/grub/util/libzfs.h: Include `<config.h>'.
8387 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
8388 declaring libzfs prototypes ourselves.
8389
8390 (libzfs_handle): Moved to ...
8391 * include/grub/util/misc.h (libzfs_handle): ... here.
8392 Include `<grub/util/libzfs.h>'.
8393
8394 2010-07-30 Robert Millan <rmh@gnu.org>
8395
8396 * include/grub/emu/misc.h: Add missing license header.
8397
8398 2010-07-30 Robert Millan <rmh@gnu.org>
8399
8400 Enable `grub-probe -t device' resolution on ZFS.
8401
8402 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
8403 * include/grub/util/libnvpair.h: New file.
8404 * include/grub/util/libzfs.h: New file.
8405
8406 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
8407 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
8408 `<grub/util/libnvpair.h>'.
8409 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
8410
8411 (find_mount_point_from_dir): New static function.
8412 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
8413 function.
8414 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
8415 find_root_device_from_libzfs() before ressorting to find_root_device().
8416
8417 * include/grub/util/misc.h (grub_util_init_libzfs): New function
8418 prototype.
8419 * util/misc.c: Include `<grub/util/libzfs.h>'.
8420 (grub_util_init_libzfs): New function.
8421 [HAVE_LIBZFS] (libzfs_handle): New global variable.
8422 [HAVE_LIBZFS] (fini_libzfs): New static function.
8423 (grub_util_init_libzfs): New function.
8424 * util/grub-probe.c (main): Call grub_util_init_libzfs().
8425
8426 2010-07-30 Robert Millan <rmh@gnu.org>
8427
8428 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
8429 (xmalloc, xrealloc, xstrdup, xasprintf): Add
8430 `warn_unused_result' attribute.
8431 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
8432 (grub_xasprintf, grub_xvasprintf): Likewise.
8433 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
8434
8435 2010-07-29 Robert Millan <rmh@gnu.org>
8436
8437 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
8438 (probe): Handle `PRINT_FS_LABEL'.
8439 (main): Handle `-t fs_label'.
8440
8441 2010-07-29 Robert Millan <rmh@gnu.org>
8442
8443 * configure.ac: Remove grub-mkisofs checks.
8444
8445 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 * util/ieee1275/grub-install.in: Don't use empty grub_device.
8448 Reported by: Lennart Sorensen.
8449
8450 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
8453 prior to terminal_input/terminal_output separation. It's been over 1.5
8454 years and those versions weren't widely deployed.
8455
8456 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
8457
8458 * disk/raid.c (insert_array): Don't count named arrays when looking
8459 for unused array numbers.
8460 Reported and tested by: Michael Guntsche.
8461
8462 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8463
8464 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
8465 implementation of this so that grub-emu links again, with a note
8466 that this should support hotplugging in the future.
8467
8468 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8469
8470 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
8471
8472 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8473
8474 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
8475 handle on failure.
8476 (grub_loopback_close): Remove empty function.
8477 (grub_loopback_dev): Remove close method.
8478
8479 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8480
8481 Disable EFI cursor when the EFI console becomes inactive.
8482
8483 * term/efi/console.c (grub_efi_console_init): New function.
8484 (grub_efi_console_fini): New function.
8485 (grub_console_term_output): Register init and fini methods.
8486
8487 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * tests/util/grub-shell-tester.in: Remove bashism and declare as
8490 sh script.
8491
8492 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * disk/loopback.c (grub_loopback): Replace filename with file.
8495 (delete_loopback): Handle new semantics.
8496 (grub_cmd_loopback): Likewise.
8497 (grub_loopback_iterate): Likewise.
8498 (grub_loopback_close): Likewise.
8499
8500 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
8503 with -p "".
8504 Reported by: Tito Keitel.
8505
8506 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * docs/grub.texi (Naming convention): Document new naming convention.
8509
8510 2010-07-20 Vadim Solomin <vadic052@gmail.com>
8511 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8512
8513 Generate device.map in something closer to the old ordering.
8514
8515 * util/deviceiter.c (struct device): New declaration.
8516 (compare_file_names): Rename to ...
8517 (compare_devices): ... this. Sort by kernel name in preference to
8518 the stable by-id name, but keep the latter as a fallback comparison.
8519 Update header comment.
8520 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
8521 of `struct device' rather than of plain file names.
8522
8523 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
8524
8525 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
8526 on i386.
8527
8528 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8529
8530 * commands/acpi.c (setup_common_tables): Use sizeof instead of
8531 hardcoding size.
8532 (setv1table): Likewise.
8533
8534 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8535
8536 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
8537 removing the homehost if present.
8538 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
8539 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
8540 removing the homehost if present.
8541 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
8542 if possible.
8543 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
8544
8545 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
8546 parameter. Set its pointer target to 0.
8547 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
8548 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
8549 `data_offset' value from the superblock for 1.x metadata.
8550 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
8551 data on the device.
8552 (insert_array): Record the start sector of data on the device.
8553 (grub_raid_register): Pass start_sector parameters to
8554 grub_raid_list->detect and insert_array.
8555 * include/grub/raid.h (struct grub_raid_array): Add start_sector
8556 member.
8557 (struct grub_raid): Add start_sector parameter to `detect'.
8558
8559 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
8560 __attribute__ ((packed)), leaving a comment.
8561 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
8562 (grub_mdraid_detect_09): ... here and ...
8563 (grub_mdraid_detect_1x): ... here.
8564
8565 2010-07-20 Peter Henn <peter.henn@web.de>
8566
8567 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
8568 chunk size and disk size, which are already given as sector counts
8569 as distinct from the 0.90 units. Fetch the correct device number
8570 from the role table instead of using the table index.
8571
8572 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
8573
8574 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
8575 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
8576 (WriteMostly1): New macro.
8577 Set array->name to NULL for metadata format 0.90. Add support for
8578 metadata 1.x. Fix some comments.
8579 * disk/raid.c (): Add support for name based RAID arrays. Fix a
8580 few comments.
8581 * util/getroot.c (grub_util_get_grub_dev): Add support for
8582 /dev/md/name style devices.
8583
8584 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8585
8586 * .bzrignore: Ignore 20_linux_xen.
8587
8588 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
8589
8590 * util/import_unicode.py: Remove unnecessary imports.
8591
8592 2010-07-17 Aleš Nesrsta <starous@volny.cz>
8593
8594 Hotplugging and USB hub support.
8595
8596 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
8597 (grub_ohci): Likewise.
8598 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
8599 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
8600 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
8601 (GRUB_OHCI_CTRL_EDS): Likewise.
8602 (GRUB_OHCI_BULK_EDS): Likewise.
8603 (GRUB_OHCI_TDS): Likewise.
8604 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
8605 (grub_ohci_ed_phys2virt): New function.
8606 (grub_ohci_virt_to_phys): Likewise.
8607 (grub_ohci_td_phys2virt): Likewise.
8608 (grub_ohci_td_virt2phys): Likewise.
8609 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
8610 attachment.
8611 (grub_ohci_find_ed): New function.
8612 (grub_ohci_alloc_td): Likewise.
8613 (grub_ohci_free_td): Likewise.
8614 (grub_ohci_free_tds): Likewise.
8615 (grub_ohci_transfer): Use previously allocated memory.
8616 (grub_ohci_portstatus): Reset status changed bit.
8617 (grub_ohci_detect_dev): Supply status changed.
8618 (grub_ohci_fini_hw): Free memory.
8619 (grub_ohci_restore_hw): Reallocate memory.
8620 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
8621 Reset status change.
8622 (grub_uhci_detect_dev): Supply status_change.
8623 * bus/usb/usb.c (attach_hooks): New var.
8624 (grub_usb_device_attach): New function.
8625 (grub_usb_register_attach_hook_class): Likewise.
8626 (grub_usb_unregister_attach_hook_class): Likewise.
8627 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
8628 (grub_usb_add_hub): Reset connection changed bit.
8629 (attach_root_port): New function.
8630 (grub_usb_root_hub): Likewise.
8631 (poll_nonroot_hub): Likewise.
8632 (grub_usb_poll_devices): Likewise.
8633 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
8634 * disk/usbms.c (grub_usbms_open): Use device hooks.
8635 (grub_usbms_iterate) :Poll devices.
8636 (grub_usbms_finddevs): Split into ...
8637 (grub_usbms_attach): ... this ...
8638 (grub_usbms_attach): ... and this.
8639 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
8640 in detect_dev.
8641 (grub_usb_interface): New fields attached and detach_hook.
8642 (grub_usb_attach_hook_class): New type.
8643 (grub_usb_attach_desc): New struct.
8644 (grub_usb_register_attach_hook_class): New function.
8645 (grub_usb_unregister_attach_hook_class): Likewise.
8646 (grub_usb_poll_devices): Likewise.
8647 (grub_usb_device_attach): Likewise.
8648 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
8649 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
8650
8651 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
8654 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
8655 delta determination style. Works with most NetBSD partitions too.
8656
8657 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
8660 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
8661
8662 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
8665
8666 2010-07-14 Anton Blanchard <anton@samba.org>
8667
8668 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
8669 ET_DYN files.
8670
8671 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8672
8673 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
8674
8675 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8676
8677 * kern/partition.c (grub_partition_check_containment): New function to
8678 check that a partition is physically contained in a parent. Since
8679 offsets are relative (and non-negative), this reduces to checking that
8680 the partition ends before its parent.
8681 (grub_partition_map_probe): Discard out-of-range sub-partitions.
8682 (grub_partition_iterate): Likewise.
8683 * include/grub/partition.h (grub_partition_map): Slightly more detailed
8684 comments.
8685 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
8686 partitions that start before their parent, and add debug printfs.
8687
8688 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
8689
8690 * Makefile.in (.SUFFIX): Spell correctly, as ...
8691 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
8692 bare module name without `.mod', e.g. `test') tried to invoke a
8693 Modula-2 compiler.
8694
8695 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
8696
8697 * README: Point to the Info manual.
8698
8699 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
8700
8701 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
8702 2nd superblock position from partition size.
8703
8704 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
8705
8706 * Makefile.in (MAINTAINER_CLEANFILES): Remove
8707 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
8708 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
8709 outputs.
8710
8711 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 Restructure SCSI .id handling.
8714 Reported and tested by: Aleš Nesrsta.
8715
8716 * disk/ata.c (grub_atapi_close): Removed. All users updated.
8717 (grub_atapi_dev): Changed .name to "ata". New field .id.
8718 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
8719 (grub_usbms_dev): New field .id.
8720 * disk/scsi.c (grub_scsi_iterate): Generate name.
8721 (grub_scsi_open): Parse name.
8722 * include/grub/scsi.h (grub_make_scsi_id): New function.
8723 (grub_scsi_dev): Change iterate and open to number instead of naming
8724 busses. All users updated.
8725 (grub_scsi): Remove name. Add .bus.
8726
8727 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * commands/help.c (grub_cmd_help): Fix a typo.
8730
8731 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
8734 Reported and tested by: Colin Watson.
8735
8736 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
8739 in this context.
8740
8741 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
8744
8745 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
8746
8747 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
8748 indentation.
8749
8750 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8751
8752 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
8753 and disk/raid6_recover.c.
8754 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8755 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8756
8757 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8758
8759 * term/gfxterm.c (repaint_schedulded): Rename to ...
8760 (repaint_scheduled): ... this. Update all callers.
8761 (repaint_was_schedulded): Rename to ...
8762 (repaint_was_scheduled): ... this. Update all callers.
8763
8764 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8765
8766 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
8767 which we expect to be handled by upper layers.
8768
8769 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
8770
8771 * bus/usb/usbhub.c: #include time.h header.
8772
8773 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8774
8775 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
8776 entry_name also for entries without stat blocks (e.g. ".."); fixes
8777 corruption of the first entry in a directory.
8778
8779 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
8780
8781 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
8782 after setting gfxterm as the active terminal. GRUB_BACKGROUND
8783 doesn't work otherwise.
8784
8785 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
8786
8787 * docs/grub.texi (Features): Update list of supported file systems.
8788 (GNU/Linux): Update for GRUB 2.
8789 (Serial terminal): Remove mention of --disable-serial, which was a
8790 GRUB Legacy configure option. Update instructions to use
8791 `terminal_input' and `terminal_output' rather than `terminal'.
8792 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
8793 configuration' and `Installing GRUB using grub-install'.
8794 (Menu entry editor): Update for GRUB 2.
8795 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
8796 Document new -a, -u, and -v options.
8797 (initrd): New section.
8798 (initrd16): New section.
8799 (linux): New section.
8800 (linux16): New section.
8801 (search): The `var' argument to `--set' is optional.
8802 (GRUB only offers a rescue shell): Go into a little more detail on
8803 drive ordering.
8804
8805 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
8806
8807 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
8808
8809 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
8810
8811 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
8812 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
8813
8814 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
8815
8816 * util/i386/pc/grub-setup.c (setup): Rename prefix to
8817 install_prefix, in line with install_dos_part and install_bsd_part.
8818 Add new prefix variable, which is copied to install_prefix after
8819 comparing core.img in memory with the one read from disk in the
8820 no-embedding case, and use that rather than overwriting
8821 install_prefix immediately when installing to a partition.
8822 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
8823 Bicakci.
8824
8825 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
8826
8827 * configure.ac: Avoid == in test command, it's not portable.
8828 * util/grub.d/30_os-prober.in: Likewise.
8829
8830 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
8831
8832 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
8833
8834 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
8835
8836 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
8837 multiple (top-level) partmaps.
8838
8839 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * util/i386/efi/grub-install.in: Don't use empty grub_device.
8842 Reported by: Tino Keitel.
8843
8844 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 Bidi and diacritics support.
8847
8848 * Makefile.in (widthspec.bin): New target.
8849 (widthspec.h): Likewise.
8850 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
8851 * autogen.sh: Generate unidata.c.
8852 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
8853 * commands/ls.c (grub_ls_list_devices): Likewise.
8854 (grub_ls_list_files): Likewise.
8855 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
8856 (grub_mini_cmd_lsmod): Likewise.
8857 * commands/read.c: Likewise.
8858 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
8859 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
8860 * lib/arg.c (grub_arg_show_help): Likewise.
8861 * lib/crypto.c (grub_password_get): Likewise.
8862 * normal/auth.c (grub_username_get): Likewise.
8863 * normal/misc.c (grub_normal_print_device_info): Likewise.
8864 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
8865 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
8866 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
8867 (normal/charset.c_DEPENDENCIES): New variable.
8868 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
8869 (pkglib_MODULES): Remove charset.mod.
8870 (charset_mod_SOURCES): Removed.
8871 (charset_mod_CFLAGS): Likewise.
8872 (charset_mod_LDFLAGS): Likewise.
8873 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
8874 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
8875 and term/tparm.c.
8876 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8877 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8878 (kernel_img_HEADERS): Add terminfo.h.
8879 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
8880 Fill ->font. Reverse ascii bitmaps.
8881 (grub_font_get_xheight): New function.
8882 * font/font.c (grub_font_get_string_width): Moved from here ...
8883 * gfxmenu/font.c (grub_font_get_string_width): ... here.
8884 * font/font.c (grub_font_draw_string): Moved from here ...
8885 * gfxmenu/font.c (grub_font_draw_string): ... here.
8886 * font/font.c (grub_font_dup_glyph): New function.
8887 (grub_font_blit_glyph): Likewise.
8888 (grub_font_blit_glyph_mirror): Likewise.
8889 (blit_comb): Likewise.
8890 (grub_font_construct_dry_run): Likewise.
8891 (grub_font_get_constructed_device_width): Likewise.
8892 (grub_font_construct_glyph): Likewise.
8893 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
8894 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
8895 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
8896 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
8897 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
8898 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
8899 (grub_font_get_xheight): New proto.
8900 (grub_font_get_constructed_device_width): Likewise.
8901 (grub_font_construct_glyph): Likewise.
8902 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
8903 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
8904 * include/grub/font.h (grub_font_draw_string): Moved from here ...
8905 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
8906 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
8907 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
8908 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
8909 (grub_console_getcharwidth): Likewise.
8910 * include/grub/misc.h (grub_xputs): New proto.
8911 (grub_puts): Inlined.
8912 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
8913 (grub_normal_get_line_counter): Removed.
8914 (grub_install_newline_hook): Likewise.
8915 (grub_normal_get_char_counter): New proto.
8916 (grub_normal_reset_more): Likewise.
8917 (grub_xputs_normal): Likewise.
8918 * include/grub/powerpc/ieee1275/console.h: Removed.
8919 * include/grub/sparc64/ieee1275/console.h: Likewise.
8920 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
8921 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
8922 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
8923 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
8924 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
8925 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
8926 (grub_term_input): Pass reference to self. All users updated.
8927 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
8928 Pass reference to self. New fields normal_color, highlight_color and
8929 data. All users updated.
8930 (grub_putchar): Removed.
8931 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
8932 (grub_unicode_estimate_width): New function.
8933 (grub_term_getcharwidth): Add defaults.
8934 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
8935 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
8936 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
8937 (grub_cls): Remove EXPORT_FUNC.
8938 (grub_setcolorstate): Inline.
8939 (grub_newline_hook): Removed.
8940 * include/grub/terminfo.h: Rewritten. All users updated.
8941 * include/grub/unicode.h: New file.
8942 * include/grub/video.h (grub_video_signed_rect): New type.
8943 * kern/emu/console.c (grub_console_highlight_color): Removed.
8944 (grub_console_normal_color): Likewise.
8945 (grub_console_standard_color): Made static.
8946 (grub_ncurses_putchar): Remove mapping.
8947 (grub_ncurses_getcharwidth): Removed.
8948 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
8949 (grub_ncurses_setcolor): Removed.
8950 (grub_ncurses_getcolor): Likewise.
8951 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
8952 (grub_console_putchar): ... this.
8953 (grub_console_putchar): Handle argument difference.
8954 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
8955 console_init_early and console_init_lately.
8956 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
8957 * kern/misc.c (grub_puts): Removed.
8958 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
8959 (grub_vsnprintf_real): Remove str = NULL support.
8960 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
8961 * normal/charset.c (grub_utf8_to_ucs4): ... here.
8962 * kern/term.c (grub_putcode): Renamed to ...
8963 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
8964 (grub_putchar): Removed.
8965 (grub_xputs_dumb): New function.
8966 (grub_xputs): New variable.
8967 * lib/charset.c: Move from here ...
8968 * normal/charset.c: ... to here.
8969 (grub_ucs4_to_utf8): New function.
8970 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
8971 (join_types): New variable.
8972 (unpack_join): New function.
8973 (bidi_types): New variable.
8974 (unpack_bidi): New function.
8975 (get_bidi_type): Likewise.
8976 (get_join_type): Likewise.
8977 (is_mirrored): Likewise.
8978 (grub_unicode_get_comb_type): Likewise.
8979 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
8980 (is_type_after): Likewise.
8981 (grub_unicode_aglomerate_comb): Likewise.
8982 (bidi_line_wrap): Likewise.
8983 (grub_bidi_line_logical_to_visual): Likewise.
8984 (grub_bidi_logical_to_visual): Likewise.
8985 (grub_unicode_mirror_code): Likewise.
8986 (grub_unicode_shape_code): Likewise.
8987 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
8988 Don't use grub_putchar.
8989 * normal/main.c (grub_normal_init_page): Use grub_putcode.
8990 (grub_normal_reader_init): Likewise.
8991 (grub_xputs_saved): New variable.
8992 (GRUB_MOD_INIT): Set grub_xputs.
8993 (GRUB_MOD_FINI): Restore grub_xputs.
8994 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
8995 (menu_init): Avoid printing gfxmenu error.
8996 (show_menu): Use grub_normal_get_char_counter.
8997 * normal/menu_entry.c (update_screen): Fix out-of-array.
8998 (complete): Avoid NULL dereferencing.
8999 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
9000 * normal/menu_text.c (print_spaces): Removed.
9001 (grub_print_ucs4): Likewise.
9002 (grub_print_message_indented): Use grub_print_ucs4.
9003 (print_message): Use grub_putcode.
9004 (print_entry): Hanlde diacritics.
9005 * normal/term.c (term_state): New type.
9006 (grub_more_lines): Removed.
9007 (term_states): New variable.
9008 (grub_normal_line_counter): Renamed to ..
9009 (grub_normal_char_counter): ...this. All users updated.
9010 (grub_normal_get_line_counter): Renamed to ...
9011 (grub_normal_get_char_counter): ... this.
9012 (grub_normal_reset_more): New function.
9013 (process_newline): Removed.
9014 (print_more): New function.
9015 (grub_install_newline_hook): Removed.
9016 (map_code): New function.
9017 (grub_puts_terminal): Use grub_print_ucs4.
9018 (putglyph): New function.
9019 (putcode_real): Likewise.
9020 (grub_putcode): Use putcode_real.
9021 (get_maxwidth): New function.
9022 (get_startwidth): Likewise.
9023 (print_ucs4_terminal): Likewise.
9024 (find_term_state): Likewise.
9025 (put_glyphs_terminal): Likewise.
9026 (print_backlog): Likewise.
9027 (print_ucs4_real): Likewise.
9028 (grub_print_ucs4): Likewise.
9029 (grub_xputs_normal): Likewise.
9030 * term/efi/console.c (grub_console_putchar): Output diacritics.
9031 (grub_console_getcharwidth): Removed.
9032 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9033 * term/gfxterm.c (clear_char): Free chars.
9034 (scroll_up): Avoid leaking memory.
9035 (grub_gfxterm_putchar): Support diacritics.
9036 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9037 * term/i386/pc/console.c (grub_console_term_output): Declare as
9038 GRUB_TERM_CODE_TYPE_VGA.
9039 * term/i386/pc/vga.c (grub_vga_term): Declare as
9040 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
9041 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
9042 GRUB_TERM_CODE_TYPE_VGA.
9043 * term/i386/vga_common.c (map_char): Removed.
9044 (grub_console_putchar): Likewise.
9045 (grub_console_getcharwidth): Likewise.
9046 * term/ieee1275/ofconsole.c: Simplify using terminfo.
9047 (colors): Reordered to match terminfo.
9048 (grub_ofconsole_normal_color): Removed.
9049 (grub_ofconsole_writeesc): Likewise.
9050 (grub_ofconsole_highlight_color): Likewise.
9051 (grub_ofconsole_getcharwidth): Likewise.
9052 (grub_ofconsole_setcolorstate): Likewise.
9053 (grub_ofconsole_setcolor): Likewise.
9054 (grub_ofconsole_getcolor): Likewise.
9055 (grub_ofconsole_readkey): Renamed to ...
9056 (readkey): ... this. Remove escape sequence handling. Return -1 on no
9057 key.
9058 (grub_ofconsole_checkkey): Removed.
9059 (grub_ofconsole_getkey): Likewise.
9060 (grub_ofconsole_getxy): Likewise.
9061 (grub_ofconsole_gotoxy): Likewise.
9062 (grub_ofconsole_cls): Likewise.
9063 (grub_ofconsole_refresh): Likewise.
9064 (grub_ofconsole_terminfo_input): New struct.
9065 (grub_ofconsole_terminfo_output): Likewise.
9066 (grub_ofconsole_term_input): Use terminfo.
9067 (grub_ofconsole_term_output): Likewise.
9068 (grub_console_init): Split into ...
9069 (grub_console_init_early): ...this and ...
9070 (grub_console_init_lately): ...this. Use terminfo.
9071 (grub_ofconsole_putchar): Renamed to ...
9072 (put): ... this. Remove mapping.
9073 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
9074 * term/serial.c: Simplify using terminfo.
9075 (xpos): Removed.
9076 (ypos): Likewise.
9077 (keep_track): Likewise.
9078 (registered): Likewise.
9079 (input_buf): Likewise.
9080 (npending): Likewise.
9081 (serial_translate_key_sequence): Likewise.
9082 (fill_input_buf): Likewise.
9083 (grub_serial_checkkey): Likewise.
9084 (grub_serial_getkey): Likewise.
9085 (grub_serial_getxy): Likewise.
9086 (grub_serial_gotoxy): Likewise.
9087 (grub_serial_putchar): Likewise.
9088 (grub_serial_cls): Likewise.
9089 (grub_serial_setcolorstate): Likewise.
9090 (grub_serial_setcursor): Likewise.
9091 (serial_hw_init): Use serial_hw_fetch.
9092 (grub_serial_terminfo_input): New variable.
9093 (grub_serial_terminfo_output): Likewise.
9094 (grub_serial_term_input): Use terminfo.
9095 (grub_serial_term_output): Likewise.
9096 * term/terminfo.c (putstr): Use put.
9097 (grub_terminfo_all_free): New function
9098 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
9099 (grub_terminfo_output_register): New function.
9100 (grub_terminfo_output_unregister): Likewise.
9101 (grub_terminfo_getxy): Likewise.
9102 (grub_terminfo_readkey): Likewise.
9103 (grub_terminfo_checkkey): Likewise.
9104 (grub_terminfo_getkey): Likewise.
9105 (grub_terminfo_input_init): Likewise.
9106 (print_terminfo): Likewise.
9107 (grub_cmd_terminfo): Handle encoding.
9108 (grub_terminfo_gotoxy): Track position.
9109 (grub_terminfo_cls): Likewise.
9110 (grub_terminfo_putchar): Likewise.
9111 (grub_terminfo_setcolorstate): Handle colors
9112 (grub_terminfo_cursor_on): This ...
9113 (grub_terminfo_cursor_off): ... and this merged into ...
9114 (grub_terminfo_setcursor): ... this.
9115 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
9116 * unicode/ArabicShaping.txt: New file (imported from Unicode).
9117 * unicode/BidiMirroring.txt: Likewise.
9118 * unicode/UnicodeData.txt: Likewise.
9119 * unicode/COPYING: Likewise.
9120 * util/grub-editenv.c (grub_putchar): Removed.
9121 (grub_xputs_real): New function.
9122 (grub_xputs): New variable.
9123 * util/grub-fstest.c (grub_putchar): Removed.
9124 (grub_xputs_real): New function.
9125 (grub_xputs): New variable.
9126 * util/grub-mkdevicemap.c (grub_putchar): Removed.
9127 (grub_xputs_real): New function.
9128 (grub_xputs): New variable.
9129 * util/grub-probe.c (grub_putchar): Removed.
9130 (grub_xputs_real): New function.
9131 (grub_xputs): New variable.
9132 * util/grub-script-check.c (grub_putchar): Removed.
9133 (grub_xputs_real): New function.
9134 (grub_xputs): New variable.
9135 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
9136 (grub_xputs_real): New function.
9137 (grub_xputs): New variable.
9138 * util/import_unicode.py: New file.
9139 * util/grub-mkfont.c (ft_errmsgs): New array.
9140 (grub_glyph_info): Make bitmap a pointer.
9141 (file_formats): New type WIDTH_SPEC.
9142 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
9143 (options): Add width-spec.
9144 (help): Likewise.
9145 (add_char): Renamed to ...
9146 (add_glyph): ... this.
9147 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
9148 (glyph_replace): New type.
9149 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
9150 (add_char): New function.
9151 (add_subst): Likewise.
9152 (process_cursive): Likewise.
9153 (add_font): Handle GSUB.
9154 (write_font_width_spec): New function.
9155 (main): Sort glyphs.
9156 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
9157 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
9158 * kern/term.c (grub_cls): Moved from here...
9159 * normal/term.c (grub_cls): ... here.
9160
9161 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9162
9163 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
9164 suitable for using within the format argument of printf when
9165 converting grub_size_t.
9166 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
9167 "x" to convert grub_size_t arguments.
9168
9169 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
9172 too long captions.
9173 (list_get_minimal_size): Take selection box into account.
9174
9175 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
9178 NULL font.
9179
9180 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9181
9182 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
9183 devices when iterating over /dev/disk/by-id; they will be handled
9184 later if appropriate, which they aren't always (e.g. LVM).
9185
9186 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9187
9188 * include/grub/misc.h (grub_reboot): Declare as noreturn.
9189 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
9190 fails.
9191 (grub_halt): Likewise.
9192 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
9193 reset-all fails.
9194 (grub_halt): Don't return, even if all of shut-down, power-off, and
9195 poweroff fail.
9196
9197 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9198
9199 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
9200 arguments, not three.
9201
9202 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9203
9204 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
9205 * util/grub.d/10_linux.in: Use it to check for LVM, so that
9206 LVM-on-RAID is handled correctly.
9207
9208 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9209
9210 * docs/grub.texi (Changes from GRUB Legacy): New section.
9211 (Future): Fix typo.
9212
9213 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9214
9215 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
9216 grub.d/README accidentally ends up executable for one reason or
9217 another. Ignore it.
9218
9219 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
9222 (gpt_partition_map_iterate): Support non-512B sectors.
9223
9224 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * kern/efi/init.c (grub_efi_init): Disable watchdog.
9227 Tested by: Seth Goldberg.
9228
9229 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
9232 Properly align mbi.
9233 Reported by: Seth Goldberg.
9234
9235 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * util/grub-mkrescue.in: Avoid module duplication.
9238
9239 2010-07-01 Sean Finney <seanius@seanius.net>
9240
9241 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
9242
9243 2010-07-01 Sean Finney <seanius@seanius.net>
9244
9245 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
9246
9247 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * disk/lvm.c (grub_lvm_checkvalue): New function.
9250 (grub_lvm_check_flag): Likewise.
9251
9252 2010-07-01 Robert Millan <rmh@gnu.org>
9253
9254 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
9255 Support 'p' as partition separator on kernel of FreeBSD (used
9256 with GPT labels).
9257 (grub_util_biosdisk_get_grub_dev): Likewise.
9258
9259 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 Yeeloong firmware port.
9262
9263 * boot/mips/yeeloong/fwstart.S: New file.
9264 * bus/cs5536.c (gpiodump): New const.
9265 (set_io_space): New function.
9266 (set_iod): Likewise.
9267 (set_p2d): Likewise.
9268 (grub_cs5536_init_geode): Likewise.
9269 * commands/mips/yeeloong/lsspd.c: New file.
9270 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
9271 (serial_mod_SOURCES): New variable.
9272 (serial_mod_CFLAGS): Likewise.
9273 (serial_mod_LDFLAGS): Likewise.
9274 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
9275 term/terminfo.c and term/tparm.c.
9276 (pkglib_IMAGES): Add fwstart.img.
9277 (fwstart_img_SOURCES): New variable.
9278 (fwstart_img_CFLAGS): Likewise.
9279 (fwstart_img_ASFLAGS): Likewise.
9280 (fwstart_img_LDFLAGS): Likewise.
9281 (fwstart_img_FORMAT): Likewise.
9282 (pkglib_MODULES): Add lsspd.mod.
9283 (lsspd_mod_SOURCES): New variable.
9284 (lsspd_mod_CFLAGS): Likewise.
9285 (lsspd_mod_LDFLAGS): Likewise.
9286 (pkglib_MODULES): Add halt.mod.
9287 (halt_mod_SOURCES): New variable.
9288 (halt_mod_CFLAGS): Likewise.
9289 (halt_mod_LDFLAGS): Likewise.
9290 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
9291 (serial_mod_SOURCES): Removed.
9292 (serial_mod_CFLAGS): Likewise.
9293 (serial_mod_LDFLAGS): Likewise.
9294 * disk/ata.c (check_device): New function.
9295 (grub_ata_device_initialize): Use check_device.
9296 (grub_ata_iterate): Recheck devices.
9297 (grub_ata_open): Likewise.
9298 (grub_atapi_iterate): Likewise.
9299 (grub_atapi_open): Likewise.
9300 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
9301 (GRUB_ATA_CH1_PORT1): Likewise.
9302 (GRUB_ATA_CH0_PORT2): Likewise.
9303 (GRUB_ATA_CH1_PORT2): Likewise.
9304 * include/grub/mips/loongson.h: New file.
9305 * include/grub/mips/yeeloong/ec.h: Likewise.
9306 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
9307 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
9308 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
9309 * include/grub/misc.h (grub_halt): Declare as noreturn.
9310 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
9311 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
9312 (UART_ENABLE_FIFO_TRIGGER1): New definition.
9313 (UART_ENABLE_DTRRTS): Likewise.
9314 (UART_ENABLE_MODEM): Removed.
9315 (UART_ENABLE_OUT2): New const.
9316 * include/grub/term.h (grub_term_register_input_active): New function.
9317 (grub_term_register_output_active): Likewise.
9318 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
9319 argument.
9320 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
9321 (init_pci): New function.
9322 (grub_machine_init): Execute platform init when firmware. Init serial.
9323 (grub_halt): Implement.
9324 (grub_exit): Likewise.
9325 (grub_reboot): Likewise.
9326 * term/serial.c (serial_hw_init): Update macros.
9327 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
9328 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
9329 (image_targets): New target mipsel-yeeloong-flash.
9330 (generate_image): Support IMAGE_YEELOONG_FLASH.
9331 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
9332 (grub_video_sm712_setup): Init card.
9333 (grub_video_sm712_set_palette): Removed.
9334 * video/sm712_init.c: New file.
9335
9336 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
9337
9338 * Makefile.in (install-local): Temporarily prepend $(builddir) to
9339 PATH when running help2man and then run it on the unadorned
9340 executable names, rather than passing $(builddir)/* paths to
9341 help2man. This avoids the build directory ending up in generated
9342 manual pages.
9343
9344 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
9345
9346 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
9347 to avoid accidents when debugging with 'sh -x'.
9348 * util/grub-mkrescue.in: Likewise.
9349 * util/grub.d/00_header.in: Likewise.
9350 * util/grub.d/10_hurd.in: Likewise.
9351 * util/grub.d/10_kfreebsd.in: Likewise.
9352 * util/grub.d/10_linux.in: Likewise.
9353 * util/grub.d/10_netbsd.in: Likewise.
9354 * util/grub.d/10_windows.in: Likewise.
9355 * util/grub.d/20_linux_xen.in: Likewise.
9356 * util/grub.d/30_os-prober.in: Likewise.
9357 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9358
9359 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
9360
9361 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
9362 last character in the buffer.
9363 Reported by: Vladimir Serbinenko.
9364
9365 2010-06-29 Robert Millan <rmh@gnu.org>
9366
9367 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
9368 (Command-line and menu entry commands): Document `badram' command.
9369
9370 2010-06-28 Robert Millan <rmh@gnu.org>
9371
9372 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
9373 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
9374 command using ${GRUB_BADRAM} as parameter.
9375
9376 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9377
9378 * docs/grub.texi (Device map): New section.
9379 (Themes): New section (stub).
9380 * Makefile.in (docs/grub.info): The info documentation now builds
9381 without errors. Make sure it stays that way.
9382
9383 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 Use normal parser for menu entries.
9386 Reported by: Thomas Frauendorfer
9387
9388 * include/grub/parser.h (grub_parser_execute): Don't export.
9389 * normal/menu.c (grub_menu_execute_entry_real): New function.
9390 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
9391
9392 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9393
9394 * docs/grub.texi (Embedded configuration): New section (replacing
9395 old "Preset Menu" stub).
9396 (Images): New section.
9397 (configfile): Note that any menu entries defined in `file' are shown
9398 immediately.
9399
9400 2010-06-28 Josh Triplett <josh@joshtriplett.org>
9401
9402 * mmap/i386/pc/mmap_helper.S: Set CF on return.
9403
9404 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9405
9406 * util/grub-install.in: Add --debug-image= option.
9407
9408 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9409
9410 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
9411 possible on Linux.
9412
9413 * util/deviceiter.c (check_device): Rename to ...
9414 (check_device_readable_unique): ... this. Update all callers.
9415 Maintain and check a list of which devices (by canonicalized name)
9416 have already been seen.
9417 (clear_seen_devices): New function.
9418 (compare_file_names) [__linux__]: New function.
9419 (grub_util_iterate_devices): Clear the list of seen devices on exit
9420 and (just in case) on entry.
9421 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
9422 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
9423 seen-devices list, superseded by general code in check_device.
9424
9425 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9426
9427 * commands/cat.c (options): New variable.
9428 (grub_cmd_cat): Parse options. If the --dos option is given, print
9429 DOS-style "\r\n" line endings as simple newlines (Debian bug
9430 #586358).
9431 (GRUB_MOD_INIT): Use extcmd.
9432 (GRUB_MOD_FINI): Likewise.
9433 * docs/grub.texi (cat): Document --dos.
9434
9435 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 XEN with Linux grub-mkconfig support.
9438
9439 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
9440 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
9441 GRUB_CMDLINE_XEN_DEFAULT.
9442 * util/grub.d/20_linux_xen.in: New file.
9443
9444 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 Initialise VGA video on qemu ourselves.
9447
9448 * boot/i386/qemu/boot.S: Don't call 0xc000.
9449 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
9450 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
9451 (kernel_img_HEADERS): Add pci.h.
9452 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
9453 * configure.ac: Force unifont on qemu and yeeloong.
9454 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
9455 (grub_vga_palette_write): Use correct register.
9456 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
9457 Call grub_qemu_init_cirrus.
9458 * kern/i386/qemu/init.c: New file.
9459 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
9460
9461 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
9462
9463 2010-06-26 Pavel Roskin <proski@gnu.org>
9464
9465 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
9466 13.
9467
9468 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
9469
9470 * docs/grub.texi (Simple configuration): Explain that
9471 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
9472 set to `true' to disable their respective recovery entries, not
9473 merely set.
9474
9475 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
9476
9477 Make the `source' command slightly faster.
9478
9479 * normal/main.c (grub_normal_execute): Don't re-read list files when
9480 nested.
9481
9482 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
9483
9484 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
9485 field position and mask size to red fields from mode_info, not
9486 green.
9487 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
9488 Remove redundant tag->common.framebuffer_type assignment.
9489 Reported by: Seth Goldberg.
9490
9491 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
9492
9493 Sync up other versions of the Linux loader with Robert Millan's
9494 change of 2010-01-09, "Make loader output a bit more user-friendly".
9495
9496 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
9497 grub_dprintf().
9498 (grub_cmd_linux): Likewise.
9499 (grub_cmd_initrd): Likewise.
9500 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
9501 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9502
9503 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
9504
9505 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
9506 larger than MEMORY_MAP_SIZE.
9507
9508 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
9509
9510 Fix parallel build.
9511
9512 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
9513 dependency.
9514 * script/parser.y: #include grub_script.tab.h header.
9515
9516 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 Support >3GiB and <16MiB RAM in i386-qemu.
9519
9520 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
9521 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
9522 (grub_lower_mem): Removed.
9523 (grub_upper_mem): Likewise.
9524 (mem_size): Made static.
9525 (above_4g): New variable.
9526 (grub_machine_mmap_init): Detect small mem_size and above_4g.
9527 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
9528 support.
9529
9530 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 Cirrus 5446 and Bochs video cards support.
9533
9534 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
9535 video_bochs.mod
9536 (video_cirrus_mod_SOURCES): New variable.
9537 (video_cirrus_mod_CFLAGS): Likewise.
9538 (video_cirrus_mod_LDFLAGS): Likewise.
9539 (video_bochs_mod_SOURCES): Likewise.
9540 (video_bochs_mod_CFLAGS): Likewise.
9541 (video_bochs_mod_LDFLAGS): Likewise.
9542 * include/grub/vga.h: New file.
9543 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
9544 (grub_video_fb_set_page_t): New type.
9545 (grub_video_fb_setup): New prototype.
9546 (grub_video_fb_swap_buffers): Likewise.
9547 (grub_video_fb_get_info_and_fini): Likewise.
9548 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
9549 (CRTC_DATA_PORT): Likewise.
9550 (CRTC_CURSOR): Likewise.
9551 (CRTC_CURSOR_ADDR_HIGH): Likewise.
9552 (CRTC_CURSOR_ADDR_LOW): Likewise.
9553 (CRTC_CURSOR_DISABLE): Likewise.
9554 (update_cursor): Use grub_vga_cr_write.
9555 (grub_vga_text_setcursor): Likewise.
9556 * video/bochs.c: New file.
9557 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
9558 (palette): Likewise.
9559 (palette_size): Likewise.
9560 (framebuffer): New variable.
9561 (grub_video_fb_init): Use 'framebuffer'.
9562 (grub_video_fb_fini): Likewise.
9563 (grub_video_fb_get_info): Likewise.
9564 (grub_video_fb_get_palette): Likewise.
9565 (grub_video_fb_set_palette): Likewise.
9566 (grub_video_fb_set_viewport): Likewise.
9567 (grub_video_fb_get_viewport): Likewise.
9568 (grub_video_fb_map_color): Likewise.
9569 (grub_video_fb_map_rgb): Likewise.
9570 (grub_video_fb_map_rgba): Likewise.
9571 (grub_video_fb_unmap_color): Likewise.
9572 (grub_video_fb_unmap_color_int): Likewise.
9573 (grub_video_fb_fill_rect): Likewise.
9574 (grub_video_fb_blit_bitmap): Likewise.
9575 (grub_video_fb_blit_render_target): Likewise.
9576 (grub_video_fb_scroll): Likewise.
9577 (grub_video_fb_create_render_target): Likewise.
9578 (grub_video_fb_doublebuf_blit_init): Likewise.
9579 (grub_video_fb_set_active_render_target): Handle doublebuffering.
9580 (doublebuf_pageflipping_update_screen): New function.
9581 (doublebuf_pageflipping_init): Likewise.
9582 (grub_video_fb_setup): Likewise.
9583 (grub_video_fb_swap_buffers): Likewise.
9584 (grub_video_fb_get_info_and_fini): Likewise.
9585 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
9586 All users updated.
9587 (doublebuf_pageflipping_commit): Restructured into ...
9588 (doublebuf_pageflipping_set_page): ... this.
9589 (doublebuf_pageflipping_update_screen): Removed.
9590 (doublebuf_pageflipping_init): Likewise.
9591 (double_buffering_init): Likewise.
9592 (grub_video_vbe_setup): Use grub_video_fb_setup.
9593 (grub_video_vbe_swap_buffers): Removed.
9594 (grub_video_vbe_set_active_render_target): Likewise.
9595 (grub_video_vbe_get_active_render_target): Likewise.
9596 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
9597 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
9598 grub_video_fb_set_active_render_target and
9599 grub_video_fb_get_active_render_target.
9600 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
9601 (SEQUENCER_DATA_PORT): Likewise.
9602 (MAP_MASK_REGISTER): Likewise.
9603 (CRTC_ADDR_PORT): Likewise.
9604 (CRTC_DATA_PORT): Likewise.
9605 (START_ADDR_HIGH_REGISTER): Likewise.
9606 (START_ADDR_LOW_REGISTER): Likewise.
9607 (GRAPHICS_ADDR_PORT): Likewise.
9608 (GRAPHICS_DATA_PORT): Likewise.
9609 (READ_MAP_REGISTER): Likewise.
9610 (INPUT_STATUS1_REGISTER): Likewise.
9611 (INPUT_STATUS1_VERTR_BIT): Likewise.
9612 (get_map_mask): Use grub_vga_sr_read.
9613 (set_map_mask): Use grub_vga_sr_write.
9614 (set_read_map): Use grub_vga_gr_write.
9615 (set_start_address): Use grub_vga_cr_write.
9616 * video/sm712.c (framebuffer): Remove leftover fields.
9617
9618 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
9619
9620 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
9621 setting GRUB_VIDEO_BACKEND. Make it available as a user override
9622 instead. Replace the gfxterm backend check with a check that
9623 ${GRUB_PREFIX}/video.lst is non-empty.
9624 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
9625 again.
9626 (load_video): New generated function. Call it before loading
9627 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
9628 * util/grub.d/10_linux.in (linux_entry): Call load_video.
9629 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
9630 * docs/grub.texi (Simple configuration): Document
9631 GRUB_VIDEO_BACKEND.
9632
9633 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 Use video functions in linux and xnu loaders.
9636
9637 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
9638 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
9639 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
9640 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
9641 loader/i386/pc/linux.c.
9642 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
9643 (find_line_len): Removed.
9644 (find_framebuf): Likewise.
9645 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
9646 * loader/i386/efi/xnu.c: Removed.
9647 * loader/i386/pc/xnu.c: Moved from here...
9648 * loader/i386/xnu.c: ...here.
9649
9650 Enable priorities in video drivers.
9651
9652 * include/grub/video.h (grub_video_adapter_prio_t): New type.
9653 (grub_video_adapter): New field prio.
9654 (grub_video_register): Respect prio when inserting.
9655 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
9656 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
9657 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
9658 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
9659 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
9660 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
9661 * video/sm712.c (grub_video_sm712_adapter): Likewise.
9662
9663 Fix SDL driver ID.
9664
9665 * include/grub/video.h (grub_video_driver_id_t): New value
9666 GRUB_VIDEO_DRIVER_SDL.
9667 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
9668
9669 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
9670
9671 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
9672 argument to printf.
9673 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9674
9675 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
9676
9677 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
9678 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9679
9680 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
9681
9682 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
9683 directly, and recommend grub-install instead.
9684 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
9685
9686 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
9687
9688 Fix i386-pc prefix handling with nested partitions (Debian bug
9689 #585068). Note that the case where the core image is booted using
9690 multiboot and relocated from its original location still requires
9691 more work.
9692
9693 * kern/i386/pc/init.c (make_install_device): If the prefix starts
9694 with "(,", fill the boot drive in between those two characters, but
9695 expect that a full partition specification including partition map
9696 names will follow.
9697 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
9698 specified, write a prefix without the drive name but including a
9699 full partition specification.
9700
9701 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
9702
9703 * util/grub-mkconfig.in: Ignore non-option arguments, for
9704 compatibility with older versions (before 2010-06-12) which did the
9705 same. In particular, this makes it easier to ship an update-grub
9706 wrapper which is compatible with that used with GRUB Legacy (Debian
9707 bug #586056).
9708
9709 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9710
9711 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
9712 for manual page generation.
9713
9714 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9715
9716 * po/POTFILES: Remove leftover commands/handler.c.
9717
9718 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
9719
9720 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
9721 left this script non-functional.
9722
9723 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
9724
9725 * docs/man/grub-emu.h2m: New file.
9726
9727 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
9728
9729 * docs/grub.texi (Commands): Document reduced command set in rescue
9730 mode.
9731 (cpuid): New section.
9732
9733 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
9734
9735 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
9736 new partition naming style.
9737 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
9738
9739 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
9740
9741 Add "-o grub.iso" like cmdline options support.
9742
9743 * util/grub-install.in: Improve cmdline option parsing.
9744 * util/grub-mkconfig.in: Likewise.
9745 * util/grub-mkrescue.in: Likewise.
9746 * util/grub-reboot.in: Likewise.
9747 * util/grub-set-default.in: Likewise.
9748 * util/i386/efi/grub-install.in: Likewise.
9749 * util/ieee1275/grub-install.in: Likewise.
9750 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9751
9752 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
9753
9754 * .bzrignore: Ignore 41_custom.
9755
9756 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
9757
9758 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
9759
9760 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
9761
9762 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
9763 prototype declarations.
9764
9765 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
9766 generating fs, partmap, and video lists.
9767 * include/grub/fs.h (grub_fs_register): Omit prototype if
9768 GRUB_LST_GENERATOR is defined.
9769 * include/grub/partition.h (grub_partition_map_register): Likewise.
9770 * include/grub/video.h (grub_video_register): Likewise.
9771
9772 2010-06-12 Javier Martín <lordhabbit@gmail.com>
9773
9774 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
9775
9776 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
9777
9778 * util/grub-mkrescue.in: Support --xorriso argument.
9779
9780 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
9783 Suggested by: Thomas Schmitt.
9784
9785 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
9788 Suggested by: Thomas Schmitt.
9789
9790 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 custom.cfg support.
9793
9794 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
9795 * util/grub.d/41_custom.in: New file.
9796
9797 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
9798
9799 * util/grub-mkrescue.in (make_image): Remove sh module, which has
9800 been merged back into normal.
9801
9802 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
9803
9804 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
9805 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
9806
9807 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
9808
9809 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
9810 when generating manual pages.
9811 * docs/man/grub-bin2h.h2m: New file.
9812 * docs/man/grub-editenv.h2m: New file.
9813 * docs/man/grub-fstest.h2m: New file.
9814 * docs/man/grub-install.h2m: New file.
9815 * docs/man/grub-macho2img.h2m: New file.
9816 * docs/man/grub-mkconfig.h2m: New file.
9817 * docs/man/grub-mkdevicemap.h2m: New file.
9818 * docs/man/grub-mkfont.h2m: New file.
9819 * docs/man/grub-mkimage.h2m: New file.
9820 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
9821 * docs/man/grub-mkrelpath.h2m: New file.
9822 * docs/man/grub-mkrescue.h2m: New file.
9823 * docs/man/grub-ofpathname.h2m: New file.
9824 * docs/man/grub-pe2elf.h2m: New file.
9825 * docs/man/grub-probe.h2m: New file.
9826 * docs/man/grub-reboot.h2m: New file.
9827 * docs/man/grub-script-check.h2m: New file.
9828 * docs/man/grub-set-default.h2m: New file.
9829 * docs/man/grub-setup.h2m: New file.
9830
9831 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 Use FOR_* macros instead of *_iterate whenever possible.
9834
9835 * commands/handler.c: Removed.
9836 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
9837 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
9838 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9839 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
9840 (grub_probe_SOURCES): Remove kern/parser.c.
9841 (util/grub-script-check.c_DEPENDENCIES): Removed.
9842 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
9843 and grub_script_check_init.c.
9844 (grub_script_check_init.lst): Removed.
9845 (grub_script_check_init.h): Likewise.
9846 (grub_script_check_init.c): Likewise.
9847 (pkglib_MODULES): Remove handler.mod and sh.mod.
9848 (handler_mod_SOURCES): Removed.
9849 (handler_mod_CFLAGS): Likewise.
9850 (handler_mod_LDFLAGS): Likewise.
9851 (normal_mod_SOURCES): Remove normal/handler.c.
9852 Add script/main.c, script/script.c, script/execute.c,
9853 script/function.c, script/lexer.c, grub_script.tab.c
9854 and grub_script.yy.c.
9855 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9856 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9857 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
9858 (grub_setup_SOURCES): Remove kern/parser.c.
9859 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9860 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
9861 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9862 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9863 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9864 (grub_setup_SOURCES): Remove kern/parser.c.
9865 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
9866 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
9867 * include/grub/command.h (grub_command_iterate): Removed.
9868 (FOR_COMMANDS): New macro.
9869 * include/grub/dl.h (grub_dl): New member next.
9870 (grub_dl_iterate): Removed.
9871 (grub_dl_head): New variable declaration.
9872 (FOR_DL_MODULES): New macro.
9873 * include/grub/fs.h: Include list.h.
9874 (grub_fs): Make next first element.
9875 (grub_fs_list): New variable declaration.
9876 (grub_fs_register): Make inline.
9877 (grub_fs_unregister): Likewise.
9878 (grub_fs_iterate): Removed.
9879 (FOR_FILESYSTEMS): New macro.
9880 * include/grub/handler.h: Removed.
9881 * include/grub/list.h (grub_list_hook_t): Removed.
9882 (grub_list_test_t): Likewise.
9883 (grub_list_pop): Likewise.
9884 (grub_list_iterate): Likewise.
9885 (grub_list_insert): Likewise.
9886 (FOR_LIST_ELEMENTS): New macro.
9887 * include/grub/parser.h (grub_parser_class): Removed.
9888 (grub_parser_register): Likewise.
9889 (grub_parser_unregister): Likewise.
9890 (grub_parser_get_current): Likewise.
9891 (grub_parser_set_current): Likewise.
9892 (grub_register_rescue_parser): Likewise.
9893 (grub_rescue_parse_line): New function.
9894 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
9895 * include/grub/script_sh.h (grub_script_function_list): New variable
9896 declaration.
9897 (FOR_SCRIPT_FUNCTIONS): New macro.
9898 (grub_script_function_iterate): Removed.
9899 (grub_normal_parse_line): New prototype.
9900 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
9901 (FOR_DISABLED_TERM_INPUTS): Likewise.
9902 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
9903 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
9904 * include/grub/video.h (grub_video_adapter): Move 'next' to first
9905 element.
9906 (grub_video_register): Inline.
9907 (grub_video_unregister): Likewise.
9908 (grub_video_adapter_list): New variable declaration.
9909 (grub_video_iterate): Removed.
9910 (FOR_VIDEO_ADAPTERS): New macro.
9911 * kern/dl.c (grub_dl_list): Removed. All users updated.
9912 (grub_dl_iterate): Removed.
9913 * kern/fs.c (grub_fs_list): Make global.
9914 (grub_fs_register): Removed.
9915 (grub_fs_unregister): Likewise.
9916 (grub_fs_iterate): Likewise.
9917 * kern/handler.c: Removed.
9918 * kern/list.c (grub_list_pop): Removed.
9919 (grub_list_iterate): Likewise.
9920 (grub_list_insert): Likewise.
9921 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
9922 (grub_prio_list_insert): Don't use grub_list_insert.
9923 * kern/main.c (grub_register_rescue_parser): Don't call
9924 grub_register_rescue_parser.
9925 * kern/parser.c (grub_parser_class): Removed.
9926 (grub_parser_execute): Use grub_rescue_parse_line.
9927 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
9928 (grub_rescue_parser): Removed.
9929 (grub_register_rescue_parser): Likewise.
9930 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
9931 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
9932 (grub_auth_check_authentication): Likewise.
9933 * normal/completion.c (iterate_command): Removed.
9934 (grub_normal_do_completion): Use FOR_COMMANDS.
9935 * normal/handler.c: Removed.
9936 * normal/main.c (read_config_file): Remove parser changing.
9937 (grub_normal_execute): Don't call read_handler_list.
9938 (grub_normal_read_line_real): Statically allocate prompt.
9939 (grub_cmdline_run): Use grub_normal_parse_line.
9940 (GRUB_MOD_FINI): Don't call free_handler_list.
9941 * normal/menu_entry.c (run): Likewise.
9942 * script/function.c (grub_script_function_list): Make global.
9943 (grub_script_function_iterate): Removed.
9944 * script/main.c (grub_normal_parse_line): Make global.
9945 (grub_sh_parser): Removed.
9946 (GRUB_MOD_INIT): Likewise.
9947 (GRUB_MOD_FINI): Likewise.
9948 * tests/lib/functional_test.c (grub_functional_test): Use
9949 FOR_LIST_ELEMENTS.
9950 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
9951 (grub_test_run): Use FOR_LIST_ELEMENTS.
9952 * tests/lib/unit_test.c (main): Likewise.
9953 * util/deviceiter.c (grub_util_iterate_devices): Don't use
9954 grub_list_pop.
9955 * util/grub-fstest.c (grub_term_input_class): Removed.
9956 (grub_term_output_class): Likewise.
9957 * util/grub-probe.c: Likewise.
9958 * util/i386/pc/grub-setup.c: Likewise.
9959 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9960 * util/grub-script-check.c (main): Don't call grub_init_all and
9961 grub_fini_all.
9962 * video/video.c (grub_video_adapter_list): Make global.
9963 (grub_video_register): Removed.
9964 (grub_video_unregister): Likewise.
9965 (grub_video_iterate): Likewise.
9966
9967 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
9970 reported by Henrique Ferreiro.
9971
9972 2010-06-09 Robert Millan <rmh@gnu.org>
9973
9974 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
9975 ones, when both are available.
9976
9977 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9978
9979 Make --version uniform and avoid hard-coded program name.
9980
9981 * util/grub-mkimage.c (main): Use `program_name' instead of
9982 hard-coded string.
9983 * util/i386/pc/grub-setup.c (main): Likewise.
9984 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
9985 * util/grub-install.in: Save the basename of $0 in $self, and use the
9986 latter in informational messages. Use the same format for --version
9987 as the binary programs.
9988 * util/grub-mkconfig.in: Likewise.
9989 * util/grub-mkrescue.in: Likewise.
9990 * util/grub-reboot.in: Likewise.
9991 * util/grub-set-default.in: Likewise.
9992 * util/i386/efi/grub-install.in: Likewise.
9993 * util/ieee1275/grub-install.in: Likewise.
9994 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9995
9996 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
9997
9998 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
9999 embedding area. Use <= instead of == when checking for non-emptiness.
10000
10001 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10002
10003 * configure.ac: Add `.' to the directories searched for unifont.
10004
10005 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
10006
10007 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
10008 grub_script.yy.h.
10009
10010 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
10011
10012 * docs/grub.texi (History): Expand to cover GRUB 2.
10013 (Serial terminal): Refer to `terminal_input' and `terminal_output'
10014 commands, not `terminal'.
10015 (serial): Likewise.
10016 (terminal_input): New section.
10017 (terminal_output): New section.
10018 (uppermem): New section (stub).
10019 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
10020
10021 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
10022
10023 * docs/grub.texi (Security): Menu entries are unrestricted by
10024 default, not restricted to superusers as I had previously thought.
10025 Reword to account for this.
10026
10027 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10028
10029 * kern/emu/misc.c (device_mapper_null_log): New function.
10030 (grub_device_mapper_supported): New function.
10031 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
10032 prototype.
10033 * kern/emu/hostdisk.c (find_partition_start): Check whether
10034 device-mapper is supported before trying to use it.
10035 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
10036
10037 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10038
10039 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
10040 (File name syntax): Likewise.
10041 (help): --all is no longer supported in GRUB 2. Be more precise
10042 about pattern matching.
10043
10044 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10045
10046 * normal/completion.c (grub_normal_do_completion): When completing
10047 arguments to "set" and the current word contains an equals sign,
10048 skip to after the equals sign before starting completion.
10049
10050 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10051
10052 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
10053
10054 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10055
10056 * docs/grub.texi (Network): New section.
10057 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
10058 `(nd)' as in GRUB Legacy.
10059 (pxe_unload): New section.
10060
10061 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10062
10063 * docs/grub.texi (Troubleshooting): `echo' is not usually available
10064 in the rescue shell, so recommend using `set' instead. Thanks,
10065 Jordan Uggla.
10066
10067 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10068
10069 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
10070 (password): New section.
10071 (password_pbkdf2): New section.
10072 (search): New section.
10073 (Security): New section.
10074 (Troubleshooting): New section, currently very incomplete.
10075 (Invoking grub-mkpasswd-pbkdf2): New section.
10076 (Internals): New section, currently very incomplete.
10077
10078 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10079
10080 * util/grub.d/00_header.in: Add some more quoting (of
10081 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
10082 work again.
10083 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
10084
10085 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10086
10087 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
10088 to `count', fixing variable shadowing that broke the -c option.
10089
10090 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
10091
10092 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
10093 in case they contain spaces.
10094
10095 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
10096
10097 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
10098 "part_" to partmap module names, in line with grub-install.
10099 Reported by: Jindřich Makovička (Debian bug #584426).
10100
10101 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
10102
10103 * util/grub-mkimage.c: Make target-related error messages slightly
10104 more helpful; -O talks about "format". Explicitly point to the use
10105 of -O if no target is specified.
10106 Reported by: Didier Raboud (Debian bug #584415).
10107
10108 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
10109
10110 * INSTALL: Document several build requirements for optional features
10111 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
10112
10113 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10114
10115 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
10116 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
10117 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
10118
10119 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10120
10121 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
10122 Thanks to Jordan Uggla for spotting this.
10123
10124 2010-06-02 Aleš Nesrsta <starous@volny.cz>
10125
10126 Finally make USB usable.
10127
10128 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
10129 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
10130 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
10131 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
10132 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
10133 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
10134 (GRUB_OHCI_FSMPS): Likewise.
10135 (GRUB_OHCI_PERIODIC_START): Likewise.
10136 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
10137 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
10138 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
10139 (GRUB_OHCI_SET_PORT_RESET): Likewise.
10140 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
10141 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
10142 (grub_ohci_transaction): Likewise.
10143 (grub_ohci_transfer): Improve condition detection algorithms.
10144 Handle toggle property. Program the transactions correctly.
10145 Improve error handling. Various important fixups.
10146 (grub_ohci_portstatus): Put register writes in right order.
10147 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
10148 (grub_uhci_transfer): Don't show "failed" message on success.
10149 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
10150 array.
10151 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
10152 determine its size.
10153 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
10154 before initialization is completed. Use IN direction for empty
10155 transfers. Use last_trans and compute toggle.
10156 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
10157 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
10158 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
10159 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
10160 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
10161 (grub_usb_device): Increase toggle to 256.
10162 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
10163 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
10164 GRUB_USBMS_SUBCLASS_SFF8070.
10165 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
10166 (grub_scsi_inquiry): New member page and alloc_length.
10167 (grub_scsi_request_sense): New structure.
10168 (grub_scsi_request_sense_data): Likewise.
10169 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
10170 control.
10171 * disk/scsi.c (grub_scsi_request_sense): New function.
10172 (grub_scsi_test_unit_ready): Likewise.
10173 (grub_scsi_inquiry): Fill new fields.
10174 (grub_scsi_read_capacity): Likewise.
10175 (grub_scsi_read10): Add request sense at the end.
10176 (grub_scsi_read12): Likewise.
10177 (grub_scsi_write10): Likewise.
10178 (grub_scsi_write12): Likewise.
10179 (grub_scsi_open): Add Test Unit Ready.
10180 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
10181 Support additional subclasses. Con't clear halt yet. Activate the
10182 proper config. Calculate LUNs correctly.
10183 (grub_usbms_transfer): Various important fixups.
10184
10185 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
10188 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
10189 (grub_ohci_fini_hw): New function.
10190 (grub_ohci_restore_hw): Likewise.
10191 (GRUB_MOD_INIT(ohci)): Register preboot hook.
10192 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
10193 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
10194
10195 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 Dedicated DMA allocations.
10198
10199 * bus/pci.c (grub_memalign_dma32): New function
10200 (grub_dma_free): Likewise.
10201 (grub_dma_get_virt): Likewise.
10202 (grub_dma_get_phys): Likewise.
10203 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
10204 (grub_ohci_pci_iter): Use dma32_alloc.
10205 (grub_ohci_transfer): Likewise.
10206 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10207 (grub_usb_bulk_readwrite): Likewise.
10208 * include/grub/pci.h: Add declarations.
10209
10210 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10211
10212 CS5536 support.
10213
10214 * bus/cs5536.c: New file.
10215 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
10216 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
10217 (cs5536_mod_SOURCES): New variable.
10218 (cs5536_mod_CFLAGS): Likewise.
10219 (cs5536_mod_LDFLAGS): Likewise.
10220 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
10221 machine/pci.h.
10222 (kernel_img_SOURCES): Add bus/cs5536.c.
10223 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
10224 usb_keyboard.mod.
10225 (usb_mod_SOURCES): New variable.
10226 (usb_mod_CFLAGS): New variable.
10227 (usb_mod_LDFLAGS): New variable.
10228 (usbtest_mod_SOURCES): New variable.
10229 (usbtest_mod_CFLAGS): New variable.
10230 (usbtest_mod_LDFLAGS): New variable.
10231 (ohci_mod_SOURCES): New variable.
10232 (ohci_mod_CFLAGS): New variable.
10233 (ohci_mod_LDFLAGS): New variable.
10234 (usbms_mod_SOURCES): New variable.
10235 (usbms_mod_CFLAGS): New variable.
10236 (usbms_mod_LDFLAGS): New variable.
10237 (usb_keyboard_mod_SOURCES): New variable.
10238 (usb_keyboard_mod_CFLAGS): New variable.
10239 (usb_keyboard_mod_LDFLAGS): New variable.
10240 * include/grub/smbus.h: New file.
10241 * include/grub/cs5536.h: New file.
10242
10243 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10244
10245 * util/grub.d/00_header.in: Add safety check to make sure that
10246 ${locale_dir} exists before trying to probe it.
10247
10248 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10249
10250 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
10251 per the GNU Coding Standards; this is now too obscure to be worth
10252 documenting.
10253 (QNX): Likewise.
10254 (chainloader): Remove cross-reference to `SCO UnixWare'.
10255
10256 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10257
10258 * docs/grub.texi (Chain-loading): New section.
10259 (DOS/Windows): New section, borrowed from GRUB Legacy with details
10260 adjusted for GRUB 2.
10261 (SCO UnixWare): Likewise.
10262 (QNX): Likewise.
10263 (chainloader): Add reference to `Block list syntax'.
10264 (drivemap): New section.
10265 (parttool): New section.
10266
10267 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10268
10269 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
10270 the grub shell'.
10271 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
10272 (Installing GRUB using grub-install): Remove reference to the grub
10273 shell; mention `grub-mkimage' and `grub-setup' instead.
10274 (Invoking grub-install): Likewise.
10275 (Interface): Add reference to `Menu entry editor'.
10276 (serial): Remove `--device' option.
10277
10278 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10279
10280 * docs/grub.texi (Configuration): New section, documenting
10281 configuration file generation using grub-mkconfig. I've left a slot
10282 for documenting the full shell scripting format but have not yet
10283 started on writing that up.
10284 (Invoking grub-mkconfig): New section.
10285
10286 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10287
10288 * docs/grub.texi (direntry): Remove grub-terminfo reference.
10289 (GNU GRUB manual): Likewise.
10290 (General commands): Update description of `terminfo' for GRUB 2.
10291
10292 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10293
10294 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
10295 (GRUB_MOD_INIT): Fix capitalisation.
10296 * docs/grub.texi (Command-line and menu entry commands): Document
10297 gettext and gptsync commands.
10298
10299 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10300
10301 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
10302 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
10303
10304 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
10305
10306 Add btrfs probing support, currently only in the single-device case.
10307
10308 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
10309 function.
10310 (grub_guess_root_device): Call find_root_device_from_mountinfo
10311 before looking in /dev.
10312
10313 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
10316 GRUB_DISK_SIZE_UNKNOWN.
10317 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
10318
10319 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
10320
10321 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
10322 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
10323 corrupted or not synced properly.
10324
10325 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
10328 Reported by: Seth Goldberg.
10329
10330 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
10333 addition of dest.
10334 Reported by: Seth Goldberg.
10335
10336 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
10339 Reported by: Seth Goldberg.
10340
10341 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
10344 64-bit address as signed on MIPS.
10345
10346 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
10347
10348 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
10349 to the empty string.
10350
10351 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
10352
10353 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
10354
10355 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
10356 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
10357 * kern/misc.c (__enable_execute_stack): Disable on
10358 GRUB_MACHINE_EMU.
10359
10360 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
10361
10362 Make grub-probe work with symbolic links under /dev/mapper as well
10363 as with real block devices. The Linux world seems to be (at best)
10364 in transition here, and GRUB shouldn't get caught in the middle.
10365
10366 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
10367 /dev/mapper.
10368
10369 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10370
10371 * util/grub-script-check.c (main): Ensure defined behaviour on empty
10372 input files (in which case exit zero).
10373
10374 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10375
10376 * kern/emu/misc.c (canonicalize_file_name): realpath can still
10377 return NULL for various reasons even if it has a maximum-length
10378 buffer: for example, there might be a symlink loop, or the path
10379 might exceed PATH_MAX. If this happens, return NULL.
10380
10381 2010-05-27 Robert Millan <rmh@gnu.org>
10382
10383 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
10384 partmap module to handle cross-partmap setups.
10385 Reported by Orestes Mas. Gràcies!
10386
10387 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10388
10389 * util/grub-mkrescue.in: Initialise override_dir rather than
10390 assuming that it's unset or empty in the environment.
10391
10392 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
10393
10394 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
10395 variable index into p_index to suppress a warning with -Wshadow.
10396
10397 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
10398
10399 * INSTALL: Added flex >= 2.5.35 requirement.
10400
10401 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
10404
10405 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 cmostest support.
10408
10409 * commands/i386/cmostest.c: New file.
10410 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
10411 (cmostest_mod_SOURCES): New variable.
10412 (cmostest_mod_CFLAGS): Likewise.
10413 (cmostest_mod_LDFLAGS): Likewise.
10414 * conf/i386-pc.rmk: Likewise.
10415 * docs/grub.texi (Vendor power-on keys): New section.
10416 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
10417 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
10418 and GRUB_BUTTON_CMOS_ADDRESS.
10419 * util/grub.d/00_header.in: Handle powering-on by separate button.
10420
10421 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
10424 Removed drawing_scrollbar argument. All users updated
10425 Fixes #29792.
10426 Reported by Jo Shields
10427
10428 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
10431 buffer since gfxterm handles double repaint.
10432
10433 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
10436 * term/gfxterm.c (real_scroll): Likewise.
10437
10438 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
10441 before calling BIOS.
10442
10443 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 * include/grub/i18n.h: Always enable grub_gettext.
10446
10447 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
10450 partition naming style.
10451
10452 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
10453
10454 * util/grub-mkconfig.in: Fix handling of -o so that it works when
10455 not the first option.
10456
10457 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
10458
10459 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
10460
10461 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
10462
10463 * util/misc.c: Move inclusion of <limits.h> to ...
10464 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
10465
10466 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
10467
10468 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
10469 Fix merge error in NetBSD code.
10470 (find_partition_start) [__NetBSD__]: Likewise.
10471
10472 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
10473
10474 Fix grub-mkrescue usage unit testing.
10475
10476 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
10477
10478 2010-05-18 Christian Franke <franke@computer.org>
10479
10480 * util/grub.d/10_windows.in: Use path names instead of
10481 drive letters to prevent warning from Cygwin 1.7.
10482 Add drivemap command to menuentry if needed.
10483
10484 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
10485
10486 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
10487 gnumach and gnumach.gz.
10488
10489 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * include/grub/i18n.h (gettext): Inline instead of using #define.
10492 (grub_gettext): Likewise.
10493 (_): Likewise.
10494
10495 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
10498 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
10499 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
10500 (main): Add a slash after pkglibdirroot.
10501
10502 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * util/grub-install.in: Add missing "in" keyword.
10505
10506 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
10509 Reported by: Seth Goldberg.
10510
10511 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
10514
10515 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10516
10517 * configure.ac: Check for Linux device-mapper support.
10518
10519 * util/hostdisk.c (device_is_mapped): New function.
10520 (find_partition_start): New function, partly broken out from
10521 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
10522 device-mapper support added.
10523 (linux_find_partition): Use find_partition_start.
10524 (convert_system_partition_to_system_disk): Add `st' argument.
10525 Support Linux /dev/mapper/* devices if device-mapper support is
10526 available; only DM-RAID devices are understood at present.
10527 (find_system_device): Add `st' argument. Pass it to
10528 convert_system_partition_to_system_disk.
10529 (grub_util_biosdisk_get_grub_dev): Pass stat result to
10530 find_system_device and convert_system_partition_to_system_disk. Use
10531 find_partition_start.
10532
10533 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
10534 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
10535 * util/deviceiter.c [__linux__]: Define MINOR.
10536 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
10537 * util/mkdevicemap.c (grub_putchar): New function.
10538 (grub_getkey): New function.
10539 (grub_refresh): New function.
10540 (main): Set debug=all if -v -v is used.
10541
10542 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10543
10544 Fix build with non-GNU libcs.
10545
10546 * util/misc.c (canonicalize_file_name): Move to ...
10547 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
10548 grub_make_system_path_relative_to_its_root.
10549
10550 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10551
10552 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
10553 we handle finding grub-mkimage. Default to finding grub-mkimage in
10554 ${bindir} with program_transform_name applied, and provide a
10555 --grub-mkimage option to override this.
10556
10557 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 Remove grub-mkisofs.
10560
10561 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
10562 (grub_mkisofs_SOURCES): Removed.
10563 (grub_mkisofs_CFLAGS): Removed.
10564 * util/mkisofs/defaults.h: Removed.
10565 * util/mkisofs/eltorito.c: Likewise.
10566 * util/mkisofs/exclude.h: Likewise.
10567 * util/mkisofs/hash.c: Likewise.
10568 * util/mkisofs/include/: Likewise.
10569 * util/mkisofs/include/fctldefs.h: Likewise.
10570 * util/mkisofs/include/mconfig.h: Likewise.
10571 * util/mkisofs/include/prototyp.h: Likewise.
10572 * util/mkisofs/include/statdefs.h: Likewise.
10573 * util/mkisofs/iso9660.h: Likewise.
10574 * util/mkisofs/joliet.c: Likewise.
10575 * util/mkisofs/match.c: Likewise.
10576 * util/mkisofs/match.h: Likewise.
10577 * util/mkisofs/mkisofs.c: Likewise.
10578 * util/mkisofs/mkisofs.h: Likewise.
10579 * util/mkisofs/msdos_partition.h: Likewise.
10580 * util/mkisofs/multi.c: Likewise.
10581 * util/mkisofs/name.c: Likewise.
10582 * util/mkisofs/rock.c: Likewise.
10583 * util/mkisofs/tree.c: Likewise.
10584 * util/mkisofs/write.c: Likewise.
10585
10586 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 Unify grub-mkimage accross platforms.
10589
10590 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
10591 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
10592 (grub_mkelfimage_SOURCES): Removed.
10593 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
10594 (util/grub-mkimage.c_DEPENDENCIES): .. this.
10595 (bin_UTILITIES): Add grub-mkimage.
10596 (grub_mkimage_SOURCES): New variable.
10597 (kernel_img_HEADERS): Remove machine/kernel.h.
10598 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
10599 (pkglib_PROGRAMS): Add kernel.img.
10600 (kernel_img_HEADERS): Add machine/kernel.h.
10601 (kernel_img_FORMAT): Removed.
10602 (bin_UTILITIES): Remove grub-mkimage.
10603 (grub_mkimage_SOURCES): Removed.
10604 (grub_mkimage_CFLAGS): Likewise.
10605 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10606 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
10607 (pkglib_PROGRAMS): Add kernel.img.
10608 (bin_UTILITIES): Remove grub-mkimage.
10609 (grub_mkimage_SOURCES): Removed.
10610 (grub_mkimage_CFLAGS): Likewise.
10611 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10612 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
10613 (pkglib_PROGRAMS): Add kernel.img.
10614 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
10615 (pkglib_PROGRAMS): Add kernel.img.
10616 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
10617 (grub_mkimage_SOURCES): Removed.
10618 (grub_mkimage_CFLAGS): Likewise.
10619 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10620 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
10621 (pkglib_PROGRAMS): Add kernel.img.
10622 (bin_UTILITIES): Remove grub-mkimage.
10623 (grub_mkimage_SOURCES): Removed.
10624 (grub_mkimage_CFLAGS): Likewise.
10625 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10626 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
10627 (grub_mkimage_SOURCES): Removed.
10628 (grub_mkimage_CFLAGS): Likewise.
10629 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10630 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
10631 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
10632 (grub_pe32_optional_header): ... this.
10633 (grub_pe64_optional_header): ... and this. All users updated.
10634 (GRUB_PE32_PE32_MAGIC): Split into ..
10635 (GRUB_PE32_PE32_MAGIC): .. this.
10636 (GRUB_PE32_PE64_MAGIC): .. and this.
10637 (GRUB_PE32_SIGNATURE_SIZE): New definition.
10638 * include/grub/elf.h (PT_GNU_STACK): New definition.
10639 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
10640 * include/grub/i386/efi/kernel.h: Likewise.
10641 * include/grub/i386/kernel.h: Likewise.
10642 * include/grub/i386/pc/kernel.h: Likewise.
10643 * include/grub/i386/qemu/boot.h: Likewise.
10644 * include/grub/mips/kernel.h: Likewise.
10645 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10646 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
10647 * include/grub/powerpc/kernel.h: Likewise.
10648 * include/grub/sparc64/ieee1275/boot.h: Likewise.
10649 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
10650 * include/grub/sparc64/kernel.h: Likewise.
10651 * include/grub/x86_64/efi/kernel.h: Likewise.
10652 * include/grub/x86_64/kernel.h: Likewise.
10653 * include/grub/offsets.h: New file.
10654 * include/grub/kernel.h (grub_module_info): Split into ...
10655 (grub_module_info32): ... this.
10656 (grub_module_info64): ... and this.
10657 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
10658 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
10659 (grub_boot_blocklist): Moved from here ...
10660 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
10661 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
10662 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
10663 * include/grub/types.h (grub_target_to_host16): Removed.
10664 (grub_target_to_host32): Likewise.
10665 (grub_target_to_host64): Likewise.
10666 (grub_host_to_target16): Likewise.
10667 (grub_host_to_target32): Likewise.
10668 (grub_host_to_target64): Likewise.
10669 (grub_host_to_target_addr): Likewise.
10670
10671 Support grub-mkrescue for efi, coreboot and qemu.
10672
10673 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
10674 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
10675 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
10676 * util/grub-mkrawimage.c: Moved from here ...
10677 * util/grub-mkimage.c: ... here. All users updated.
10678 (ALIGN_ADDR): Use image_target.
10679 (TARGET_NO_FIELD): New const.
10680 (image_target_desc): New type.
10681 (image_targets): New array.
10682 (grub_target_to_host64): Use image_target.
10683 (grub_target_to_host32): Likewise.
10684 (grub_target_to_host16): Likewise.
10685 (grub_host_to_target64): Likewise.
10686 (grub_host_to_target32): Likewise.
10687 (grub_host_to_target16): Likewise.
10688 (grub_host_to_target_addr): Likewise.
10689 (generate_image): Handle multiimage.
10690 (main): Require -O parameter. All users updated.
10691 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
10692 util/efi/grub-mkimage.c
10693 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
10694 New option --rom-directory.
10695 Use xorriso.
10696 * util/i386/efi/grub-mkimage.c: Removed.
10697 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
10698 (grub_target_to_host32): Likewise.
10699 (grub_target_to_host64): Likewise.
10700 (grub_host_to_target16): Likewise.
10701 (grub_host_to_target32): Likewise.
10702 (grub_host_to_target64): Likewise.
10703 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
10704 (grub_target_to_host32): Likewise.
10705 (grub_target_to_host64): Likewise.
10706 (grub_host_to_target16): Likewise.
10707 (grub_host_to_target32): Likewise.
10708 (grub_host_to_target64): Likewise.
10709
10710 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
10711
10712 Source tree is reorganized for emu build.
10713
10714 * include/grub/util/console.h: Move from here...
10715 * include/grub/emu/console.h: ...to here.
10716 * include/grub/util/getroot.h: Move from here...
10717 * include/grub/emu/getroot.h: ...to here.
10718 * include/grub/util/hostdisk.h: Move from here...
10719 * include/grub/emu/hostdisk.h: ...to here.
10720 * util/console.c: Move from here...
10721 * kern/emu/console.c: ...to here.
10722 * util/getroot.c: Move from here...
10723 * kern/emu/getroot.c: ...to here.
10724 * util/grub-emu.c: Move from here...
10725 * kern/emu/main.c: ...to here.
10726 * util/hostdisk.c: Move from here...
10727 * kern/emu/hostdisk.c: ...to here.
10728 * util/hostfs.c: Move from here...
10729 * kern/emu/hostfs.c: ...to here.
10730 * util/mm.c: Move from here...
10731 * kern/emu/mm.c: ...to here.
10732 * util/pci.c: Move from here...
10733 * bus/emu/pci.c: ...to here.
10734 * util/sdl.c: Move from here...
10735 * video/emu/sdl.c: ...to here.
10736 * util/time.c: Move from here...
10737 * kern/emu/time.c: ...to here.
10738 * util/usb.c: Move from here...
10739 * bus/usb/emu/usb.c: ...to here.
10740
10741 * include/grub/emu/misc.h: New header for grub-emu functions.
10742 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
10743
10744 * conf/any-emu.rmk: Rule updates for above renames.
10745 * conf/common.rmk: Likewise.
10746 * conf/i386-pc.rmk: Likewise.
10747 * conf/i386-qemu.rmk: Likewise.
10748 * conf/mips.rmk: Likewise.
10749 * conf/sparc64-ieee1275.rmk: Likewise.
10750 * conf/x86-efi.rmk: Likewise.
10751
10752 * disk/lvm.h: #include updates for above renames.
10753 * util/grub-mkrelpath.c: Likewise.
10754 * util/grub-probe.c: Likewise.
10755 * util/i386/pc/grub-setup.c: Likewise.
10756 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10757 * kern/emu/console.c: Likewise.
10758 * kern/emu/getroot.c: Likewise.
10759 * kern/emu/hostdisk.c: Likewise.
10760 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
10761
10762 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
10763 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
10764 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
10765 * util/misc.c: Remove grub-emu functions.
10766
10767 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Fix gfxmenu crash.
10770 Reported by: Thorsten Grützmacher.
10771
10772 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
10773 timeout hook.
10774 (circprog_set_property): Register and unregister timeout hook.
10775 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
10776 (label_destroy): Free template. and unregister hook.
10777 (label_set_state): New function.
10778 (label_set_property): Handle templates and hooks.
10779 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
10780 timeout hook.
10781 (progress_bar_set_property): Register and unregister timeout hook.
10782 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
10783 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
10784 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
10785 (update_timeout_visit): Removed.
10786 (update_timeouts): New function.
10787 (redraw_timeouts): Likewise.
10788 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
10789 (grub_gfxmenu_clear_timeout): Likewise.
10790 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
10791 (grub_gfxmenu_timeout_notify): Likewise.
10792 (grub_gfxmenu_timeout_notifications): New external variable.
10793 (grub_gfxmenu_timeout_register): New function.
10794 (grub_gfxmenu_timeout_unregister): Likewise.
10795
10796 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 Transform (broken) vga terminal into (working) vga video driver.
10799
10800 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
10801 video/i386/pc/vga.c.
10802 * include/grub/video.h (grub_video_driver_id):
10803 Add GRUB_VIDEO_DRIVER_VGA.
10804 * term/i386/pc/vga.c: Renamed to ...
10805 * video/i386/pc/vga.c: ...this
10806 (DEBUG_VGA): Removed.
10807 (CHAR_WIDTH): Likewise.
10808 (CHAR_HEIGHT): Likewise.
10809 (TEXT_WIDTH): Likewise.
10810 (TEXT_HEIGHT): Likewise.
10811 (DEFAULT_FG_COLOR): Likewise.
10812 (DEFAULT_BG_COLOR): Likewise.
10813 (colored_char): Likewise.
10814 (xpos): Likewise.
10815 (ypos): Likewise.
10816 (cursor_state): Likewise.
10817 (fg_color): Likewise.
10818 (bg_color): Likewise.
10819 (text_buf): Likewise.
10820 (page): Likewise.
10821 (font): Likewise.
10822 (framebuffer): New variable.
10823 (set_read_map): Disabled.
10824 (setup): New variable.
10825 (is_target): Likewise.
10826 (grub_vga_mod_init): Likewise.
10827 (grub_vga_mod_fini): Likewise.
10828 (check_vga_mem): Likewise.
10829 (write_char): Likewise.
10830 (write_cursor): Likewise.
10831 (scroll_up): Likewise.
10832 (grub_vga_putchar): Likewise.
10833 (grub_vga_getcharwidth): Likewise.
10834 (grub_vga_getwh): Likewise.
10835 (grub_vga_getxy): Likewise.
10836 (grub_vga_gotoxy): Likewise.
10837 (grub_vga_cls): Likewise.
10838 (grub_vga_setcolorstate): Likewise.
10839 (grub_vga_setcursor): Likewise.
10840 (grub_video_vga_init): New function.
10841 (grub_video_vga_setup): Likewise.
10842 (grub_video_vga_fini): Likewise.
10843 (update_target): Likewise.
10844 (grub_video_vga_blit_bitmap): Likewise.
10845 (grub_video_vga_blit_render_target): Likewise.
10846 (grub_video_vga_set_active_render_target): Likewise.
10847 (grub_video_vga_get_active_render_target): Likewise.
10848 (grub_video_vga_swap_buffers): Likewise.
10849 (grub_video_vga_set_palette): Likewise.
10850 (grub_video_vga_get_info_and_fini): Likewise.
10851 (grub_vga_term): Removed.
10852 (grub_video_vga_adapter): New variable.
10853 (GRUB_MOD_INIT): Register a video driver instead of terminal.
10854 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
10855
10856 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * video/readers/jpeg.c: Indented.
10859
10860 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 Various jpeg cleanups.
10863
10864 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
10865 (grub_jpeg_decode_quan_table): Use sizeof.
10866 (grub_jpeg_decode_du): Use ARRAY_SIZE.
10867
10868 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
10869
10870 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
10871 tables. Ignore non-last ac bit.
10872 (grub_jpeg_decode_quan_table): Likewise.
10873
10874 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
10877 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
10878 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
10879 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
10880 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
10881 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
10882
10883 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10884
10885 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
10886 error.
10887
10888 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
10891
10892 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
10895 condition.
10896
10897 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
10900 part.
10901
10902 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
10905 pointers.
10906
10907 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10908
10909 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
10910
10911 2010-05-01 Christian Franke <franke@computer.org>
10912
10913 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
10914 Remove broken Cygwin path conversion.
10915 * util/misc.c: [__CYGWIN__] Add include and define.
10916 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
10917 for Cygwin 1.7.
10918 (make_system_path_relative_to_its_root): Simplify loop, replace early
10919 return by break.
10920 [__CYGWIN__] Add conversion to win32 path.
10921 Include "/" case in trailing slash removal.
10922
10923 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * kern/main.c (grub_load_config): Fix copy-pasted comment.
10926 Reported by: Seth Goldberg
10927
10928 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 * commands/help.c (grub_cmd_help): Fix a typo.
10931 Reported by: Seth Goldberg
10932
10933 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10934
10935 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
10936 name and add N_.
10937 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
10938 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
10939 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
10940 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
10941 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
10942 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
10943 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10944 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10945 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10946 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10947 * normal/context.c (GRUB_MOD_INIT): Likewise.
10948 * normal/main.c (GRUB_MOD_INIT): Likewise.
10949 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10950 * term/serial.c (GRUB_MOD_INIT): Likewise.
10951 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10952
10953 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
10956 extra == 0.
10957
10958 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10959
10960 * commands/iorw.c: New file.
10961 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
10962 (iorw_mod_SOURCES): New variable.
10963 (iorw_mod_CFLAGS): Likewise.
10964 (iorw_mod_LDFLAGS): Likewise.
10965
10966 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10967
10968 Hotkey support
10969
10970 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
10971 * normal/main.c (hotkey_aliases): New variable.
10972 (grub_normal_add_menu_entry): Parse "--hotkey".
10973 * normal/menu_text.c (run_menu): Handle hotkeys.
10974
10975 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 * kern/i386/coreboot/init.c (grub_machine_init): Call
10978 grub_machine_mmap_init on qemu.
10979
10980 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * boot/i386/qemu/boot.S: Add a missing .code16.
10983
10984 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10985
10986 Use LBIO on coreboot.
10987
10988 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
10989 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
10990 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
10991 New declaration.
10992 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
10993 grub_machine_mmap_init on coreboot.
10994 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
10995 GRUB_LINUXBIOS_MEMBER_LINK.
10996 (grub_machine_mmap_iterate): Fix declaration.
10997 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
10998
10999 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 Split coreboot and multiboot ports.
11002
11003 * conf/i386-multiboot.rmk: New file.
11004 * configure.ac: Add multiboot port.
11005 * include/grub/i386/multiboot/boot.h: New file.
11006 * include/grub/i386/multiboot/console.h: Likewise.
11007 * include/grub/i386/multiboot/init.h: Likewise.
11008 * include/grub/i386/multiboot/kernel.h: Likewise.
11009 * include/grub/i386/multiboot/loader.h: Likewise.
11010 * include/grub/i386/multiboot/memory.h: Likewise.
11011 * include/grub/i386/multiboot/serial.h: Likewise.
11012 * include/grub/i386/multiboot/time.h: Likewise.
11013 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
11014 * loader/multiboot.c: Likewise.
11015 * loader/multiboot_mbi2.c: Likewise.
11016 * util/grub-mkrescue.in: Generate multiboot rescue.
11017
11018 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 * kern/parser.c (grub_parser_execute): Cope with read-only config.
11021
11022 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 Merge handling of input and output terminals. Fix a hang.
11025
11026 * commands/terminal.c (abstract_terminal): New struct.
11027 (handle_command): New function. Based on grub_cmd_terminal_input.
11028 (grub_cmd_terminal_input): Use handle_command.
11029 (grub_cmd_terminal_output): Use handle_command.
11030
11031 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
11032
11033 Fix comment handling.
11034
11035 * tests/grub_script_comments.in: New testcase.
11036 * conf/tests.rmk: Rules for new testcase.
11037 * script/yylex.l: Updated flex rules.
11038
11039 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
11040
11041 * docs/grub.texi (play): Document that zero pitches produce rests.
11042 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
11043 if argc is 1.
11044
11045 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11046
11047 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
11048 autogen issues.
11049
11050 2010-04-26 Christian Franke <franke@computer.org>
11051
11052 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
11053 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
11054 (grub_get_prefix): Remove function.
11055 * util/grub-emu.c (main): Replace grub_get_prefix () call by
11056 make_system_path_relative_to_its_root ().
11057 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11058
11059 2010-04-24 Christian Franke <franke@computer.org>
11060
11061 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
11062 (kernel_img_LDFLAGS): Remove -static-libgcc.
11063
11064 2010-04-24 Christian Franke <franke@computer.org>
11065
11066 * configure.ac: Do not CHECK_BSS_START_SYMBOL
11067 and CHECK_END_SYMBOL if grub-emu is built.
11068 Unset TARGET_OBJ2ELF if grub-emu is built
11069 without module support.
11070
11071 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
11072
11073 Nilfs2 support.
11074
11075 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
11076 (grub_fstest_SOURCES): Likewise.
11077 (pkglib_MODULES): Add nilfs2.mod.
11078 (nilfs2_mod_SOURCES): New variable.
11079 (nilfs2_mod_CFLAGS): Likewise.
11080 (nilfs2_mod_LDFLAGS): Likewise.
11081 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11082 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11083 * fs/nilfs2.c: New file.
11084
11085 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
11088 is not supported.
11089
11090 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
11091
11092 Add grub-mkconfig support for NetBSD.
11093
11094 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
11095 * util/grub-mkconfig.in: export new NetBSD specific variables.
11096 * po/POTFILES-shell: added 10_netbsd.in.
11097 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
11098
11099 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
11100
11101 Fix emu build with grub-emu-pci and grub-emu-modules.
11102
11103 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
11104 functions.
11105 * include/grub/libpciaccess.h: New file.
11106 * conf/any-emu.rmk: Update kernel headers for emu build.
11107
11108 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
11111
11112 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
11115
11116 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
11119 Retrieve chosen/bootpath if bootpath isn't hardcoded.
11120 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
11121 util/ieee1275/ofpath.c.
11122 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
11123 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
11124 * include/grub/sparc64/ieee1275/boot.h
11125 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
11126 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
11127 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
11128 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
11129 const char *.
11130 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
11131 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
11132 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
11133 install.
11134
11135 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11136
11137 * util/grub-mkconfig.in: Corrected two == equality tests.
11138 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
11139 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
11140 expect a number appended to it.
11141 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
11142 expects a number appended to it.
11143
11144 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11145
11146 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
11147
11148 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11149
11150 * util/hostdisk.c (make_device_name): Change to new partition naming.
11151
11152 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
11155
11156 2010-04-17 Christian Franke <franke@computer.org>
11157
11158 * Makefile.in: Add missing localedir setting.
11159
11160 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
11161
11162 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
11163 mistake in r2156. Noticed by Anthony Fok.
11164
11165 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
11166 @localedir@.
11167 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11168
11169 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
11170
11171 Fix a spurious, uninitialized variable warning.
11172
11173 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
11174 Initialize variable, shdr.
11175 (grub_freebsd_load_elfmodule): Likewise.
11176 (grub_freebsd_load_elf_meta): Likewise.
11177
11178 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
11179
11180 Fix for escaped dollar in double quoted strings.
11181
11182 * script/yylex.l: Updated flex rules.
11183 * conf/tests.rmk: Rule for new testcase.
11184 * tests/grub_script_dollar.in: New testcase.
11185
11186 2010-04-13 Carles Pina i Estany <carles@pina.cat>
11187 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
11188
11189 Enclose all translated strings in grub.cfg in single quotes, and
11190 escape them appropriately (Ubuntu bug #552921).
11191
11192 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
11193 * util/grub.d/10_hurd.in: Use it.
11194 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11195 * util/grub.d/10_linux.in (linux_entry): Likewise.
11196
11197 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 Fix cygwin compilation.
11200
11201 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
11202 * include/grub/misc.h (__register_frame_info)
11203 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
11204 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11205 * kern/misc.c (__register_frame_info)
11206 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
11207 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11208
11209 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11210
11211 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
11212
11213 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 Unify libgcc processing.
11216
11217 * Makefile.in (kernel_img_LDFLAGS): New variable.
11218 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
11219 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
11220 overwriting.
11221 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
11222 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
11223 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
11224 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
11225 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
11226 overwriting. Remove -lgcc and -static-libgcc
11227 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
11228 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11229 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11230 (kernel_img_LDFLAGS): Append instead of overwriting.
11231 Remove -lgcc and -static-libgcc
11232 * conf/sparc64-ieee1275.rmk: Likewise.
11233 * include/grub/powerpc/libgcc.h: Move to ...
11234 * include/grub/libgcc.h: .. this.
11235 * include/grub/libgcc.h: Don't export most of the function on x86.
11236 (__bswapsi2): New export.
11237 (__bswapdi2): Likewise.
11238 * include/grub/mips/libgcc.h: Removed.
11239 * include/grub/sparc64/libgcc.h: Likewise.
11240
11241 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11242
11243 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
11244 disk_info_msg (conflicts with gettexting into languages with cases).
11245
11246 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11247
11248 Add grub-probe support for NetBSD.
11249
11250 * util/getroot.c (find_root_device): Convert block device to
11251 character device on NetBSD.
11252 * util/probe.c (probe): Require character device on NetBSD.
11253 * util/hostdisk.c: NetBSD specific headers.
11254 (configure_device_driver): new function to tune device driver
11255 parameters (currently only for NetBSD floppy driver).
11256 (grub_util_biosdisk_open): NetBSD specific code (get disk size
11257 via disklabel ioctl).
11258 (open_device): call configure_device_driver on NetBSD.
11259 (convert_system_partition_to_system_disk): NetBSD specific code.
11260 (device_is_wholedisk): Likewise.
11261 (grub_util_biosdisk_get_grub_dev): Likewise.
11262 (make_device_name): Fixed a typo in bsd_part_str.
11263 * configure.ac: check for opendisk() and getrawpartition() on
11264 NetBSD and set LIBUTIL.
11265 * Makefile.in: add LIBUTIL to LIBS.
11266
11267 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11268
11269 Documentation fix.
11270
11271 * util/grub-script-check.c: Better help message.
11272
11273 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11274
11275 Fix FreeBSD build.
11276
11277 * configure.ac: Flex version check.
11278 * conf/common.rmk: Add -Wno-error to sh.mod.
11279 * script/yylex.l: Remove all #pragma.
11280
11281 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 * include/grub/util/misc.h (canonicalise_file_name): Add missing
11284 prototype.
11285 Reported by: Seth Goldberg.
11286
11287 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
11290 Rename "module" to "module2".
11291 Reported by: Seth Goldberg.
11292
11293 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
11296 EXPORT_FUNC.
11297 Reported by: Seth Goldberg.
11298
11299 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 * lib/posix_wrap/locale.h: Add missing file.
11302 Reported by: Seth Goldberg.
11303
11304 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 grub-emu module load support.
11307
11308 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
11309 NO_DYNAMIC_MODULES switched to this.
11310 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
11311 (CFLAGS): Likewise.
11312 * conf/any-emu.rmk: Generate symlist.
11313 (kernel_img_HEADERS): Add util/datetime.h.
11314 (kernel_img_HEADERS) [sdl]: Add sdl.h.
11315 (kernel_img_HEADERS) [libusb]: Add libusb.h.
11316 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
11317 kern/$(target_cpu)/cache.S.
11318 * configure.ac (grub-emu-modules): New option.
11319 * genmk.rb: Handle multiple source lists.
11320 * include/grub/sdl.h: New file.
11321 * include/grub/libusb.h: Likewise.
11322 * util/grub-emu.c (main): Hanle (host) root.
11323 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
11324 GRUB_ERR_UNKNOWN_DEVICE.
11325 * util/misc.c: Move mm functions to ...
11326 * util/mm.c: ... here. All users updated.
11327
11328 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11329
11330 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
11331 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
11332 missing files.
11333 (maintainer-clean): Remove libgcrypt-grub.
11334
11335 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11336
11337 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
11338
11339 2010-04-09 EFI Coder <eficoder@hotmail.com>
11340
11341 * normal/menu_text.c (print_message): Clean up the message and show
11342 the Fn information when on EFI
11343 * term/efi/console.c (grub_console_checkkey): Add F4 support.
11344
11345 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11346
11347 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
11348 All users updated.
11349 * normal/crypto.c (read_crypto_list): Likewise.
11350 * normal/dyncmd.c (read_command_list): Likewise.
11351 * normal/term.c (read_terminal_list): Likewise.
11352 * normal/main.c (read_lists): Use explicit prefix.
11353 (read_lists_hook): Use read_lists.
11354 (grub_normal_execute): Likewise.
11355
11356 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
11359 Reported by: Thomas Schmitt.
11360 Add -no-emul-boot to grub-mkisofs parameters.
11361
11362 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 * font/font.c: Indented.
11365
11366 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11367
11368 Elif support to GRUB script (by Deepak Vankadaru).
11369
11370 * tests/grub_script_if.in: New testcase.
11371 * conf/tests.rmk: Rule for new testcase.
11372 * script/parser.y: Grammar rules for elif.
11373
11374 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11375
11376 While and until loops support to GRUB script.
11377
11378 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
11379 (grub_script_create_cmdwhile): New function prototype.
11380 (grub_script_execute_cmdwhile): New function prototype.
11381 * script/execute.c (grub_script_execute_cmdwhile): New function.
11382 * script/parser.y (command): New commands.
11383 (whilecmd): New grammar rule.
11384 (untilcmd): New grammar rule.
11385 * script/script.c (grub_script_create_cmdwhile): New function.
11386 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
11387 function.
11388
11389 * tests/grub_script_while1.in: New testcase.
11390 * conf/tests.rmk: Rule for new testcase.
11391
11392 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
11395 as *.jpg.
11396
11397 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
11398
11399 GRUB_BACKGROUND support.
11400
11401 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
11402 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
11403
11404 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 Load fonts and modules for gfxmenu in grub-mkconfig.
11407 Idea by: Mario Vazquez
11408
11409 * util/grub.d/00_header.in: Load pf2 and image modules.
11410
11411 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11412
11413 grub-mkconfig multiple terminal support.
11414
11415 * util/grub-mkconfig.in: Handle multiple terminals correctly.
11416 * util/grub.d/00_header.in: Likewise.
11417
11418 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * Makefile.in: Specify files explicitly instead of using $< and $@ since
11421 we use cd $(srcdir).
11422
11423 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
11424
11425 * util/grub.d/10_linux.in: Only use the first word of
11426 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
11427 spaces in GRUB_DISTRIBUTOR.
11428 * util/grub.d/10_kfreebsd.in: Likewise.
11429 * util/grub.d/10_hurd.in: Likewise.
11430
11431 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
11432
11433 Fix unit testing framework for Qemu 0.12.
11434
11435 * tests/util/grub-shell.in: Remove -serial stdio option.
11436
11437 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 POSIX header file wrappers.
11440
11441 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
11442 equivalents.
11443 * lib/posix_wrap/ctype.h: Likewise.
11444 * lib/posix_wrap/errno.h: Likewise.
11445 * lib/posix_wrap/langinfo.h: Likewise.
11446 * lib/posix_wrap/limits.h: Likewise.
11447 * lib/posix_wrap/localcharset.h: Likewise.
11448 * lib/posix_wrap/stdint.h: Likewise.
11449 * lib/posix_wrap/stdio.h: Likewise.
11450 * lib/posix_wrap/stdlib.h: Likewise.
11451 * lib/posix_wrap/string.h: Likewise.
11452 * lib/posix_wrap/sys/types.h: Likewise.
11453 * lib/posix_wrap/unistd.h: Likewise.
11454 * lib/posix_wrap/wchar.h: Likewise.
11455 * lib/posix_wrap/wctype.h: Likewise.
11456 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
11457 (grub_script.yy.h): Likewise.
11458 * script/yylex.l: Remove POSIX emulation #defines.
11459 * Makefile.in (POSIX_CFLAGS): New variable.
11460 (GNULIB_UTIL_CFLAGS): Likewise.
11461
11462 Regexp support.
11463
11464 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
11465 (regexp_mod_SOURCES): New variable.
11466 (regexp_mod_CFLAGS): Likewise.
11467 (regexp_mod_LDFLAGS): Likewise.
11468 * commands/regexp.c: New file.
11469 * gnulib/regcomp.c: New file. Imported from gnulib.
11470 * gnulib/regex.c: Likewise.
11471 * gnulib/regex_internal.c: Likewise.
11472 * gnulib/regex_internal.h: Likewise.
11473 * gnulib/regexec.c: Likewise.
11474 * gnulib/regex.h: Likewise.
11475
11476 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
11479 unsupported video mode types.
11480
11481 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11482
11483 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
11484
11485 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
11488 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
11489
11490 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 Remove unused grub_vga_get_font.
11493
11494 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
11495 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
11496
11497 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11498
11499 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
11500 * include/grub/misc.h: Likewise.
11501
11502 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11503
11504 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
11505 for which failure is fatal.
11506
11507 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11508
11509 * util/grub-install.in: Use mkdir -p to create grub directory.
11510 * util/i386/efi/grub-install.in: Likewise.
11511 * util/ieee1275/grub-install.in: Likewise.
11512
11513 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11514
11515 * Makefile.in (LEX): new variable.
11516
11517 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11518
11519 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
11520 `=' and added double quotes on operands of this equality test.
11521
11522 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11523
11524 * Makefile.in (uninstall): Remove a leftover debug echo.
11525 Reported by: Grégoire Sutre
11526
11527 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11528
11529 MIPS multiboot2 support.
11530
11531 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
11532 (multiboot2_mod_SOURCES): New variable.
11533 (multiboot2_mod_CFLAGS): Likewise.
11534 (multiboot2_mod_LDFLAGS): Likewise.
11535 (multiboot2_mod_ASFLAGS): Likewise.
11536 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
11537 definition.
11538 (MULTIBOOT_ENTRY_REGISTER): Likewise.
11539 (MULTIBOOT_MBI_REGISTER): Likewise.
11540 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
11541 (MULTIBOOT_ELF32_MACHINE): Likewise.
11542 (MULTIBOOT_ELF64_MACHINE): Likewise.
11543 * include/grub/mips/multiboot.h: New file.
11544 * include/grub/video.h (grub_video_driver_id): New type
11545 GRUB_VIDEO_DRIVER_SM712.
11546 (grub_video_get_info_and_fini): Export.
11547 (grub_video_get_palette): Likewise.
11548 (grub_video_get_driver_id): Likewise.
11549 * include/multiboot2.h: Resynced with spec.
11550 * loader/i386/multiboot.c: Moved from here ...
11551 * loader/multiboot.c: ... here. All users updated.
11552 (grub_multiboot_boot): Use platform-specific macros.
11553 * loader/i386/multiboot_elfxx.c: Moved from here ...
11554 * loader/multiboot_elfxx.c: ... here. All users updated.
11555 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
11556 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
11557 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
11558
11559 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11560
11561 Import gnulib argp module.
11562
11563 * gnulib/argp-ba.c: New file.
11564 * gnulib/argp-eexst.c: Likewise.
11565 * gnulib/argp-fmtstream.c: Likewise.
11566 * gnulib/argp-fmtstream.h: Likewise.
11567 * gnulib/argp-fs-xinl.c: Likewise.
11568 * gnulib/argp-help.c: Likewise.
11569 * gnulib/argp-namefrob.h: Likewise.
11570 * gnulib/argp-parse.c: Likewise.
11571 * gnulib/argp-pin.c: Likewise.
11572 * gnulib/argp-pv.c: Likewise.
11573 * gnulib/argp-pvh.c: Likewise.
11574 * gnulib/argp-version-etc.c: Likewise.
11575 * gnulib/argp-version-etc.h: Likewise.
11576 * gnulib/argp-xinl.c: Likewise.
11577 * gnulib/argp.h: Likewise.
11578
11579 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11580
11581 * kern/device.c (grub_device_iterate): Clear errors after failed
11582 opening device.
11583
11584 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
11587 returned by firmware.
11588
11589 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11590
11591 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
11592 compilation on coreboot and qemu
11593
11594 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11595
11596 * include/multiboot2.h: Resync with spec.
11597
11598 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 Multiboot2 tag support
11601
11602 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
11603 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
11604 Remove loader/multiboot_loader.c.
11605 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
11606 (grub_multiboot2_real_boot): Likewise.
11607 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
11608 (grub_get_multiboot_mmap_count): New proto.
11609 (grub_fill_multiboot_mmap): Likewise.
11610 (grub_multiboot_set_video_mode): Likewise.
11611 (grub_multiboot_set_console): Likewise.
11612 (grub_multiboot_load): Likewise.
11613 (grub_multiboot_load_elf): Likewise.
11614 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
11615 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
11616 * include/multiboot.h: Resynced with specification.
11617 * include/multiboot2.h: Resynced with specification.
11618 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
11619 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
11620 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
11621 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
11622 users updated.
11623 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
11624 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
11625 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
11626 Removed.
11627 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
11628 Moved from here...
11629 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
11630 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11631 Moved from here...
11632 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
11633 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
11634 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
11635 All users updated.
11636 * loader/i386/multiboot_mbi2.c: New file.
11637
11638 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11639
11640 Resync with gnulib.
11641
11642 * Makefile.in (GNULIB_CFLAGS): New variable.
11643 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
11644 (grub_script_check_CFLAGS): New variable.
11645 * gnulib/alloca.h: Resync with gnulib.
11646 * gnulib/error.c: Likewise.
11647 * gnulib/error.h: Likewise.
11648 * gnulib/fnmatch.c: Likewise.
11649 * gnulib/fnmatch_loop.c: Likewise.
11650 * gnulib/getdelim.c: Likewise.
11651 * gnulib/getline.c: Likewise.
11652 * gnulib/getopt.c: Likewise.
11653 * gnulib/getopt1.c: Likewise.
11654 * gnulib/getopt_int.h: Likewise.
11655 * gnulib/gettext.h: Likewise.
11656 * gnulib/progname.c: Likewise.
11657 * gnulib/progname.h: Likewise.
11658
11659 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
11660
11661 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
11662 which is the case with --disabled-nls.
11663
11664 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
11665 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
11666 * util/misc.c: Likewise.
11667 * util/mkisofs/mkisofs.c: Likewise.
11668 * util/mkisofs/mkisofs.h: Likewise.
11669
11670 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 Simplify Apple CC support.
11673
11674 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
11675 Add 0 byte at the end not to have a symbol with empty target.
11676 * mmap/i386/pc/mmap_helper.S: Likewise.
11677 * genmk.rb: Ignore errors 2030 and 2050.
11678 * kern/i386/pc/startup.S: Use LOCAL when possible.
11679
11680 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
11681
11682 Testcase and the fix for final semicolon on cmdline.
11683
11684 * tests/grub_script_final_semicolon.in: New testcase.
11685 * conf/tests.rmk: Rules for the new testcase.
11686 * script/parser.y: Grammar fix.
11687
11688 2010-03-26 BVK Chaitanya <bvk@localhost>
11689
11690 Blank lines testcase for GRUB script.
11691
11692 * tests/grub_script_blanklines.in: New testcase.
11693 * conf/tests.rmk: Rules for the new testcase.
11694
11695 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 Don't use __FILE__.
11698
11699 * genmk.rb: Add -DGRUB_FILE to all C targets.
11700 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
11701 * include/grub/list.h: Likewise.
11702 * include/grub/misc.h: Likewise.
11703 * include/grub/mm.h: Likewise.
11704 * include/grub/test.h: Likewise.
11705 * kern/mm.c: Likewise.
11706 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11707
11708 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 Sunpc partitions support.
11711
11712 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
11713 (grub_fstest_SOURCES): Likewise.
11714 (pkglib_MODULES): Add part_sunpc.mod.
11715 (part_sunpc_mod_SOURCES): New variable.
11716 (part_sunpc_mod_CFLAGS): Likewise.
11717 (part_sunpc_mod_LDFLAGS): Likewise.
11718 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
11719 * partmap/sunpc.c: New file.
11720
11721 2010-03-26 BVK Chaitanya <bvk@localhost>
11722
11723 For loop support to GRUB script.
11724
11725 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
11726 (grub_script_create_cmdfor): New function prototype.
11727 (grub_script_execute_cmdfor): New function prototype.
11728 * script/execute.c (grub_script_execute_cmdfor): New function.
11729 * script/parser.y (command): New for command.
11730 (forcmd): New grammar rule.
11731 * script/script.c (grub_script_create_cmdfor): New function.
11732 * util/grub-script-check.c (grub_script_execute_cmdfor): New
11733 function.
11734 * tests/grub_script_for1.in: New testcase.
11735 * conf/tests.rmk: Rules for new testcase.
11736
11737 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 Nested partitions
11740
11741 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
11742 'partition' is NULL, grub_partition_get_start already does that.
11743 * commands/loadenv.c (check_blocklists): Likewise.
11744 (write_blocklists): Likewise.
11745 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
11746 (grub_fstest_SOURCES): Likewise.
11747 (pkglib_MODULES): Add part_bsd.mod.
11748 (part_bsd_mod_SOURCES): New variable.
11749 (part_bsd_mod_CFLAGS): Likewise.
11750 (part_bsd_mod_LDFLAGS): Likewise.
11751 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
11752 (grub_emu_SOURCES): Likewise.
11753 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11754 * include/grub/bsdlabel.h: New file.
11755 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
11756 'get_name'.
11757 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
11758 (grub_partition_map_list): New variable.
11759 (grub_partition_map_register): Inline.
11760 (grub_partition_map_unregister): Likewise.
11761 (FOR_PARTITION_MAPS): New macro.
11762 (grub_partition_map_iterate): Removed.
11763 (grub_partition_get_start): Handle nested partitions.
11764 * include/grub/msdos_partition.h: Remove bsd-related entries.
11765 (grub_pc_partition): Remove.
11766 * kern/disk.c (grub_disk_close): Free partition data.
11767 (grub_disk_adjust_range): Handle nested partitions.
11768 * kern/partition.c (grub_partition_map_probe): New function.
11769 (grub_partition_probe): Parse name to number, handle subpartitions.
11770 (get_partmap): New function.
11771 (grub_partition_iterate): Handle subpartitions.
11772 (grub_partition_get_name): Likewise.
11773 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
11774 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
11775 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
11776 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
11777 Set 'number'.
11778 (acorn_partition_map_probe): Remove.
11779 (acorn_partition_map_get_name): Likewise.
11780 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
11781 Set 'number'.
11782 Set 'index' to 0 since there can be only one partition entry per sector.
11783 (amiga_partition_map_probe): Remove.
11784 (amiga_partition_map_get_name): Likewise.
11785 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
11786 Set 'number'.
11787 Set 'offset' and 'index' to real positions of partitions.
11788 (apple_partition_map_probe): Remove.
11789 (apple_partition_map_get_name): Likewise.
11790 * partmap/bsdlabel.c: New file.
11791 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
11792 Set 'number'.
11793 Allocate 'data' so it can be correctly freed.
11794 Set 'index' to offset inside sector.
11795 (gpt_partition_map_probe): Remove.
11796 (gpt_partition_map_get_name): Likewise.
11797 * partmap/msdos.c (grub_partition_parse): Remove.
11798 (pc_partition_map_iterate): Don't force raw access.
11799 Set 'number'.
11800 Make 'ext_offset' a local variable.
11801 (pc_partition_map_probe): Remove.
11802 (pc_partition_map_get_name): Remove.
11803 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
11804 Set 'number'.
11805 (sun_partition_map_probe): Remove.
11806 (sun_partition_map_get_name): Likewise.
11807 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
11808 (grub_pcpart_type): Likewise.
11809 * util/hostdisk.c (open_device): Handle new numbering scheme.
11810 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
11811 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
11812 * util/grub-probe.c (probe_partmap): Handle nested paritions.
11813 * util/grub-install.in: Insert all subpartition modules.
11814 * util/ieee1275/grub-install.in: Likewise.
11815
11816 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
11817
11818 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
11819 grammar.
11820
11821 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
11822
11823 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
11824
11825 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
11826
11827 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
11828 match where 'make install' puts them.
11829 * util/i386/efi/grub-install.in: Likewise.
11830
11831 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
11832
11833 * .bzrignore: Add gentrigtables, grub-script-check,
11834 grub_script_check_init.c, grub_script_check_init.h, and
11835 trigtables.c.
11836
11837 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 * kern/parser.c: Indented.
11840
11841 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
11844
11845 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
11846
11847 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
11848 alpha_mask_size == 0 case.
11849
11850 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
11851
11852 GRUB shell lexer and parser improvements.
11853
11854 * conf/any-emu.rmk: Build rule updates.
11855 * conf/common.rmk: Likewise.
11856 * conf/i386-coreboot.rmk: Likewise.
11857 * conf/i386-efi.rmk: Likewise.
11858 * conf/i386-ieee1275.rmk: Likewise.
11859 * conf/i386-pc.rmk: Likewise.
11860 * conf/powerpc-ieee1275.rmk: Likewise.
11861 * conf/x86_64-efi.rmk: Likewise.
11862
11863 * configure.ac: Configure check for flex.
11864
11865 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
11866 types.
11867 (grub_lexer_param): Struct member updates.
11868 (grub_parser_param): Likewise.
11869 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
11870 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
11871 (grub_script_lexer_init): Prototype update.
11872 (grub_script_lexer_record_start): Likewise.
11873 (grub_script_lexer_record_stop): Likewise.
11874 (grub_script_lexer_yywrap): New function prototype.
11875 (grub_script_lexer_fini): Likewise.
11876 (grub_script_execute_argument_to_string): Removed by...
11877 (grub_script_execute_argument_to_argv): ...better version.
11878
11879 * script/execute.c (ROUND_UPTO): New macro.
11880 (grub_script_execute_cmdline): Out of memory fixes.
11881 (grub_script_execute_menuentry): Likewise.
11882 (grub_script_execute_argument_to_string): Removed. Update all
11883 users by...
11884 (grub_script_execute_argument_to_argv): ...better version.
11885 * script/function.c (grub_script_function_create): Use
11886 grub_script_execute_argument_to_argv instead of
11887 grub_script_execute_argument_to_string.
11888
11889 * script/lexer.c (check_varstate): Removed.
11890 (check_textstate): Removed.
11891 (grub_script_lexer_record_start): Likewise.
11892 (grub_script_lexer_record_stop): Likewise.
11893 (recordchar): Replaced with...
11894 (grub_script_lexer_record): ...new function.
11895 (nextchar): Removed.
11896 (grub_script_lexer_init): Rewritten.
11897 (grub_script_yylex): Rewritten.
11898 (append_newline): New function.
11899 (grub_script_lexer_yywrap): New function.
11900 (grub_script_lexer_fini): New function.
11901 (grub_script_yyerror): Sets error flag.
11902
11903 * script/yylex.l: New file.
11904 (grub_lexer_yyfree): Wrapper for flex yyffre.
11905 (grub_lexer_yyalloc): Likewise.
11906 (grub_lexer_yyrealloc): Likewise.
11907 * script/parser.y: Refactored.
11908
11909 * script/script.c (grub_script_arg_add): Out of memory fixes.
11910 (grub_script_add_arglist): Likewise.
11911 (grub_script_create_cmdline): Likewise.
11912 (grub_script_create_cmdmenu): Likewise.
11913 (grub_script_add_cmd): Likewise.
11914 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
11915 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
11916 unnecessary code.
11917
11918 * tests/grub_script_echo1.in: New testcase.
11919 * tests/grub_script_vars1.in: New testcase.
11920 * tests/grub_script_echo_keywords.in: New testcase.
11921
11922 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 Remove some redundancy in build system.
11925
11926 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
11927 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
11928 (TARGET_LDFLAGS): Add -nostdlib.
11929 (TARGET_IMG_LDFLAGS): Likewise.
11930 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
11931 anything since mmap isn't available.
11932 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
11933 Add util/time.c.
11934 (pkglib_MODULES): Remove reboot.mod.
11935 (reboot_mod_SOURCES): Removed.
11936 (reboot_mod_CFLAGS): Likewise.
11937 (reboot_mod_LDFLAGS): Likewise.
11938 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
11939 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
11940 (DEFSYMFILES): Add kernel_syms.lst.
11941 (kernel_img_HEADERS): Add common headers.
11942 (symlist.c): New target.
11943 (kernel_syms.lst): Likewise.
11944 (pkglib_MODULES): Add memdisk.mod.
11945 (memdisk_mod_SOURCES): New variable.
11946 (memdisk_mod_CFLAGS): Likewise.
11947 (memdisk_mod_LDFLAGS): Likewise.
11948 (pkglib_MODULES): Add reboot.mod.
11949 (reboot_mod_SOURCES): New variable.
11950 (reboot_mod_CFLAGS): Likewise.
11951 (reboot_mod_LDFLAGS): Likewise.
11952 (pkglib_MODULES): Add date.mod.
11953 (date_mod_SOURCES): New variable.
11954 (date_mod_CFLAGS): Likewise.
11955 (date_mod_LDFLAGS): Likewise.
11956 (pkglib_MODULES): Add datehook.mod.
11957 (datehook_mod_SOURCES): New variable.
11958 (datehook_mod_CFLAGS): Likewise.
11959 (datehook_mod_LDFLAGS): Likewise.
11960 (pkglib_MODULES): Add lsmmap.mod.
11961 (lsmmap_mod_SOURCES): New variable.
11962 (lsmmap_mod_CFLAGS): Likewise.
11963 (lsmmap_mod_LDFLAGS): Likewise.
11964 (pkglib_MODULES): Add boot.mod.
11965 (boot_mod_SOURCES): New variable.
11966 (boot_mod_CFLAGS): Likewise.
11967 (boot_mod_LDFLAGS): Likewise.
11968 * conf/i386-coreboot.rmk: Removed redundant parts.
11969 * conf/i386-ieee1275.rmk: Likewise.
11970 * conf/i386-pc.rmk: Likewise.
11971 * conf/mips-yeeloong.rmk: Likewise.
11972 * conf/mips.rmk: Likewise.
11973 * conf/powerpc-ieee1275.rmk: Likewise.
11974 * conf/sparc64-ieee1275.rmk: Likewise.
11975 * conf/x86_64-efi.rmk: Likewise.
11976 * conf/i386-coreboot.rmk: Moved qemu parts ..
11977 * conf/i386-qemu.rmk: ... here
11978 * conf/i386-efi.rmk: Moved common parts to...
11979 * conf/x86-efi.rmk: ... here.
11980 * conf/i386.rmk: Added modules common to all x86 variants.
11981 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
11982 * disk/memdisk.c: Remove grub/machine/kernel.h.
11983 * gensymlist.sh.in: Include symbol.h.
11984 * hook/datehook.c: Correct module name.
11985 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
11986 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
11987 * include/grub/i386/efi/serial.h: New file.
11988 * include/grub/x86_64/efi/serial.h: Likewise.
11989 * util/time.c: Likewise.
11990 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
11991
11992 2010-03-14 Colin King <colin.king@ubuntu.com>
11993 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
11994
11995 Shrink the pre-partition-table part of boot.img by eight bytes.
11996
11997 * boot/i386/pc/boot.S (ERR): New macro.
11998 (chs_mode): Use ERR.
11999 (geometry_error): Likewise.
12000 (hd_probe_error): Remove. This is only used once, so we wrwite
12001 it inline instead.
12002 (read_error): Instead of printing read_error_string, just set up
12003 %si and fall through to ...
12004 (error_message): ... this new function, also used by ERR.
12005
12006 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
12007
12008 Speed up consecutive hostdisk operations on the same device.
12009
12010 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
12011 (grub_util_biosdisk_open): Initialise disk->data.
12012 (struct linux_partition_cache): New structure.
12013 (linux_find_partition): Cache partition start positions; these are
12014 expensive to compute on every read and write.
12015 (open_device): Cache open file descriptor in disk->data, so that we
12016 don't have to reopen it and flush the buffer cache for consecutive
12017 operations on the same device.
12018 (grub_util_biosdisk_close): New function.
12019 (grub_util_biosdisk_dev): Set `close' member.
12020
12021 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
12022 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
12023 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12024 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12025 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
12026
12027 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 Compile parts of grub-emu as modules.
12030
12031 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
12032 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
12033 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
12034 (all-local): Add $(GRUB_EMU).
12035 (install-local): Install $(GRUB_EMU).
12036 (uninstall): Uninstall $(GRUB_EMU).
12037 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
12038 * kern/dl.c: Likewise.
12039 * commands/sleep.c: Not include machine/time.h.
12040 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
12041 (COMMON_CFLAGS): Likewise.
12042 (sbin_UTILITIES): Remove grub-emu.
12043 (grub_emu_SOURCES): Removed.
12044 (kernel_img_RELOCATABLE): New variable.
12045 (pkglib_PROGRAMS): Add kernel.img.
12046 (kernel_img_SOURCES): New variable
12047 (kernel_img_CFLAGS): Likewise.
12048 (kernel_img_LDFLAGS): Likewise.
12049 (TARGET_NO_STRIP): Likewise.
12050 (TARGET_NO_DYNAMIC_MODULES): Likewise.
12051 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
12052 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
12053 (grub-emu): New target.
12054 (GRUB_EMU): New variable.
12055 * configure.ac: Whitelist -emu as possible x86_64 architecture.
12056 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
12057 * loader/xnu.c: Likewise.
12058 * include/grub/pci.h: Likewise.
12059 * genemuinit.sh: New file.
12060 * genemuinitheader.sh: Likewise.
12061 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
12062 Support TARGET_NO_DYNAMIC_MODULES.
12063 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
12064 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
12065 * disk/loopback.c: Likewise.
12066 * font/font_cmd.c: Likewise.
12067 * partmap/acorn.c: Likewise.
12068 * partmap/amiga.c: Likewise.
12069 * partmap/apple.c: Likewise.
12070 * partmap/gpt.c: Likewise.
12071 * partmap/msdos.c: Likewise.
12072 * partmap/sun.c: Likewise.
12073 * parttool/msdospart.c: Likewise.
12074 * term/gfxterm.c: Likewise.
12075 * video/bitmap.c: Likewise.
12076 * video/readers/jpeg.c: Likewise.
12077 * video/readers/png.c: Likewise.
12078 * video/readers/tga.c: Likewise.
12079 * video/video.c: Likewise.
12080 * util/grub-emu.c (read_command_list): Removed.
12081 (main): Don't call util_init_nls.
12082 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
12083 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
12084
12085 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12086
12087 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
12088 date.mod, datehook.mod.
12089 (datetime_mod_SOURCES): New variable.
12090 (datetime_mod_CFLAGS): Likewise.
12091 (datetime_mod_LDFLAGS): Likewise.
12092 (date_mod_SOURCES): Likewise.
12093 (date_mod_CFLAGS): Likewise.
12094 (date_mod_LDFLAGS): Likewise.
12095 (datehook_mod_SOURCES): Likewise.
12096 (datehook_mod_CFLAGS): Likewise.
12097 (datehook_mod_LDFLAGS): Likewise.
12098 * conf/sparc64-ieee1275.rmk: Likewise.
12099 * lib/ieee1275/datetime.c: New file.
12100
12101 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12102
12103 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
12104 (ieee1275_fb_mod_SOURCES): New variable.
12105 (ieee1275_fb_mod_CFLAGS): Likewise.
12106 (ieee1275_fb_mod_LDFLAGS): Likewise.
12107 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
12108 New proto.
12109 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
12110 (HEAP_MAX_ADDR): Likewise.
12111 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
12112 type.
12113 Correct stop condition.
12114 (grub_ieee1275_devices_iterate): New function.
12115 * video/ieee1275.c: New file.
12116
12117 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12118
12119 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
12120
12121 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
12122 as scratch.
12123 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
12124 SCRATCH_PAD_DISKBOOT as scratch.
12125 (bootit): Pass Openfirmware pointer in %o4.
12126 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
12127 of 0x200000.
12128 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
12129 with util/grub-mkrawimage.c.
12130 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
12131 * include/grub/aout.h (AOUT_MID_SUN): New definition.
12132 (grub_aout_get_type) [GRUB_UTIL]: Removed.
12133 (grub_aout_load) [GRUB_UTIL]: Likewise.
12134 * include/grub/kernel.h (grub_modules_get_end): New proto.
12135 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
12136 (SCRATCH_PAD_BOOT): New definition.
12137 (SCRATCH_PAD_DISKBOOT): Likewise.
12138 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
12139 * include/grub/sparc64/ieee1275/ieee1275.h
12140 (grub_ieee1275_original_stack): New variable
12141 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
12142 New definition
12143 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
12144 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
12145 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
12146 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
12147 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
12148 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
12149 (grub_platform_image_format_t): New type.
12150 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
12151 * kern/main.c (grub_modules_get_end)
12152 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
12153 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
12154 (codestart): Switch stacks.
12155 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
12156 variable.
12157 (grub_heap_init): Use grub_modules_get_end.
12158 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
12159 stack.
12160 * util/grub-mkrawimage.c (generate_image): Support sparc64.
12161 (main): Likewise.
12162 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
12163
12164 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
12165
12166 * util/grub-mkrescue.in: Base ISO UUID on UTC.
12167
12168 2010-03-08 Matt Kraai <kraai@ftbfs.org>
12169
12170 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
12171 bug #559005).
12172
12173 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
12174
12175 * genmoddep.awk: Output all missing symbols and not only first.
12176
12177 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12178
12179 * NEWS: Put the date of 1.98 release.
12180
12181 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
12184 ft2build.h.
12185
12186 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
12189 completition in the middle of string.
12190
12191 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12192
12193 * util/grub-mkrescue.in: Use mktemp with explicit template.
12194
12195 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
12198
12199 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
12202 right pointer.
12203
12204 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 Fix FreeBSD compilation.
12207
12208 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
12209 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
12210
12211 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
12214
12215 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
12218
12219 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
12222
12223 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
12224
12225 Support relative image path in theme file.
12226
12227 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
12228 (image_set_property): Handle theme_dir and relative path.
12229
12230 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 * configure.ac: Alias amd64 to x86_64.
12233
12234 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * NEWS: mention multiboot on EFI.
12237
12238 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12239
12240 * kern/main.c (grub_load_modules): Handle errors from init functions of
12241 embeded modules.
12242
12243 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 * normal/autofs.c (autoload_fs_module): Handle errors.
12246
12247 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 Disable linux.mod on qemu-mips since it's not functional and leads
12250 to compilation failure.
12251
12252 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
12253 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
12254 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
12255 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
12256 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
12257 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
12258 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
12259 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
12260 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
12261 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
12262 Reported by: BVK Chaitanya
12263
12264 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
12265
12266 * INSTALL: Add gettext as a dependency and add qemu to a new section
12267 "Prerequisites for make-check".
12268
12269 2010-03-04 Christian Franke <franke@computer.org>
12270
12271 * util/grub-pe2elf.c: Add missing include "progname.h".
12272
12273 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * normal/crypto.c (read_crypto_list): Fix a typo.
12276 Reported by: Seth Goldberg.
12277
12278 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
12281 Reported by: Seth Goldberg.
12282
12283 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
12286 ascii.bitmaps.
12287
12288 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * genmk.rb: Remove terminal*.lst in make clean.
12291 Reported by: Seth Goldberg.
12292
12293 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 * util/i386/efi/grub-install.in: Copy gettext files.
12296
12297 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12298
12299 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
12300
12301 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12302
12303 Wait for user entry basing on presence of output rather than on errors.
12304
12305 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
12306 (grub_install_newline_hook): Likewise.
12307 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
12308 * normal/menu.c (show_menu): Check line_counter to determine presence
12309 of output.
12310 * normal/term.c (grub_normal_line_counter): New variable.
12311 (grub_normal_get_line_counter): New function.
12312 (grub_install_newline_hook): Likewise.
12313
12314 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12315
12316 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
12317
12318 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * configure.ac: Update version to 1.98.
12321
12322 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12323
12324 * util/grub.d/10_linux.in (linux_entry): Don't default to
12325 gfxpayload=keep if Linux doesn't support video handover.
12326
12327 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 Don't compile video modules on yeeloong since video subsystem is part
12330 of kernel.
12331
12332 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
12333 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
12334 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
12335 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
12336 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
12337 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
12338 * include/grub/bitmap_scale.h: Likewise.
12339 * include/grub/bufio.h: Likewise.
12340 * include/grub/font.h: Likewise.
12341 * include/grub/gfxterm.h: Likewise.
12342 * include/grub/video.h: Likewise.
12343 * include/grub/vbe.h: Don't include video_fb.h.
12344 * video/i386/pc/vbe.c: Include video_fb.h.
12345 * commands/i386/pc/vbetest.c: Include video.h.
12346
12347 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
12348
12349 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
12350 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
12351 default entry if GRUB_SAVEDEFAULT=true. This allows using
12352 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
12353 saving a new default on every boot.
12354
12355 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 * normal/crypto.c (read_crypto_list): Fix a memory leak.
12358 * normal/term.c (read_terminal_list): Likewise.
12359 * normal/main.c (grub_normal_init_page): Likewise.
12360 (grub_normal_read_line_real): Likewise.
12361
12362 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
12365 memory leak.
12366 Reported by: Seth Goldberg.
12367
12368 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
12369
12370 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
12371 duplicate declaration of `start'.
12372
12373 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12374
12375 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
12376 filename.
12377 Reported by: Georgy Buranov
12378
12379 2010-02-20 Carles Pina i Estany <carles@pina.cat>
12380
12381 * util/grub-mkrawimage.c (usage): Change string formatting to
12382 improve gettext.
12383
12384 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12385
12386 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
12387 backspace keys.
12388
12389 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
12392 Reported by: Michael Suchanek.
12393
12394 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
12395
12396 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
12397 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
12398
12399 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 Remove any reference to non-free fonts.
12402
12403 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
12404 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
12405 uses non-free components.
12406 * font/font.c (grub_font_get_name): Remove example name.
12407 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
12408 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12409 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
12410 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
12411
12412 2010-02-16 Georgy Buranov <gburanov@gmail.com>
12413
12414 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
12415
12416 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
12419 Double divisor.
12420 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
12421 features.
12422 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
12423
12424 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * gensymlist.sh.in: Use TARGET_CC instead of CC.
12427
12428 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12429
12430 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
12431 * docs/grub.texi (Command-line and menu entry commands): Document play
12432 command.
12433
12434 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12435
12436 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
12437 parse arguments as inline tempo and notes. Move code for playing notes
12438 to...
12439 (play): ... new function.
12440
12441 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12442
12443 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
12444 grub_uint16_t instead of short.
12445 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
12446 disk from little endian to cpu endianness.
12447
12448 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
12449
12450 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
12451 GRUB_TICKS_PER_SECOND instead of 120.
12452
12453 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
12456 escape sequence after \e.
12457
12458 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
12461 non-ASCII characters.
12462
12463 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
12466 set root in single quotes to prevent \, from being unescaped.
12467
12468 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12469
12470 Prevent unknown commands from stopping menuentry execution.
12471
12472 * script/execute.c (grub_script_execute_cmdline): Print error after
12473 unknown command.
12474
12475 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
12478 Reported by: Pavel Pisa.
12479
12480 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
12483
12484 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12485
12486 Merge grub_ieee1275_map_physical into grub_map and rename to
12487 grub_ieee1275_map
12488
12489 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
12490 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
12491 Remove.
12492 * kern/ieee1275/openfw.c (grub_map): Rename to ...
12493 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
12494 necessary.
12495 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
12496
12497 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
12500 opening and not after.
12501
12502 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
12505 constants.
12506
12507 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12508
12509 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
12510 (alloc_phys): Use ALIGN_UP instead of align_addr.
12511
12512 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12513
12514 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
12515
12516 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12517
12518 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
12519
12520 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
12523 verbose dprintf.
12524
12525 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12526
12527 Fix over-4GiB seek on sparc64.
12528
12529 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
12530 Replace pos_i and pos_lo with pos. All users updated.
12531 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12532 New constant.
12533 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12534 Likewise.
12535 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
12536 and pos_lo.
12537
12538 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * util/grub-mkrawimage.c (main): Call set_program_name.
12541
12542 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 Properly align 64-bit targets.
12545
12546 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
12547 (generate_image): Use ALIGN_ADDR.
12548
12549 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 Properly create cross-endian images.
12552
12553 * include/grub/types.h (grub_host_to_target_addr): New macro
12554 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
12555
12556 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
12559
12560 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12561
12562 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
12563
12564 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
12565 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
12566 (grub_linux_boot): Divide by 64K when on VESA.
12567
12568 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 Support GRUB_GFXPAYLOAD_LINUX.
12571
12572 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
12573 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
12574
12575 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
12578 to show messages instead of discarding them.
12579 Process errors after executing command and not before. Keep old method
12580 too as precaution.
12581
12582 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 * configure.ac: Check for ft2build.h.
12585
12586 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
12589
12590 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12591
12592 * genkernsyms.sh.in: Use TARGET_CC.
12593
12594 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
12595
12596 * NEWS: Update.
12597
12598 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 * include/grub/multiboot2.h: Remove leftover file.
12601 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
12602 * include/grub/partition.h [GRUB_UTIL]: Likewise.
12603
12604 2010-02-07 Yves Blusseau <blusseau@zetam.org>
12605
12606 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
12607
12608 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12609
12610 Fix warnings in grub-emu when compiling with maximum warning options.
12611
12612 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
12613 (grub_arch_modules_addr): Return 0 and not NULL.
12614 * util/misc.c (ENABLE_RELOCATABLE): New definition.
12615 (xstrdup): Use newstr instead of dup.
12616 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
12617 of disk to dsk to avoid shadowing.
12618 (find_free_slot): Fix prototype.
12619 * util/getroot.c (grub_util_is_dmraid): Make static.
12620 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
12621 Add missing prototype.
12622 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
12623
12624 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 * loader/i386/linux.c (grub_linux_setup_video): Handle error
12627 appropriately.
12628
12629 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12630
12631 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
12632 code out.
12633
12634 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
12637 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
12638 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
12639 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
12640 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
12641 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
12642
12643 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12644
12645 * include/grub/err.h (grub_err_printf): Don't export.
12646
12647 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12648
12649 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
12650
12651 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * include/grub/i18n.h (grub_gettext_dummy): Removed.
12654 * kern/misc.c (grub_gettext_dummy): Make static.
12655
12656 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
12659 by non-valid ones.
12660 * kern/term.c (grub_putchar): Likewise.
12661
12662 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12663
12664 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
12665 buggy hook call and memory leak.
12666
12667 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
12670
12671 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
12674
12675 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
12678 modevar.
12679 Return grub_errno on allocation error.
12680
12681 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12682
12683 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
12684
12685 2010-02-06 Yves Blusseau <blusseau@zetam.org>
12686
12687 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
12688 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
12689
12690 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
12693 non-pxe disk.
12694 (grub_pxefs_open): Likewise.
12695
12696 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12697
12698 * util/grub.d/10_hurd.in: Add --class information to menuentries.
12699 * util/grub.d/10_kfreebsd.in: Likewise.
12700 * util/grub.d/10_linux.in: Likewise.
12701
12702 2010-02-06 Colin D Bennett <colin@gibibit.com>
12703
12704 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
12705 (gfxmenu_mod_SOURCES): New variable.
12706 (gfxmenu_mod_CFLAGS): Likewise.
12707 (gfxmenu_mod_LDFLAGS): Likewise.
12708 * include/grub/term.h (grub_term_set_current_output): Declare
12709 argument as const.
12710 * docs/gfxmenu-theme-example.txt: New file.
12711 * gfxmenu/gfxmenu.c: Likewise.
12712 * gfxmenu/gui_box.c: Likewise.
12713 * gfxmenu/gui_canvas.c: Likewise.
12714 * gfxmenu/gui_circular_progress.c: Likewise.
12715 * gfxmenu/gui_image.c: Likewise.
12716 * gfxmenu/gui_label.c: Likewise.
12717 * gfxmenu/gui_list.c: Likewise.
12718 * gfxmenu/gui_progress_bar.c: Likewise.
12719 * gfxmenu/gui_string_util.c: Likewise.
12720 * gfxmenu/gui_util.c: Likewise.
12721 * gfxmenu/icon_manager.c: Likewise.
12722 * gfxmenu/model.c: Likewise.
12723 * gfxmenu/named_colors.c: Likewise.
12724 * gfxmenu/theme_loader.c: Likewise.
12725 * gfxmenu/view.c: Likewise.
12726 * gfxmenu/widget-box.c: Likewise.
12727 * include/grub/gfxmenu_model.h: Likewise.
12728 * include/grub/gfxmenu_view.h: Likewise.
12729 * include/grub/gfxwidgets.h: Likewise.
12730 * include/grub/gui.h: Likewise.
12731 * include/grub/gui_string_util.h: Likewise.
12732 * include/grub/icon_manager.h: Likewise.
12733
12734 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 Agglomerate scrolling in gfxterm.
12737
12738 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
12739 (grub_virtual_screen_setup): Initialise 'total_screen'.
12740 (write_char): Split to ...
12741 (paint_char): ... this ...
12742 (write_char): ... and this.
12743 (paint_char): Handle delayed scrolling.
12744 (draw_cursor): Likewise.
12745 (scroll_up): Split to ...
12746 (real_scroll): ... this ...
12747 (scroll_up): ... and this.
12748 (real_scroll): Handle multi-line scroll and draw below-the-bottom
12749 characters.
12750 (grub_gfxterm_refresh): Call real_scroll.
12751
12752 2010-02-06 Colin D Bennett <colin@gibibit.com>
12753
12754 * include/grub/misc.h (grub_iscntrl): New inline function.
12755 (grub_isalnum): Likewise.
12756 (grub_strtol): Likewise.
12757
12758 2010-02-06 Colin D Bennett <colin@gibibit.com>
12759
12760 * normal/menu_text.c (get_entry_number): Move from here ...
12761 * normal/menu.c (get_entry_number): ... moved here.
12762 * include/grub/menu.h (grub_menu_get_default_entry_index):
12763 New prototype.
12764 * normal/menu.c (grub_menu_get_default_entry_index): New function.
12765 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
12766 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
12767 (grub_menu_viewer_should_return): Likewise.
12768 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
12769 * normal/menu_text.c (run_menu): Enable menu switching.
12770 * normal/menu_viewer.c (should_return): New variable.
12771 (menu_viewer_changed): Likewise.
12772 (grub_menu_viewer_show_menu): Handle menu viewer changes.
12773 (grub_menu_viewer_should_return): New function.
12774 (menuviewer_write_hook): Likewise.
12775 (grub_menu_viewer_init): Likewise.
12776
12777 2010-02-06 Colin D Bennet <colin@gibibit.com>
12778 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12779
12780 Support for gfxterm in a window.
12781
12782 * include/grub/gfxterm.h: New file.
12783 * include/grub/video.h (struct grub_video_rect): New declaration.
12784 (grub_video_rect_t): Likewise.
12785 * term/gfxterm.c (struct grub_gfxterm_window): New type.
12786 (refcount): New variable.
12787 (render_target): Likewise.
12788 (window): Likewise.
12789 (repaint_callback): Likewise.
12790 (grub_virtual_screen_setup): Use 'render_target'.
12791 (init_window): New function.
12792 (grub_gfxterm_init_window): Likewise.
12793 (grub_gfxterm_init): Check reference counter.
12794 Use init_window.
12795 (destroy_window): New function.
12796 (grub_gfxterm_destroy_window): Likewise.
12797 (grub_gfxterm_fini): Check reference counter.
12798 Use destroy_window.
12799 (redraw_screen_rect): Restore viewport.
12800 Use 'render_target' and 'window'.
12801 Call 'repaint_callback'.
12802 (write_char): Use 'render_target'.
12803 (draw_cursor): Likewise.
12804 (scroll_up): Restore viewport.
12805 Use 'render_target' and 'window'.
12806 Call 'repaint_callback'.
12807 (grub_gfxterm_cls): Likewise.
12808 (grub_gfxterm_refresh): Use 'window'.
12809 (grub_gfxterm_set_repaint_callback): New function.
12810 (grub_gfxterm_background_image_cmd): Use 'window'.
12811 (grub_gfxterm_get_term): New function.
12812 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
12813
12814 2010-02-06 Colin D Bennett <colin@gibibit.com>
12815
12816 Bitmap scaling support.
12817
12818 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
12819 (bitmap_scale_mod_SOURCES): New variable.
12820 (bitmap_scale_mod_CFLAGS): Likewise.
12821 (bitmap_scale_mod_LDFLAGS): Likewise.
12822 * include/grub/bitmap_scale.h: New file.
12823 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
12824 (background_image_cmd_options): New variable.
12825 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
12826 (cmd): Rename and change type to ...
12827 (background_image_cmd_handle): ... this. All users updated.
12828 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
12829 * video/bitmap_scale.c: New file.
12830
12831 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12832
12833 SDL support.
12834
12835 * Makefile.in (LIBSDL): New variable.
12836 (enable_grub_emu_sdl): Likewise.
12837 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
12838 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
12839 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
12840 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
12841 * util/sdl.c: New file.
12842
12843 2010-02-06 Colin D Bennett <colin@gibibit.com>
12844 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 Double buffering support.
12847
12848 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
12849 * include/grub/video.h: Update comment.
12850 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
12851 New type.
12852 (grub_video_fb_doublebuf_blit_init): New prototype.
12853 * term/gfxterm.c (scroll_up): Support double buffering.
12854 (grub_gfxterm_refresh): Likewise.
12855 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
12856 (grub_video_fb_doublebuf_blit_init): Likewise.
12857 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
12858 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
12859 'displayed_page', 'render_page' and 'update_screen'.
12860 (grub_video_vbe_fini): Free offscreen buffer.
12861 (doublebuf_pageflipping_commit): New function.
12862 (doublebuf_pageflipping_update_screen): Likewise.
12863 (doublebuf_pageflipping_init): Likewise.
12864 (double_buffering_init): Likewise.
12865 (grub_video_vbe_setup): Enable doublebuffering.
12866 (grub_video_vbe_swap_buffers): Implement.
12867 (grub_video_vbe_set_active_render_target): Handle double buffering.
12868 (grub_video_vbe_get_active_render_target): Likewise.
12869 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
12870 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
12871 (grub_video_vbe_enable_double_buffering): Likewise.
12872 (grub_video_vbe_swap_buffers): Use update_screen.
12873 (grub_video_set_mode): Use double buffering.
12874
12875 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12876
12877 * maintainance/gentrigtables.py: Remove.
12878 * lib/trig.c: Likewise.
12879
12880 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
12881
12882 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
12883 `trigtables.c'.
12884 (trigtables.c): New rule.
12885 (gentrigtables): Likewise.
12886 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
12887
12888 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
12889
12890 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
12891 integer constants.
12892
12893 2010-02-06 Colin D Bennet <colin@gibibit.com>
12894
12895 Trigonometry support.
12896
12897 * include/grub/trig.h: New file.
12898 * lib/trig.c: Likewise.
12899 * maintainance/gentrigtables.py: Likewise.
12900 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
12901 (trig_mod_SOURCES): New variable.
12902 (trig_mod_CFLAGS): Likewise.
12903 (trig_mod_LDFLAGS): Likewise.
12904
12905 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
12908 disk devices.
12909
12910 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12911
12912 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
12913 error.
12914
12915 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 * util/hostdisk.c (open_device): Don't use partition device when reading
12918 before the partition.
12919 (grub_util_biosdisk_read): Don't read from partition and before the
12920 partition in single operation.
12921 (grub_util_biosdisk_write): Don't write to partition and before the
12922 partition in single operation.
12923
12924 2010-02-03 Torsten Landschoff <torsten@debian.org>
12925
12926 * kern/disk.c (grub_disk_read): Fix offset computation when reading
12927 last sectors.
12928
12929 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12930
12931 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
12932 CDROM reads.
12933 (grub_biosdisk_write): Refuse to write to CDROM.
12934
12935 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12936
12937 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
12938
12939 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * font/font.c (find_glyph): Check that bmp_idx is available before
12942 using it.
12943 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
12944 with (font == NULL).
12945
12946 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
12947
12948 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
12949
12950 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
12951
12952 * include/grub/script_sh.h (sourcecode): Add const qualifier.
12953 * util/grub-script-check.c (getline): Fix empty lines case.
12954
12955 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
12956
12957 * Makefile.in (check): Exit with fail status when one of the tests
12958 fails.
12959 * tests/example_functional_test.c (example_test): Fix reversed assert.
12960 * tests/example_unit_test.c (example_test): Likewise.
12961
12962 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
12963
12964 * util/grub.d/10_linux.in: This script does not use any of the
12965 contents of gettext.sh, only the external command `gettext', so stop
12966 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
12967 the same prefix as GRUB.)
12968 * util/grub.d/10_kfreebsd.in: Likewise.
12969
12970 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12971
12972 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
12973 of the line.
12974
12975 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12976
12977 * kern/disk.c (grub_disk_read): Fix offset computation when reading
12978 last sectors.
12979
12980 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12981
12982 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
12983 having a 4KiB and not 32KiB buffer size.
12984
12985 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12986
12987 * util/hostfs.c: Include `<errno.h>'.
12988 (grub_hostfs_read): Handle errors from fseeko() and fread().
12989
12990 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12991
12992 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
12993 loop when using read hooks on files whose size isn't sector-aligned.
12994
12995 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
12996
12997 Remove unused parameter.
12998
12999 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
13000 (grub_iso9660_open): Remove initialization of `data->length'.
13001
13002 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13003
13004 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
13005 memleak conditions.
13006
13007 2010-01-27 Carles Pina i Estany <carles@pina.cat>
13008
13009 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
13010 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
13011
13012 2010-01-26 Carles Pina i Estany <carles@pina.cat>
13013
13014 * util/bin2h.c (usage): Fix warning (space after backslash).
13015
13016 2010-01-26 Carles Pina i Estany <carles@pina.cat>
13017
13018 * font/font.c: Include `grub/fontformat.h.
13019 Remove font file format constants.
13020 (grub_font_load): Use the new macros.
13021 * include/grub/fontformat.h: New file.
13022 * util/grub-mkfont.c: Include `grub/fontformat.c'.
13023 (write_font_pf2): Use the new macros.
13024
13025 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13026
13027 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
13028 does.
13029
13030 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13031
13032 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
13033
13034 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
13035 (_start): Macroify `0x7F'.
13036
13037 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
13038 (make_install_device): Use "(pxe)" as fallback prefix when booting
13039 via PXE.
13040
13041 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * configure.ac: Reset LIBS after check for libgcc symbols.
13044
13045 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
13046
13047 * util/hostdisk.c (open_device): Add trailing newline to debug
13048 message.
13049
13050 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
13051
13052 * configure.ac: Check for `limits.h'.
13053 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
13054
13055 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
13056
13057 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
13058 capitalize error strings.
13059
13060 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
13061
13062 * util/grub.d/10_hurd.in: Add a recovery mode.
13063
13064 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * configure.ac: Check for libgcc symbols with -nostdlib.
13067
13068 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
13069
13070 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
13071
13072 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
13075 stack since heap may be unavailable at that point.
13076 (grub_ofconsole_gotoxy): Likewise.
13077
13078 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 * configure.ac: Check for _restgpr_14_x.
13081 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
13082 and _savegpr_* prototypes.
13083
13084 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
13085
13086 Use generic grub_reboot() for i386-efi.
13087
13088 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
13089 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
13090 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
13091
13092 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13093
13094 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
13095 presence of "prefix" variable as it breaks when normal.mod is
13096 embedded.
13097
13098 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
13101 stack since heap is unavailable at that point.
13102
13103 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13104
13105 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
13106 (grub_freebsd_bootinfo): Rewritten.
13107 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
13108
13109 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
13112
13113 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
13114
13115 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
13116 domain now.
13117
13118 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
13119
13120 * util/misc.c (make_system_path_relative_to_its_root): Change the work
13121 around for handling "/" to the correct fix. Fix a memory leak. Use
13122 xstrdup instead of strdup.
13123
13124 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
13127
13128 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 Optimise glyph lookup by Basic Multilingual Plane lookup array.
13131
13132 * font/font.c (struct grub_font): New member 'bmp_idx'.
13133 (font_init): Initialise 'bmp_idx'.
13134 (load_font_index): Fill 'bmp_idx'.
13135 (find_glyph): Make inline. Use bmp_idx for BMP characters.
13136
13137 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
13140 unnecessary calls.
13141
13142 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 Move context handling out of the kernel.
13145
13146 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
13147 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
13148 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
13149 * conf/i386-efi.rmk: Likewise.
13150 * conf/i386-ieee1275.rmk: Likewise.
13151 * conf/i386-pc.rmk: Likewise.
13152 * conf/powerpc-ieee1275.rmk: Likewise.
13153 * conf/sparc64-ieee1275.rmk: Likewise.
13154 * conf/x86_64-efi.rmk: Likewise.
13155 * include/grub/env.h: Include grub/menu.h.
13156 (grub_env_var_type): Removed.
13157 (grub_env_var): Replaced field 'type' with 'global'.
13158 (grub_env_find): New prototype.
13159 (grub_env_context_open): Remove EXPORT_FUNC.
13160 (grub_env_context_close): Likewise.
13161 (grub_env_export): Likewise.
13162 (grub_env_set_data_slot): Removed.
13163 (grub_env_get_data_slot): Likewise.
13164 (grub_env_unset_data_slot): Likewise.
13165 (grub_env_unset_menu): New prototype.
13166 (grub_env_set_menu): Likewise.
13167 (grub_env_get_menu): Likewise.
13168 * include/grub/env_private.h: New file.
13169 * include/grub/normal.h (grub_context_init): New prototype.
13170 (grub_context_fini): Likewise.
13171 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
13172 * normal/context.c (grub_cmd_export): ... to here.
13173 * kern/env.c: Include env_private.h.
13174 (HASHSZ): Moved to include/grub/env_private.h.
13175 (grub_env_context): Likewise.
13176 (grub_env_sorted_var): Likewise.
13177 (current_context): Renamed from this ...
13178 (grub_current_context): ...to this. 'static' removed. All users updated.
13179 (grub_env_find): Removed 'static'.
13180 (grub_env_context_open): Moved to normal/context.c.
13181 (grub_env_context_close): Likewise.
13182 (grub_env_export): Likewise.
13183 (mangle_data_slot_name): Removed.
13184 (grub_env_set_data_slot): Likewise.
13185 (grub_env_get_data_slot): Likewise.
13186 (grub_env_unset_data_slot): Likewise.
13187 * kern/main.c (grub_set_root_dev): Don't export root.
13188 It will be done later.
13189 (grub_main): Don't export prefix.
13190 It will be done later.
13191 * normal/context.c: New file.
13192 * normal/main.c (free_menu): Use grub_env_unset_menu.
13193 (grub_normal_add_menu_entry): Use grub_env_get_menu.
13194 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
13195 (GRUB_MOD_INIT(normal)): Call grub_context_init.
13196 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
13197
13198 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 setpci support.
13201
13202 * commands/setpci.c: New file.
13203 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
13204 (setpci_mod_SOURCES): New variable.
13205 (setpci_mod_CFLAGS): Likewise.
13206 (setpci_mod_LDFLAGS): Likewise.
13207
13208 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 Byte-addressable PCI configuration space.
13211
13212 * bus/pci.c (grub_pci_make_address): Use byte address instead of
13213 dword address.
13214 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
13215 GRUB_PCI_REG_CACHELINE.
13216 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
13217 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
13218 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
13219 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
13220 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
13221 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
13222 grub_pci_make_address.
13223 (lock_rom_area): Likewise.
13224 * commands/lspci.c (grub_lspci_iter): Use macroses
13225 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
13226 of grub_pci_make_address.
13227 * disk/ata.c (grub_ata_pciinit): Likewise.
13228 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
13229 (GRUB_PCI_REG_VENDOR): Likewise.
13230 (GRUB_PCI_REG_DEVICE): Likewise.
13231 (GRUB_PCI_REG_COMMAND): Likewise.
13232 (GRUB_PCI_REG_STATUS): Likewise.
13233 (GRUB_PCI_REG_REVISION): Likewise.
13234 (GRUB_PCI_REG_CLASS): Likewise.
13235 (GRUB_PCI_REG_CACHELINE): Likewise.
13236 (GRUB_PCI_REG_LAT_TIMER): Likewise.
13237 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
13238 (GRUB_PCI_REG_BIST): Likewise.
13239 (GRUB_PCI_REG_ADDRESSES): Likewise.
13240 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13241 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13242 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13243 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13244 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13245 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13246 (GRUB_PCI_REG_CIS_POINTER): Likewise.
13247 (GRUB_PCI_REG_SUBVENDOR): Likewise.
13248 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
13249 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
13250 (GRUB_PCI_REG_CAP_POINTER): Likewise.
13251 (GRUB_PCI_REG_IRQ_LINE): Likewise.
13252 (GRUB_PCI_REG_IRQ_PIN): Likewise.
13253 (GRUB_PCI_REG_MIN_GNT): Likewise.
13254 (GRUB_PCI_REG_MAX_LAT): Likewise.
13255 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
13256 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
13257 * video/efi_uga.c (find_framebuf): Likewise.
13258 * video/sm712.c (grub_video_sm712_setup): Likewise.
13259 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
13260 space.
13261
13262 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13263
13264 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
13265 can be reliably determined to be supported.
13266
13267 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13268
13269 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
13270 that VESA is supported.
13271 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
13272 supported.
13273
13274 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
13277
13278 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13279
13280 * util/misc.c (make_system_path_relative_to_its_root): Work around
13281 special-casing of "/", as previous incarnation of this routine did.
13282
13283 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13284
13285 Fix any-emu compilation.
13286
13287 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
13288 * grub_bin2h_SOURCES: New variable.
13289
13290 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13291
13292 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
13293
13294 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13295
13296 * util/grub.d/00_header.in: Fix handling of locale_dir.
13297
13298 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
13301 as possible unifont location (Gentoo).
13302 Reported by: Alexander Brüning
13303
13304 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 Don't try to generate lists for kernel.img.
13307
13308 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
13309 (pkglib_MODULES): Remove kernel.img.
13310 (kernel_img_EXPORTS): Removed.
13311 (kernel_img_RELOCATABLE): New variable.
13312 * conf/x86_64-efi.rmk: Likewise.
13313 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
13314
13315 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
13318 grub_xasprintf or grub_snprintf.
13319 (grub_vsprintf): Likewise.
13320 (grub_snprintf): New proto.
13321 (grub_vsnprintf): Likewise.
13322 (grub_xasprintf): Likewise.
13323 (grub_xvasprintf): Likewise.
13324 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
13325 (grub_sprintf): Removed.
13326 (grub_vsnprintf): New function.
13327 (grub_snprintf): Likewise.
13328 (grub_xvasprintf): Likewise.
13329 (grub_xasprintf): Likewise.
13330 (grub_vsprintf): Renamed to ...
13331 (grub_vsnprintf_real): ...this. New argument max_len.
13332
13333 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
13334
13335 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
13336 fix grub-script-check warning.
13337
13338 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * include/grub/font.h (grub_font_load): Fix prototype.
13341
13342 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
13345
13346 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * include/grub/x86_64/at_keyboard.h: New file.
13349
13350 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13351
13352 * loader/mips/linux.c: Include missing grub/i18n.h.
13353
13354 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13355
13356 * normal/menu.c (notify_execution_failure): Clarify error message.
13357
13358 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13359
13360 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
13361 return value (and revert all return statements). Update users.
13362
13363 2010-01-20 Dan Merillat <debian@dan.merillat.org>
13364
13365 * kern/device.c (grub_device_iterate): Allocate new part_ent
13366 structure based on sizeof (*p) rather than sizeof (p->next), to
13367 account for structure padding.
13368
13369 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
13370 disk is NULL, which might happen for LVM physical volumes with no
13371 LVM signature.
13372
13373 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13374
13375 * loader/mips/linux.c (grub_cmd_initrd)
13376 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
13377
13378 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13379
13380 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
13381 (grub_video_video_init, grub_video_bitmap_init)
13382 (grub_font_manager_init, grub_term_gfxterm_init)
13383 (grub_at_keyboard_init): New extern declarations.
13384 (grub_machine_init): Initialize gfxterm and at_keyboard.
13385
13386 * kern/main.c (grub_main): Revert grub_printf delay kludge.
13387
13388 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
13389 `gfxterm.mod' into core image.
13390
13391 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13392 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13393 (kernel_img_FORMAT): Copy to ...
13394
13395 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13396 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13397 (kernel_img_FORMAT): ... here, and ...
13398
13399 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13400 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13401 (kernel_img_FORMAT): ... here.
13402
13403 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
13404 and input (at_keyboard) terminals in kernel.
13405 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
13406
13407 (pkglib_MODULES): Remove `pci.mod'.
13408 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
13409 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
13410 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
13411 (at_keyboard_mod_LDFLAGS): Remove variables.
13412
13413 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
13414
13415 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
13416
13417 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
13418
13419 * include/grub/mips/libgcc.h: Only export symbols for functions
13420 that libgcc provides.
13421
13422 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 MIPS support.
13425
13426 * bus/bonito.c: New file.
13427 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
13428 GRUB_PCI_NUM_DEVICES.
13429 * term/i386/pc/serial.c: Move to ...
13430 * term/serial.c: ... here. All users updated.
13431 * util/i386/pc/grub-mkimage.c: Move to ...
13432 * util/grub-mkrawimage.c: ... here. All users updated.
13433 * term/i386/pc/at_keyboard.c: Move to ...
13434 * term/at_keyboard.c: ... here. All users updated.
13435 * conf/mips-qemu-mips.rmk: New file.
13436 * conf/mips-yeeloong.rmk: Likewise.
13437 * conf/mips.rmk: Likewise.
13438 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
13439 mipsel-qemu-mips.
13440 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
13441 to port addresses.
13442 (grub_ata_pciinit): Support CS5536.
13443 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
13444 * font/font_cmd.c (loadfont_command): Open file before passing it to
13445 grub_font_load.
13446 (pseudo_file_read): New function.
13447 (pseudo_file_close): Likewise.
13448 (pseudo_fs): New structure.
13449 (load_font_module): New function.
13450 (GRUB_MOD_INIT(font_manager)): Load embedded font.
13451 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
13452 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
13453 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
13454 * include/grub/i386/at_keyboard.h: Split into ...
13455 * include/grub/at_keyboard.h: ... this ...
13456 * include/grub/i386/at_keyboard.h: ... and this.
13457 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
13458 New prototype.
13459 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
13460 updated.
13461 (grub_elf64_size): Likewise.
13462 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
13463 filename.
13464 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
13465 * include/grub/i386/coreboot/serial.h: Rewritten.
13466 * include/grub/i386/ieee1275/serial.h: Include
13467 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
13468 * include/grub/i386/pc/serial.h: Moved from here ...
13469 * include/grub/serial.h: ... to here. All users updated.
13470 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
13471 (GRUB_PCI_NUM_BUS): Likewise.
13472 (GRUB_PCI_NUM_DEVICES): Likewise.
13473 (grub_pci_device_map_range): Add missing volatile keyword.
13474 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
13475 * include/grub/mips/at_keyboard.h: New file.
13476 * include/grub/mips/cache.h: Likewise.
13477 * include/grub/mips/io.h: Likewise.
13478 * include/grub/mips/kernel.h: Likewise.
13479 * include/grub/mips/libgcc.h: Likewise.
13480 * include/grub/mips/pci.h: Likewise.
13481 * include/grub/mips/qemu-mips/boot.h: Likewise.
13482 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13483 * include/grub/mips/qemu-mips/loader.h: Likewise.
13484 * include/grub/mips/qemu-mips/memory.h: Likewise.
13485 * include/grub/mips/qemu-mips/serial.h: Likewise.
13486 * include/grub/mips/qemu-mips/time.h: Likewise.
13487 * include/grub/mips/relocator.h: Likewise.
13488 * include/grub/mips/time.h: Likewise.
13489 * include/grub/mips/types.h: Likewise.
13490 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
13491 * include/grub/mips/yeeloong/boot.h: Likewise.
13492 * include/grub/mips/yeeloong/kernel.h: Likewise.
13493 * include/grub/mips/yeeloong/loader.h: Likewise.
13494 * include/grub/mips/yeeloong/memory.h: Likewise.
13495 * include/grub/mips/yeeloong/pci.h: Likewise.
13496 * include/grub/mips/yeeloong/serial.h: Likewise.
13497 * include/grub/mips/yeeloong/time.h: Likewise.
13498 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
13499 * kern/elf.c (grub_elf32_size): New parameter. All users
13500 updated.
13501 (grub_elf64_size): Likewise.
13502 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
13503 Load modules before saying "Welcome to GRUB!".
13504 Call grub_refresh after saying "Welcome to GRUB!".
13505 * kern/mips/cache.S: New file.
13506 * kern/mips/cache_flush.S: Likewise.
13507 * kern/mips/dl.c: Likewise.
13508 * kern/mips/init.c: Likewise.
13509 * kern/mips/qemu-mips/init.c: Likewise.
13510 * kern/mips/startup.S: Likewise.
13511 * kern/mips/yeeloong/init.c: Likewise.
13512 * kern/term.c (grub_putcode): Handle NULL terminal.
13513 (grub_getcharwidth): Likewise.
13514 (grub_getkey): Likewise.
13515 (grub_checkkey): Likewise.
13516 (grub_getkeystatus): Likewise.
13517 (grub_getxy): Likewise.
13518 (grub_getwh): Likewise.
13519 (grub_gotoxy): Likewise.
13520 (grub_cls): Likewise.
13521 (grub_setcolorstate): Likewise.
13522 (grub_setcolor): Likewise.
13523 (grub_getcolor): Likewise.
13524 (grub_refresh): Likewise.
13525 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
13526 (write_jump): Add hatch nop.
13527 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
13528 * lib/mips/setjmp.S: New file.
13529 * loader/mips/linux.c: Likewise.
13530 * term/i386/pc/at_keyboard.c: Move from here ...
13531 * term/at_keyboard.c: ... to here.
13532 * term/i386/pc/serial.c: Moved from here ...
13533 * term/serial.c: ... to here. All users updated.
13534 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
13535 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
13536 (serial_translate_key_sequence): Avoid deadlock.
13537 (grub_serial_getkey): Handle backspace.
13538 (grub_serial_putchar): Fix newline handling.
13539 * util/i386/pc/grub-mkimage.c: Move from here ...
13540 * util/grub-mkrawimage.c: ... to here. All users updated.
13541 (generate_image): New parameters 'font_path' and 'format'.
13542 Support embedding font.
13543 Use grub_host_to_target* instead of grub_cpu_to_le*.
13544 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
13545 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
13546 (options): New option "--font".
13547 (usage): Likewise.
13548 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
13549 (main): Handle "--font".
13550 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
13551 (grub_virtual_screen_setup): Set bg_color_display.
13552 (redraw_screen_rect): Use bg_color_display instead of incorrect
13553 bg_color.
13554 (grub_gfxterm_cls): Likewise.
13555 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
13556 Support embedding config file.
13557 (add_segments): Likewise.
13558 (options): New option "--config".
13559 (main): Handle "--config".
13560 * video/sm712.c: New file.
13561
13562 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13563
13564 Fix parallel builds.
13565
13566 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
13567 font.c depend on ascii.h).
13568
13569 2010-01-12 Carles Pina i Estany <carles@pina.cat>
13570
13571 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
13572
13573 2010-01-11 Carles Pina i Estany <carles@pina.cat>
13574
13575 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
13576 By default: disabled.
13577 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
13578 parameter.
13579
13580 2010-01-10 Carles Pina i Estany <carles@pina.cat>
13581
13582 * font/font.c: Update copyright years.
13583 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
13584
13585 2010-01-10 Carles Pina i Estany <carles@pina.cat>
13586
13587 * font/font.c: Include `ascii.h'.
13588 (ASCII_BITMAP_SIZE): New macro.
13589 (ascii_font_glyph): Define.
13590 (ascii_glyph_lookup): New function.
13591 (grub_font_get_string_width): Change comment. If glyph not found, use
13592 ascii_glyph_lookup.
13593 (grub_font_get_glyph_with_fallback): If glyph not available returns
13594 ascii_glyph_lookup.
13595 * util/grub-mkfont.c (file_formats): New enum.
13596 (options): Add `ascii-bitmaps' new option.
13597 (usage): Add `asii-bitmaps' new option.
13598 (write_font_ascii_bitmap): New function.
13599 (write_font): Rename to ...
13600 (write_font_p2): ... this. Remove print_glyphs call.
13601 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
13602 used. Call print_glyphs.
13603 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
13604
13605 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13606
13607 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
13608 (grub_bin2h_SOURCES): New variable.
13609 * util/bin2h.c: New file.
13610
13611 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13612
13613 * include/multiboot.h: Resynced with spec.
13614 * include/multiboot2.h: Likewise.
13615 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
13616 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
13617
13618 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13619
13620 * include/grub/term.h (grub_term_register_input,
13621 grub_term_register_output): Check return of terminal init()
13622 routines, and abort if errors are raised.
13623
13624 * commands/terminal.c: Update copyright year.
13625
13626 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13627
13628 * commands/terminal.c (grub_cmd_terminal_input)
13629 (grub_cmd_terminal_output): Check return of terminal init()
13630 routines, and abort if errors are raised.
13631
13632 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13633
13634 * include/grub/i386/bsd.h: Fix include pathes.
13635
13636 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 Add missing *BSD copyright headers.
13639
13640 * include/grub/aout.h: Add BSD licence.
13641 * include/grub/i386/bsd.h: Parts under different licences moved to ...
13642 * include/grub/i386/freebsd_linker.h: ... here,
13643 * include/grub/i386/freebsd_reboot.h: ... here,
13644 * include/grub/i386/netbsd_bootinfo.h: ... here,
13645 * include/grub/i386/netbsd_reboot.h: ... here,
13646 * include/grub/i386/openbsd_bootarg.h: ... here,
13647 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
13648 licence to each file.
13649
13650 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13651
13652 * acinclude.m4: Remove `nop' assembly instruction; it's not
13653 implemented by all architectures.
13654
13655 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13656
13657 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
13658 ELILO. This is no longer necessary.
13659
13660 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
13661
13662 Added new tool, grub-scrit-check to verify grub.cfg syntax.
13663
13664 * util/grub-script-check.c: grub-script-check tool.
13665 * conf/common.rmk: Make rules for grub-script-check.
13666
13667 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13668
13669 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
13670 spotting it back in 2008. Shame on me for forgetting he did.
13671
13672 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
13673
13674 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13675
13676 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
13677 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
13678 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
13679 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
13680 (GRUB_VIDEO_TYPE_EFI): Rename to ...
13681 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
13682
13683 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
13684
13685 * include/grub/test.h: Add license header.
13686 * tests/example_functional_test.c: Likewise.
13687 * tests/example_unit_test.c: Likewise.
13688 * tests/lib/functional_test.c: Likewise.
13689 * tests/lib/test.c: Likewise.
13690 * tests/lib/unit_test.c: Likewise.
13691
13692 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
13693
13694 Use flag-based instead of hook-based video mode selection and "auto"
13695 keyword.
13696
13697 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
13698 (grub_video_set_mode): Changed prototype. All users updated.
13699 (grub_video_check_mode_flag): New inline function.
13700 * video/video.c (parse_modespec): New function.
13701 (grub_video_set_mode): Parse flags and keywords.
13702
13703 2010-01-17 Carles Pina i Estany <carles@pina.cat>
13704
13705 * util/misc.c (grub_util_info): Fix the order of the parameters in a
13706 fprintf call.
13707
13708 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
13709
13710 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
13711
13712 2010-01-16 Carles Pina i Estany <carles@pina.cat>
13713
13714 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
13715 string.
13716 * util/grub-emu.c (usage): Likewise.
13717 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
13718 * util/i386/efi/grub-mkimage.c (usage): Likewise.
13719 * util/i386/pc/grub-mkimage.c (usage): Likewise.
13720 * util/i386/pc/grub-setup.c (usage): Likewise.
13721
13722 2010-01-16 Carles Pina i Estany <carles@pina.cat>
13723
13724 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
13725 the message.
13726 (grub_util_info): Likewise.
13727 (grub_util_error): Likewise.
13728 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
13729 and/or new lines in `grub_util_warna', `grub_util_info',
13730 `grub_util_error' calls.
13731 * util/getroot.c: Likewise.
13732 * util/grub-editenv.c: Likewise.
13733 * util/grub-emu.c: Likewise.
13734 * util/grub-fstest.c: Likewise.
13735 * util/grub-mkdevicemap.c: Likewise.
13736 * util/grub-mkfont.c: Likewise.
13737 * util/grub-mkpasswd-pbkdf2.c: Likewise.
13738 * util/grub-mkrelpath.c: Likewise.
13739 * util/grub-pe2elf.c: Likewise.
13740 * util/grub-probe.c: Likewise.
13741 * util/hostdisk.c: Likewise.
13742 * util/i386/efi/grub-mkimage.c: Likewise.
13743 * util/i386/pc/grub-mkimage.c: Likewise.
13744 * util/i386/pc/grub-setup.c: Likewise.
13745 * util/ieee1275/ofpath.c: Likewise.
13746 * util/mkisofs/eltorito.c: Likewise.
13747 * util/mkisofs/rock.c: Likewise.
13748 * util/mkisofs/write.c: Likewise.
13749 * util/raid.c: Likewise.
13750 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13751 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13752
13753 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 Enable multiboot on non-pc.
13756
13757 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
13758 multiboot.mod and multiboot2.mod to ...
13759 * conf/i386.rmk (pkglib_MODULES): ... here.
13760 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
13761 Moved to ...
13762 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
13763 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
13764 Moved to ...
13765 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
13766 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
13767 Moved to ...
13768 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
13769 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
13770 Moved to ...
13771 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
13772 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
13773 relocator.mod.
13774 (ata_mod_SOURCES): Removed.
13775 (ata_mod_CFLAGS): Likewise.
13776 (ata_mod_LDFLAGS): Likewise.
13777 (relocator_mod_SOURCES): Removed.
13778 (relocator_mod_CFLAGS): Likewise.
13779 (relocator_mod_ASFLAGS): Likewise.
13780 (relocator_mod_LDFLAGS): Likewise.
13781 Include i386.mk.
13782 * include/grub/x86_64/multiboot.h: New file.
13783 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
13784 Terminate EFI.
13785
13786 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 Video multiboot support.
13789
13790 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
13791 New prototype.
13792 * include/multiboot.h: Resynced with multiboot specification.
13793 * include/multiboot2.h: Likewise.
13794 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
13795 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
13796 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
13797 (HAS_VGA_TEXT): Likewise.
13798 (accepts_video): New variable.
13799 (grub_multiboot_set_accepts_video): New function.
13800 (grub_multiboot_get_mbi_size): Account for video structures.
13801 (set_video_mode): New function.
13802 (retrieve_video_parameters): Likewise.
13803 (grub_multiboot_make_mbi): Fill video fields.
13804
13805 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 Video driver ids.
13808
13809 * include/grub/video.h (grub_video_driver_id): New type.
13810 (grub_video_adapter): New member 'id'. All users updated.
13811 (grub_video_get_driver_id): New proto.
13812 * video/video.c (grub_video_get_driver_id): New function.
13813
13814 2010-01-14 Carles Pina i Estany <carles@pina.cat>
13815
13816 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
13817 `var=val'.
13818
13819 2010-01-14 Carles Pina i Estany <carles@pina.cat>
13820
13821 * normal/cmdline.c (print_completion): Gettextizze.
13822
13823 2001-01-14 Carles Pina i Estany <carles@pina.cat>
13824
13825 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
13826
13827 2010-01-14 Carles Pina i Estany <carles@pina.cat>
13828
13829 * gettext/gettext.c (grub_gettext_translate): Push and pop
13830 grub_errno.
13831 (grub_gettext_delete_list): Change comment style.
13832 * kern/err.c (grub_error): Gettextizze.
13833 (grub_fatal): Gettextizze.
13834
13835 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13836
13837 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
13838 (grub_linux16_real_boot): ... this.
13839 * kern/i386/loader.S: Likewise.
13840 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
13841 (grub_linux16_boot): New function. Switches to text mode and calls
13842 grub_linux16_real_boot().
13843
13844 * loader/i386/bsd.c: Include `<grub/video.h>'.
13845 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
13846 text mode before calling grub_unix_real_boot().
13847
13848 * loader/i386/multiboot.c: Include `<grub/video.h>'.
13849 (grub_multiboot_boot): Switch to text mode before calling
13850 grub_relocator32_boot().
13851
13852 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
13853 (grub_chainloader_boot): Switch to text mode before calling
13854 grub_chainloader_real_boot().
13855
13856 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
13857 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
13858
13859 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
13860 non-empty value.
13861
13862 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
13863 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
13864
13865 * util/grub.d/00_header.in: Define a "savedefault" function for use
13866 in menu entries.
13867 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
13868
13869 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
13870 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
13871
13872 * util/grub-mkconfig_lib.in (save_default_entry): Only set
13873 saved_entry if boot_once is unset.
13874 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
13875 previous saved entry (i.e. grub-reboot).
13876
13877 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13878
13879 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
13880
13881 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13882
13883 * util/grub.d/00_header.in: Use `set var=val' rather than plain
13884 `var=val'.
13885 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
13886
13887 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13888
13889 * util/grub-reboot.in: Fix --version output.
13890 * util/grub-set-default.in: Likewise.
13891
13892 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13893
13894 * util/grub.d/00_header.in: Silently ignore zero-sized environment
13895 blocks.
13896
13897 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13898
13899 * util/grub.d/00_header.in: Quote the value assigned to `default',
13900 in case it contains spaces.
13901
13902 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
13903
13904 * util/grub.d/30_os-prober.in: Fix merge error that moved a
13905 `save_default_entry' call from the macosx case to the linux case.
13906
13907 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13908 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
13909
13910 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
13911 in `chosen' environment variable.
13912 * normal/menu_text.c (get_entry_number): Check if the variable
13913 matches the title of a menu entry.
13914 (run_menu): Pass menu to get_entry_number.
13915
13916 * util/grub-reboot.in: New file.
13917 * util/grub-set-default.in: New file.
13918 * conf/common.rmk (grub-reboot): New utility.
13919 (grub-set-default): New utility.
13920
13921 * util/grub-mkconfig_lib.in (save_default_entry): New function.
13922 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
13923 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
13924 move it to `saved_entry' for the next boot. Load environment on
13925 initialisation.
13926 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
13927 * util/grub.d/10_hurd.in: Likewise.
13928 * util/grub.d/10_linux.in (linux_entry): Likewise.
13929 * util/grub.d/10_windows.in: Likewise.
13930 * util/grub.d/30_os-prober.in: Likewise.
13931
13932 * util/grub-install.in: Create environment block.
13933 * util/i386/efi/grub-install.in: Likewise.
13934 * util/ieee1275/grub-install.in: Likewise.
13935 * util/sparc64/ieee1275/grub-install.in: Likewise.
13936
13937 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
13938
13939 Unit testing framework for GRUB.
13940
13941 * Makefile.in: Test framework build rules for 'make check'.
13942 * conf/tests.rmk: Build rules for individual tests and framework.
13943
13944 * include/grub/test.h: Header file for whitebox tests.
13945 * tests/lib/functional_test.c: Framework support for whitebox
13946 functional tests.
13947 * tests/lib/test.c: Common whitebox testing code for unit and
13948 functional tests.
13949 * tests/lib/unit_test.c: Framework support for whitebox unit
13950 tests.
13951
13952 * tests/util/grub-shell-tester.in: Support utility for grub-script
13953 tests.
13954 * tests/util/grub-shell.in: Utility to execute grub-script
13955 commands in a Qemu instance.
13956
13957 * tests/example_functional_test.c: Example whitebox functional
13958 test.
13959 * tests/example_grub_script_test.in: Example grub-script test.
13960 * tests/example_scripted_test.in: Example scripted test.
13961 * tests/example_unit_test.c: Example whitebox unit test.
13962
13963 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13964
13965 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
13966 Add loader/i386/multiboot_mbi.c.
13967 (multiboot2_mod_SOURCES): Likewise.
13968 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
13969 (multiboot2_mod_SOURCES): Likewise.
13970 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
13971 (grub_multiboot_make_mbi): Likewise.
13972 (grub_multiboot_free_mbi): Likewise.
13973 (grub_multiboot_init_mbi): Likewise.
13974 (grub_multiboot_add_module): Likewise.
13975 (grub_multiboot_set_bootdev): Likewise.
13976 * loader/i386/multiboot.c (mbi): Removed.
13977 (mbi_dest): Likewise.
13978 (alloc_mbi): New variable.
13979 (grub_multiboot_payload_size): Removed. All users updated.
13980 (grub_multiboot_pure_size): New variable.
13981 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
13982 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
13983 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
13984 (grub_fill_multiboot_mmap): Likewise.
13985 (grub_multiboot_get_bootdev): Likewise.
13986 (grub_multiboot): Use multiboot_mbi functions.
13987 * loader/i386/multiboot_mbi.c: New file.
13988
13989 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13990
13991 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
13992 it would result in module crash.
13993
13994 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
13997 (grub_ofconsole_getwh): Split to ...
13998 (grub_ofconsole_getwh): ... this.
13999 (grub_ofconsole_dimensions): ...and this.
14000 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
14001
14002 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
14003
14004 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
14005
14006 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 * loader/i386/pc/multiboot2.c: Removed stalled file.
14009
14010 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
14013 Reported by: Grégoire Sutre
14014
14015 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
14016
14017 * util/misc.c (canonicalize_file_name): New function.
14018 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
14019 instead of realpath().
14020
14021 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
14022
14023 * util/grub-install.in (usage): Clarify meaning of --root-directory,
14024 and make it clearer that it's optional. Based on confusion
14025 witnessed on IRC.
14026
14027 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
14030 in premature implicit newline.
14031
14032 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14033
14034 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
14035 which resulted in garbled command line at the end of screen.
14036
14037 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14038
14039 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
14040 initialization with similar approach as with other Linux loaders.
14041
14042 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14043
14044 Fix i386-ieee1275 build.
14045
14046 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
14047 and grub_term_height() for video_{width,height} initialization.
14048
14049 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14050
14051 Fix grub-emu build.
14052
14053 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
14054
14055 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14056 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14057
14058 Support for multiple terminals.
14059
14060 * Makefile.in (pkglib_DATA): terminal.lst.
14061 (terminal.lst): New target.
14062 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
14063 (GRUB_MOD_INIT(handler)): Likewise.
14064 (GRUB_MOD_FINI(handler)): Likewise.
14065 * commands/help.c (grub_cmd_help): Handle multiple terminals.
14066 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
14067 * commands/sleep.c (do_print): Use grub_term_restore_pos.
14068 (grub_cmd_sleep): Use grub_term_save_pos.
14069 * commands/terminal.c: New file.
14070 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
14071 commands/terminal.c and lib/charset.c.
14072 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
14073 (pkglib_MODULES): Add terminal.mod.
14074 (terminal_mod_SOURCES): New variable.
14075 (terminal_mod_CFLAGS): Likewise.
14076 (terminal_mod_LDFLAGS): Likewise.
14077 * genhandlerlist.sh: Don't handle terminals.
14078 * genmk.rb: Generate terminal-*.lst.
14079 * genterminallist.sh: New file.
14080 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
14081 (grub_is_valid_utf8): Likewise.
14082 (grub_utf8_to_ucs4_alloc): Likewise.
14083 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
14084 (grub_menu_register_viewer): Changed argument.
14085 (grub_menu_try_text): New proto.
14086 (grub_gfxmenu_try_hook): New declaration.
14087 * include/grub/normal.h (grub_normal_exit_level): New declaration.
14088 (grub_menu_init_page): Additional argument term.
14089 (grub_normal_init_page): Likewise.
14090 (grub_cmdline_get): Arguments simplified.
14091 (grub_utf8_to_ucs4_alloc): Removed.
14092 (grub_print_ucs4): Additional argument term.
14093 (grub_getstringwidth): Likewise.
14094 (grub_print_message_indented): Likewise.
14095 (grub_menu_text_register_instances): New proto.
14096 (grub_show_menu): Likewise.
14097 (read_terminal_list): Likewise.
14098 (grub_set_more): Likewise.
14099 * include/grub/parser.h: Include handler.h.
14100 * include/grub/reader.h: Rewritten.
14101 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
14102 (GRUB_TERM_WIDTH): Changed to function.
14103 (GRUB_TERM_HEIGHT): Likewise.
14104 (GRUB_TERM_BORDER_WIDTH): Likewise.
14105 (GRUB_TERM_BORDER_HEIGHT): Likewise.
14106 (GRUB_TERM_NUM_ENTRIES): Likewise.
14107 (GRUB_TERM_ENTRY_WIDTH): Likewise.
14108 (GRUB_TERM_CURSOR_X): Likewise.
14109 (grub_term_input_class): Likewise.
14110 (grub_term_output_class): Likewise.
14111 (grub_term_outputs_disabled): New declaration.
14112 (grub_term_inputs_disabled): Likewise.
14113 (grub_term_outputs): Likewise.
14114 (grub_term_inputs): Likewise.
14115 (grub_term_register_input): Rewritten.
14116 (grub_term_register_output): Likewise.
14117 (grub_term_unregister_input): Likewise.
14118 (grub_term_unregister_output): Likewise.
14119 (FOR_ACTIVE_TERM_INPUTS): New macro.
14120 (FOR_DISABLED_TERM_INPUTS): Likewise.
14121 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14122 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14123 * include/grub/terminfo.h: Add oterm argument to all protypes.
14124 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
14125 Use grub_rescue_run.
14126 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
14127 All users updated.
14128 * kern/reader.c: Removed. All users updated.
14129 * kern/rescue_reader.c (grub_rescue_init): Removed.
14130 (grub_rescue_reader): Likewise.
14131 (grub_register_rescue_reader): Likewise.
14132 (grub_rescue_run): New function based on kern/reader.c.
14133 * kern/term.c: Adapted for multiterm.
14134 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
14135 (grub_is_valid_utf8): Likewise.
14136 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
14137 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
14138 right terminal.
14139 * loader/i386/linux.c (grub_linux_boot): Likewise.
14140 * normal/auth.c (grub_username_get): New function.
14141 (grub_auth_check_authentication): Use grub_username_get.
14142 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
14143 * normal/color.c: Adapt for multiterm.
14144 * normal/main.c (read_config_file): Don't use grub_reader_loop.
14145 (grub_normal_init_page): Additional argument term.
14146 (read_lists): Call read_terminal_lists.
14147 (grub_enter_normal_mode): Call grub_cmdline_run.
14148 Handle grub_normal_exit_level.
14149 (grub_cmd_normal): Make reentrant.
14150 (grub_cmd_normal_exit): New function.
14151 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
14152 * normal/menu.c: Adapt for multiterm.
14153 * normal/menu_entry.c: Likewise.
14154 * normal/menu_text.c: Likewise.
14155 * normal/menu_viewer.c: Removed. All users updated.
14156 * normal/term.c: New file.
14157 * util/console.c: Change order of includes to workaround a bug in
14158 ncurses headers.
14159 * term/terminfo.c: New argument oterm on all exported functions.
14160 All users updated.
14161 * util/grub-editenv.c (grub_term_input_class): Removed.
14162 (grub_term_output_class): Likewise.
14163
14164 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14165
14166 Make loader output a bit more user-friendly.
14167
14168 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
14169 is being loaded. Likewise for the Hurd.
14170
14171 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
14172 that kernel of FreeBSD ${version} is being loaded.
14173
14174 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
14175 grub_dprintf().
14176 (grub_cmd_initrd): Likewise.
14177 * util/grub.d/10_linux.in (linux_entry): Print message indicating
14178 that Linux ${version} is being loaded. Likewise for initrd.
14179
14180 2010-01-09 Carles Pina i Estany <carles@pina.cat>
14181
14182 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
14183
14184 2010-01-08 Carles Pina i Estany <carles@pina.cat>
14185
14186 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
14187 (GRUB_MOD_INIT): Gettextizze.
14188 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
14189 (GRUB_MOD_INIT): Gettextizze.
14190 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
14191 (grub_cmd_linux): Capitalise Linux.
14192 (GRUB_MOD_INIT): Gettextizze.
14193 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
14194 (grub_cmd_linux): Capitalise Linux.
14195 (GRUB_MOD_INIT): Gettextizze.
14196 * loader/i386/linux.c: Include `<grub/i18n.h>'.
14197 (grub_cmd_linux): Capitalise Linux.
14198 (GRUB_MOD_INIT): Gettextizze.
14199 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
14200 (GRUB_MOD_INIT): Gettextizze.
14201 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
14202 (grub_cmd_linux): Capitalise Linux.
14203 (GRUB_MOD_INIT): Gettextizze.
14204 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
14205 (grub_cpu_xnu_init): Gettextizze.
14206 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
14207 (GRUB_MOD_INIT): Gettextizze.
14208 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
14209 (GRUB_MOD_INIT): Gettextizze.
14210 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
14211 (grub_linux_load64): Capitalise Linux.
14212 (GRUB_MOD_INIT): Gettextizze.
14213 * loader/xnu.c: Include `<grub/i18n.h>'.
14214 (GRUB_MOD_INIT): Gettextizze.
14215 * po/POTFILES: Add `loader/efi/appleloader.c',
14216 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
14217 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
14218 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
14219 `loader/i386/xnu.c', `loader/multiboot_loader.c',
14220 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
14221 and `loader/xnu.c'.
14222
14223 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14224
14225 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
14226
14227 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14228
14229 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
14230 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
14231 * util/mkisofs/mkisofs.c (main): Readjust --version output.
14232
14233 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14234
14235 Reset Multiboot 2 support. New loader implements the draft in
14236 /branches/multiboot2 and shares as much code as possible with the
14237 production Multiboot 1 implementation.
14238
14239 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
14240 * loader/multiboot2.c: Likewise.
14241 * loader/i386/multiboot_helper.S: Likewise.
14242 * include/multiboot2.h: Replace with latest version from the draft
14243 in /branches/multiboot2.
14244
14245 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
14246 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
14247 and `loader/multiboot2.c'.
14248 (pkglib_MODULES): Add `multiboot2.mod'.
14249 (multiboot2_mod_SOURCES): New variable.
14250 (multiboot2_mod_LDFLAGS): Likewise.
14251 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
14252
14253 * conf/i386-pc.rmk: Likewise.
14254
14255 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14256 (multiboot_mod_SOURCES): Remove variable.
14257 (multiboot_mod_LDFLAGS): Likewise.
14258 (multiboot_mod_CFLAGS): Likewise.
14259
14260 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
14261 `<multiboot2.h>' instead of `<multiboot.h>'.
14262 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
14263 (MULTIBOOT_HEADER_MAGIC): New macros.
14264
14265 * loader/multiboot_loader.c (module_version_status): Remove variable.
14266 (find_multi_boot2_header): Remove function.
14267 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
14268 logic. Always check for the Multiboot version we're compiling for.
14269 (grub_cmd_module_loader): Likewise.
14270 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
14271 command instead of `multiboot'.
14272
14273 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14274
14275 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
14276 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
14277 all users.
14278
14279 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14280 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14281
14282 Fix breakage introduced with previous commit.
14283
14284 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
14285 commands.
14286 * normal/handler.c (read_handler_list): Revert part of previous commit
14287 affecting this file.
14288 * normal/main.c (read_lists): Move read_handler_list() call back to ...
14289 (grub_normal_execute): ... here.
14290
14291 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14292
14293 Merge prefix-redefinition-fix branch.
14294
14295 * normal/autofs.c (read_fs_list): Make function capable of being
14296 run multiple times, gracefuly replacing the previous data
14297 structures.
14298 * normal/dyncmd.c (read_command_list): Likewise.
14299 * normal/handler.c (read_handler_list): Likewise.
14300 * normal/main.c (read_lists): New function. Calls all the
14301 list reading functions.
14302 (grub_normal_execute): Use read_lists() instead of calling all
14303 list reading functions explicitly. Register read_lists() as a
14304 variable hook attached to ${prefix}.
14305
14306 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14307
14308 Merge crypto branch.
14309
14310 * Makefile.in (pkglib_DATA): Add crypto.lst.
14311 (crypto.lst): New target.
14312 * commands/hashsum.c: New file.
14313 * commands/password.c (check_password): Use grub_crypto_memcmp.
14314 * commands/password_pbkdf2.c: New file.
14315 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
14316 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
14317 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
14318 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
14319 -I$(srcdir)/lib/libgcrypt_wrap.
14320 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
14321 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
14322 password_pbkdf2.mod.
14323 (crypto_mod_SOURCES): New variable.
14324 (crypto_mod_CFLAGS): Likewise.
14325 (crypto_mod_LDFLAGS): Likewise.
14326 (hashsum_mod_SOURCES): New variable.
14327 (hashsum_mod_CFLAGS): Likewise.
14328 (hashsum_mod_LDFLAGS): Likewise.
14329 (pbkdf2_mod_SOURCES): New variable.
14330 (pbkdf2_mod_CFLAGS): Likewise.
14331 (pbkdf2_mod_LDFLAGS): Likewise.
14332 (password_pbkdf2_mod_SOURCES): New variable.
14333 (password_pbkdf2_mod_CFLAGS): Likewise.
14334 (password_pbkdf2_mod_LDFLAGS): Likewise.
14335 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
14336 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
14337 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
14338 Include conf/gcry.rmk.
14339 * include/grub/auth.h: Rewritten.
14340 * include/grub/crypto.h: New file.
14341 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
14342 * include/grub/normal.h (read_crypto_list): New prototype.
14343 * lib/crypto.c: New file.
14344 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14345 * lib/pbkdf2.c: Likewise.
14346 * normal/auth.c (grub_auth_strcmp): Removed.
14347 (grub_iswordseparator): Likewise.
14348 (grub_auth_strword): Likewise.
14349 (is_authenticated): Use grub_strword.
14350 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
14351 and grub_strword. Pass entered password to authentication callback.
14352 * normal/crypto.c: New file.
14353 * normal/main.c: Call read_crypto_list.
14354 * util/grub-mkpasswd-pbkdf2.c: New file.
14355 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
14356
14357 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
14358
14359 Fix descent and ascent calculation.
14360
14361 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
14362 (options): New option "asce".
14363 (usage): Likewise.
14364 (add_char): Ignore invalid glyphs for descent calculation.
14365 Calculate ascent from actual content.
14366 (print_glyphs): Use 'asce'.
14367 (write_font): Likewise. Allow ascent override.
14368 (main): Handle "asce" option.
14369
14370 2010-01-06 Carles Pina i Estany <carles@pina.cat>
14371
14372 * kern/err.c: Include `<grub/i18n.h>'.
14373 (grub_print_error): Add full stop. Gettextizze.
14374 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
14375 (grub_bsd_load_elf): Capitalise ELF.
14376 (grub_cmd_freebsd_loadenv): Add `s' in error string.
14377 (grub_cmd_freebsd_module): Likewise.
14378 (grub_cmd_freebsd_module_elf): Likewise.
14379 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
14380
14381 2010-01-06 Carles Pina i Estany <carles@pina.cat>
14382
14383 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
14384 * commands/search_file.c (HELP_MESSAGE): New macro.
14385 * commands/search_label.c (HELP_MESSAGE): Likewise.
14386 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
14387 * po/POTFILES: Add `commands/search_file.c',
14388 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
14389 `commands/search.c'.
14390
14391 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14392
14393 * config.rpath: Update from Gnulib.
14394
14395 2010-01-05 Yves Blusseau <blusseau@zetam.org>
14396
14397 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
14398
14399 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
14400
14401 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
14402
14403 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14404
14405 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
14406 arguments to fread so that we get a return value in bytes, rather
14407 than something that will normally be rounded down to 0.
14408 Adjust error handling to avoid producing garbage when size_t is not
14409 the same size as long long.
14410
14411 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14412
14413 * util/mkisofs/write.c (padblock_write): Check return value of
14414 fread.
14415
14416 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14417
14418 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
14419 floppy images now.
14420
14421 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
14422
14423 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14424
14425 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
14426 instead of manual alignment.
14427 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
14428 verbose). Avoid attempts to read past end of the device
14429 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
14430 but GRUB_DISK_CACHE_SIZE may exceed that).
14431
14432 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14433
14434 * commands/crc.c (grub_cmd_crc): Abort on read errors.
14435 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
14436 it to upper layer.
14437
14438 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
14441 New constant.
14442 (grub_efi_piwg_device_path): New structure
14443 (grub_efi_piwg_device_path_t): New type.
14444 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
14445 (devpath_1): Transform to a structure. All users updated.
14446 (devpath_2): Likewise.
14447 (devpath_3): Likewise.
14448 (devpath_4): Likewise.
14449 (devpath_5): Likewise.
14450
14451 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 * loader/efi/appleloader.c: Restored. Update all users.
14454
14455 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14456
14457 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
14458
14459 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
14460 (struct boot_blocklist): Move from here ...
14461 * include/grub/i386/pc/boot.h [ASM_FILE]
14462 (struct grub_boot_blocklist): ... to here. Update all users.
14463 (setup): Only initialize `start' member of `first_block'
14464 structure. Add assert() calls to verify the other members.
14465
14466 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
14467 (generate_image): Fix broken blocklist length initialization.
14468 Add assert() call to verify blocklist `segment' field.
14469
14470 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14471
14472 * loader/efi/appleloader.c: Remove. Update all users.
14473
14474 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14475
14476 * boot/i386/pc/boot.S: Update copyright year.
14477 * boot/i386/pc/cdboot.S: Likewise.
14478 * boot/i386/pc/diskboot.S: Likewise.
14479 * boot/i386/pc/lnxboot.S: Likewise.
14480 * boot/i386/pc/pxeboot.S: Likewise.
14481 * bus/pci.c: Likewise.
14482 * commands/cmp.c: Likewise.
14483 * commands/help.c: Likewise.
14484 * commands/hexdump.c: Likewise.
14485 * commands/i386/pc/halt.c: Likewise.
14486 * commands/i386/pc/play.c: Likewise.
14487 * commands/i386/pc/vbeinfo.c: Likewise.
14488 * commands/ls.c: Likewise.
14489 * commands/test.c: Likewise.
14490 * disk/dmraid_nvidia.c: Likewise.
14491 * disk/i386/pc/biosdisk.c: Likewise.
14492 * disk/ieee1275/nand.c: Likewise.
14493 * disk/ieee1275/ofdisk.c: Likewise.
14494 * disk/lvm.c: Likewise.
14495 * disk/raid.c: Likewise.
14496 * disk/raid6_recover.c: Likewise.
14497 * disk/scsi.c: Likewise.
14498 * fs/affs.c: Likewise.
14499 * fs/cpio.c: Likewise.
14500 * fs/ext2.c: Likewise.
14501 * fs/hfs.c: Likewise.
14502 * fs/iso9660.c: Likewise.
14503 * fs/ntfs.c: Likewise.
14504 * fs/sfs.c: Likewise.
14505 * fs/udf.c: Likewise.
14506 * fs/ufs.c: Likewise.
14507 * fs/xfs.c: Likewise.
14508 * gencmdlist.sh: Likewise.
14509 * genmk.rb: Likewise.
14510 * include/grub/disk.h: Likewise.
14511 * include/grub/efi/api.h: Likewise.
14512 * include/grub/efi/efi.h: Likewise.
14513 * include/grub/efi/pe32.h: Likewise.
14514 * include/grub/elf.h: Likewise.
14515 * include/grub/fs.h: Likewise.
14516 * include/grub/i386/at_keyboard.h: Likewise.
14517 * include/grub/i386/pc/memory.h: Likewise.
14518 * include/grub/i386/pc/vbe.h: Likewise.
14519 * include/grub/i386/pci.h: Likewise.
14520 * include/grub/i386/tsc.h: Likewise.
14521 * include/grub/ieee1275/ieee1275.h: Likewise.
14522 * include/grub/ntfs.h: Likewise.
14523 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
14524 * include/grub/sparc64/libgcc.h: Likewise.
14525 * include/grub/symbol.h: Likewise.
14526 * include/grub/types.h: Likewise.
14527 * include/multiboot2.h: Likewise.
14528 * io/gzio.c: Likewise.
14529 * kern/device.c: Likewise.
14530 * kern/disk.c: Likewise.
14531 * kern/efi/efi.c: Likewise.
14532 * kern/efi/mm.c: Likewise.
14533 * kern/elf.c: Likewise.
14534 * kern/file.c: Likewise.
14535 * kern/i386/dl.c: Likewise.
14536 * kern/i386/pc/init.c: Likewise.
14537 * kern/i386/pc/startup.S: Likewise.
14538 * kern/ieee1275/ieee1275.c: Likewise.
14539 * kern/ieee1275/init.c: Likewise.
14540 * kern/main.c: Likewise.
14541 * kern/mm.c: Likewise.
14542 * kern/powerpc/dl.c: Likewise.
14543 * kern/sparc64/dl.c: Likewise.
14544 * kern/x86_64/dl.c: Likewise.
14545 * lib/hexdump.c: Likewise.
14546 * loader/efi/appleloader.c: Likewise.
14547 * loader/i386/ieee1275/linux.c: Likewise.
14548 * loader/i386/pc/chainloader.c: Likewise.
14549 * loader/i386/pc/linux.c: Likewise.
14550 * loader/i386/pc/multiboot2.c: Likewise.
14551 * loader/ieee1275/multiboot2.c: Likewise.
14552 * loader/multiboot2.c: Likewise.
14553 * loader/multiboot_loader.c: Likewise.
14554 * loader/powerpc/ieee1275/linux.c: Likewise.
14555 * normal/completion.c: Likewise.
14556 * normal/menu_entry.c: Likewise.
14557 * partmap/apple.c: Likewise.
14558 * util/grub.d/10_hurd.in: Likewise.
14559 * util/hostfs.c: Likewise.
14560 * video/readers/png.c: Likewise.
14561
14562 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
14563
14564 * include/grub/misc.h (GNUC_PREREQ): New macro.
14565 (ATTRIBUTE_ERROR): New macro.
14566 * include/grub/list.h (grub_bad_type_cast_real): Use
14567 ATTRIBUTE_ERROR.
14568
14569 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14570
14571 * normal/menu_text.c (print_message): Change messages.
14572
14573 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14574
14575 * normal/menu_entry.c (store_completion): Gettextizze.
14576
14577 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14578
14579 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
14580
14581 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14582
14583 * po/POTFILES: Sort correctly.
14584
14585 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14586
14587 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
14588 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
14589 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
14590 full stop.
14591 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
14592 summary. Gettextizze the strings.
14593 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
14594 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
14595 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
14596 full stop.
14597 (GRUB_MOD_INIT): Remove command name from summary.
14598 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
14599 summary.
14600 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
14601 * term/i386/pc/serial.c (options): Add full stops.
14602 (GRUB_MOD_INIT): Remove command name from the summary.
14603
14604 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14605
14606 * commands/acpi.c: Gettextizze help strings and/or options. Include
14607 `grub/i18n.h' if needed.
14608 * commands/blocklist.c: Likewise.
14609 * commands/boot.c: Likewise.
14610 * commands/cat.c: Likewise.
14611 * commands/cmp.c: Likewise.
14612 * commands/configfile.c: Likewise.
14613 * commands/crc.c: Likewise.
14614 * commands/date.c: Likewise.
14615 * commands/echo.c: Likewise.
14616 * commands/efi/fixvideo.c: Likewise.
14617 * commands/efi/loadbios.c: Likewise.
14618 * commands/gptsync.c: Likewise.
14619 * commands/halt.c: Likewise.
14620 * commands/handler.c: Likewise.
14621 * commands/hdparm.c: Likewise.
14622 * commands/hexdump.c: Likewise.
14623 * commands/i386/cpuid.c: Likewise.
14624 * commands/i386/pc/drivemap.c: Likewise.
14625 * commands/i386/pc/halt.c: Likewise.
14626 * commands/i386/pc/pxecmd.c: Likewise.
14627 * commands/i386/pc/vbeinfo.c: Likewise.
14628 * commands/i386/pc/vbetest.c: Likewise.
14629 * commands/ieee1275/suspend.c: Likewise.
14630 * commands/keystatus.c: Likewise.
14631 * commands/loadenv.c: Likewise.
14632 * commands/ls.c: Likewise.
14633 * commands/lsmmap.c: Likewise.
14634 * commands/lspci.c: Likewise.
14635 * commands/memrw.c: Likewise.
14636 * commands/minicmd.c: Likewise.
14637 * commands/parttool.c: Likewise.
14638 * commands/password.c: Likewise.
14639 * commands/probe.c: Likewise.
14640 * commands/read.c: Likewise.
14641 * commands/reboot.c: Likewise.
14642 * commands/search.c: Likewise.
14643 * commands/sleep.c: Likewise.
14644 * commands/test.c: Likewise.
14645 * commands/true.c: Likewise.
14646 * commands/usbtest.c: Likewise.
14647 * commands/videotest.c: Likewise.
14648 * commands/xnu_uuid.c: Likewise.
14649 * disk/loopback.c: Likewise.
14650 * hello/hello.c: Likewise.
14651 * loader/i386/bsd.c: Likewise.
14652 * term/i386/pc/serial.c: Likewise.
14653 * po/POTFILES: Add new files.
14654
14655 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
14656
14657 * term/i386/pc/at_keyboard.c
14658 (keyboard_controller_wait_untill_ready): Rename to ...
14659 (keyboard_controller_wait_until_ready): ... this. Update all users.
14660
14661 2010-01-01 Carles Pina i Estany <carles@pina.cat>
14662
14663 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
14664 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
14665 string using string width.
14666 * normal/menu_text.c (grub_print_message_indented): Use
14667 grub_print_spaces and not print_spaces.
14668 (print_timeout): Likewise.
14669 (print_spaces): Move to...
14670 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
14671
14672 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
14673
14674 Import from Gnulib.
14675
14676 * gnulib/getdelim.c: New file.
14677 * gnulib/getline.c: Likewise.
14678
14679 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
14680
14681 * include/grub/list.h (grub_assert_fail): Removed.
14682 (grub_bad_type_cast_real): New function.
14683 (grub_bad_type_cast): New macro.
14684 (GRUB_AS_LIST): Use grub_bad_type_cast.
14685 (GRUB_AS_LIST_P): Likewise.
14686 (GRUB_AS_NAMED_LIST): Likewise.
14687 (GRUB_AS_NAMED_LIST_P): Likewise.
14688 (GRUB_AS_PRIO_LIST): Likewise.
14689 (GRUB_AS_PRIO_LIST_P): Likewise.
14690 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
14691
14692 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
14693
14694 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
14695 Fix syntax error.
14696
14697 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
14698
14699 * configure.ac: Check for TARGET_CFLAGS initialization before we
14700 initialize it ourselves (sigh).
14701 Move a few modifications to TARGET_CFLAGS to be unconditional
14702 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
14703 eh_frame)
14704
14705 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
14706 * term/i386/pc/at_keyboard.c
14707 (keyboard_controller_wait_untill_ready): Likewise.
14708 (keyboard_controller_led): Rename `led_status' paramter to avoid
14709 name conflict.
14710
14711 2009-12-28 Carles Pina i Estany <carles@pina.cat>
14712
14713 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
14714 quotes.
14715
14716 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14717
14718 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
14719
14720 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14721
14722 * normal/menu_text.c (grub_print_message_indented): Prevent
14723 past-the-end-of-array dereference.
14724
14725 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
14726
14727 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
14728 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
14729
14730 2009-12-27 Carles Pina i Estany <carles@pina.cat>
14731
14732 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
14733 * normal/main.c (grub_normal_read_line): Remove a space from the
14734 default prompt.
14735
14736 2009-12-27 Carles Pina i Estany <carles@pina.cat>
14737
14738 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
14739 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14740 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
14741 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
14742 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14743 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14744 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14745
14746 2009-12-26 Carles Pina i Estany <carles@pina.cat>
14747
14748 * video/readers/jpeg.c (cmd): Declare.
14749 (grub_cmd_jpegtest): Use `grub_command_t' type.
14750 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14751 Assign to `cmd'.
14752 (GRUB_MOD_FINI): Use `cmd' to unregister.
14753 * video/readers/png.c (cmd): Declare.
14754 (grub_cmd_pngtest): Use `grub_command_t' type.
14755 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14756 Assign to `cmd'.
14757 (GRUB_MOD_FINI): Use `cmd' to unregister.
14758 * video/readers/tga.c (cmd): Declare.
14759 (grub_cmd_tgatest): Use `grub_command_t' type.
14760 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
14761 Assign to `cmd'.
14762 (GRUB_MOD_FINI): Use `cmd' to unregister.
14763
14764 2009-12-26 Carles Pina i Estany <carles@pina.cat>
14765
14766 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
14767 stops.
14768 * kern/corecmd.c (grub_register_core_commands): Likewise.
14769 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
14770 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
14771 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
14772 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14773 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
14774 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
14775 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
14776 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
14777 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14778 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
14779 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14780 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14781 * normal/handler.c (insert_handler): Likewise.
14782 * normal/main.c (GRUB_MOD_INIT): Likewise.
14783 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14784
14785 2009-12-26 Carles Pina i Estany <carles@pina.cat>
14786
14787 * commands/help.c (grub_cmd_help): Print the command name before the
14788 summary.
14789 (GRUB_MOD_INIT): Remove command name from the summary.
14790 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
14791 string as summary.
14792 * lib/arg.c (find_long): Print the command name before the summary.
14793 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
14794 summary.
14795 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
14796 * commands/cat.c (GRUB_MOD_INIT): Likewise.
14797 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
14798 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
14799 * commands/crc.c (GRUB_MOD_INIT): Likewise.
14800 * commands/date.c (GRUB_MOD_INIT): Likewise.
14801 * commands/echo.c (GRUB_MOD_INIT): Likewise.
14802 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
14803 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
14804 * commands/handler.c (GRUB_MOD_INIT): Likewise.
14805 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
14806 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
14807 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
14808 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
14809 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
14810 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
14811 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
14812 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
14813 * commands/ls.c (GRUB_MOD_INIT): Likewise.
14814 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
14815 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
14816 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
14817 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
14818 * commands/password.c (GRUB_MOD_INIT): Likewise.
14819 * commands/probe.c (GRUB_MOD_INIT): Likewise.
14820 * commands/read.c (GRUB_MOD_INIT): Likewise.
14821 * commands/search.c (GRUB_MOD_INIT): Likewise.
14822 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
14823 * commands/test.c (GRUB_MOD_INIT): Likewise.
14824 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
14825 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14826 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14827 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
14828 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14829 * lib/arg.c (GRUB_MOD_INIT): Likewise.
14830 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
14831 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
14832 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
14833 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14834 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14835 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
14836 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
14837 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
14838
14839 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14840
14841 Use search command for preliminar UUID search.
14842
14843 * commands/search.c: Split into ...
14844 * commands/search_wrap.c: ...this
14845 * commands/search.c: ...and this.
14846 * commands/search_file.c: New file.
14847 * commands/search_label.c: New file.
14848 * commands/search_uuid.c: New file.
14849 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
14850 Add commands/search_wrap.c, commands/search_file.c,
14851 commands/search_label.c and commands/search_uuid.c.
14852 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
14853 (search_mod_SOURCES): Set to commands/search_wrap.c.
14854 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
14855 search_label.mod.
14856 (search_fs_file_mod_SOURCES): New variable.
14857 (search_fs_file_mod_CFLAGS): Likewise.
14858 (search_fs_file_mod_LDFLAGS): Likewise.
14859 (search_label_mod_SOURCES): Likewise.
14860 (search_label_mod_CFLAGS): Likewise.
14861 (search_label_mod_LDFLAGS): Likewise.
14862 (search_fs_uuid_mod_SOURCES): New variable.
14863 (search_fs_uuid_mod_CFLAGS): Likewise.
14864 (search_fs_uuid_mod_LDFLAGS): Likewise.
14865 (fs_file_mod_SOURCES): Removed.
14866 (fs_file_mod_CFLAGS): Likewise.
14867 (fs_file_mod_LDFLAGS): Likewise.
14868 (fs_uuid_mod_SOURCES): Removed.
14869 (fs_uuid_mod_CFLAGS): Likewise.
14870 (fs_uuid_mod_LDFLAGS): Likewise.
14871 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
14872 Set to util/grub-install.in.
14873 * disk/fs_file.c: Removed.
14874 * disk/fs_uuid.c: Likewise.
14875 * include/grub/search.h: New file.
14876 * util/grub-install.in: Handle sparc64.
14877 Create and use load.cfg.
14878 * util/sparc64/ieee1275/grub-install.in: Removed.
14879
14880 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14881
14882 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
14883 Ignore return status if CF is cleared.
14884 (grub_biosdisk_get_diskinfo_standard): Likewise.
14885
14886 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
14887
14888 * term/i386/pc/at_keyboard.c
14889 (keyboard_controller_wait_untill_ready): New function.
14890 (grub_keyboard_controller_write, grub_keyboard_controller_read)
14891 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
14892 for keyboard polling, rather than duplicate the same loop. This
14893 saves a few bytes in code size.
14894
14895 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
14896
14897 Support for (pxe[:server[:gateway]]) syntax and
14898 use environment variable for PXE.
14899
14900 * commands/i386/pc/pxecmd.c (options): Removed.
14901 (print_ip): Removed.
14902 (grub_cmd_pxe): Removed
14903 (grub_cmd_pxe_unload): New function.
14904 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
14905 (grub_pxe_your_ip): Made static.
14906 (grub_pxe_default_server_ip): Likewise.
14907 (grub_pxe_default_gateway_ip): Likewise.
14908 (grub_pxe_blksize): Likewise.
14909 (parse_ip): New function.
14910 (grub_pxe_open): Support server and gateway specification.
14911 (grub_pxe_close): Free disk->data.
14912 (grub_pxefs_open): Use disk->data.
14913 (grub_pxefs_read): Likewise.
14914 (grub_env_write_readonly): New function.
14915 (set_mac_env): Likewise.
14916 (set_env_limn_ro): Likewise.
14917 (parse_dhcp_vendor): Likewise.
14918 (grub_pxe_detect): Set the environment variables.
14919 (set_ip_env): New function.
14920 (write_ip_env): Likewise.
14921 (grub_env_write_pxe_default_server): Likewise.
14922 (grub_env_write_pxe_default_gateway): Likewise.
14923 (grub_env_write_pxe_blocksize): Likewise.
14924 (GRUB_MOD_INIT(pxe)): Set environment variables.
14925 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
14926 (grub_pxe_mac_addr_t): ... this. All users updated.
14927 (grub_pxe_your_ip): Removed.
14928 (grub_pxe_server_ip): Likewise.
14929 (grub_pxe_gateway_ip): Likewise.
14930 (grub_pxe_blksize): Likewise.
14931
14932 2009-12-25 Carles Pina i Estany <carles@pina.cat>
14933
14934 * commands/help.c: Include `<grub/i18n.h>'.
14935 (grub_cmd_help): Gettextizze.
14936 (GRUB_MOD_INIT): Likewise.
14937 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
14938 (GRUB_MOD_INIT): Gettextizze.
14939 * commands/search.c: Include `<grub/i18n.h>'.
14940 (options): Gettextizze.
14941 (GRUB_MOD_INIT): Gettextizze.
14942 * lib/arg.c: Include `<grub/i18n.h>'.
14943 (help_options): Gettextizze.
14944 (find_long): Likewise.
14945 (grub_arg_show_help): Likewise.
14946 * normal/dyncmd.c: Include `<grub/i18n.h>'.
14947 (read_command_list): Gettextizze.
14948 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
14949 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
14950
14951 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
14952
14953 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
14954 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
14955 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
14956 (led_status): New variable.
14957 (keyboard_controller_led): New function.
14958 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
14959 update led status for caps lock, num lock and scroll lock.
14960
14961 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
14962
14963 * util/hostdisk.c (open_device): Fix a comment.
14964
14965 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14966
14967 * util/grub-install.in (host_os): New variable.
14968 * util/i386/efi/grub-install.in (host_os): Likewise.
14969
14970 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14971
14972 * util/mkisofs/write.c (padblock_write): Abort when given an
14973 excedingly large embed image, instead of silently truncating it.
14974
14975 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14976
14977 * include/multiboot.h: Indentation fixes.
14978
14979 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14980
14981 * include/multiboot.h (struct multiboot_aout_symbol_table)
14982 (struct multiboot_elf_section_header_table): New structure
14983 declarations (stolen from GRUB Legacy).
14984 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
14985 table information.
14986
14987 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
14988 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
14989 type aliases.
14990
14991 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14992
14993 * include/multiboot.h: Make comments src2texi-friendly.
14994
14995 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
14996
14997 For consistency with [multiboot]/docs/boot.S.
14998
14999 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
15000 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
15001 (MULTIBOOT_MAGIC2): Rename from this ...
15002 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
15003
15004 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15005
15006 * include/multiboot.h: Remove `<grub/types.h>'.
15007 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
15008 types. Update all users.
15009
15010 2009-12-25 Carles Pina i Estany <carles@pina.cat>
15011
15012 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
15013 `couldn't' and `can not' by `cannot'.
15014 * commands/i386/pc/drivemap.c: Likewise.
15015 * disk/ata.c: Likewise.
15016 * disk/ieee1275/nand.c: Likewise.
15017 * fs/affs.c: Likewise.
15018 * fs/fat.c: Likewise.
15019 * fs/hfs.c: Likewise.
15020 * fs/hfsplus.c: Likewise.
15021 * fs/iso9660.c: Likewise.
15022 * fs/jfs.c: Likewise.
15023 * fs/minix.c: Likewise.
15024 * fs/reiserfs.c: Likewise.
15025 * fs/sfs.c: Likewise.
15026 * fs/udf.c: Likewise.
15027 * fs/ufs.c: Likewise.
15028 * fs/xfs.c: Likewise.
15029 * loader/powerpc/ieee1275/linux.c: Likewise.
15030 * loader/sparc64/ieee1275/linux.c: Likewise.
15031 * util/grub-probe.c: Likewise.
15032 * util/misc.c: Likewise.
15033
15034 2009-12-24 Carles Pina i Estany <carles@pina.cat>
15035
15036 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
15037 grub_errno calls.
15038 * commands/acpi.c: Likewise.
15039 * commands/blocklist.c: Likewise.
15040 * commands/efi/loadbios.c: Likewise.
15041 * commands/i386/pc/drivemap.c: Likewise.
15042 * commands/loadenv.c: Likewise.
15043 * commands/memrw.c: Likewise.
15044 * commands/password.c: Likewise.
15045 * commands/videotest.c: Likewise.
15046 * disk/ata.c: Likewise.
15047 * disk/ata_pthru.c: Likewise.
15048 * disk/dmraid_nvidia.c: Likewise.
15049 * disk/ieee1275/nand.c: Likewise.
15050 * disk/ieee1275/ofdisk.c: Likewise.
15051 * disk/loopback.c: Likewise.
15052 * disk/lvm.c: Likewise.
15053 * disk/mdraid_linux.c: Likewise.
15054 * disk/raid.c: Likewise.
15055 * disk/raid6_recover.c: Likewise.
15056 * disk/scsi.c: Likewise.
15057 * efiemu/main.c: Likewise.
15058 * efiemu/mm.c: Likewise.
15059 * efiemu/pnvram.c: Likewise.
15060 * efiemu/symbols.c: Likewise.
15061 * font/font.c: Likewise.
15062 * fs/cpio.c: Likewise.
15063 * fs/hfsplus.c: Likewise.
15064 * fs/iso9660.c: Likewise.
15065 * fs/jfs.c: Likewise.
15066 * fs/minix.c: Likewise.
15067 * fs/ntfs.c: Likewise.
15068 * fs/ntfscomp.c: Likewise.
15069 * fs/reiserfs.c: Likewise.
15070 * fs/ufs.c: Likewise.
15071 * fs/xfs.c: Likewise.
15072 * gettext/gettext.c: Likewise.
15073 * include/grub/auth.h: Likewise.
15074 * kern/elf.c: Likewise.
15075 * kern/file.c: Likewise.
15076 * kern/ieee1275/init.c: Likewise.
15077 * kern/ieee1275/mmap.c: Likewise.
15078 * kern/ieee1275/openfw.c: Likewise.
15079 * kern/powerpc/dl.c: Likewise.
15080 * kern/sparc64/dl.c: Likewise.
15081 * lib/arg.c: Likewise.
15082 * loader/i386/bsd.c: Likewise.
15083 * loader/i386/bsdXX.c: Likewise.
15084 * loader/i386/efi/linux.c: Likewise.
15085 * loader/i386/efi/xnu.c: Likewise.
15086 * loader/i386/ieee1275/linux.c: Likewise.
15087 * loader/i386/linux.c: Likewise.
15088 * loader/i386/multiboot.c: Likewise.
15089 * loader/i386/pc/linux.c: Likewise.
15090 * loader/i386/pc/multiboot2.c: Likewise.
15091 * loader/i386/xnu.c: Likewise.
15092 * loader/ieee1275/multiboot2.c: Likewise.
15093 * loader/macho.c: Likewise.
15094 * loader/machoXX.c: Likewise.
15095 * loader/multiboot2.c: Likewise.
15096 * loader/multiboot_loader.c: Likewise.
15097 * loader/powerpc/ieee1275/linux.c: Likewise.
15098 * loader/sparc64/ieee1275/linux.c: Likewise.
15099 * loader/xnu.c: Likewise.
15100 * loader/xnu_resume.c: Likewise.
15101 * mmap/i386/pc/mmap.c: Likewise.
15102 * normal/menu_viewer.c: Likewise.
15103 * partmap/acorn.c: Likewise.
15104 * partmap/amiga.c: Likewise.
15105 * partmap/apple.c: Likewise.
15106 * script/lexer.c: Likewise.
15107 * term/gfxterm.c: Likewise.
15108 * term/i386/pc/serial.c: Likewise.
15109 * term/i386/pc/vga.c: Likewise.
15110 * term/ieee1275/ofconsole.c: Likewise.
15111 * term/terminfo.c: Likewise.
15112 * video/bitmap.c: Likewise.
15113 * video/efi_gop.c: Likewise.
15114 * video/efi_uga.c: Likewise.
15115 * video/fb/video_fb.c: Likewise.
15116 * video/i386/pc/vbe.c: Likewise.
15117 * video/readers/tga.c: Likewise.
15118 * video/video.c: Likewise.
15119
15120 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
15121
15122 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
15123 * commands/lspci.c: Likewise.
15124 * commands/probe.c: Likewise.
15125 * commands/xnu_uuid.c: Likewise.
15126 * conf/i386-coreboot.rmk: Likewise.
15127 * conf/i386-efi.rmk: Likewise.
15128 * conf/i386-ieee1275.rmk: Likewise.
15129 * conf/i386-pc.rmk: Likewise.
15130 * conf/powerpc-ieee1275.rmk: Likewise.
15131 * conf/sparc64-ieee1275.rmk: Likewise.
15132 * conf/x86_64-efi.rmk: Likewise.
15133 * fs/i386/pc/pxe.c: Likewise.
15134 * gettext/gettext.c: Likewise.
15135 * include/grub/efi/graphics_output.h: Likewise.
15136 * include/grub/i386/pc/memory.h: Likewise.
15137 * kern/env.c: Likewise.
15138 * kern/i386/qemu/startup.S: Likewise.
15139 * lib/i386/pc/biosnum.c: Likewise.
15140 * lib/i386/relocator.c: Likewise.
15141 * lib/i386/relocator_asm.S: Likewise.
15142 * lib/relocator.c: Likewise.
15143 * loader/i386/bsd.c: Likewise.
15144 * loader/i386/multiboot.c: Likewise.
15145 * loader/i386/pc/chainloader.c: Likewise.
15146 * loader/i386/xnu.c: Likewise.
15147 * loader/xnu.c: Likewise.
15148 * normal/main.c: Likewise.
15149 * normal/menu_text.c: Likewise.
15150 * util/getroot.c: Likewise.
15151 * util/grub-mkconfig_lib.in: Likewise.
15152 * util/grub.d/00_header.in: Likewise.
15153 * util/i386/pc/grub-mkimage.c: Likewise.
15154 * util/mkisofs/eltorito.c: Likewise.
15155 * util/mkisofs/exclude.h: Likewise.
15156 * util/mkisofs/hash.c: Likewise.
15157 * util/mkisofs/iso9660.h: Likewise.
15158 * util/mkisofs/joliet.c: Likewise.
15159 * util/mkisofs/mkisofs.c: Likewise.
15160 * util/mkisofs/mkisofs.h: Likewise.
15161 * util/mkisofs/multi.c: Likewise.
15162 * util/mkisofs/name.c: Likewise.
15163 * util/mkisofs/rock.c: Likewise.
15164 * util/mkisofs/tree.c: Likewise.
15165 * util/mkisofs/write.c: Likewise.
15166 * video/efi_gop.c: Likewise.
15167
15168 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15169
15170 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
15171 size counting.
15172
15173 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15174
15175 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
15176 * genmk.rb (class SCRIPT): Modify the target file instead of source.
15177
15178 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
15181 (GRUB_MOD_INIT(memrw)): Update help line.
15182
15183 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
15186 Use grub_extcmd_t. All users updated.
15187 (options): New variable.
15188 (grub_cmd_read): Restructure for readability. Support "-v" option.
15189 (grub_cmd_write): Restructure for readability.
15190
15191 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15192
15193 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
15194
15195 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15196
15197 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
15198 with the actual contents of the correspondending make variable.
15199 * util/grub-mkrescue.in (pkglib_DATA): New variable.
15200 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
15201 specifying `*.lst' and `efiemu??.o'
15202
15203 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15204
15205 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
15206 after function name.
15207 Noticed by Rene Engelhard <rene@debian.org>.
15208
15209 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15210
15211 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
15212 (options): New variable.
15213 (iospace): Likewise.
15214 (grub_lspci_iter): List IO spaces if "-i" was given.
15215 (grub_cmd_lspci): Parse options.
15216 (GRUB_MOD_INIT(lspci)): Use extcmd.
15217 (GRUB_MOD_FINI(lspci)): Likewise.
15218
15219 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15220
15221 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
15222 `function' keyword.
15223 Patch by Tony Mancill <tmancill@debian.org>.
15224
15225 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15226
15227 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
15228 (grub_uhci_portstatus): Likewise.
15229 (grub_uhci_portstatus): Add necessary delay.
15230 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
15231
15232 2009-12-21 Carles Pina i Estany <carles@pina.cat>
15233
15234 * commands/acpi.c (options): Fix capitalizations and/or full stops.
15235 (GRUB_MOD_INIT): Likewise.
15236 * commands/boot.c (GRUB_MOD_INIT): Likewise.
15237 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
15238 * commands/echo.c (options): Fix capitalizations and/or full stops.
15239 * commands/efi/loadbios.c (enable_rom_area): Likewise.
15240 (enable_rom_area): Likewise.
15241 (GRUB_MOD_INIT): Likewise.
15242 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
15243 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
15244 * commands/handler.c (GRUB_MOD_INIT): Likewise.
15245 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
15246 * commands/hexdump.c (options): Likewise.
15247 * commands/i386/cpuid.c (options): Likewise.
15248 (GRUB_MOD_INIT): Likewise.
15249 * commands/i386/pc/drivemap.c (options): Likewise.
15250 (GRUB_MOD_INIT): Likewise.
15251 * commands/i386/pc/halt (options): Likewise.
15252 (GRUB_MOD_INIT): Likewise.
15253 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
15254 * commands/i386/pc/pxecmd.c (options): Likewise.
15255 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
15256 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
15257 * commands/keystatus.c (options): Likewise.
15258 (GRUB_MOD_INIT): Likewise.
15259 * commands/loadenv.c (options): Likewise.
15260 * commands/ls.c (options): Likewise.
15261 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
15262 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
15263 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
15264 * commands/parttool.c (helpmsg): Likewise.
15265 * commands/probe.c (options): Likewise.
15266 * commands/read.c (GRUB_MOD_INIT): Likewise.
15267 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
15268 * commands/search.c (options): Likewise.
15269 * commands/sleep.c (options): Likewise.
15270 * commands/test.c (GRUB_MOD_INIT): Likewise.
15271 * commands/true.c (GRUB_MOD_INIT): Likewise.
15272 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
15273 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
15274 * lib/arg.c (help_options): Likewise.
15275 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
15276 `$(XGETTEXT)'.
15277 * po/POTFILES: Add `commands/loadenv.c'.
15278
15279 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
15280
15281 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
15282 instead of specifying them explicit.
15283
15284 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15285
15286 * NEWS: Add grub-probe support for GNU/Hurd.
15287
15288 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15289
15290 * NEWS: gettext was added after 1.97.
15291
15292 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15293
15294 * util/mkisofs/msdos_partition.h: New file (based on
15295 include/grub/msdos_partition.h).
15296 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
15297 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
15298 (ld_options, main): Recognize --protective-msdos-label.
15299 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
15300 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
15301 (padblock_write): If `use_protective_msdos_label' is set, patch a
15302 protective DOS-style label in the output image.
15303
15304 * util/grub-mkrescue.in: Use --protective-msdos-label.
15305
15306 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15307
15308 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
15309 boot.
15310
15311 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15312
15313 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
15314 variables.
15315 (ld_options, main): Recognize `--embedded-boot'.
15316 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
15317 declarations.
15318 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
15319 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
15320 (padblock_write): Likewise. Rewrite to support embedded boot image.
15321
15322 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
15323 for BIOS-based disk boot instead of only ElTorito.
15324
15325 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15326
15327 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
15328 build (not needed for bootstrap).
15329
15330 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15331
15332 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
15333 from i386-pc build (not needed for bootstrap).
15334 Rewrite a pair of strings.
15335
15336 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15337
15338 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
15339
15340 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
15343
15344 2009-12-21 Andreas Born <futur.andy@googlemail.com>
15345
15346 * kern/env.c (grub_env_context_open): Mark exported variable for
15347 reexport.
15348
15349 2009-12-21 Andreas Born <futur.andy@googlemail.com>
15350
15351 * kern/env.c (grub_env_export): Create nonexistent variables before
15352 exporting.
15353
15354 2009-12-20 Carles Pina i Estany <carles@pina.cat>
15355
15356 * include/grub/auth.h: Include `<grub/i18n.h>'.
15357 (GRUB_GET_PASSWORD): Gettextizze string.
15358 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
15359 menu_text.c.
15360 (grub_utf8_to_ucs4_alloc): Fix indentation.
15361 (grub_print_ucs4): Likewise.
15362 (grub_getstringwidth): Likewise.
15363 (print_message_indented): New declaration.
15364 * normal/auth.c: Include `<grub/i18n.h>'.
15365 (grub_auth_check_authentication): Gettexttize string.
15366 * normal/cmdline.c: Include `<grub/i18n.h>'.
15367 (grub_cmdline_get): Gettextizze.
15368 * normal/color.c: Include `<grub/i18n.h>'.
15369 (grub_parse_color_name_pair): Gettexttize strings.
15370 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
15371 string (use `print_message_indented').
15372 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
15373 `include/grub/normal.h'.
15374 (print_message_indented): Renamed to ...
15375 (grub_print_message_indented): ... this. Remove `static' qualifer (now
15376 used in normal/main.c).
15377 (print_message): Use `grub_print_message_indented' instead of
15378 `print_message_indented'.
15379 (print_timeout): Likewise.
15380 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
15381 (grub_normal_print_device_info): Gettexttize strings.
15382 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
15383
15384 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15385
15386 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
15387 of arguments. Return number of tokens and not arguments. All users
15388 updated.
15389
15390 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
15393 non-MSDOS paritions.
15394
15395 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15396
15397 * include/grub/types.h (UNUSED): Removed since it conflicts with
15398 NetBSD headers. All users changed to direct __attribute__ ((unused)).
15399 Reported by Grégoire Sutre.
15400
15401 2009-12-19 Carles Pina i Estany <carles@pina.cat>
15402
15403 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
15404 (grub_print_ucs4_alloc): Likewise.
15405 (grub_getstringwidth): Likewise.
15406 * normal/main.c (grub_normal_init_page): Gettextize version string.
15407 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
15408 (getstringwidth): Renamed to ...
15409 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
15410 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
15411 (grub_print_ucs4): Remove `static' qualifer (now used in
15412 normal/main.c).
15413 * po/POTFILES: Add normal/main.c.
15414
15415 2009-12-19 Carles Pina i Estany <carles@pina.cat>
15416
15417 * normal/menu_text.c (STANDARD_MARGIN): New macro.
15418 (print_message_indented): Add `margin_left' and `margin_right'
15419 parameters.
15420 (print_message): Update `print_message_indented' calls. Adds '\n' to the
15421 strings.
15422 (print_timeout): Use `print_message_indented' to print the message.
15423 Deletes `second_stage' parameter.
15424 (run_menu): Update `print_timeout' calls.
15425
15426 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 Fix console palette on OpenFirmware.
15429
15430 * term/ieee1275/ofconsole.c (MAX): Removed.
15431 (colors): Redone based on VGA palette.
15432 (grub_ofconsole_setcolor): Discard brightness bit since only 8
15433 colors are supported.
15434 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
15435
15436 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 Fix potential EfiEmu double prepare.
15439
15440 * efiemu/main.c (prepared): New variable
15441 (grub_efiemu_unload): Set prepare to '0'.
15442 (grub_efiemu_prepare): Return if already prepared. Set prepared.
15443
15444 set_virtual_address_map support.
15445
15446 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
15447 prototype.
15448 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
15449 prototype.
15450 (grub_efiemu_crc32): Likewise.
15451 (grub_efiemu_crc64): Likewise.
15452 (grub_efiemu_set_virtual_address_map): Likewise.
15453 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
15454 New definition.
15455 (grub_autoefi_set_virtual_address_map): Likewise.
15456 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
15457 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
15458 Restructure flow to accomodate it.
15459 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
15460 (grub_efiemu_crc): Recompute CRC32.
15461 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
15462 (efiemu_ptv_relocated): ... this. Made global. All users updated.
15463 * efiemu/symbols.c (relocated_handle): New variable.
15464 (grub_efiemu_free_syms): Free relocated_handle.
15465 (grub_efiemu_alloc_syms): Allocate relocated_handle.
15466 (grub_efiemu_write_sym_markers): New function.
15467 (grub_efiemu_set_virtual_address_map): Likewise.
15468
15469 Newer XNU parameters.
15470
15471 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
15472 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
15473 (grub_xnu_fill_devicetree): New prototype.
15474 (grub_xnu_heap_real_start): New variable.
15475 * loader/xnu.c (get_name_ptr): New function.
15476 (grub_xnu_load_driver): Fill namelen and name.
15477
15478 64-bit xnu support.
15479
15480 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
15481 and 'loader/macho64.c'.
15482 * conf/i386-pc.rmk: Likewise.
15483 * conf/x86_64-efi.rmk: Likewise.
15484 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
15485 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
15486 * include/grub/macho.h (grub_macho_segment64): New structure.
15487 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
15488 (grub_macho_size32): ... to this.
15489 (grub_macho32_get_entry_point): Renamed from ...
15490 (grub_macho_get_entry_point32): ... to this.
15491 (grub_macho_contains_macho64): New prototype.
15492 (grub_macho_size64): Likewise.
15493 (grub_macho_get_entry_point64): Likewise.
15494 (grub_macho32_load): Renamed from ...
15495 (grub_macho_load32): ... to this.
15496 (grub_macho32_filesize): Renamed from ...
15497 (grub_macho_filesize32): ... to this.
15498 (grub_macho32_readfile): Renamed from ...
15499 (grub_macho_readfile32): ... to this.
15500 (grub_macho_filesize64): New prototype.
15501 (grub_macho_readfile64): Likewise.
15502 (grub_macho_parse32): Likewise.
15503 (grub_macho_parse64): Likewise.
15504 * loader/macho.c: Split into ...
15505 * loader/machoXX.c: ... and this. Replace 32 with XX.
15506 * loader/macho32.c: New file.
15507 * loader/macho64.c: Likewise.
15508 * loader/xnu.c (grub_xnu_is_64bit): New variable.
15509 (grub_cmd_xnu_kernel): Make 32-bit only.
15510 (grub_cmd_xnu_kernel64): New function.
15511 (grub_xnu_load_driver): Support Mach-O 64.
15512 (grub_cmd_xnu_mkext): Likewise.
15513 * util/grub.d/30_os-prober.in (osx_entry): New function.
15514 Generate entries for 64-bit boot too.
15515
15516 Eliminate ad-hoc tree format in XNU and EfiEmu.
15517
15518 * efiemu/main.c (grub_efiemu_prepare): Update comment.
15519 * efiemu/pnvram.c: Rewritten to use environment variables.
15520 All users updated.
15521
15522 Inline utf16_to_utf8.
15523
15524 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
15525 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
15526 All users updated.
15527 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
15528
15529 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
15530 * commands/usbtest.c (grub_usb_get_string): ... move here.
15531 (usb_print_str): Fix error handling.
15532 * include/grub/usb.h (grub_usb_get_string): Remove.
15533
15534 UTF-8 to UTF-16 transformation.
15535
15536 * conf/common.rmk (pkglib_MODULES): Add charset.mod
15537 (charset_mod_SOURCES): New variable.
15538 (charset_mod_CFLAGS): Likewise.
15539 (charset_mod_LDFLAGS): Likewise.
15540 * include/grub/utf.h: New file.
15541 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
15542
15543 Support for device properties.
15544
15545 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
15546 (grub_xnu_devprop_device_header): Likewise.
15547 (grub_xnu_devprop_device_descriptor): Likewise.
15548 (grub_xnu_devprop_add_device): New prototype.
15549 (grub_xnu_devprop_remove_device): Likewise.
15550 (grub_xnu_devprop_remove_property): Likewise.
15551 (grub_xnu_devprop_add_property_utf8): Likewise.
15552 (grub_xnu_devprop_add_property_utf16): Likewise.
15553 (grub_cpu_xnu_init): Likewise.
15554 (grub_cpu_xnu_fini): Likewise.
15555 (grub_cpu_xnu_unload): Likewise.
15556 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
15557 (property_descriptor): Likewise.
15558 (devices): New variable.
15559 (grub_xnu_devprop_remove_property): New function.
15560 (grub_xnu_devprop_add_device): Likewise.
15561 (grub_xnu_devprop_remove_device): Likewise.
15562 (grub_xnu_devprop_add_property): Likewise.
15563 (grub_xnu_devprop_add_property_utf8): Likewise.
15564 (grub_xnu_devprop_add_property_utf16): Likewise.
15565 (hextoval): Likewise.
15566 (grub_cpu_xnu_fill_devprop): Likewise.
15567 (grub_cmd_devprop_load): Likewise.
15568 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
15569 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
15570 (cmd_devprop_load): New variable.
15571 (grub_cpu_xnu_init): New function.
15572 (grub_cpu_xnu_fini): Likewise.
15573 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
15574 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
15575 (grub_cmd_xnu_devtree): Likewise.
15576 (hextoval): New function.
15577 (unescape): Likewise.
15578 (grub_xnu_fill_devicetree): Likewise.
15579
15580 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
15581 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
15582
15583 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15584
15585 Workaround for broken ATI VBE.
15586
15587 * video/i386/pc/vbe.c (last_set_mode): New variable.
15588 (grub_vbe_set_video_mode): Set 'last_set_mode'.
15589 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
15590 (grub_video_vbe_setup): Don't check for reserved flag.
15591
15592 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
15593
15594 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
15595 the `find' command.
15596
15597 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 UUID support for HFS.
15600
15601 * fs/hfs.c (grub_hfs_uuid): New function.
15602 (grub_hfs_fs): New value .uuid.
15603 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
15604
15605 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
15606
15607 Fix a segfault with parsing unknown long options.
15608
15609 * util/grub-mkrelpath.c (options): Zero terminate it.
15610
15611 2009-12-13 Carles Pina i Estany <carles@pina.cat>
15612
15613 * include/grub/misc.h (grub_puts): New declaration.
15614 (grub_puts_): Likewise.
15615 * kern/misc.c (grub_puts): New definition.
15616 (grub_puts_): Likewise.
15617
15618 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15619
15620 * util/grub-probe.c (probe): Improve error message.
15621
15622 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15623
15624 * loader/i386/multiboot_elfxx.c
15625 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
15626 initialization.
15627
15628 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15629
15630 Relocator framework
15631
15632 * loader/i386/xnu_helper.S: Removed. All users updated.
15633 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
15634 (relocator_mod_SOURCES): New variable.
15635 (relocator_mod_CFLAGS): Likewise.
15636 (relocator_mod_LDFLAGS): Likewise.
15637 (relocator_mod_ASFLAGS): Likewise.
15638 * conf/x86_64.rmk: Likewise.
15639 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
15640 (grub_multiboot_payload_entry_offset): Likewise.
15641 (grub_multiboot_forward_relocator): Likewise.
15642 (grub_multiboot_forward_relocator_end): Likewise.
15643 (grub_multiboot_backward_relocator): Likewise.
15644 (grub_multiboot_backward_relocator_end): Likewise.
15645 (grub_multiboot_payload_eip): New variable.
15646 (grub_multiboot_payload_orig): Likewise.
15647 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
15648 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
15649 * include/grub/i386/memory.h
15650 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
15651 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
15652 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
15653 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
15654 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
15655 * include/grub/i386/relocator.h: New file.
15656 * include/grub/x86_64/relocator.h: Likewise.
15657 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
15658 (XNU_RELOCATOR): New macro.
15659 (grub_xnu_launcher_start): Remove.
15660 (grub_xnu_launcher_end): Likewise.
15661 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
15662 (grub_xnu_heap_real_start): Remove.
15663 (grub_xnu_heap_start): Change to void *. All users updated.
15664 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
15665 * lib/i386/relocator.c: New file.
15666 * lib/i386/relocator_asm.S: Likewise.
15667 * lib/i386/relocator_backward.S: Likewise.
15668 * lib/mips/relocator.c: Likewise.
15669 * lib/mips/relocator_asm.S: Likewise.
15670 * lib/relocator.c: Likewise.
15671 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
15672 (entry): Removed.
15673 (playground): Likewise.
15674 (grub_multiboot_payload_orig): New variable.
15675 (grub_multiboot_payload_dest): Likewise.
15676 (grub_multiboot_payload_size): Likewise.
15677 (grub_multiboot_payload_eip): Likewise.
15678 (grub_multiboot_payload_esp): Likewise.
15679 (grub_multiboot_boot): Use grub_relocator32_boot.
15680 (grub_multiboot_unload): Free relocators.
15681 (grub_multiboot): Setup stack. Use relocators.
15682 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
15683 (grub_multiboot_load_elfXX): Use relocators.
15684 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
15685 (grub_multiboot_payload_size): Likewise.
15686 (grub_multiboot_payload_dest): Likewise.
15687 (grub_multiboot_payload_entry_offset): Likewise.
15688 (grub_multiboot_forward_relocator): Likewise.
15689 (grub_multiboot_backward_relocator): Likewise.
15690 (grub_multiboot_real_boot): Likewise.
15691 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
15692 (grub_xnu_entry_point): Likewise.
15693 (grub_xnu_arg1): Likewise.
15694 (grub_xnu_stack): Likewise.
15695 (grub_xnu_launch): Removed.
15696 (grub_xnu_boot_resume): New function.
15697 (grub_xnu_boot): Use relocators.
15698 * loader/i386/xnu_helper.S: Removed.
15699 * loader/xnu.c (grub_xnu_heap_start): New variable.
15700 (grub_xnu_heap_size): Likewise.
15701 (grub_xnu_heap_malloc): Use relocators.
15702 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
15703
15704 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15705
15706 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
15707 anything.
15708
15709 2009-12-13 Carles Pina i Estany <carles@pina.cat>
15710
15711 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
15712 GRUB_ERR_NONE before calling grub_env_set.
15713
15714 2009-12-12 Robert Millan <rmh@aybabtu.com>
15715
15716 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
15717 * genmk.rb (video): New variable.
15718 (CLEANFILES, VIDEOFILES): Add #{video}.
15719 (#{video}): New target rule.
15720 * genvideolist.sh: New file.
15721 * Makefile.in (pkglib_DATA): Add video.lst.
15722 (video.lst): New target rule.
15723 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
15724 `video.lst'.
15725 * util/grub.d/30_os-prober.in: Replace `vbe' with
15726 ${GRUB_VIDEO_BACKEND}.
15727
15728 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
15729
15730 * THANKS: Add David Miller.
15731
15732 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 libpciaccess support.
15735
15736 * Makefile.in (LIBPCIACCESS): New variable.
15737 (enable_grub_emu_pci): Likewise.
15738 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
15739 util/pci.c and commands/lspci.c.
15740 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
15741 * configure.ac (grub-emu-pci): New option.
15742 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
15743 (grub_pci_device_unmap_range): Likewise.
15744 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
15745 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
15746 (grub_pci_address_t) [!GRUB_UTIL]: New type.
15747 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
15748 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
15749 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
15750 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
15751 * include/grub/pciutils.h: New file.
15752 * util/pci.c: Likewise.
15753
15754 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
15755
15756 * util/misc.c: Don't include <errno.h> twice.
15757
15758 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
15759
15760 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
15761 name in an error message.
15762 (grub_biosdisk_rw): Likewise.
15763
15764 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 Eliminate NTFS 4Gib barrier.
15767
15768 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
15769 (read_run_data): Likewise.
15770 (grub_ntfs_read_run_list): Likewise.
15771 (grub_ntfs_read_block): Likewise.
15772 (grub_ntfs_iterate_dir): Likewise.
15773 (read_mft): Likewise.
15774 (read_data): Likewise.
15775 Use COM_LOG_LEN.
15776 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
15777 to avoid 64-bit division
15778 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
15779 (grub_ntfs_rlst): Use grub_disk_addr_t.
15780
15781 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 Eliminate grub-fstest 4Gib barrier.
15784
15785 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
15786 (read_file): Fix error reporting.
15787
15788 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15789
15790 Eliminate hexdump 4Gib barrier.
15791
15792 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
15793 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
15794
15795 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15796
15797 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
15798 Fixes amarsh bug.
15799
15800 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
15801
15802 Remove miscellaneous files in distclean target.
15803
15804 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
15805
15806 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
15807
15808 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
15809 if they're already set. This resolves the conflict between my
15810 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
15811 fixing the --grub-probe option again.
15812 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
15813 change on 2009-10-06, so that we now once again source
15814 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
15815
15816 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
15817
15818 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
15819 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
15820 `util/devicemap.c'.
15821
15822 2009-12-08 Carles Pina i Estany <carles@pina.cat>
15823
15824 * include/grub/misc.h (grub_printf_): New declaration.
15825 * kern/misc.c (grub_printf_): New definition.
15826 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
15827 instead of `grub_printf' and `_'.
15828 * normal/menu_entry.c (store_completion): Likewise.
15829 (run): Likewise.
15830 (grub_menu_entry_run): Likewise.
15831 * normal/menu_text.c (grub_wait_after_message): Likewise.
15832 (notify_booting): Likewise.
15833 (notify_fallback): Likewise.
15834 (notify_execution_failure): Likewise.
15835
15836 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
15837
15838 * configure.ac: Check for vasprintf.
15839 * util/misc.c (asprintf): Move allocation from here ...
15840 (vasprintf): ... to here. New function.
15841 (xasprintf): New function.
15842 * include/grub/util/misc.h (vasprintf, xasprintf): Add
15843 prototypes.
15844 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15845 * util/grub-mkfont.c (write_font): Likewise.
15846 * util/grub-probe.c (probe): Likewise.
15847 * util/hostdisk.c (make_device_name): Likewise.
15848
15849 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
15850
15851 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
15852 anything even prefixed with 'cdrom' as a cdrom.
15853
15854 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
15855
15856 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
15857 mount points.
15858
15859 2009-12-05 Carles Pina i Estany <carles@pina.cat>
15860
15861 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
15862 grub_gettext_msg_list.
15863 (grub_gettext_gettranslation_from_position): Return const char *
15864 and not char *.
15865 (grub_gettext_translate): Add the translated strings into a list,
15866 returns from the list if existing there.
15867 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
15868 (grub_gettext_delete_list): Delete the list.
15869 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
15870 lang environment variable is changed.
15871 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
15872
15873 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 Rename kernel.mod to kernel.img.
15876
15877 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
15878 (kernel_mod_EXPORTS): Rename to ...
15879 (kernel_img_EXPORTS): ... this.
15880 (kernel_mod_SOURCES): Rename to ...
15881 (kernel_img_SOURCES): ... this.
15882 (kernel_mod_HEADERS): Rename to ...
15883 (kernel_img_HEADERS): ... this. All users updated.
15884 (kernel_mod_CFLAGS): Rename to ...
15885 (kernel_img_CFLAGS): ... this.
15886 (kernel_mod_ASFLAGS): Rename to ...
15887 (kernel_img_ASFLAGS): ... this.
15888 (kernel_mod_LDFLAGS): Rename to ...
15889 (kernel_img_LDFLAGS): ... this.
15890 * conf/x86_64-efi.rmk: Likewise.
15891 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
15892 (read_kernel_image): ... this. All users updated.
15893 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
15894
15895 2009-12-05 Carles Pina i Estany <carles@pina.cat>
15896
15897 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
15898 (print_spaces): New function.
15899 (grub_print_ucs4): New function.
15900 (getstringwidth): New function.
15901 (print_message_indented): New function.
15902 (print_message): Gettexttize strings using print_message_indented.
15903 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
15904 width.
15905 (get_entry_number): Gettextize and uses dynamic terminal width.
15906 (notify_booting, notify_fallback, notify_execution_failure):
15907 Gettextize.
15908 * normal/menu_entry.c (store_completion): Cleanup the gettextized
15909 string.
15910 (run): Likewise.
15911 (grub_menu_entry_run): Likewise.
15912 * PO/POTFILES: Add normal/menu_entry.c.
15913
15914 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
15915
15916 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
15917
15918 2009-12-05 Carles Pina i Estany <carles@pina.cat>
15919
15920 * util/grub-install.in: Install gettext .mo files.
15921 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
15922
15923 2009-12-05 Carles Pina i Estany <carles@pina.cat>
15924
15925 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
15926 grub_dprintf.
15927
15928 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
15929
15930 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
15931 non-firmware-dependant one in realmode.S takes precedence.
15932
15933 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
15934
15935 * commands/halt.c: Replace misc arch-specific headers with
15936 `<grub/misc.h>'.
15937 * commands/reboot.c: Likewise.
15938 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
15939 `<grub/misc.h>'.
15940 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
15941 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
15942 (kernel_img_SOURCES): ... to here.
15943
15944 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
15945 * include/grub/i386/pc/init.h: Likewise.
15946 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15947 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15948
15949 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
15950
15951 * include/grub/i386/halt.h: Remove.
15952 * include/grub/i386/reboot.h: Likewise.
15953
15954 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
15955
15956 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
15957
15958 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
15959 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
15960 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
15961 "progname.h"
15962 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
15963 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15964 (usage): Add missing comma in printf.
15965
15966 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
15967
15968 Use the same reboot approach on i386 coreboot and qemu as we do on
15969 BIOS.
15970
15971 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
15972 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
15973 * kern/i386/reboot.c: Remove.
15974 * include/grub/i386/reboot.h (grub_reboot): Export function.
15975 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
15976 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
15977 0xf000:0xfff0 instead of 0xffff:0x0000.
15978 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
15979 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
15980
15981 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
15982
15983 Fix $srcdir != $objdir build.
15984
15985 * Makefile.in (po/%.po): Rewrite as ...
15986 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
15987
15988 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
15989
15990 Fix GNU/Hurd grub-install crash.
15991 * util/grub-probe.c (probe): Try to access `path' only when it is not
15992 NULL.
15993
15994 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 Correct module naming.
15997
15998 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
15999 (GRUB_MOD_INIT(efi_uga)): ... to this
16000 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
16001 (GRUB_MOD_FINI(efi_uga)): ... to this
16002 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
16003 (GRUB_MOD_INIT(efi_gop)): ... to this
16004 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
16005 (GRUB_MOD_FINI(efi_gop)): ... to this
16006
16007 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
16008
16009 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
16010 translatable.
16011 (usage): Translate `arg' strings using gettext().
16012 Thanks to Jordi Mallach for the suggestion.
16013
16014 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16015
16016 GOP support. Based on patch from Bean
16017 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16018
16019 * video/efi_gop.c: New file.
16020 * include/grub/efi/graphics_output.h: Likewise.
16021 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
16022 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16023 variables.
16024 * conf/x86_64-efi.rmk: Likewise.
16025
16026 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16027
16028 Rename efi_fb to efi_uga.
16029
16030 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16031 'efi_uga.mod'.
16032 (efi_fb_mod_SOURCES): Rename this ...
16033 (efi_uga_mod_SOURCES): ... to this.
16034 (efi_fb_mod_CFLAGS): Rename this ...
16035 (efi_uga_mod_CFLAGS): ... to this.
16036 (efi_fb_mod_LDFLAGS): Rename this ...
16037 (efi_uga_mod_LDFLAGS): ... to this.
16038 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16039 'efi_uga.mod'.
16040 (efi_fb_mod_SOURCES): Rename this ...
16041 (efi_uga_mod_SOURCES): ... to this.
16042 (efi_fb_mod_CFLAGS): Rename this ...
16043 (efi_uga_mod_CFLAGS): ... to this.
16044 (efi_fb_mod_LDFLAGS): Rename this ...
16045 (efi_uga_mod_LDFLAGS): ... to this.
16046 * video/efi_fb.c: Move this ...
16047 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
16048
16049 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16050
16051 * po/README: New file. Explain our PO file workflow.
16052
16053 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16054
16055 * po/ChangeLog: Remove. Move relevant entries back to ...
16056 * ChangeLog: ... here.
16057 * po/ca.po: Remove (now handled by TLP).
16058 * po/id.po: Likewise.
16059 * po/zh_CN.po: Likewise.
16060 * Makefile.in (LINGUAS): Initialize in a way that supports
16061 empty set.
16062
16063 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16064
16065 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
16066 reliing on po/LINGUAS.
16067 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
16068 (po/%.po): ... this.
16069
16070 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16071
16072 * util/i386/efi/grub-mkimage.c: Include "progname.h".
16073 (main): Use `program_name' instead of nonexistent `progname'.
16074
16075 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16076
16077 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16078 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
16079
16080 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16081
16082 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
16083 commit.
16084 * conf/i386-efi.rmk: Likewise.
16085 * conf/i386-ieee1275.rmk: Likewise.
16086 * conf/powerpc-ieee1275.rmk: Likewise.
16087 * conf/sparc64-ieee1275.rmk: Likewise.
16088 * conf/x86_64-efi.rmk: Likewise.
16089
16090 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16091
16092 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
16093
16094 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16095
16096 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
16097
16098 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16099
16100 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
16101 (grub_mkdevicemap_SOURCES): New variable.
16102 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
16103 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
16104 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
16105 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
16106 (grub_mkdevicemap_SOURCES): Remove.
16107 * conf/i386-efi.rmk: Likewise.
16108 * conf/i386-ieee1275.rmk: Likewise.
16109 * conf/i386-pc.rmk: Likewise.
16110 * conf/powerpc-ieee1275.rmk: Likewise.
16111 * conf/sparc64-ieee1275.rmk: Likewise.
16112 * conf/x86_64-efi.rmk: Likewise.
16113 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
16114 (usage): Fix strings to use `program_name'.
16115 (main): Initialize gettext.
16116 * util/grub-editenv.c: Likewise.
16117 * util/grub-emu.c: Likewise.
16118 * util/grub-fstest.c: Likewise.
16119 * util/grub-mkdevicemap.c: Likewise.
16120 * util/grub-mkfont.c: Likewise.
16121 * util/grub-mkrelpath.c: Likewise.
16122 * util/grub-pe2elf.c: Likewise.
16123 * util/grub-probe.c: Likewise.
16124 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16125 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
16126 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16127
16128 * util/misc.c: Include `"progname.h"'.
16129 (progname): Remove variable.
16130 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
16131
16132 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
16133
16134 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
16135 printf and print a newline after the menuentry header line.
16136 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16137
16138 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
16139
16140 autoconf >= 2.60 support $(localedir).
16141
16142 * INSTALL: Note that autoconf 2.60 is required.
16143 * configure.ac (AC_PREREQ): Bump to 2.60.
16144 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
16145 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16146
16147 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
16148
16149 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
16150 aclocal is run.
16151
16152 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16153
16154 * normal/main.c (grub_normal_read_line): Fix off-by-one
16155 buffer overflow.
16156
16157 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16158
16159 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
16160 "parser.grub" in grub_command_execute() call.
16161
16162 2009-11-24 Carles Pina i Estany <carles@pina.cat>
16163
16164 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
16165 * conf/i386-efi.rmk: Likewise.
16166 * conf/i386-ieee1275.rmk: Likewise.
16167 * conf/i386-pc.rmk: Likewise.
16168 * conf/powerpc-ieee1275.rmk: Likewise.
16169 * conf/sparc64-ieee1275.rmk: Likewise.
16170 * conf/x86_64-efi.rmk: Likewise.
16171 * gettext/gettex.c: Include <grub/i18n.h>.
16172 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
16173 here ...
16174 * include/grub/i18n.h: ... to here
16175 * include/grub/i18n.h: ... to here.
16176 * kern/misc.c: Include <grub/i18n.h>
16177 (grub_gettext_dummy): Move above user.
16178
16179 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16180
16181 * util/Makefile.in (install-local): Convert a `for' into a normal
16182 shell expansion.
16183
16184 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
16185
16186 * autogen.sh: Add automake call.
16187 * config.guess: Remove.
16188 * config.sub: Likewise.
16189 * install-sh: Likewise.
16190
16191 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16192
16193 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
16194
16195 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16196
16197 * util/Makefile.in (install-local): Convert a make `$(foreach)'
16198 function to a normal shell `for'.
16199
16200 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16201
16202 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16203
16204 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16205
16206 * util/grub-mkrelpath.c: New file.
16207 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
16208 (grub_mkrelpath_SOURCES): New variable.
16209 * include/grub/util/misc.h: New function prototype.
16210 * util/misc.c (make_system_path_relative_to_its_root): New function.
16211
16212 * util/grub-mkconfig_lib.in (bindir): New variable.
16213 (grub_mkrelpath): Likewise.
16214 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
16215
16216 * util/probe.c (probe): Make the file path relative to its root.
16217 Change a info message to use the GRUB path. Enable again the
16218 check if we can read the file with GRUB facilities.
16219
16220 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
16221 to its root.
16222
16223 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16224
16225 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
16226 platform.
16227
16228 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16229
16230 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
16231 strncmp().
16232
16233 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16234
16235 * util/getroot.c (grub_util_is_dmraid): New function.
16236 (grub_util_get_dev_abstraction): Treat dmraid and multipath
16237 devices as normal ones, not as LVM.
16238
16239 2009-11-23 Carles Pina i Estany <carles@pina.cat>
16240
16241 * conf/common.rmk: Add grub-gettext_lib target and updates
16242 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
16243 LDFLAGS.
16244 * gettext/gettext.c: New file. (Reads mo files).
16245 * include/grub/file.h (grub_file_pread): New prototype.
16246 * include/grub/i18n.h (_): New prototype.
16247 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
16248 prototypes.
16249 * kern/misc.c (grub_gettext_dummy): New function.
16250 * normal/menu_text.c: Include <grub/i18n.h>.
16251 * normal/menu_text.c (print_timeout): Gettexttize string.
16252 * normal/menu_text.c (print_message): Gettexttize string.
16253 * po/POTFILES: Add `normal/menu_text.c'.
16254 * po/ca.po: Add new translations.
16255 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
16256 gettext module and defines locale_dir and lang in grub.cfg.
16257 * NEWS: Add gettext support.
16258
16259 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16260
16261 * util/hostdisk.c: Include `<grub/i18n.h>'.
16262 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
16263 (make_device_name): Rewrite using asprintf.
16264 (convert_system_partition_to_system_disk): Replace 0 with NULL.
16265 (find_system_device): If a device is not found, generate one just
16266 by reusing the OS path name.
16267 (read_device_map): Make it permissible for device.map not to exist.
16268
16269 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16270
16271 * script/sh/execute.c: Move from here ...
16272 * script/execute.c: ... to here. Update all users.
16273 * script/sh/function.c: Move from here ...
16274 * script/function.c: ... to here. Update all users.
16275 * script/sh/lexer.c: Move from here ...
16276 * script/lexer.c: ... to here. Update all users.
16277 * script/sh/main.c: Move from here ...
16278 * script/main.c: ... to here. Update all users.
16279 * script/sh/parser.y: Move from here ...
16280 * script/parser.y: ... to here. Update all users.
16281 * script/sh/script.c: Move from here ...
16282 * script/script.c: ... to here. Update all users.
16283
16284 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16285
16286 * configure.ac: Detect all `emu' platforms. Define
16287 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
16288 --enable-grub-emu logic. Disable include/grub/machine
16289 symlink on `emu' platforms.
16290
16291 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
16292 * gensymlist.sh.in: Likewise.
16293
16294 * include/grub/i386/coreboot/machine.h: Remove file.
16295 * include/grub/i386/efi/machine.h: Likewise.
16296 * include/grub/i386/ieee1275/machine.h: Likewise.
16297 * include/grub/i386/pc/machine.h: Likewise.
16298 * include/grub/i386/qemu/machine.h: Likewise.
16299 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16300 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16301 * include/grub/x86_64/efi/machine.h: Likewise.
16302
16303 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
16304 * commands/halt.c: Likewise.
16305 * commands/reboot.c: Likewise.
16306 * include/grub/autoefi.h: Likewise.
16307 * include/grub/i386/at_keyboard.h: Likewise.
16308 * include/grub/i386/kernel.h: Likewise.
16309 * include/grub/i386/loader.h: Likewise.
16310 * include/grub/i386/pc/memory.h: Likewise.
16311 * kern/dl.c: Likewise.
16312 * kern/i386/coreboot/init.c: Likewise.
16313 * loader/i386/bsd.c: Likewise.
16314 * loader/i386/linux.c: Likewise.
16315 * loader/multiboot_loader.c: Likewise.
16316 * term/i386/pc/serial.c: Likewise.
16317 * term/usb_keyboard.c: Likewise.
16318
16319 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
16320 `<grub/machine/machine.h>'
16321 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
16322 * util/misc.c: Remove `<grub/machine/machine.h>' and
16323 `<grub/machine/time.h>'.
16324
16325 * Makefile.in (enable_grub_emu): Remove variable.
16326 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
16327
16328 * conf/any-emu.rmk: New file.
16329 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
16330 (grub_emu_init.c): Move from here ...
16331 * conf/any-emu.rmk: ... to here.
16332
16333 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
16334 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
16335 * conf/any-emu.rmk: ... to here.
16336
16337 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16338
16339 * include/grub/parser.h (grub_parser_register): Document need
16340 of `name' parameter.
16341 * normal/main.c (grub_normal_read_line): Simplify prompt string.
16342 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
16343 "sh" to "grub".
16344
16345 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16346
16347 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
16348 `$(XGETTEXT)'.
16349 * include/grub/i18n.h (N_): New macro.
16350 * util/mkisofs/mkisofs.h: Likewise.
16351 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
16352 around N_().
16353 (usage): Use gettext() to translate help strings when printing them.
16354
16355 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16356
16357 Based on patch from Bean
16358 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16359
16360 * video/efi_fb.c: New file.
16361 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
16362 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16363 variables.
16364 * conf/x86_64-efi.rmk: Likewise.
16365
16366 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
16367
16368 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
16369 * util/i386/pc/grub-setup.c: Likewise.
16370
16371 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16372
16373 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
16374 <hurd/fs.h>
16375 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
16376 file_get_storage_info to implement grub_guess_root_device.
16377
16378 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16379
16380 * Makefile.in (target): Use make's builtin $(shell) function
16381 instead of calling directly $(SHELL) to create the locale directories,
16382 inside the $(foreach) function.
16383
16384 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16385
16386 * util/grub-mkrescue.in: Print an error and usage if output option
16387 has not been given.
16388
16389 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16390
16391 Patch from Loïc Minier <loic.minier@ubuntu.com>.
16392 * util/grub.d/30_os-prober.in: Cope with Linux entries where
16393 root and /boot are on different devices.
16394
16395 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16396
16397 Fix build for srcdir != objdir.
16398
16399 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
16400 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
16401 $(srcdir).
16402 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
16403 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
16404 reference for input.
16405
16406 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16407
16408 * util/grub-mkrescue.in: Use source directory direcly (without copiing
16409 or hardlinking it). Remove -J option, Joliet is not compatible with
16410 multiple source directories.
16411
16412 2009-11-21 Carles Pina i Estany <carles@pina.cat>
16413 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16414
16415 * util/grub-mkrescue.in: Recognize `--override-directory' option.
16416 (process_input_dir): New function. Process an arbitrary input
16417 directory.
16418 Misc adjustments to support both "override mode" and system-wide mode.
16419
16420 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
16421
16422 * configure.ac (UNIFONT_BDF): Rename to ...
16423 (FONT_SOURCE): ... this. Update all users.
16424
16425 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
16426
16427 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
16428 to the list of unifont files to look for.
16429
16430 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16431
16432 Patch from Joe Auricchio <jauricchio@gmail.com>
16433 * commands/minicmd.c (grub_mini_cmd_clear): New function.
16434 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
16435 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
16436
16437 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
16438
16439 * Makefile.in (install-local): Add a missing backslash.
16440
16441 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
16442
16443 * include/grub/x86_64/io.h: New file.
16444
16445 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16446
16447 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
16448 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
16449 Include `"progname.h"'.
16450 (main): Initialize gettext.
16451 * util/i386/pc/grub-setup.c: Gettexttize.
16452 * util/i386/pc/grub-mkimage.c: Likewise.
16453
16454 * Makefile.in (po/*.po): Redefine as ...
16455 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
16456
16457 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
16458
16459 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16460
16461 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
16462 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
16463 (program_name): Remove.
16464 (main): Initialize gettext support.
16465 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
16466 Include `<libintl.h>'.
16467 (_): New macro.
16468
16469 * util/mkisofs/eltorito.c: Gettexttize.
16470 * util/mkisofs/joliet.c: Likewise.
16471 * util/mkisofs/mkisofs.c: Likewise.
16472 * util/mkisofs/multi.c: Likewise.
16473 * util/mkisofs/rock.c: Likewise.
16474 * util/mkisofs/tree.c: Likewise.
16475 * util/mkisofs/write.c: Likewise.
16476
16477 * po/POTFILES: Update with new files.
16478
16479 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16480
16481 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
16482 * util/mkisofs/iso9660.h: Likewise.
16483 * util/mkisofs/joliet.c: Likewise.
16484 * util/mkisofs/mkisofs.c: Likewise.
16485 * util/mkisofs/mkisofs.h: Likewise.
16486 * util/mkisofs/rock.c: Likewise.
16487 * util/mkisofs/tree.c: Likewise.
16488 * util/mkisofs/write.c: Likewise.
16489
16490 * util/mkisofs/eltorito.c (rcsid): Remove.
16491 * util/mkisofs/hash.c: Likewise.
16492 * util/mkisofs/joliet.c: Likewise.
16493 * util/mkisofs/name.c: Likewise.
16494 * util/mkisofs/rock.c: Likewise.
16495 * util/mkisofs/tree.c: Likewise.
16496 * util/mkisofs/write.c: Likewise.
16497
16498 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16499
16500 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
16501 instead of static allocation.
16502 * util/mkisofs/match.h: Likewise.
16503
16504 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16505
16506 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
16507 and `util/grub.d/10_linux.in'.
16508 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
16509 translatable Shell files.
16510
16511 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16512
16513 * Makefile.in ($(srcdir)/aclocal.m4): New target.
16514
16515 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16516
16517 * INSTALL: Document Automake is needed for bootstrap.
16518 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
16519 * util/grub.d/10_kfreebsd.in (bindir): New variable.
16520 Add gettext initialization.
16521 (kfreebsd_entry): Make menuentry output translatable.
16522
16523 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16524
16525 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
16526 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
16527 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
16528 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
16529 (LINGUAS): Auto-generate using `po/LINGUAS'.
16530 * po/LINGUAS: New file.
16531
16532 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16533
16534 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
16535 other things).
16536 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
16537 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
16538 bindtextdomain() calls for gettext initialization.
16539
16540 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16541
16542 * gnulib/progname.c: New file (imported from Gnulib).
16543 * gnulib/progname.h: Likewise.
16544 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16545 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
16546 (usage): Replace `progname' with `program_name'.
16547 (main): Use set_program_name() for program name initialization.
16548
16549 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16550
16551 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
16552 from here ...
16553 * Makefile.in (CPPFLAGS): ... to here.
16554
16555 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16556
16557 * aclocal.m4: Move from here ...
16558 * acinclude.m4: ... to here.
16559 * autogen.sh: Add call to `aclocal'.
16560 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
16561
16562 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16563
16564 * Makefile.in (CLEANFILES): Add `po/*.mo'.
16565 (LINGUAS): New variable.
16566 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
16567 (install-local): Install MO files.
16568 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
16569 * include/grub/i18n.h: New file.
16570 * po/POTFILES: New file.
16571 * po/ca.po: New file.
16572 * util/grub.d/10_linux.in (bindir): New variable.
16573 Add gettext initialization.
16574 (linux_entry): Make menuentry output translatable.
16575 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
16576 (usage): Make --help output translatable.
16577 (main): Initialize gettext.
16578
16579 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16580
16581 * import_gcry.py: New file (written by Vladimir with minor
16582 adjustments).
16583 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
16584 ciphers.
16585 * INSTALL: Document that Python is required for bootstrap.
16586
16587 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16588
16589 Import ciphers from libgcrypt 1.4.4.
16590
16591 * lib/libgcrypt/cipher/ChangeLog
16592 * lib/libgcrypt/cipher/ac.c
16593 * lib/libgcrypt/cipher/arcfour.c
16594 * lib/libgcrypt/cipher/bithelp.h
16595 * lib/libgcrypt/cipher/blowfish.c
16596 * lib/libgcrypt/cipher/camellia-glue.c
16597 * lib/libgcrypt/cipher/camellia.c
16598 * lib/libgcrypt/cipher/camellia.h
16599 * lib/libgcrypt/cipher/cast5.c
16600 * lib/libgcrypt/cipher/cipher.c
16601 * lib/libgcrypt/cipher/crc.c
16602 * lib/libgcrypt/cipher/des.c
16603 * lib/libgcrypt/cipher/dsa.c
16604 * lib/libgcrypt/cipher/ecc.c
16605 * lib/libgcrypt/cipher/elgamal.c
16606 * lib/libgcrypt/cipher/hash-common.c
16607 * lib/libgcrypt/cipher/hash-common.h
16608 * lib/libgcrypt/cipher/hmac-tests.c
16609 * lib/libgcrypt/cipher/md.c
16610 * lib/libgcrypt/cipher/md4.c
16611 * lib/libgcrypt/cipher/md5.c
16612 * lib/libgcrypt/cipher/primegen.c
16613 * lib/libgcrypt/cipher/pubkey.c
16614 * lib/libgcrypt/cipher/rfc2268.c
16615 * lib/libgcrypt/cipher/rijndael-tables.h
16616 * lib/libgcrypt/cipher/rijndael.c
16617 * lib/libgcrypt/cipher/rmd.h
16618 * lib/libgcrypt/cipher/rmd160.c
16619 * lib/libgcrypt/cipher/rsa.c
16620 * lib/libgcrypt/cipher/seed.c
16621 * lib/libgcrypt/cipher/serpent.c
16622 * lib/libgcrypt/cipher/sha1.c
16623 * lib/libgcrypt/cipher/sha256.c
16624 * lib/libgcrypt/cipher/sha512.c
16625 * lib/libgcrypt/cipher/tiger.c
16626 * lib/libgcrypt/cipher/twofish.c
16627 * lib/libgcrypt/cipher/whirlpool.c
16628
16629 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16630
16631 Fix build for systems without error().
16632
16633 * gnulib/error.c: New file (imported from Gnulib).
16634 * gnulib/error.h: Likewise.
16635 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
16636 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
16637 (this variable is now used by error()).
16638
16639 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
16640
16641 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
16642 instead of relying that char is signed.
16643
16644 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16645
16646 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
16647 blocksize different from specified.
16648 (grub_pxefs_read): Likewise.
16649
16650 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
16651
16652 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
16653
16654 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
16655 (grub_ata_readwrite): Likewise. Update 2 format strings.
16656 (grub_atapi_read): Likewise.
16657
16658 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
16659 * conf/i386.rmk (pkglib_MODULES): ... to here ...
16660 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
16661 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
16662 (ata_mod_LDFLAGS): Move from here ...
16663 * conf/i386.rmk: ... to here ...
16664 * conf/x86_64-efi.rmk: ... and here.
16665 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
16666 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
16667
16668 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16669
16670 Relicense multiboot.h, with RMS' blessing.
16671
16672 * include/multiboot.h: Change to X11 license.
16673
16674 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
16675
16676 Support --version in grub-mkisofs.
16677
16678 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
16679 (OPTION_VERSION): New macro.
16680 (ld_options): Recognize --version.
16681 (usage): Move `program_name' from here ...
16682 (program_name): ... to here. Add `static' qualifier.
16683 (main): Recognize `OPTION_VERSION'.
16684
16685 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
16686
16687 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
16688 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
16689
16690 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
16691
16692 Fix help2man generation for mkisofs.
16693
16694 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
16695 (usage): Send output to stdout (rather than stderr).
16696
16697 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
16698
16699 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
16700 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
16701 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
16702 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
16703 (bin_SCRIPTS): Add `grub-mkfloppy'.
16704 (grub_mkfloppy_SOURCES): New variable.
16705
16706 * util/grub-mkrescue.in: New file.
16707 * util/i386/pc/grub-mkfloppy.in: New file.
16708
16709 * util/i386/coreboot/grub-mkrescue.in: Remove.
16710 * util/i386/pc/grub-mkrescue.in: Remove.
16711
16712 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16713
16714 * include/grub/multiboot.h (struct grub_multiboot_header): Move
16715 from here ...
16716 * include/multiboot.h (struct multiboot_header): ... to here. Update
16717 all users.
16718 * include/grub/multiboot.h (struct grub_multiboot_info): Move
16719 from here ...
16720 * include/multiboot.h (struct multiboot_info): ... to here. Update
16721 all users.
16722 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
16723 from here ...
16724 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
16725 Update all users.
16726 * include/grub/multiboot.h (struct grub_mod_list): Move
16727 from here ...
16728 * include/multiboot.h (struct multiboot_mod_list): ... to here.
16729 Update all users.
16730
16731 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16732
16733 * include/multiboot2.h (multiboot_word): Rename from this ...
16734 (multiboot2_word): ... to this. Update all users.
16735 (multiboot_header): Rename from this ...
16736 (multiboot2_header): ... to this. Update all users.
16737 (multiboot_tag_header): Rename from this ...
16738 (multiboot2_tag_header): ... to this. Update all users.
16739 (multiboot_tag_start): Rename from this ...
16740 (multiboot2_tag_start): ... to this. Update all users.
16741 (multiboot_tag_name): Rename from this ...
16742 (multiboot2_tag_name): ... to this. Update all users.
16743 (multiboot_tag_module): Rename from this ...
16744 (multiboot2_tag_module): ... to this. Update all users.
16745 (multiboot_tag_memory): Rename from this ...
16746 (multiboot2_tag_memory): ... to this. Update all users.
16747 (multiboot_tag_unused): Rename from this ...
16748 (multiboot2_tag_unused): ... to this. Update all users.
16749 (multiboot_tag_end): Rename from this ...
16750 (multiboot2_tag_end): ... to this. Update all users.
16751
16752 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
16753
16754 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
16755 this platform we should support Multiboot1 first.
16756
16757 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
16758 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
16759 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
16760
16761 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
16762
16763 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
16764 of write calls (converting them to fwrite() if they aren't already).
16765 (get_torito_desc): Likewise.
16766 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
16767
16768 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
16769
16770 * util/i386/pc/grub-install.in: Move from here ...
16771 * util/grub-install.in: ... to here. Update all users.
16772
16773 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
16774
16775 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
16776
16777 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
16778
16779 Support for El Torito without floppy emulation.
16780
16781 * util/mkisofs/eltorito.c: Include `<errno.h>'.
16782 (init_boot_catalog): Improve error handling.
16783 (get_torito_desc): Don't use floppy emulation unless requested by
16784 user. Patch boot information table when requested via
16785 `-boot-info-table'.
16786 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
16787 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
16788 (use_boot_info_table): New variables.
16789 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
16790 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
16791 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
16792 `--eltorito-emul-floppy'.
16793 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
16794 and `OPTION_ELTORITO_EMUL_FLOPPY'.
16795 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
16796 (use_boot_info_table, get_731): New prototypes.
16797 * util/mkisofs/write.c (get_731): New function.
16798
16799 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
16800
16801 Fix the generation of the man page.
16802
16803 * util/pc/i386/grub-install.in: Source
16804 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
16805
16806 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
16807
16808 Large file support for grub-mkisofs.
16809
16810 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
16811 * util/mkisofs/mkisofs.c (next_extent, last_extent)
16812 (session_start): Upgrade type to `uint64_t'. Update all users.
16813 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
16814 (struct directory_entry): Upgrade type of `starting_block' and
16815 `size' to `uint64_t'. Update all users.
16816 (struct deferred): Remove unused structure.
16817 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
16818 Update all users.
16819 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
16820 file is larger than `UINT32_MAX'.
16821 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
16822 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
16823 return value.
16824 (struct deferred_write): Upgrade type of `extent' and `size' to
16825 `uint64_t'. Update all users.
16826 (last_extent_written): Upgrade type to `uint64_t'. Update all
16827 users.
16828 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
16829 Update all users. Upgrade type of `remain' to `int64_t' and
16830 `use' to `size_t'. Use error() to handle fread() errors.
16831 (write_files): Rely on write_one_file() rather than calling
16832 xfwrite() directly.
16833
16834 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
16835
16836 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
16837
16838 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16839
16840 * util/mkisofs/fnmatch.c: Remove.
16841 * util/mkisofs/getopt1.c: Likewise.
16842 * util/mkisofs/getopt.c: Likewise.
16843 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
16844 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
16845 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
16846 `gnulib/getopt1.c' and `gnulib/getopt.c'.
16847 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
16848
16849 * configure.ac: Detect `mingw32msvc' host_os.
16850 Check for lstat(), getuid() and getgid().
16851
16852 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
16853 instances of `u_char' with `uint8_t'.
16854
16855 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
16856 [!HAVE_GETUID] (getuid): New function (stub).
16857 [!HAVE_GETGID] (getgid): Likewise.
16858 [!HAVE_LSTAT] (lstat): Likewise.
16859 [!S_IROTH] (S_IROTH): New macro (dummy).
16860 [!S_IRGRP] (S_IRGRP): Likewise.
16861
16862 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16863
16864 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
16865 conditional expression).
16866
16867 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16868
16869 Import from Gnulib.
16870
16871 * gnulib/fnmatch.c: New file.
16872 * gnulib/fnmatch.h: Likewise.
16873 * gnulib/fnmatch_loop.c: Likewise.
16874 * gnulib/getopt.c: Likewise.
16875 * gnulib/getopt.h: Likewise.
16876 * gnulib/getopt1.c: Likewise.
16877 * gnulib/getopt_int.h: Likewise.
16878 * gnulib/gettext.h: Likewise.
16879
16880 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16881
16882 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
16883 * normal/handler.c (read_handler_list): Likewise.
16884
16885 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16886
16887 Misc cleanup.
16888
16889 * kern/command.c (grub_register_command_prio): Use
16890 grub_zalloc() instead of explicitly zeroing data.
16891 * kern/list.c: Include `<grub/mm.h>'.
16892 (grub_named_list_find): Replace `0' with `NULL'.
16893 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
16894 (fs_module_list): Change type to `grub_named_list_t'. Update all
16895 users.
16896 * normal/dyncmd.c (read_command_list): Add space between function
16897 call and parenthesis.
16898 * normal/handler.c (read_handler_list): Likewise.
16899
16900 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16901
16902 * normal/auth.c (punishment_delay): Moved from here ...
16903 (grub_auth_strcmp): ... to here (inside function).
16904
16905 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16906
16907 * include/grub/list.h (struct grub_named_list): Remove `const'
16908 qualifier from `name'.
16909 (struct grub_prio_list): Likewise.
16910
16911 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16912
16913 * normal/auth.c: Include `<grub/time.h>'.
16914 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
16915
16916 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16917
16918 * normal/auth.c (punishment_delay): New variable.
16919 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
16920 (grub_auth_check_authentication): Punish failed login attempts with
16921 an incremental (2^N) delay.
16922
16923 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16924
16925 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
16926 path with $(srcdir).
16927
16928 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
16931
16932 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
16933
16934 * util/i386/coreboot/grub-mkrescue.in: New file.
16935 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
16936 variables.
16937
16938 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
16939 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
16940 * configure.ac: Add header and function checks to satisfy grub-mkisofs
16941 requirements.
16942 * util/mkisofs/defaults.h: New file.
16943 * util/mkisofs/eltorito.c: Likewise.
16944 * util/mkisofs/exclude.h: Likewise.
16945 * util/mkisofs/fnmatch.c: Likewise.
16946 * util/mkisofs/getopt.c: Likewise.
16947 * util/mkisofs/getopt1.c: Likewise.
16948 * util/mkisofs/hash.c: Likewise.
16949 * util/mkisofs/include/fctldefs.h: Likewise.
16950 * util/mkisofs/include/mconfig.h: Likewise.
16951 * util/mkisofs/include/prototyp.h: Likewise.
16952 * util/mkisofs/include/statdefs.h: Likewise.
16953 * util/mkisofs/iso9660.h: Likewise.
16954 * util/mkisofs/joliet.c: Likewise.
16955 * util/mkisofs/match.c: Likewise.
16956 * util/mkisofs/match.h: Likewise.
16957 * util/mkisofs/mkisofs.c: Likewise.
16958 * util/mkisofs/mkisofs.h: Likewise.
16959 * util/mkisofs/multi.c: Likewise.
16960 * util/mkisofs/name.c: Likewise.
16961 * util/mkisofs/rock.c: Likewise.
16962 * util/mkisofs/tree.c: Likewise.
16963 * util/mkisofs/write.c: Likewise.
16964
16965 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
16966
16967 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
16968 being insecure.
16969
16970 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16971
16972 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
16973 `grub-mkimage' (and use $0 when possible).
16974
16975 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16976
16977 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
16978 error message for excessively large memory map.
16979
16980 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16981
16982 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
16983 executable bit.
16984
16985 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
16986
16987 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
16988 message for coreboot users.
16989
16990 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
16991
16992 Fix build with GNU gold.
16993
16994 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
16995 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
16996 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
16997 link addresses.
16998 * aclocal.m4: Likewise.
16999
17000 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
17001
17002 * configure.ac (AC_PREREQ): Bump to 2.59d.
17003 * INSTALL: Make it more clear when Autoconf and Ruby are
17004 needed and when to run `./autogen.sh'.
17005
17006 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
17007
17008 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
17009 OSes.
17010
17011 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17012
17013 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
17014
17015 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17016
17017 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
17018 giving it to GNU Mach.
17019
17020 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17021
17022 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
17023 GNU partition number to get internal GRUB partition number.
17024
17025 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17026
17027 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
17028 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
17029
17030 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
17031
17032 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
17033 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
17034 case.
17035
17036 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
17037
17038 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
17039
17040 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17041
17042 Fix build problem.
17043
17044 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
17045 `-isystem=$(srcdir)/include'.
17046
17047 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17048
17049 * util/i386/pc/grub-install.in: Remove hint that device.map should be
17050 checked (grub-install doesn't currently rely on it).
17051
17052 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
17053
17054 Revert SVN r2660.
17055
17056 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
17057 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17058 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
17059 * conf/i386-ieee1275.rmk: Likewise.
17060 * conf/i386-pc.rmk: Likewise.
17061 * conf/powerpc-ieee1275.rmk: Likewise.
17062 * conf/sparc64-ieee1275.rmk: Likewise.
17063 * conf/x86_64-efi.rmk: Likewise.
17064
17065 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17066
17067 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
17068
17069 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17070
17071 * include/grub/misc.h: Stop checking for APPLE_CC.
17072
17073 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17074
17075 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
17076 doesn't cause an infinite call loop.
17077
17078 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
17079
17080 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
17081 strings.
17082
17083 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17084
17085 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
17086 variable.
17087 * Makefile.in: Likewise.
17088
17089 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17090
17091 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
17092
17093 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17094
17095 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
17096
17097 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17098
17099 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
17100
17101 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17102
17103 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
17104 from here ...
17105 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
17106
17107 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17108
17109 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
17110 in $(MAKEINFO) invocation. This makes it clear in output that
17111 errors are being ignored.
17112
17113 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17114
17115 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
17116 from here ...
17117 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17118 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
17119 * conf/i386-ieee1275.rmk: Likewise.
17120 * conf/i386-pc.rmk: Likewise.
17121 * conf/powerpc-ieee1275.rmk: Likewise.
17122 * conf/sparc64-ieee1275.rmk: Likewise.
17123 * conf/x86_64-efi.rmk: Likewise.
17124
17125 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
17126
17127 * util/grub-editenv.c (main): If only a command is given, use
17128 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
17129 (usage): FILENAME is now optional and has a default.
17130
17131 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
17132
17133 Improve grub-mkconfig performance when there are several menu
17134 entries on a single filesystem.
17135
17136 * util/grub.d/10_linux.in (linux_entry): Cache the output of
17137 prepare_grub_to_access_device.
17138 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17139 * util/grub.d/30_os-prober.in: Likewise.
17140
17141 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17142
17143 * util/grub.d/10_freebsd.in: Remove.
17144 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
17145 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
17146
17147 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17148
17149 * docs/grub.cfg: Fix example usage of *BSD loaders.
17150
17151 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17152
17153 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
17154 grub_util_error() call.
17155
17156 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17157
17158 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
17159 `reserved_first_sector' member.
17160 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
17161 `reserved_first_sector' to 1.
17162 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
17163 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
17164 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
17165 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
17166 filesystems which begin at first sector.
17167 (options): New option --skip-fs-probe.
17168 (main): Handle --skip-fs-probe and pass it to setup().
17169
17170 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17171
17172 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
17173 (memset): Fix function prototype.
17174
17175 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17176 2009-10-25 Vasily Averin <vvs@parallels.com>
17177
17178 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
17179 `dirent.direntlen == 0'.
17180
17181 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17182
17183 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
17184 `cpio'.
17185 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
17186
17187 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17188
17189 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
17190 `__trampoline_setup' and `__ucmpdi2'.
17191 * include/grub/powerpc/libgcc.h: Only export symbols for functions
17192 that libgcc provides.
17193
17194 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17195
17196 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
17197 * include/grub/sparc64/libgcc.h (memset): Likewise.
17198 * include/grub/misc.h (memset, memcmp): New function prototypes.
17199
17200 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17201
17202 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
17203 `cpio'.
17204 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
17205
17206 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17207
17208 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
17209 * docs/grub.cfg: Compensate for recent change in multiboot
17210 loader (since 2009-08-14 it won't pass filename to payload).
17211 * util/grub.d/10_hurd.in: Likewise.
17212
17213 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
17214
17215 * config.guess: Update to latest version from config git
17216 repository.
17217 * config.sub: Likewise.
17218
17219 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
17220
17221 Fix build on sparc64.
17222
17223 * configure.ac: Perform checks for libgcc symbols before
17224 adding `-nostdlib' to LDFLAGS.
17225
17226 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17227
17228 Let user specify OpenBSD root device.
17229
17230 * loader/i386/bsd.c (openbsd_root): New variable.
17231 (openbsd_opts): New option 'root'.
17232 (OPENBSD_ROOT_ARG): New macro.
17233 (grub_openbsd_boot): Use 'openbsd_root'.
17234 (grub_cmd_openbsd): Fill 'openbsd_root'.
17235
17236 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17237
17238 * NEWS: Misc adjustments.
17239
17240 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17241
17242 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
17243
17244 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17245
17246 * configure.ac: Bump version to 1.97.
17247
17248 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
17249
17250 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
17251 -mno-3dnow on x86 architectures. Some toolchains enable these
17252 features by default, but they rely on registers that aren't enabled
17253 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
17254
17255 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
17256
17257 Make entry text a bit more readable.
17258
17259 * util/grub.d/10_linux.in: Add `with' before `Linux'.
17260
17261 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
17264
17265 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17266
17267 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
17268 operations.
17269
17270 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * configure.ac: Add missing dollar.
17273
17274 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17275
17276 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
17277
17278 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
17279 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
17280 exports.
17281 * include/grub/sparc64/libgcc.h: Likewise. Use
17282 preprocessor conditionals.
17283
17284 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17285
17286 * conf/common.rmk (grub-dumpbios): Remove rule.
17287 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
17288 * util/grub-dumpbios.in: Remove file.
17289
17290 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17291
17292 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
17293 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
17294
17295 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
17296 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
17297 users.
17298
17299 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
17300 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
17301 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
17302 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
17303 users.
17304
17305 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
17306
17307 * term/tparm.c: Switch to GPLv3.
17308
17309 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17310
17311 * include/grub/i386/cpuid.h: Add header protection.
17312
17313 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17314
17315 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
17316
17317 * include/grub/i386/cpuid.h: New file.
17318 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
17319 (has_longmode): Rename to ...
17320 (grub_cpuid_has_longmode): ... this. Update all users. Remove
17321 `static' attribute.
17322 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
17323 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
17324 on a CPU that doesn't implement AMD64 instruction set.
17325
17326 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17327
17328 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
17329 that version.texi is rebuilt on version number changes.
17330
17331 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17332
17333 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
17334 Fixes bug #27602.
17335
17336 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17337
17338 * util/i386/pc/grub-install.in: Source
17339 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
17340 that the --grub-probe option will work.
17341 * util/sparc64/ieee1275/grub-install.in: Likewise.
17342
17343 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
17344
17345 * configure.ac: Bump version to 1.97~beta4.
17346
17347 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
17348
17349 Resync grub-mkdevicemap in x86_64-efi.
17350
17351 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
17352 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
17353 `util/devicemap.c'.
17354
17355 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
17356
17357 * util/grub-editenv.c (create_envblk_file): Write new block with a
17358 .new suffix and then rename it into place, to ensure atomic
17359 creation.
17360
17361 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
17362
17363 Do not automatically install headers.
17364
17365 * Makefile.in (include_DATA): Remove. Update all users.
17366
17367 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
17368
17369 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
17370 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
17371
17372 * util/osdetect.lua: Remove.
17373 * script/lua/lauxlib.c: Likewise.
17374 * script/lua/ldebug.c: Likewise.
17375 * script/lua/grub_main.c: Likewise.
17376 * script/lua/lauxlib.h: Likewise.
17377 * script/lua/ldebug.h: Likewise.
17378 * script/lua/ltablib.c: Likewise.
17379 * script/lua/liolib.c: Likewise.
17380 * script/lua/lstrlib.c: Likewise.
17381 * script/lua/lualib.h: Likewise.
17382 * script/lua/ldo.c: Likewise.
17383 * script/lua/ldump.c: Likewise.
17384 * script/lua/ldo.h: Likewise.
17385 * script/lua/loslib.c: Likewise.
17386 * script/lua/lundump.c: Likewise.
17387 * script/lua/grub_lib.c: Likewise.
17388 * script/lua/ldblib.c: Likewise.
17389 * script/lua/lundump.h: Likewise.
17390 * script/lua/lmem.c: Likewise.
17391 * script/lua/grub_lib.h: Likewise.
17392 * script/lua/lmathlib.c: Likewise.
17393 * script/lua/lstate.c: Likewise.
17394 * script/lua/ltm.c: Likewise.
17395 * script/lua/lvm.c: Likewise.
17396 * script/lua/lmem.h: Likewise.
17397 * script/lua/lstate.h: Likewise.
17398 * script/lua/ltm.h: Likewise.
17399 * script/lua/ltable.c: Likewise.
17400 * script/lua/lvm.h: Likewise.
17401 * script/lua/llex.c: Likewise.
17402 * script/lua/lgc.c: Likewise.
17403 * script/lua/grub_lua.h: Likewise.
17404 * script/lua/loadlib.c: Likewise.
17405 * script/lua/lfunc.c: Likewise.
17406 * script/lua/lopcodes.c: Likewise.
17407 * script/lua/lparser.c: Likewise.
17408 * script/lua/ltable.h: Likewise.
17409 * script/lua/llex.h: Likewise.
17410 * script/lua/lgc.h: Likewise.
17411 * script/lua/lfunc.h: Likewise.
17412 * script/lua/lbaselib.c: Likewise.
17413 * script/lua/lopcodes.h: Likewise.
17414 * script/lua/lparser.h: Likewise.
17415 * script/lua/lzio.c: Likewise.
17416 * script/lua/linit.c: Likewise.
17417 * script/lua/lobject.c: Likewise.
17418 * script/lua/llimits.h: Likewise.
17419 * script/lua/lstring.c: Likewise.
17420 * script/lua/lzio.h: Likewise.
17421 * script/lua/lapi.c: Likewise.
17422 * script/lua/lcode.c: Likewise.
17423 * script/lua/lua.h: Likewise.
17424 * script/lua/lobject.h: Likewise.
17425 * script/lua/lstring.h: Likewise.
17426 * script/lua/lapi.h: Likewise.
17427 * script/lua/lcode.h: Likewise.
17428 * script/lua/luaconf.h: Likewise.
17429
17430 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
17431
17432 * docs/grub.texi (Command-line and menu entry commands): Document
17433 date and echo commands.
17434
17435 2009-09-24 Pavel Roskin <proski@gnu.org>
17436
17437 * include/grub/kernel.h (struct grub_module_header): Remove
17438 `grub_module_header_types'. Make `type' unsigned. Make `size'
17439 32-bit on all platforms.
17440 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
17441 8-bit field. Use grub_host_to_target32() for `size'.
17442 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
17443 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
17444 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
17445
17446 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17447
17448 Fix "lost keypress" bug in at_keyboard.
17449
17450 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
17451 Checks for readyness of input buffer (without flushing it).
17452 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
17453 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
17454
17455 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17456
17457 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
17458 size check within GRUB_MACHINE_PCBIOS section.
17459
17460 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17461
17462 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
17463 return value.
17464 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
17465 KEYBOARD_ISREADY check.
17466 (grub_at_keyboard_checkkey): Rename to ...
17467 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
17468 Remove gratuitous cast.
17469
17470 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
17471
17472 * configure.ac: Call AC_PROG_MKDIR_P.
17473 * Makefile.in (docs/stamp-vti): Create docs directory. Create
17474 version.texi in $(builddir) rather than $(srcdir).
17475 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
17476 to makeinfo's @include search path.
17477
17478 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
17479
17480 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
17481
17482 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
17483
17484 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
17485 for `*.dpkg-new'.
17486
17487 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
17488
17489 Build info documentation. Some code borrowed from Automake.
17490
17491 * configure.ac: Check for makeinfo.
17492 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
17493 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
17494 docs/version.texi.
17495 (MOSTLYCLEANFILES): Add vti.tmp.
17496 (docs/version.texi, docs/stamp-vti): Update automatically.
17497 (docs/grub.info): Build info documentation. Use --force and ignore
17498 errors for now.
17499 (all-local): Add $(INFOS).
17500 (install-local): Install info files.
17501 (uninstall): Uninstall info files.
17502 * docs/version.texi: Remove from revision control. This file is
17503 automatically generated on build now.
17504 * gendistlist.sh: Add `*.info'.
17505
17506 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
17507
17508 * kern/term.c: Fix indentation.
17509
17510 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
17511
17512 * util/hostdisk.c: Fix a comment.
17513
17514 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
17515
17516 Fix regression introduced in r2539.
17517
17518 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
17519 to 0xA1.
17520
17521 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
17522
17523 * util/grub.d/30_os-prober.in: Don't throw away stderr from
17524 os-prober. Under normal operation, it does not print anything to
17525 stderr; if it does, we need to debug it, and throwing away stderr
17526 makes that excessively difficult.
17527
17528 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
17529
17530 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
17531
17532 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17533
17534 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
17535 AC_LANG_PROGRAM from autoconf.
17536 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
17537 prototypes (fixes warning).
17538
17539 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
17540 `--disable-werror' was used.
17541
17542 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17543
17544 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
17545 uninitialized `lastaddr'.
17546
17547 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17548
17549 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
17550
17551 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
17552
17553 * commands/test.c (get_fileinfo): Return immediately if
17554 grub_fs_probe fails.
17555
17556 2009-09-14 José Martínez <xosemp@gmail.com>
17557
17558 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
17559
17560 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
17561
17562 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
17563 output.
17564
17565 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
17566
17567 * configure.ac: Remove --enable-grub-pe2elf. Only build
17568 grub-pe2elf when needed by the build system itself.
17569 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
17570
17571 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17572
17573 * configure.ac: Bump version to 1.97~beta3.
17574 * docs/version.texi: Likewise.
17575
17576 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17577
17578 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
17579 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
17580 from here ...
17581 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
17582 (grub_linux_setup_video): ... to here (with some adjustments).
17583
17584 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17585
17586 Fix memory corruption issue (spotted by Colin Watson).
17587
17588 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
17589 causing returned size to be stored in an incorrect memory location.
17590 Fix use of uninitialized value when storing the returned size.
17591
17592 2009-09-12 Yves Blusseau <blusseau@zetam.org>
17593
17594 Change clean rules to properly remove files
17595
17596 * genmk.rb: add new clean rules
17597 * Makefile.in (clean): add the new targets
17598 (mostlyclean): likewise
17599
17600 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
17601
17602 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
17603 to grub_uint64_t.
17604 * fs/ntfs.c (init_file): Understand 64-bit sizes for
17605 non-resident files.
17606
17607 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
17608
17609 * configure.ac: Don't look for help2man when cross-compiling. Fixes
17610 part of bug #27349.
17611
17612 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
17613
17614 * util/grub-mkconfig.in: Make the created config mode 400 and
17615 print a warning if it fails.
17616
17617 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
17618
17619 * util/grub.d/40_custom.in: Ask user to type custom entries below
17620 comment, rather than below 'exec tail' line.
17621
17622 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
17623
17624 * util/grub.d/40_custom.in: Make sure that the explanatory text is
17625 visible in grub.cfg.
17626
17627 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
17628
17629 * util/grub.d/40_custom.in: Make it a little clearer how to use this
17630 file.
17631
17632 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
17633
17634 * docs/grub.cfg: Add an example menu entry for memtest86+.
17635
17636 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
17637
17638 * config.guess: Update to latest version from config git.
17639 * config.sub: Likewise.
17640
17641 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
17642
17643 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
17644 unknown-command case. Fixes bug #27320.
17645
17646 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
17647
17648 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
17649 `help' if the command exists.
17650
17651 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
17652
17653 * INSTALL: Require GCC 4.1.3 or later.
17654
17655 2009-09-06 Yves Blusseau <blusseau@zetam.org>
17656
17657 * Makefile.in (RMKFILES): add i386-qemu.rmk
17658 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
17659 $(srcdir)/stamp-h.in
17660
17661 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
17662
17663 * util/grub-probe.c (probe): Comment out buggy codepath, which
17664 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
17665 should be re-enabled after 1.97.
17666
17667 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
17668
17669 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
17670 find searches for.
17671
17672 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
17673
17674 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
17675 unnecessary calls to grub_error.
17676
17677 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
17678
17679 * NEWS: Mention `keystatus' and Unicode fonts.
17680
17681 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
17682
17683 * configure.ac: Bump version to 1.97~beta2.
17684 * docs/version.texi: Likewise.
17685
17686 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
17687
17688 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
17689 containing unwind information in some cases where it previously did
17690 not. Use -fno-dwarf2-cfi-asm if available to restore the old
17691 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
17692 discussion.
17693
17694 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
17695
17696 Embedding loadenv module into grub-emu
17697
17698 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
17699 commands/loadenv.c
17700 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
17701 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
17702 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
17703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
17704 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
17705 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
17706
17707 2009-09-03 Magnus Granberg <zorry@ume.nu>
17708
17709 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
17710 include -fPIE in the default specs.
17711 * configure.ac: Check if pie_possible is yes and add -fno-PIE
17712 to TARGET_CFLAGS.
17713
17714 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
17715
17716 * INSTALL: Note that GNU Bison 2.3 or later is required.
17717
17718 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
17719
17720 * kern/i386/pc/startup.S: Fix typo.
17721
17722 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
17723
17724 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
17725 according to GCS.
17726
17727 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
17728
17729 * docs/grub.texi (Naming convention): Describe one-based partition
17730 numbering.
17731 (Device syntax): Likewise.
17732 (File name syntax): Likewise.
17733 (Block list syntax): Likewise.
17734 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
17735 menu.lst.
17736 (File name syntax): Likewise.
17737 (Command-line and menu entry commands): Document acpi, blocklist,
17738 crc, export, insmod, keystatus, ls, set, and unset commands.
17739
17740 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
17741
17742 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
17743 to avoid implying that only one of --shift, --ctrl, or --alt may be
17744 used.
17745
17746 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
17747
17748 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
17749 rather than comparing against S_IFREG, which will almost never work.
17750
17751 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
17752
17753 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
17754 (write_blocklists): Likewise.
17755
17756 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
17757
17758 * script/lua/grub_lua.h (fputs): Supply a format string as the first
17759 argument to grub_printf.
17760
17761 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
17762
17763 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
17764 non GNU test.
17765
17766 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17767
17768 * kern/file.c (grub_file_read): Spelling fix
17769
17770 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
17771
17772 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
17773 loading of headers in some cases.
17774
17775 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
17776
17777 * configure.ac: Bump version to 1.97~beta1.
17778 * docs/version.texi: Likewise.
17779
17780 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17781
17782 * include/grub/i386/xnu.h: Add license header.
17783 include grub/err.h explicitly.
17784
17785 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
17786
17787 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
17788 to `ufs' in the vfs.root.mountfrom kernel parameter.
17789
17790 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
17791
17792 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
17793
17794 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
17795 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
17796
17797 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
17798 `ARRAY_SIZE' macro.
17799
17800 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17801
17802 * kern/file.c (grub_file_read): Check offset.
17803 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
17804 * fs/jfs.c (grub_jfs_read_file): Likewise.
17805 * fs/ntfs.c (grub_ntfs_read): Likewise.
17806 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
17807 * fs/minix.c (grub_minix_read_file): Correct offset check.
17808 * fs/ufs.c (grub_ufs_read_file): Likewise.
17809
17810 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
17811
17812 * term/i386/pc/console.c (bios_data_area): Cast
17813 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
17814
17815 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17816
17817 1-bit optimised blitters.
17818
17819 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
17820 prototype.
17821 (grub_video_fbblit_replace_24bit_1bit): Likewise.
17822 (grub_video_fbblit_replace_16bit_1bit): Likewise.
17823 (grub_video_fbblit_replace_8bit_1bit): Likewise.
17824 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
17825 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
17826 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
17827 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
17828 function.
17829 (grub_video_fbblit_replace_24bit_1bit): Likewise.
17830 (grub_video_fbblit_replace_16bit_1bit): Likewise.
17831 (grub_video_fbblit_replace_8bit_1bit): Likewise.
17832 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
17833 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
17834 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
17835 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
17836 when possible.
17837 * video/video.c (grub_video_get_blit_format): Return
17838 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
17839
17840 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
17841
17842 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
17843 the first argument to grub_printf.
17844
17845 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
17846 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
17847
17848 Add `getkeystatus' terminal method. Add a new `keystatus' command
17849 to query it.
17850
17851 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
17852 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
17853 modifier key bitmasks.
17854 (struct grub_term_input): Add `getkeystatus' member.
17855 (grub_getkeystatus): Add prototype.
17856 * kern/term.c (grub_getkeystatus): New function.
17857
17858 * include/grub/i386/pc/memory.h
17859 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
17860 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
17861 Data Area layout.
17862 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
17863 (grub_console_term_input): Set `getkeystatus' member.
17864 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
17865 constants.
17866 (grub_usb_keyboard_getreport): Likewise.
17867 (grub_usb_keyboard_checkkey): Likewise.
17868 (grub_usb_keyboard_getkeystatus): New function.
17869 (grub_usb_keyboard_term): Set `getkeystatus' member.
17870
17871 * commands/keystatus.c: New file.
17872 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
17873 (keystatus_mod_SOURCES): New variable.
17874 (keystatus_mod_CFLAGS): Likewise.
17875 (keystatus_mod_LDFLAGS): Likewise.
17876 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
17877 commands/keystatus.c.
17878 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17879 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17880 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17882 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17883 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17884
17885 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17886
17887 Split befs.mod and afs.mod into *_be.mod and *.mod
17888
17889 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
17890 (grub_fstest_SOURCES): Likewise.
17891 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
17892 (afs_be_mod_SOURCES): New variable.
17893 (afs_be_mod_CFLAGS): Likewise.
17894 (afs_be_mod_LDFLAGS): Likewise.
17895 (befs_be_mod_SOURCES): Likewise.
17896 (befs_be_mod_CFLAGS): Likewise.
17897 (befs_be_mod_LDFLAGS): Likewise.
17898 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
17899 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17900 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17901 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17902 (grub_emu_SOURCES): Likewise.
17903 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17904 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17905 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17906 * fs/afs_be.c: New file.
17907 * fs/befs_be.c: New file.
17908 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
17909 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
17910 (U16): Replaced with ...
17911 (grub_afs_to_cpu16): ...this. All users updated.
17912 (U32): Replaced with ...
17913 (grub_afs_to_cpu32): ...this. All users updated.
17914 (U64): Replaced with ...
17915 (grub_afs_to_cpu64): ...this. All users updated.
17916 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
17917 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
17918 (grub_afs_validate_sblock): Check only one endianness.
17919 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
17920 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
17921 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
17922 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
17923 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
17924 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
17925 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
17926 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
17927
17928 2009-08-26 Bean <bean123ch@gmail.com>
17929
17930 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
17931 64-bit number.
17932 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
17933 (grub_xfs_inode_block): Change return type to grub_uint64_t.
17934 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
17935
17936 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17937
17938 NetBSD memory map support.
17939
17940 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
17941 (grub_netbsd_btinfo_mmap_header): New structure.
17942 (grub_netbsd_btinfo_mmap_entry): Likewise.
17943 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
17944
17945 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17946
17947 Enable bsd.mod on coreboot.
17948
17949 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
17950 (bsd_mod_SOURCES): New variable.
17951 (bsd_mod_CFLAGS): Likewise.
17952 (bsd_mod_LDFLAGS): Likewise.
17953 (bsd_mod_ASFLAGS): Likewise.
17954 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
17955 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
17956
17957 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17958
17959 Cleanup NetBSD root support.
17960
17961 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
17962 grub_bsd_get_device.
17963 Fix typo.
17964
17965 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
17966
17967 * util/grub.d/00_header.in: Move check for the video backend of
17968 gfxterm from here ...
17969 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
17970 a suitable video backend.
17971
17972 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17973
17974 Fix breakage in grub-setup.
17975
17976 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
17977 "msdos_partition_map".
17978
17979 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 Fix breakage in normal/auth.c.
17982
17983 * normal/auth.c (grub_iswordseparator): New function.
17984
17985 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 Authentication support.
17988
17989 * commands/password.c: New file.
17990 * conf/common.rmk (pkglib_MODULES): Add password.mod.
17991 (password_mod_SOURCES): New variable.
17992 (password_mod_CFLAGS): Likewise.
17993 (password_mod_LDFLAGS): Likewise.
17994 (normal_mod_SOURCES): Add normal/auth.c.
17995 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
17996 normal/auth.c.
17997 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17998 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17999 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18001 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18002 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18003 * include/grub/auth.h: New file.
18004 * include/grub/err.h (grub_err_t): New enum value
18005 GRUB_ERR_ACCESS_DENIED.
18006 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
18007 'users'.
18008 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
18009 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
18010 users updated.
18011 * normal/auth.c: New file.
18012 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
18013 (grub_cmdline_run): Don't allow to go to command line without
18014 authentication.
18015 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
18016 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
18017 menuentry without superuser rights.
18018 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
18019 user isn't a superuser.
18020
18021 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 Save space by inlining misc.c functions.
18024
18025 * kern/misc.c (grub_iswordseparator): Made static.
18026 * kern/misc.c (grub_strcat): Moved from here ...
18027 * include/grub/misc.h (grub_strcat): ... here. Inlined.
18028 * kern/misc.c (grub_strncat): Moved from here ...
18029 * include/grub/misc.h (grub_strncat): ... here. Inlined.
18030 * kern/misc.c (grub_strcasecmp): Moved from here ...
18031 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
18032 * kern/misc.c (grub_strncasecmp): Moved from here ...
18033 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
18034 * kern/misc.c (grub_isalpha): Moved from here ...
18035 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
18036 * kern/misc.c (grub_isdigit): Moved from here ...
18037 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
18038 * kern/misc.c (grub_isgraph): Moved from here ...
18039 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
18040 * kern/misc.c (grub_tolower): Moved from here ...
18041 * include/grub/misc.h (grub_tolower): ... here. Inlined.
18042
18043 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 * script/sh/function.c (grub_script_function_find): Cut error message
18046 not to flood terminal.
18047 * script/sh/lexer.c (grub_script_yylex): Remove command line length
18048 limit.
18049 * script/sh/script.c (grub_script_arg_add): Duplicate string.
18050
18051 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
18052
18053 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
18054 `report' grub_uint8_t *.
18055 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
18056 Use a 50-millisecond timeout rather than just repeating
18057 grub_usb_keyboard_getreport 50 times.
18058 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
18059
18060 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 Rename *_partition_map to part_*
18063
18064 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
18065 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
18066 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
18067 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
18068 All users updated.
18069 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
18070 All users updated.
18071 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
18072 * util/grub-probe.c (probe_partmap): Don't transform partition name
18073 to get module name.
18074
18075 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18076
18077 Fix OpenBSD and NetBSD support.
18078
18079 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
18080 memory address conflict.
18081 (OPENBSD_MMAP_ACPI): New definition.
18082 (OPENBSD_MMAP_NVS): Likewise.
18083 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
18084 and OPENBSD_MMAP_NVS.
18085 Add memory map terminator
18086 Explicit cast when calling grub_unix_real_boot.
18087 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
18088
18089 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18090
18091 Let user specify NetBSD root device.
18092
18093 * loader/i386/bsd.c (netbsd_root): New variable.
18094 (netbsd_opts): New option 'root'.
18095 (NETBSD_ROOT_ARG): New macro.
18096 (grub_netbsd_boot): Use 'netbsd_root'.
18097 (grub_bsd_unload): Free 'netbsd_root'.
18098 (grub_cmd_netbsd): Fill 'netbsd_root'.
18099
18100 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18101
18102 Support for 64-bit NetBSD.
18103
18104 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
18105 point when booting non-FreeBSD.
18106
18107 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18108
18109 Support --no-smp and --no-acpi for NetBSD.
18110
18111 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
18112 (NETBSD_AB_NOACPI): Likewise.
18113 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
18114 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
18115
18116 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
18119 errors.
18120 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
18121 errors. Call grub_error when needed.
18122
18123 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18124
18125 * commands/search.c (search_fs): Try searching without autoload first.
18126 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18127 filesystem module explicitly for faster booting.
18128
18129 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
18130
18131 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
18132
18133 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
18134
18135 * util/grub.d/30_os-prober.in: Disable os-prober if
18136 `GRUB_DISABLE_OS_PROBER' was set to true.
18137
18138 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
18139
18140 * partmap/pc.c: Rename to ...
18141 * partmap/msdos.c: ... this. Update all users.
18142 (grub_pc_partition_map): Rename to ...
18143 (grub_msdos_partition_map): ... this. Update all users.
18144
18145 * parttool/pcpart.c: Rename to ...
18146 * parttool/msdospart.c: ... this. Update all users.
18147
18148 * include/grub/pc_partition.h: Rename to ...
18149 * include/grub/msdos_partition.h: ... this. Update all users.
18150 (grub_pc_partition_bsd_entry): Rename to ...
18151 (grub_msdos_partition_bsd_entry): ... this. Update all users.
18152 (grub_pc_partition_disk_label): Rename to ...
18153 (grub_msdos_partition_disk_label): ... this. Update all users.
18154 (grub_pc_partition_entry): Rename to ...
18155 (grub_msdos_partition_entry): ... this. Update all users.
18156 (grub_pc_partition_mbr): Rename to ...
18157 (grub_msdos_partition_mbr): ... this. Update all users.
18158 (grub_pc_partition): Rename to ...
18159 (grub_msdos_partition): ... this. Update all users.
18160 (grub_pc_partition_is_empty): Rename to ...
18161 (grub_msdos_partition_is_empty): ... this. Update all users.
18162 (grub_pc_partition_is_extended): Rename to ...
18163 (grub_msdos_partition_is_extended): ... this. Update all users.
18164 (grub_pc_partition_is_bsd): Rename to ...
18165 (grub_msdos_partition_is_bsd): ... this. Update all users.
18166
18167 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
18168 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
18169 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
18170 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
18171 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
18172 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
18173 (gpt_mod_LDFLAGS): Rename to ...
18174 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
18175 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
18176 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
18177 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
18178 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
18179 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
18180 (part_gpt_mod_LDFLAGS): ... this.
18181 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
18182 `pcpart.mod' to `msdospart.mod'.
18183 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
18184 to ...
18185 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
18186 (msdospart_mod_LDFLAGS): ... this.
18187
18188 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18189
18190 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
18191 (openbsd_opts): Likewise.
18192 (netbsd_opts): Likewise.
18193 (freebsd_flags): Added 0 terminator.
18194 (openbsd_flags): Likewise.
18195 (netbsd_flags): Likewise.
18196 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
18197 (grub_cmd_freebsd): Transformed into extended command.
18198 (grub_cmd_openbsd): Likewise.
18199 (grub_cmd_netbsd): Likewise.
18200 (cmd_freebsd): Changed type to grub_extcmd_t.
18201 (cmd_openbsd): Likewise.
18202 (cmd_netbsd): Likewise.
18203 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
18204 grub_cmd_openbsd as extended commands.
18205 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
18206 cmd_netbsd and cmd_openbsd
18207
18208 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18209
18210 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
18211
18212 2009-08-21 Pavel Roskin <proski@gnu.org>
18213
18214 * Makefile.in (install-local): When checking if a file is in the
18215 build directory, use "test -e" to detect symlinks.
18216
18217 * Makefile.in (install-local): Remove all files in
18218 $(DESTDIR)$(pkglibdir) before installing new files there.
18219
18220 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
18221
18222 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
18223 grub-mkelfimage.
18224
18225 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
18226
18227 * util/grub-mkconfig.in: Don't use gfxterm by default if not
18228 explicitly specified by the user.
18229
18230 2009-08-18 Pavel Roskin <proski@gnu.org>
18231
18232 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
18233 grub_uint8_t pointer for data.
18234 * include/grub/fbutil.h (struct grub_video_fbblit_info):
18235 Likewise.
18236 * video/fb/fbutil.c: Remove unnecessary casts.
18237
18238 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18239
18240 VBE cleanup.
18241
18242 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
18243 (grub_vbe_set_video_mode): Save active mode info
18244 only after setting the mode.
18245 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
18246 second argument.
18247
18248 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18249
18250 Rename variables for clarity.
18251
18252 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
18253 (active_vbe_mode_info): ... this. All users updated.
18254 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
18255 All users updated.
18256 (initial_mode): Rename to ...
18257 (initial_vbe_mode): ... this. All users updated.
18258 (mode_in_use): Rename to ..
18259 (vbe_mode_in_use): ... this. All users updated.
18260 (mode_list): Rename to ..
18261 (vbe_mode_list): ... this. All users updated.
18262 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
18263 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
18264 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
18265 'mode_list_size' to 'vbe_mode_list_size'.
18266 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
18267 'best_mode_info' to 'best_vbe_mode_info' and
18268 'best_mode' to 'best_vbe_mode'
18269
18270 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18271
18272 Remove duplicate grub_video_fb_get_video_ptr.
18273
18274 * include/grub/fbutil.h (get_data_ptr): Rename to ...
18275 (grub_video_fb_get_video_ptr): ... this.
18276 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
18277 * video/fb/fbutil.c: Add comment about addressing.
18278 (get_data_ptr): Rename to ...
18279 (grub_video_fb_get_video_ptr): ... this. All users updated.
18280 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
18281
18282 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18283
18284 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
18285 grub_dprintf() that was just added.
18286
18287 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18288
18289 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
18290 (DEFAULT_VIDEO_MODE): Remove macros.
18291 (grub_linux_boot): Remove assumption that Linux has FB support,
18292 and use "text" as default video mode.
18293
18294 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
18295
18296 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
18297 grub_dprintf.
18298 * fs/fat.c (grub_fat_read_data): Likewise.
18299
18300 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18301
18302 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
18303 payload.
18304 (grub_module): Likewise.
18305
18306 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18307
18308 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
18309 mbi->cmdline but free playground.
18310
18311 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18312
18313 Handle group offset on UFS1.
18314
18315 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
18316 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
18317
18318 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 Split ufs.mod into ufs1.mod and ufs2.mod.
18321
18322 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
18323 (grub_fstest_SOURCES): Likewise.
18324 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
18325 (ufs_mod_SOURCES): Remove.
18326 (ufs_mod_CFLAGS): Likewise.
18327 (ufs_mod_LDFLAGS): Likewise.
18328 (ufs1_mod_SOURCES): New variable.
18329 (ufs1_mod_CFLAGS): Likewise.
18330 (ufs1_mod_LDFLAGS): Likewise.
18331 (ufs2_mod_SOURCES): New variable.
18332 (ufs2_mod_CFLAGS): Likewise.
18333 (ufs2_mod_LDFLAGS): Likewise.
18334 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
18335 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18336 Likewise.
18337 (grub_emu_SOURCES): Likewise.
18338 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18339 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18340 (grub_setup_SOURCES): Likewise.
18341 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18342 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
18343 (grub_setup_SOURCES): Likewise.
18344 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18345 Likewise.
18346 * fs/ufs2.c: New file.
18347 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
18348
18349 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18350
18351 Framebuffer split.
18352
18353 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
18354 subsystem at the end.
18355 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
18356 (video_fb_mod_SOURCES): New variable.
18357 (video_fb_mod_CFLAGS): Likewise.
18358 (video_fb_mod_LDFLAGS): Likewise.
18359 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
18360 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
18361 * video/i386/pc/vbeblit.c: Moved from here ...
18362 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
18363 * video/i386/pc/vbefill.c: Moved from here ...
18364 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
18365 * video/i386/pc/vbeutil.c: Moved from here ...
18366 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
18367 * include/grub/i386/pc/vbeblit.h: Moved from here ...
18368 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
18369 * include/grub/i386/pc/vbefill.h: Moved from here ...
18370 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
18371 * include/grub/i386/pc/vbeutil.h: Moved from here ...
18372 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
18373 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
18374 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
18375 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
18376 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
18377 (grub_video_adapter): Added 'get_info_and_fini'.
18378 (grub_video_get_info_and_fini): New prototype.
18379 (grub_video_set_mode): make modestring const char *.
18380 * loader/i386/linux.c (grub_linux_setup_video): Use
18381 grub_video_get_info_and_fini.
18382 (grub_linux_boot): Move modesetting just before booting.
18383 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
18384 grub_video_get_info_and_fini.
18385 * video/i386/pc/vbe.c: Moved framebuffer part ...
18386 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
18387 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
18388 grub_video_fbstd_colors and grub_video_fb_set_palette.
18389 (grub_video_vbe_init): Clear 'framebuffer' variable and use
18390 grub_video_fb_init.
18391 (grub_video_vbe_fini): Use grub_video_fb_fini.
18392 (grub_video_vbe_setup): Use framebuffer.render_target instead of
18393 render_target and use grub_video_fb_set_active_render_target and
18394 grub_video_fb_set_palette.
18395 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
18396 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
18397 (grub_video_vbe_adapter): Use framebuffer.
18398 * video/video.c (grub_video_get_info_and_fini): New function.
18399 (grub_video_set_mode): Make modestring const char *.
18400 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
18401 values are already initialised.
18402
18403 2009-08-14 Pavel Roskin <proski@gnu.org>
18404
18405 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
18406 ABS and APPLE_CC.
18407 * boot/i386/pc/diskboot.S: Likewise.
18408 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
18409 sectors allow compilation on MacOSX.
18410 * conf/i386-pc.rmk: Enable unconditional compilation of
18411 lnxboot.img.
18412
18413 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
18414
18415 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
18416 * util/grub.d/00_header.in: Enter interruptible sleep if
18417 GRUB_HIDDEN_TIMEOUT is set.
18418
18419 2009-08-13 Yves Blusseau <blusseau@zetam.org>
18420
18421 * include/grub/symbol.h: Add the LOCAL macro.
18422 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
18423 starting with "L_".
18424
18425 2009-08-13 Pavel Roskin <proski@gnu.org>
18426
18427 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
18428 any modern compilers we support.
18429
18430 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
18431 Use local labels starting with "L_" so that Apple assembler
18432 knows they are local.
18433
18434 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
18435
18436 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
18437 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
18438 (bsd_kernel_types): ... this enum.
18439
18440 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
18441 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
18442 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
18443
18444 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
18445 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
18446 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
18447 messages.
18448
18449 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18450
18451 * util/grub-dumpdevtree: Moved from here ...
18452 * util/i386/efi/grub-dumpdevtree: ... to here.
18453 (hexify): New function. Converts a string to its hex version.
18454 Generate hex versions of "efi" and "device-properties" by calling
18455 hexify() on the ASCII strings rather than by hardcoding numbers.
18456
18457 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18458
18459 * fs/jfs.c: Update copyright year.
18460
18461 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
18462
18463 * util/grub.d/00_header.in: Fix a comment.
18464 * util/grub.d/10_linux.in: Likewise.
18465 * util/grub.d/10_windows.in: Likewise.
18466 * util/grub.d/10_hurd.in: Likewise.
18467
18468 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
18469
18470 * util/grub-mkconfig.in: Allow the user to specify the used font
18471 with GRUB_FONT.
18472
18473 2009-08-08 Pavel Roskin <proski@gnu.org>
18474
18475 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
18476 available, xfs.mod needs it now.
18477
18478 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
18479 the "g" modifier in sed when the intention is to strip something
18480 once. This fixes comparison of kernels with multiple dashes.
18481
18482 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
18483 on it. Add missing space before closing bracket. Fix
18484 misleading formatting.
18485
18486 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18487
18488 * docs/grub.texi: Major overhaul. Remove all sections that are
18489 specific to GRUB Legacy, or mostly composed of Legacy-specific
18490 information.
18491
18492 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18493
18494 * docs/version.texi: New file. Provides version information for
18495 grub.texi.
18496
18497 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18498
18499 * docs/grub.texi: Update CVS information to SVN.
18500 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
18501
18502 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18503
18504 * util/grub-mkconfig.in: Remove a wrong `fi'.
18505
18506 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18507
18508 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
18509 (grub_jfs_uuid): New function.
18510 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
18511
18512 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18513
18514 * util/grub-mkconfig_lib.in (font_path): Move the functionality
18515 of it to ...
18516 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
18517 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
18518
18519 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18520
18521 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
18522 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
18523 Update all users.
18524
18525 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
18526 not just "vmlinu[zx]".
18527 Moved from here ...
18528 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
18529 all users.
18530
18531 * util/grub.d/10_linux.in (find_latest): Moved from here ...
18532 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
18533 all users.
18534
18535 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18536
18537 * util/grub.d/10_freebsd.in: Use an absolute device path for
18538 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
18539
18540 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
18541
18542 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
18543 handling of multiple abstraction modules.
18544
18545 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
18546
18547 Fix a bug resulting in black screen when loading Linux using a
18548 packed video mode.
18549
18550 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
18551 function.
18552
18553 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
18554 (grub_vbe_bios_getset_dac_palette_width): New function.
18555 (grub_vbe_bios_get_dac_palette_width)
18556 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
18557 grub_vbe_bios_getset_dac_palette_width()).
18558
18559 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
18560 check for return status.
18561 (grub_vbe_get_video_mode_info): When getting information for a packed
18562 mode (<= 8 bpp), obtain DAC palette width using
18563 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
18564 {red,green,blue}_mark_size.
18565
18566 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
18567
18568 * commands/search.c (options): Fix help output to match actual code.
18569
18570 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
18571
18572 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
18573 of homegrown code.
18574
18575 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18576
18577 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
18578 on XFS or ReiserFS.
18579
18580 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18581
18582 Support Apple partition map with sector size different from 512 bytes.
18583
18584 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
18585 (apple_partition_map_iterate): Respect 'aheader.blocksize'
18586 and 'apart.partmap_size'.
18587
18588 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18589 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
18590
18591 Fix cpuid command.
18592
18593 * commands/i386/cpuid.c (options): New variable.
18594 (grub_cmd_cpuid): Return real error.
18595 (GRUB_MOD_INIT(cpuid)): Declare options.
18596
18597 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
18598
18599 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
18600 valid.
18601
18602 2009-07-31 Bean <bean123ch@gmail.com>
18603
18604 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
18605 log2_inode.
18606 (grub_fshelp_node): Move inode field to the end.
18607 (grub_xfs_data): Remove inode field.
18608 (grub_xfs_inode_block): Calculate inode size using sblock.
18609 (grub_xfs_inode_offset): Likewise.
18610 (grub_xfs_read_inode): Calculate inode size using sblock.
18611 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
18612 (grub_xfs_iterate_dir): Calculate inode size using sblock.
18613 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
18614 to match inode size.
18615 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
18616 not accessible when data is null.
18617 (grub_xfs_open): Likewise.
18618
18619 2009-07-31 Bean <bean123ch@gmail.com>
18620
18621 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
18622 Don't change pv->disk if it's already set.
18623
18624 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
18625 (grub_raid_register): ... here.
18626 (grub_raid_rescan): Removed.
18627
18628 * include/grub/raid.h (grub_raid_rescan): Removed.
18629
18630 * util/grub-fstest.c: Remove include file <grub/raid.h>.
18631 (fstest): Replace grub_raid_rescan with module fini function followed
18632 by init function.
18633
18634 * util/grub-probe.c: Add include file <grub/raid.h>.
18635 (probe_raid_level): New function.
18636 (probe): Detect abstraction by walking the disk device, support two
18637 level of abstraction (LVM on RAID) when detecting partition map.
18638
18639 2009-07-31 Pavel Roskin <proski@gnu.org>
18640
18641 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
18642 to grub_zalloc(), it was erroneous.
18643 Reported by Bean <bean123ch@gmail.com>
18644
18645 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
18646
18647 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
18648 embedding zone, not only the first one.
18649
18650 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
18651
18652 * term/gfxterm.c (clear_char): New function.
18653 (grub_virtual_screen_setup): Use clear_char.
18654 (scroll_up): Likewise.
18655 (grub_virtual_screen_cls): Likewise.
18656
18657 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
18658
18659 * util/deviceiter.c (get_acceleraid_disk_name): New static
18660 function.
18661 (grub_util_iterate_devices): Handle Accelraid devices.
18662 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
18663
18664 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
18665
18666 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
18667 separator for the suggested gfxpayload string (';' collides with the
18668 parser and needs escaping).
18669
18670 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18671
18672 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
18673 Clear direction flag before jumping to OS.
18674 (grub_multiboot2_real_boot): Likewise.
18675
18676 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
18677
18678 * util/i386/pc/grub-install: Fix parsing of --disk-module
18679 option.
18680
18681 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
18682
18683 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
18684 when embedding.
18685
18686 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
18687
18688 * util/grub-mkconfig.in (package_version): New variable.
18689 Use it do display the version.
18690
18691 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
18692
18693 * kern/file.c (grub_file_open): Revert to previous check with
18694 grub_errno.
18695
18696 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18697
18698 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
18699 from help line. It's out of sync with code.
18700
18701 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
18702
18703 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
18704 entries on failed boot.
18705
18706 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
18707
18708 * kern/file.c (grub_file_open): Fix an error check.
18709
18710 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
18711
18712 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
18713 partition map couldn't be identified.
18714
18715 2009-07-23 Pavel Roskin <proski@gnu.org>
18716
18717 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
18718 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
18719 case of little endian words becomes just an optimization.
18720 Respect const modifier.
18721 (md5_final): Use code that doesn't depend on endianness.
18722
18723 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
18724 to avoid loss of upper bits if align is unsigned and shorter
18725 than addr.
18726
18727 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
18728
18729 UUID support for UFS
18730
18731 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
18732 (grub_ufs_uuid): New function.
18733 (grub_ufs_fs): add .uuid
18734
18735 2009-07-21 Pavel Roskin <proski@gnu.org>
18736
18737 * kern/dl.c (grub_dl_check_header): Make static.
18738
18739 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
18740
18741 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
18742 add drivemap for Vista. It breaks Windows 7.
18743
18744 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
18745
18746 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
18747 128 bytes
18748
18749 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18750
18751 Add BFS support
18752
18753 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
18754 (grub_fstest_SOURCES): Likewise.
18755 (pkglib_MODULES): Add befs.mod.
18756 (befs_mod_SOURCES): New variable.
18757 (befs_mod_CFLAGS): Likewise.
18758 (befs_mod_LDFLAGS): Likewise.
18759 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18760 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18761 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18762 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18763 (grub_setup_SOURCES): Likewise.
18764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18765 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18766 (grub_setup_SOURCES): Likewise.
18767 * fs/befs.c: New file.
18768 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
18769 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
18770 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
18771 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
18772 (B_KEY_INDEX_ALIGN): New declaration.
18773 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
18774 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
18775 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
18776 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
18777 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
18778 (grub_afs_mount) [MODE_BFS]: Likewise.
18779 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
18780 (grub_afs_fs): Use GRUB_AFS_FSNAME
18781 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
18782 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
18783 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
18784 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
18785
18786 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
18787
18788 * util/getroot.c (find_root_device): Add support for MacOSX.
18789 * util/hostdisk.c: Likewise.
18790
18791 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18792
18793 * font/font.c (find_glyph): Check whether a font is present to avoid
18794 segmentation fault.
18795
18796 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
18797
18798 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
18799
18800 2009-07-20 Pavel Roskin <proski@gnu.org>
18801
18802 * configure.ac: Trim excessively wordy excuses.
18803
18804 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 Add symlink, mtime and label support to AtheFS.
18807
18808 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
18809 (grub_afs_iterate_dir): Handle symlinks.
18810 (grub_afs_open): Use grub_afs_read_symlink.
18811 (grub_afs_dir): Likewise.
18812 Pass mtime.
18813 (grub_afs_label): New function.
18814 (grub_afs_fs): Add grub_afs_label.
18815 (grub_afs_read_symlink): New function.
18816
18817 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18818
18819 Fix AtheFS support.
18820
18821 * fs/afs.c: Fix comments style.
18822 (grub_afs_blockrun): Declare as packed.
18823 (grub_afs_datastream): Likewise.
18824 (grub_afs_bnode): Likewise.
18825 (grub_afs_btree): Likewise.
18826 (grub_afs_sblock): Likewise.
18827 Declare `name' as char.
18828 (grub_afs_inode): Declare as packed.
18829 Change void *vnode to grub_uint32_t unused.
18830 (grub_afs_iterate_dir): Check that key_size is positive.
18831 (grub_afs_mount): Don't read superblock twice.
18832 (grub_afs_dir): Don't free node in case of error,
18833 grub_fshelp_find_file already handles this.
18834 (grub_afs_open): Likewise.
18835
18836 2009-07-19 Pavel Roskin <proski@gnu.org>
18837
18838 * Makefile.in: Remove LIBLZO and enable_lzo.
18839 * conf/i386-pc.rmk: Remove lzo support.
18840 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
18841 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
18842 support.
18843 * kern/i386/pc/lzo1x.S: Remove.
18844 * kern/i386/pc/startup.S: Remove lzo support.
18845 * util/i386/pc/grub-mkimage.c: Likewise.
18846
18847 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
18848
18849 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
18850 * fs/xfs.c (grub_xfs_dir): Likewise.
18851 * fs/afs.c (grub_afs_dir): Likewise.
18852 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
18853 (grub_iso9660_open): Likewise.
18854 * fs/jfs.c (grub_jfs_open): Likewise.
18855 * fs/ext2.c (grub_ext2_dir): Likewise.
18856 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
18857 * script/sh/lexer.c (grub_script_yylex): Likewise.
18858
18859 2009-07-16 Pavel Roskin <proski@gnu.org>
18860
18861 * configure.ac: Never add "-c" to CFLAGS.
18862
18863 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
18864
18865 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
18866 grub_cv_cc_efiemu should be used.
18867
18868 * configure.ac: Typo fixes.
18869
18870 * kern/mm.c (grub_zalloc): New function.
18871 (grub_debug_zalloc): Likewise.
18872 * include/grub/mm.h: Declare grub_zalloc() and
18873 grub_debug_zalloc().
18874 * util/misc.c (grub_zalloc): New function.
18875 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
18876 instead of grub_malloc(), remove unneeded initializations.
18877 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
18878 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
18879 * commands/parttool.c (grub_cmd_parttool): Likewise.
18880 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
18881 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
18882 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
18883 * disk/usbms.c (grub_usbms_finddevs): Likewise.
18884 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
18885 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
18886 (grub_cmd_efiemu_pnvram): Likewise.
18887 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
18888 * fs/iso9660.c (grub_iso9660_mount): Likewise.
18889 (grub_iso9660_iterate_dir): Likewise.
18890 * fs/jfs.c (grub_jfs_opendir): Likewise.
18891 * fs/ntfs.c (list_file): Likewise.
18892 (grub_ntfs_mount): Likewise.
18893 * kern/disk.c (grub_disk_open): Likewise.
18894 * kern/dl.c (grub_dl_load_core): Likewise.
18895 * kern/elf.c (grub_elf_file): Likewise.
18896 * kern/env.c (grub_env_context_open): Likewise.
18897 (grub_env_set): Likewise.
18898 (grub_env_set_data_slot): Likewise.
18899 * kern/file.c (grub_file_open): Likewise.
18900 * kern/fs.c (grub_fs_blocklist_open): Likewise.
18901 * loader/i386/multiboot.c (grub_module): Likewise.
18902 * loader/xnu.c (grub_xnu_create_key): Likewise.
18903 (grub_xnu_create_value): Likewise.
18904 * normal/main.c (grub_normal_add_menu_entry): Likewise.
18905 (read_config_file): Likewise.
18906 * normal/menu_entry.c (make_screen): Likewise.
18907 * partmap/sun.c (sun_partition_map_iterate): Likewise.
18908 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
18909 * script/sh/script.c (grub_script_parse): Likewise.
18910 * video/bitmap.c (grub_video_bitmap_create): Likewise.
18911 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
18912 * video/readers/png.c (grub_png_output_byte): Likewise.
18913 (grub_video_reader_png): Likewise.
18914
18915 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18916
18917 Enable all targets that can be built by default
18918
18919 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
18920 grub-mkfont and grub-fstest if they can be built
18921
18922 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18923
18924 Fix hang and segmentation fault in grub-emu-usb
18925
18926 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
18927 * util/usb.c (grub_libusb_devices): likewise
18928 (grub_libusb_init): rename to ...
18929 (GRUB_MOD_INIT (libusb)):...this
18930 (grub_libusb_fini): rename to ..
18931 (GRUB_MOD_FINI (libusb)):...this
18932 * disk/usbms.c (grub_usbms_transfer): fix retry logic
18933 * include/grub/disk.h (grub_raid_init): removed, it's useless
18934 (grub_raid_fini): likewise
18935 (grub_lvm_init): likewise
18936 (grub_lvm_fini): likewise
18937 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
18938 by grub_init_all
18939
18940 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18941
18942 Fix libusb
18943
18944 * Makefile.in (LIBUSB): new macro
18945 * genmk.rb (Utility/print_tail): new method
18946 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
18947 (top level): call util.print_tail at the end.
18948
18949 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18950
18951 Make FreeBSD accept zpool.cache
18952
18953 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
18954 type is /boot/zfs/zpool.cache
18955
18956 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 Fix 64-bit efiemu
18959
18960 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
18961 correct wrong typedef
18962 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
18963
18964 2009-07-15 Pavel Roskin <proski@gnu.org>
18965
18966 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
18967 * kern/disk.c (struct grub_disk_cache): Likewise.
18968
18969 * commands/probe.c (options): Typo fix.
18970
18971 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
18972 Increase to 0x5a to accommodate FAT32. Adjust other offsets
18973 accordingly.
18974 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
18975
18976 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
18977 the end of "Error" to make the message more readable.
18978
18979 * boot/i386/pc/boot.S (kernel_segment): Remove.
18980 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
18981 for destination.
18982
18983 * boot/i386/pc/boot.S (boot_version): Remove.
18984 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
18985 Remove.
18986
18987 * include/grub/i386/pc/boot.h: Sort all offsets.
18988 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
18989 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
18990 * boot/i386/pc/boot.S: Assert location of every offset listed in
18991 include/grub/i386/pc/boot.h.
18992
18993 2009-07-13 Pavel Roskin <proski@gnu.org>
18994
18995 * include/grub/i386/coreboot/machine.h: Rename
18996 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
18997 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
18998 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
18999
19000 * kern/dl.c: Force native word size to suppress warnings when
19001 compiling grub-emu.
19002
19003 * kern/device.c (grub_device_iterate): Change struct part_ent to
19004 hold the name, not a pointer to it. Use one grub_malloc() per
19005 partition, not two. Free partition_name if grub_malloc() fails.
19006 Set ents to NULL only before grub_partition_iterate() is called.
19007
19008 2009-07-11 Bean <bean123ch@gmail.com>
19009
19010 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
19011 childname.
19012
19013 2009-07-10 Bean <bean123ch@gmail.com>
19014 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
19015
19016 * kern/ieee1275/openfw.c (grub_children_iterate)
19017 (grub_devalias_iterate): Fix size evaluation for property or path
19018 strings, which was broken since r2132.
19019
19020 2009-07-07 Pavel Roskin <proski@gnu.org>
19021
19022 * commands/search.c (search_file): Merge into ...
19023 (search_fs): ... this. Accept search type as argument.
19024 (grub_cmd_search): Pass search type to search_fs().
19025
19026 * include/grub/util/console.h: New file.
19027 * util/console.c: Use it instead of grub/machine/console.h.
19028 * util/grub-emu.c: Likewise.
19029
19030 * lib/arg.c (find_long_option): Remove.
19031 (find_long): Add `len' argument, make `s' const char *.
19032 (grub_arg_parse): Parse long options in place, not in a
19033 temporary buffer.
19034
19035 2009-07-06 Pavel Roskin <proski@gnu.org>
19036
19037 * commands/search.c (search_fs): Fix potential NULL pointer
19038 dereference.
19039
19040 * commands/search.c (search_fs): Replace QUID macro with quid_fn
19041 function pointer.
19042
19043 2009-07-06 Daniel Mierswa <impulze@impulze.org>
19044
19045 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
19046 comparison.
19047
19048 2009-07-05 Pavel Roskin <proski@gnu.org>
19049
19050 * include/grub/i386/linux.h (struct linux_kernel_params):
19051 Restore padding3, it's still needed.
19052
19053 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
19054 FreeBSD.
19055 * util/osdetect.lua: Likewise.
19056
19057 2009-07-05 Bean <bean123ch@gmail.com>
19058
19059 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
19060
19061 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
19062 (grub_lua_getenv): Likewise.
19063 (grub_lua_setenv): Likewise.
19064 (save_errno): New function.
19065 (push_result): Likewise.
19066 (grub_lua_enum_device): Likewise.
19067 (grub_lua_enum_file): Likewise.
19068 (grub_lua_file_open): Likewise.
19069 (grub_lua_file_close): Likewise.
19070 (grub_lua_file_seek): Likewise.
19071 (grub_lua_file_read): Likewise.
19072 (grub_lua_file_getline): Likewise.
19073 (grub_lua_file_getsize): Likewise.
19074 (grub_lua_file_getpos): Likewise.
19075 (grub_lua_file_eof): Likewise.
19076 (grub_lua_file_exist): Likewise.
19077 (grub_lua_add_menu): Likewise.
19078
19079 * script/lua/grub_lua.h (isupper): New inline function.
19080 (islower): Likewise.
19081 (ispunct): Likewise.
19082 (isxdigit): Likewise.
19083 (strcspn): Change to normal function.
19084 (strpbkr): New function declaration.
19085 (memchr): Likewise.
19086
19087 * script/lua/grub_main.c (scan_str): New function.
19088 (strcspn): Likewise.
19089 (strpbrk): Likewise.
19090 (memchr): Likewise.
19091
19092 * script/lua/linit.c (lualibs): Enable the string library.
19093
19094 * util/osdetect.lua: New file.
19095
19096 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
19097
19098 * include/grub/i386/linux.h (struct linux_kernel_params): Add
19099 `capabilities' member.
19100
19101 2009-07-02 Pavel Roskin <proski@gnu.org>
19102
19103 * genparttoollist.sh: Add missing newline at the end.
19104
19105 2009-07-01 Pavel Roskin <proski@gnu.org>
19106
19107 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
19108
19109 * util/hostdisk.c (open_device): Remove `const' from
19110 `sysctl_size', as sysctlbyname() can change it (in this case it
19111 doesn't actually happen).
19112
19113 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
19114 using signed long int constants.
19115
19116 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
19117 constant to avoid a warning on FreeBSD.
19118
19119 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
19120 where it's needed.
19121
19122 * Makefile.in: Install include/grub/machine symlink.
19123
19124 * Makefile.in: When installing symlinks, use "cp -fR", which
19125 works on FreeBSD and MacOSX.
19126 From Yves Blusseau <cl7m42e02@sneakemail.com>
19127
19128 * kern/dl.c (grub_dl_resolve_symbol): Make static.
19129 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
19130
19131 * util/misc.c: Move grub_reboot() and grub_halt() ...
19132 * util/grub-emu.c: ... here. Make main_env static.
19133 * include/grub/util/misc.h: Remove main_env.
19134
19135 * kern/mm.c: Use correct format to print size_t.
19136
19137 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
19138 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
19139 * kern/powerpc/dl.c: Likewise.
19140 * kern/sparc64/dl.c: Likewise.
19141 * kern/x86_64/dl.c: Likewise.
19142
19143 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19144
19145 Fix grub-emu build on sparc64-ieee1275.
19146
19147 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
19148 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
19149
19150 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19151
19152 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
19153 (grub_reboot, grub_halt): New functions.
19154
19155 * util/i386/pc/misc.c: Delete. Update all users.
19156 * util/sparc64/ieee1275/misc.c: Likewise.
19157 * util/powerpc/ieee1275/misc.c: Likewise.
19158
19159 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19160
19161 * conf/i386.rmk (setjmp_mod_SOURCES)
19162 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
19163 * conf/common.rmk (setjmp_mod_SOURCES)
19164 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
19165 to use $(target_cpu).
19166 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
19167 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
19168 * conf/powerpc-ieee1275.rmk: Likewise.
19169 * conf/sparc64-ieee1275.rmk: Likewise.
19170
19171 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
19172 $(target_cpu) for kern/$(target_cpu)/dl.c.
19173 * conf/i386-efi.rmk: Likewise.
19174 * conf/i386-ieee1275.rmk: Likewise.
19175 * conf/x86_64-efi.rmk: Likewise.
19176 * conf/i386-coreboot.rmk: Likewise.
19177 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
19178 $(target_cpu) for kern/$(target_cpu)/dl.c and for
19179 kern/$(target_cpu)/cache.S.
19180 * conf/sparc64-ieee1275.rmk: Likewise.
19181
19182 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19183
19184 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
19185 type to `grub_uint8_t', and adjust `padding9' accordingly.
19186
19187 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19188
19189 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
19190
19191 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
19192 assembly in final jump, using register constraints.
19193
19194 (grub_linux_boot): For text mode, initialize `have_vga' using
19195 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
19196
19197 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
19198 right before the final jump.
19199
19200 Set `video_mode' to 0x3.
19201
19202 Document initialization of `video_page', `video_mode' and
19203 `video_ega_bx'.
19204
19205 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19206
19207 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
19208 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
19209 and set GRUB_LINUX_FLAG_QUIET appropriately.
19210
19211 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19212
19213 Fix build on Debian / sparc.
19214
19215 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
19216
19217 2009-06-28 Pavel Roskin <proski@gnu.org>
19218
19219 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
19220 fix a warning.
19221
19222 * util/grub.d/10_linux.in: Match SUSE style initrd names.
19223
19224 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19225
19226 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
19227 `err'.
19228
19229 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19230
19231 Revert r2338.
19232
19233 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
19234 file can't be opened. grub_file_open() is already supposed to set
19235 grub_errno / grub_errmsg appropriately.
19236 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19237
19238 2009-06-27 Pavel Roskin <proski@gnu.org>
19239 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19240
19241 * include/grub/dl.h: Include grub/elf.h.
19242 (struct grub_dl): Add symtab field.
19243 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
19244 GRUB_MODULES_MACHINE_READONLY.
19245 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
19246 of the header for read-only modules.
19247 (grub_dl_unload): Free mod->symtab for read-only modules.
19248 * kern/i386/dl.c: Use mod->symtab.
19249 * kern/powerpc/dl.c: Likewise.
19250 * kern/sparc64/dl.c: Likewise.
19251 * kern/x86_64/dl.c: Likewise.
19252
19253 * conf/i386-qemu.rmk: New file.
19254 * kern/i386/qemu/startup.S: Likewise.
19255 * kern/i386/qemu/mmap.c: Likewise.
19256 * boot/i386/qemu/boot.S: Likewise.
19257 * include/grub/i386/qemu/time.h: Likewise.
19258 * include/grub/i386/qemu/serial.h: Likewise.
19259 * include/grub/i386/qemu/kernel.h: Likewise.
19260 * include/grub/i386/qemu/console.h: Likewise.
19261 * include/grub/i386/qemu/boot.h: Likewise.
19262 * include/grub/i386/qemu/init.h: Likewise.
19263 * include/grub/i386/qemu/machine.h: Likewise.
19264 * include/grub/i386/qemu/loader.h: Likewise.
19265 * include/grub/i386/qemu/memory.h: Likewise.
19266
19267 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
19268 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
19269 [qemu] (pkglib_IMAGES): Add `boot.img'.
19270 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
19271 [qemu] (boot_img_FORMAT): New variables.
19272 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
19273 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
19274 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
19275 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19276 [qemu] (kernel_img_FORMAT): New variables.
19277
19278 * configure.ac: Recognise `i386-qemu'.
19279
19280 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
19281 (for no compression).
19282 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
19283 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
19284 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
19285 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
19286 ifdefs).
19287
19288 2009-06-27 Pavel Roskin <proski@gnu.org>
19289
19290 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
19291 read.
19292 * efiemu/prepare32.c: Likewise.
19293 * efiemu/prepare64.c: Likewise.
19294
19295 2009-06-26 Pavel Roskin <proski@gnu.org>
19296
19297 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
19298 * include/grub/elf.h: Define symbols without "32" or "64" based
19299 on GRUB_TARGET_WORDSIZE.
19300 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
19301 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
19302 ELF definitions.
19303 * efiemu/loadcore64.c: Likewise.
19304 * loader/i386/bsd32.c: Likewise.
19305 * loader/i386/bsd64.c: Likewise.
19306 * kern/dl.c: Remove own ELF definitions.
19307 * util/i386/efi/grub-mkimage.c: Likewise.
19308
19309 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
19310
19311 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
19312 segment 0x0 unconditionally, because the reference generated by
19313 GAS is an absolute address.
19314
19315 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19316
19317 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
19318 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
19319
19320 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19321
19322 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
19323 indexes. Check for -f explicitly.
19324 (search_file): Improve error message.
19325 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
19326
19327 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19328
19329 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
19330 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
19331
19332 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19333
19334 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
19335 * conf/i386-ieee1275.rmk: Likewise.
19336 * conf/i386-coreboot.rmk: Likewise.
19337
19338 * kern/i386/pc/startup.S (grub_stop): Remove function.
19339 * kern/i386/ieee1275/startup.S: Likewise.
19340 * kern/i386/coreboot/startup.S: Likewise.
19341 * kern/i386/misc.S (grub_stop): New function.
19342
19343 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19344
19345 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
19346 * kern/i386/realmode.S (real_to_prot): ... to here.
19347
19348 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19349
19350 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
19351 with `kernel.img'.
19352 (kernel_elf_SOURCES): Rename to ...
19353 (kernel_img_SOURCES): ... this.
19354 (kernel_elf_HEADERS): Rename to ...
19355 (kernel_img_HEADERS): ... this. Update all users.
19356 (kernel_elf_ASFLAGS): Rename to ...
19357 (kernel_img_ASFLAGS): ... this.
19358 (kernel_elf_CFLAGS): Rename to ...
19359 (kernel_img_CFLAGS): ... this.
19360 (kernel_elf_LDFLAGS): Rename to ...
19361 (kernel_img_LDFLAGS): ... this.
19362 * conf/i386-coreboot.rmk: Likewise.
19363 * conf/powerpc-ieee1275.rmk: Likewise.
19364
19365 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
19366 with "kernel.img".
19367
19368 2009-06-21 Pavel Roskin <proski@gnu.org>
19369
19370 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
19371 to match nested functions.
19372 * loader/sparc64/ieee1275/linux.c: Likewise.
19373
19374 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
19375
19376 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19377
19378 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
19379 all i386 platforms.
19380
19381 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19382
19383 Fix asm file handling on ELF, and remove workarounds.
19384
19385 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
19386 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
19387 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
19388 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
19389
19390 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
19391
19392 Load BSD ELF modules
19393
19394 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
19395 and loader/i386/bsd64.c
19396 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
19397 (FREEBSD_MODTYPE_ELF_MODULE): New definition
19398 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
19399 (grub_freebsd_load_elfmodule32): New declaration
19400 (grub_freebsd_load_elfmoduleobj64): Likewise
19401 (grub_freebsd_load_elf_meta32): Likewise
19402 (grub_freebsd_load_elf_meta64): Likewise
19403 (grub_freebsd_add_meta): Likewise
19404 (grub_freebsd_add_meta_module): Likewise
19405 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
19406 (grub_freebsd_add_meta_module): Likewise and move module-specific
19407 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
19408 (grub_cmd_freebsd): Add elf-kernel specific parts
19409 based on grub_freebsd_add_meta_module
19410 (grub_cmd_freebsd_module): Add type parsing moved from
19411 grub_freebsd_add_meta_module
19412 (grub_cmd_freebsd_module_elf): New function
19413 (cmd_freebsd_module_elf): New variable
19414 (GRUB_MOD_INIT): Register freebsd_module_elf
19415 * loader/i386/bsd32.c: New file
19416 * loader/i386/bsd64.c: Likewise
19417 * loader/i386/bsdXX.c: Likewise
19418 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
19419 (grub_elf64_load): Likewise
19420 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
19421 All users updated
19422 (grub_elf64_load_hook_t): Likewise
19423
19424 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
19425
19426 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
19427 variable.
19428 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
19429 don't write a menu entry for recovery mode.
19430
19431 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19432
19433 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
19434 after it's no longer needed.
19435
19436 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19437
19438 * include/grub/i386/loader.h (grub_linux_prot_size)
19439 (grub_linux_tmp_addr, grub_linux_real_addr)
19440 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
19441 GRUB_MACHINE_PCBIOS.
19442 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
19443 common grub_util_info() call to ...
19444 (generate_image): ... here.
19445 Fix use of uninitialized memory, comparison of signed with
19446 unsigned integers and memory leak.
19447 Remove bogus module address message.
19448
19449 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
19452 grub_raid_register
19453 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
19454
19455 2009-06-19 Pavel Roskin <proski@gnu.org>
19456
19457 * configure.ac: Remove stray AC_MSG_CHECKING.
19458
19459 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
19460
19461 * disk/scsi.c (grub_scsi_open): use continue instead of big if
19462
19463 2009-06-18 Pavel Roskin <proski@gnu.org>
19464
19465 * conf/common.rmk: Add fs_file.mod.
19466 * disk/fs_file.c: New file.
19467 * include/grub/disk.h (enum grub_disk_dev_id): Add
19468 GRUB_DISK_DEVICE_FILE_ID.
19469
19470 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19471
19472 Fix build with Apple's toolchain. Part 2
19473
19474 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
19475 a fake start
19476
19477 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19478
19479 Fix build with Apple's toolchain. Part 1
19480
19481 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
19482 for long calls
19483 * configure.ac: remove a leftover AC_MSG_RESULT
19484 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
19485 Apple's toolchain
19486
19487 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19488
19489 Fix warnings
19490
19491 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
19492 (decomp_block): initialize ch
19493 use grub_memcpy instead of memcpy
19494
19495 2009-06-17 Pavel Roskin <proski@gnu.org>
19496
19497 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
19498 version, use declarations needed to use vga_text as the startup
19499 console.
19500
19501 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
19502 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
19503 the kernel.
19504 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
19505 and grub_at_keyboard_fini(), it's done on module load and
19506 unload.
19507
19508 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
19509
19510 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
19511 file can't be found.
19512 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19513
19514 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19515
19516 Fix newline handling
19517
19518 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
19519 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
19520 (grub_script_yylex): don't segfault on unterminated script
19521 newline terminates command and variable
19522
19523 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19524
19525 avoid double grub_adjust_range call. Bug reported by David Simner
19526
19527 * kern/disk.c (grub_disk_write): change to raw disk access before
19528 calling disk_read
19529
19530 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
19531
19532 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
19533 spaces, for the benefit of help2man.
19534 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19535
19536 2009-06-16 Pavel Roskin <proski@gnu.org>
19537
19538 * kern/i386/halt.c: Include grub/machine/init.h.
19539 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
19540
19541 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
19542
19543 * util/grub.d/30_os-prober.in: Use ${root} in the generated
19544 drivemap menuentry.
19545
19546 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
19547
19548 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
19549 `echo' command.
19550
19551 2009-06-16 Pavel Roskin <proski@gnu.org>
19552
19553 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
19554 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
19555 save %dx, we only need %dl and we never change it.
19556 * boot/i386/pc/cdboot.S: Don't set the root drive.
19557 * boot/i386/pc/pxeboot.S: Likewise.
19558 * include/grub/i386/pc/boot.h: Remove
19559 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
19560 GRUB_BOOT_MACHINE_DRIVE_CHECK.
19561 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
19562 * kern/i386/pc/init.c (make_install_device): Remove references
19563 to grub_root_drive.
19564 * kern/i386/pc/startup.S: Likewise.
19565 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
19566
19567 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 xnu_uuid command
19570
19571 * commands/xnu_uuid.c: new file
19572 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
19573 (xnu_uuid_mod_SOURCES): new variable
19574 (xnu_uuid_mod_CFLAGS): likewise
19575 (xnu_uuid_mod_LDFLAGS): likewise
19576 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19577 * conf/i386-ieee1275.rmk: likewise
19578 * conf/i386-pc.rmk: likewise
19579 * conf/powerpc-ieee1275.rmk: likewise
19580 * conf/sparc64-ieee1275.rmk: likewise
19581 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
19582
19583 2009-06-16 Pavel Roskin <proski@gnu.org>
19584
19585 * configure.ac: Avoid '==' in test command, it's not portable.
19586
19587 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19588
19589 Probe command
19590
19591 * commands/probe.c: new file
19592 * conf/common.rmk (pkglib_MODULES): add probe.mod
19593 (probe_mod_SOURCES): new variable
19594 (probe_mod_CFLAGS): likewise
19595 (probe_mod_LDFLAGS): likewise
19596 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19597 * conf/i386-ieee1275.rmk: likewise
19598 * conf/i386-pc.rmk: likewise
19599 * conf/powerpc-ieee1275.rmk: likewise
19600 * conf/sparc64-ieee1275.rmk: likewise
19601
19602 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
19603
19604 Fix handling of string like \"hello\" and "a
19605 b"
19606
19607 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
19608 (grub_script_yylex): fix parsing of quoting, escaping and newline
19609
19610 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
19611
19612 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
19613 handling
19614
19615 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
19616
19617 * util/grub-mkconfig.in: Fix parsing of --output option.
19618
19619 2009-06-12 Pavel Roskin <proski@gnu.org>
19620
19621 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
19622 genmk.rb don't need to be generated or installed.
19623
19624 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19625
19626 * commands/i386/pc/drivemap_int13h.S: add more comments
19627
19628 2009-06-11 Pavel Roskin <proski@gnu.org>
19629
19630 * Makefile.in (uninstall): Uninstall manuals.
19631
19632 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
19633 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
19634 and update-grub_lib in two places.
19635 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
19636
19637 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
19638 a compiler warning.
19639
19640 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
19641 `entry_lo' to fix variable shadowing.
19642
19643 2009-06-11 Christian Franke <franke@computer.org>
19644
19645 * kern/misc.c (__enable_execute_stack): Add missing return type
19646 to prevent gcc warning.
19647
19648 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
19649
19650 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
19651
19652 2009-06-11 Pavel Roskin <proski@gnu.org>
19653
19654 * Makefile.in: Don't rely on any scripts being executable.
19655 Always use $(SHELL) to run shell scripts.
19656
19657 * configure.ac: Always define ___main if using -nostdlib. This
19658 fixes tests on Cygwin.
19659
19660 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
19661
19662 UDF fix
19663
19664 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
19665 is in bytes and not in blocks
19666
19667 2009-06-11 Pavel Roskin <proski@gnu.org>
19668
19669 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
19670 warning.
19671
19672 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
19673
19674 * util/grub.d/30_os-prober.in: Fix a comment. Source
19675 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
19676 to set the root device. Place drivemap command in the generated
19677 chain entry.
19678
19679 2009-06-11 Pavel Roskin <proski@gnu.org>
19680
19681 * configure.ac: Remove host_m32. Issues with 64-bit utilities
19682 have long been resolved.
19683
19684 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
19685
19686 * util/grub.d/10_linux.in: Capitalise "Linux".
19687
19688 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
19689
19690 2009-06-11 Pavel Roskin <proski@gnu.org>
19691
19692 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
19693 fix a gcc warning and ensure that the function won't ever exit.
19694
19695 * kern/i386/ieee1275/init.c: Add missing prototype for
19696 grub_stop_floppy().
19697
19698 * loader/ieee1275/multiboot2.c [__i386__]: Include
19699 grub/cpu/multiboot.h.
19700
19701 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
19702 casts to short - they are not portable and cause warnings. Fix
19703 use of uninitialized values in input_buf. Use ARRAY_SIZE.
19704
19705 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
19706
19707 Drivemap fixes
19708
19709 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
19710 new function
19711 (grub_get_root_biosnumber_saved): new variable
19712 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
19713 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
19714 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
19715 %dx after the call if necessary
19716 * conf/common.rmk (pkglib_MODULES): remove boot.mod
19717 (boot_mod_SOURCES): remove
19718 (boot_mod_CFLAGS): remove
19719 (boot_mod_LDFLAGS): remove
19720 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
19721 (boot_mod_SOURCES): new variable
19722 (boot_mod_CFLAGS): likewise
19723 (boot_mod_LDFLAGS): likewise
19724 * conf/i386-efi.rmk: likewise
19725 * conf/i386-ieee1275.rmk: likewise
19726 * conf/i386-pc.rmk: likewise
19727 * conf/powerpc-ieee1275.rmk: likewise
19728 * conf/sparc64-ieee1275.rmk: likewise
19729 * conf/x86_64-efi.rmk: likewise
19730 * include/grub/i386/pc/biosnum.h: new file
19731 * lib/i386/pc/biosnum.c: likewise
19732 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
19733 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
19734 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
19735
19736 2009-06-10 Pavel Roskin <proski@gnu.org>
19737
19738 * io/gzio.c (test_header): Don't reuse one buffer for all data.
19739 Use separate variables. Read only the file size at the end, but
19740 not the checksum that we don't use.
19741
19742 * kern/file.c (grub_file_read): Use void pointer for the buffer.
19743 Adjust all callers.
19744
19745 * kern/ieee1275/openfw.c: Remove libc includes.
19746 * kern/ieee1275/cmain.c: Likewise.
19747 * include/grub/ieee1275/ieee1275.h: Likewise.
19748
19749 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
19750 compiler warnings.
19751
19752 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
19753
19754 * Makefile.in: Remove all trailing whitespace.
19755 * conf/i386-pc.rmk: Likewise.
19756 * conf/powerpc-ieee1275.rmk: Likewise.
19757 * conf/sparc64-ieee1275.rmk: Likewise.
19758 * docs/grub.texi: Likewise.
19759 * docs/texinfo.tex: Likewise.
19760 * disk/fs_uuid.c: Likewise.
19761 * disk/lvm.c: Likewise.
19762 * disk/scsi.c: Likewise.
19763 * disk/ata.c: Likewise.
19764 * disk/ieee1275/ofdisk.c: Likewise.
19765 * disk/i386/pc/biosdisk.c: Likewise.
19766 * disk/host.c: Likewise.
19767 * disk/raid.c: Likewise.
19768 * disk/efi/efidisk.c: Likewise.
19769 * disk/usbms.c: Likewise.
19770 * disk/memdisk.c: Likewise.
19771 * disk/loopback.c: Likewise.
19772 * kern/powerpc/dl.c: Likewise.
19773 * kern/device.c: Likewise.
19774 * kern/dl.c: Likewise.
19775 * kern/sparc64/dl.c: Likewise.
19776 * kern/ieee1275/ieee1275.c: Likewise.
19777 * kern/term.c: Likewise.
19778 * kern/fs.c: Likewise.
19779 * kern/i386/dl.c: Likewise.
19780 * kern/i386/pc/startup.S: Likewise.
19781 * kern/i386/pc/init.c: Likewise.
19782 * kern/i386/pc/mmap.c: Likewise.
19783 * kern/i386/pc/lzo1x.S: Likewise.
19784 * kern/i386/ieee1275/init.c: Likewise.
19785 * kern/i386/realmode.S: Likewise.
19786 * kern/i386/tsc.c: Likewise.
19787 * kern/partition.c: Likewise.
19788 * kern/corecmd.c: Likewise.
19789 * kern/file.c: Likewise.
19790 * kern/efi/efi.c: Likewise.
19791 * kern/efi/init.c: Likewise.
19792 * kern/efi/mm.c: Likewise.
19793 * kern/main.c: Likewise.
19794 * kern/err.c: Likewise.
19795 * kern/env.c: Likewise.
19796 * kern/disk.c: Likewise.
19797 * kern/generic/millisleep.c: Likewise.
19798 * kern/generic/rtc_get_time_ms.c: Likewise.
19799 * kern/misc.c: Likewise.
19800 * kern/parser.c: Likewise.
19801 * genmk.rb: Likewise.
19802 * configure.ac: Likewise.
19803 * boot/i386/pc/diskboot.S: Likewise.
19804 * boot/i386/pc/pxeboot.S: Likewise.
19805 * boot/i386/pc/boot.S: Likewise.
19806 * boot/i386/pc/lnxboot.S: Likewise.
19807 * boot/i386/pc/cdboot.S: Likewise.
19808 * parttool/pcpart.c: Likewise.
19809 * video/readers/tga.c: Likewise.
19810 * video/video.c: Likewise.
19811 * video/bitmap.c: Likewise.
19812 * lib/envblk.c: Likewise.
19813 * lib/i386/setjmp.S: Likewise.
19814 * fs/xfs.c: Likewise.
19815 * fs/afs.c: Likewise.
19816 * fs/fat.c: Likewise.
19817 * fs/ntfs.c: Likewise.
19818 * fs/udf.c: Likewise.
19819 * fs/affs.c: Likewise.
19820 * fs/iso9660.c: Likewise.
19821 * fs/hfs.c: Likewise.
19822 * fs/fshelp.c: Likewise.
19823 * fs/ext2.c: Likewise.
19824 * fs/jfs.c: Likewise.
19825 * fs/reiserfs.c: Likewise.
19826 * fs/hfsplus.c: Likewise.
19827 * fs/minix.c: Likewise.
19828 * fs/cpio.c: Likewise.
19829 * fs/sfs.c: Likewise.
19830 * fs/ufs.c: Likewise.
19831 * efiemu/prepare.c: Likewise.
19832 * efiemu/loadcore_common.c: Likewise.
19833 * efiemu/runtime/efiemu.sh: Likewise.
19834 * efiemu/runtime/efiemu.S: Likewise.
19835 * efiemu/runtime/efiemu.c: Likewise.
19836 * efiemu/pnvram.c: Likewise.
19837 * efiemu/main.c: Likewise.
19838 * efiemu/i386/pc/cfgtables.c: Likewise.
19839 * efiemu/i386/loadcore64.c: Likewise.
19840 * efiemu/i386/loadcore32.c: Likewise.
19841 * efiemu/loadcore.c: Likewise.
19842 * efiemu/symbols.c: Likewise.
19843 * efiemu/mm.c: Likewise.
19844 * include/grub/autoefi.h: Likewise.
19845 * include/grub/datetime.h: Likewise.
19846 * include/grub/term.h: Likewise.
19847 * include/grub/hfs.h: Likewise.
19848 * include/grub/lvm.h: Likewise.
19849 * include/grub/i386/tsc.h: Likewise.
19850 * include/grub/i386/linux.h: Likewise.
19851 * include/grub/i386/xnu.h: Likewise.
19852 * include/grub/i386/efiemu.h: Likewise.
19853 * include/grub/i386/pc/biosdisk.h: Likewise.
19854 * include/grub/i386/pc/memory.h: Likewise.
19855 * include/grub/i386/pc/vbe.h: Likewise.
19856 * include/grub/parttool.h: Likewise.
19857 * include/grub/video.h: Likewise.
19858 * include/grub/memory.h: Likewise.
19859 * include/grub/fs.h: Likewise.
19860 * include/grub/partition.h: Likewise.
19861 * include/grub/xnu.h: Likewise.
19862 * include/grub/efi/api.h: Likewise.
19863 * include/grub/efi/pe32.h: Likewise.
19864 * include/grub/efi/memory.h: Likewise.
19865 * include/grub/multiboot.h: Likewise.
19866 * include/grub/usbdesc.h: Likewise.
19867 * include/grub/multiboot2.h: Likewise.
19868 * include/grub/acpi.h: Likewise.
19869 * include/grub/efiemu/efiemu.h: Likewise.
19870 * include/grub/disk.h: Likewise.
19871 * include/grub/ieee1275/ieee1275.h: Likewise.
19872 * include/grub/net.h: Likewise.
19873 * include/grub/machoload.h: Likewise.
19874 * include/grub/macho.h: Likewise.
19875 * include/multiboot.h: Likewise.
19876 * genmoddep.awk: Likewise.
19877 * normal/main.c: Likewise.
19878 * normal/menu_entry.c: Likewise.
19879 * normal/menu_viewer.c: Likewise.
19880 * normal/completion.c: Likewise.
19881 * normal/cmdline.c: Likewise.
19882 * normal/misc.c: Likewise.
19883 * normal/datetime.c: Likewise.
19884 * bus/usb/usbtrans.c: Likewise.
19885 * bus/usb/ohci.c: Likewise.
19886 * bus/usb/uhci.c: Likewise.
19887 * bus/usb/usb.c: Likewise.
19888 * mmap/efi/mmap.c: Likewise.
19889 * mmap/i386/pc/mmap_helper.S: Likewise.
19890 * mmap/i386/pc/mmap.c: Likewise.
19891 * mmap/i386/mmap.c: Likewise.
19892 * mmap/i386/uppermem.c: Likewise.
19893 * mmap/mmap.c: Likewise.
19894 * commands/acpi.c: Likewise.
19895 * commands/echo.c: Likewise.
19896 * commands/blocklist.c: Likewise.
19897 * commands/loadenv.c: Likewise.
19898 * commands/usbtest.c: Likewise.
19899 * commands/boot.c: Likewise.
19900 * commands/parttool.c: Likewise.
19901 * commands/search.c: Likewise.
19902 * commands/cat.c: Likewise.
19903 * commands/i386/pc/play.c: Likewise.
19904 * commands/i386/pc/drivemap.c: Likewise.
19905 * commands/i386/pc/vbeinfo.c: Likewise.
19906 * commands/i386/pc/acpi.c: Likewise.
19907 * commands/i386/pc/vbetest.c: Likewise.
19908 * commands/ls.c: Likewise.
19909 * commands/cmp.c: Likewise.
19910 * commands/test.c: Likewise.
19911 * commands/efi/acpi.c: Likewise.
19912 * commands/gptsync.c: Likewise.
19913 * commands/help.c: Likewise.
19914 * partmap/amiga.c: Likewise.
19915 * partmap/apple.c: Likewise.
19916 * partmap/acorn.c: Likewise.
19917 * partmap/pc.c: Likewise.
19918 * partmap/sun.c: Likewise.
19919 * partmap/gpt.c: Likewise.
19920 * script/sh/lexer.c: Likewise.
19921 * script/sh/function.c: Likewise.
19922 * font/font.c: Likewise.
19923 * font/font_cmd.c: Likewise.
19924 * loader/powerpc/ieee1275/linux.c: Likewise.
19925 * loader/efi/chainloader.c: Likewise.
19926 * loader/multiboot_loader.c: Likewise.
19927 * loader/macho.c: Likewise.
19928 * loader/i386/multiboot.c: Likewise.
19929 * loader/i386/linux.c: Likewise.
19930 * loader/i386/pc/linux.c: Likewise.
19931 * loader/i386/pc/multiboot2.c: Likewise.
19932 * loader/i386/pc/chainloader.c: Likewise.
19933 * loader/i386/pc/xnu.c: Likewise.
19934 * loader/i386/bsd_trampoline.S: Likewise.
19935 * loader/i386/efi/linux.c: Likewise.
19936 * loader/i386/multiboot_elfxx.c: Likewise.
19937 * loader/i386/bsd_helper.S: Likewise.
19938 * loader/i386/bsd.c: Likewise.
19939 * loader/i386/linux_trampoline.S: Likewise.
19940 * loader/i386/xnu_helper.S: Likewise.
19941 * loader/i386/xnu.c: Likewise.
19942 * loader/i386/bsd_pagetable.c: Likewise.
19943 * loader/i386/multiboot_helper.S: Likewise.
19944 * loader/xnu.c: Likewise.
19945 * loader/xnu_resume.c: Likewise.
19946 * io/gzio.c: Likewise.
19947 * term/efi/console.c: Likewise.
19948 * term/terminfo.c: Likewise.
19949 * term/ieee1275/ofconsole.c: Likewise.
19950 * term/i386/pc/serial.c: Likewise.
19951 * term/i386/pc/vesafb.c: Likewise.
19952 * term/i386/pc/vga.c: Likewise.
19953 * term/usb_keyboard.c: Likewise.
19954 * term/gfxterm.c: Likewise.
19955 * aclocal.m4: Likewise.
19956 * util/lvm.c: Likewise.
19957 * util/grub.d/30_os-prober.in: Likewise.
19958 * util/grub.d/10_hurd.in: Likewise.
19959 * util/console.c: Likewise.
19960 * util/grub-macho2img.c: Likewise.
19961 * util/grub-probe.c: Likewise.
19962 * util/hostfs.c: Likewise.
19963 * util/i386/pc/grub-mkimage.c: Likewise.
19964 * util/i386/pc/grub-setup.c: Likewise.
19965 * util/i386/efi/grub-mkimage.c: Likewise.
19966 * util/grub-mkconfig.in: Likewise.
19967 * util/raid.c: Likewise.
19968 * util/resolve.c: Likewise.
19969 * util/grub-mkdevicemap.c: Likewise.
19970 * util/grub-emu.c: Likewise.
19971 * util/getroot.c: Likewise.
19972 * util/hostdisk.c: Likewise.
19973 * util/usb.c: Likewise.
19974 * util/grub-editenv.c: Likewise.
19975 * util/misc.c: Likewise.
19976
19977 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
19978
19979 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
19980 `genparttoollist.sh'.
19981 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
19982 Add `*.sh' to the list find searches for and change `mdate.sh'
19983 to `mdate-sh'.
19984
19985 2009-06-10 Pavel Roskin <proski@gnu.org>
19986
19987 * include/grub/multiboot2.h: Provide compatibility defines for
19988 multiboot2.h.
19989 * include/multiboot2.h: Include stdint.h only if needed, using
19990 angle brackets.
19991 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
19992 grub/multiboot2.h.
19993 * loader/ieee1275/multiboot2.c: Likewise.
19994 * loader/multiboot2.c: Likewise.
19995 * loader/multiboot_loader.c: Likewise.
19996
19997 * configure.ac: Use -nostdlib when probing for the target. It
19998 should not be required to have libc for the target.
19999
20000 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
20001 they fail without libc headers for the target.
20002 * include/grub/powerpc/libgcc.h: Use weak attribute for all
20003 exports.
20004 * include/grub/sparc64/libgcc.h: Likewise. Don't use
20005 preprocessor conditionals.
20006
20007 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
20008 build system doesn't need to be aware of the tar.c internals.
20009
20010 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
20011
20012 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
20013
20014 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
20015
20016 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
20017 disk limit to 26 for IDE, Virtio, Xen and SCSI.
20018
20019 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
20020
20021 * util/i386/pc/grub-install.in: Change the error message if UUIDs
20022 aren't available if ata.mod gets used.
20023
20024 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
20025
20026 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
20027 initialising controller.
20028 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20029
20030 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20031
20032 * util/i386/pc/grub-install.in: Add a parameter --disk-module
20033 to choose between ata and biosdisk module on i386-pc.
20034
20035 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
20036
20037 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
20038 Subclass and Programming Interface fields in terms of the 3 byte
20039 Class Code register.
20040 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20041
20042 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
20043 interface is OHCI. Add grub_dprintf for symmetry with
20044 bus/usb/uhci.c.
20045 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
20046 interface is UHCI. Add interf variable for programming
20047 interface. Print interface with class/subclass.
20048
20049 * bus/usb/ohci.c: Set interf with correct field.
20050
20051 * bus/usb/uhci.c: Remove unneeded doubled lines.
20052 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
20053 Remove whitespace inside comment.
20054
20055 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
20056
20057 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
20058 as fallback an equivalent option without depth.
20059
20060 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 Not fail if unable to retrieve C/H/S on LBA disks
20063
20064 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
20065 if unable to retrieve C/H/S on LBA disks
20066
20067 2009-06-08 Pavel Roskin <proski@gnu.org>
20068
20069 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
20070 about aliasing.
20071
20072 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20073
20074 * Makefile.in (uninstall): Remove all $lib_DATA files.
20075
20076 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20077
20078 Bugfix: install on partitionless device
20079
20080 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
20081 is a whole disk
20082
20083 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20084
20085 * Makefile.in (uninstall): Remove all $include_DATA files.
20086
20087 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20088
20089 * commands/true.c: New file. Implement the true and false commands.
20090 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
20091 (true_mod_SOURCES): New variable.
20092 (true_mod_CFLAGS): Likewise.
20093 (true_mod_LDFLAGS): Likewise.
20094
20095 2009-06-05 Colin D Bennett <colin@gibibit.com>
20096
20097 Optimized font character lookup using binary search instead of linear
20098 search. Fonts now are required to have the character index ordered by
20099 code point.
20100
20101 * font/font.c (load_font_index): Verify that fonts have ordered
20102 character indices.
20103 (find_glyph): Use binary search instead of linear search to find a
20104 character in a font.
20105
20106 2009-06-05 Michael Scherer <misc@mandriva.org>
20107
20108 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
20109 uses case sensitive btree.
20110 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
20111 only for case insensitive filesystems.
20112
20113 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
20114
20115 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
20116 * conf/common.rmk (search_mod_CFLAGS): likewise
20117
20118 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20119
20120 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
20121 compensate a compiler bug
20122
20123 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20124
20125 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
20126 instead of '\b'
20127
20128 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20129
20130 Definitions for creating asm symbols with Apple's CC
20131
20132 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
20133 [APPLE_CC] (VARIABLE): likewise
20134
20135 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20136
20137 Disable lnxboot.img when compiled
20138 with Apple's CC
20139
20140 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
20141 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
20142 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
20143 [! APPLE_CC] (CODE_LENG): skip
20144 [! APPLE_CC] (setup_sects): likewise
20145 [! APPLE_CC]: skip filling
20146
20147 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20148
20149 Address in trampolines based on 32-bit registers when compiled
20150 with Apple's CC
20151
20152 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
20153 for addresses
20154 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
20155
20156 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20157
20158 Avoid aliases when compiling with Apple's CC for PCBIOS machine
20159
20160 * kern/misc.c [APPLE_CC] (memcpy): new function
20161 [APPLE_CC] (memmove): likewise
20162 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
20163 (memcpy): define alias conditionally on !APPLE_CC
20164 (memset): likewise
20165 (abort): likewise
20166 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
20167 APPLE_CC are defined
20168 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
20169 (grub_assert_fail): make prototype conditional
20170
20171 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20172
20173 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
20174
20175 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
20176 grub-macho2img
20177 (CLEANFILES): add grub-macho2img
20178 (grub_macho2img_SOURCES): new variable
20179 * kern/i386/pc/startup.S (bss_start): new variable
20180 (bss_end): likewise
20181 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
20182 * util/grub-macho2img.c: new file
20183
20184 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20185
20186 Use objconv when compiling with Apple's CC
20187
20188 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
20189 (efiemu64.o): likewise
20190 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
20191 when compiling with Apple's CC
20192 (efiemu64_s.o): likewise
20193 * configure.ac: check for objconv when compiling with Apple's CC
20194 * genmk.rb: use objconv for modules when compiled with Apple's CC
20195
20196 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20197
20198 Define segment as well as section when compiling with
20199 Apple's CC
20200
20201 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
20202 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
20203 (efiemu_convert_pointer): likewise
20204 (efiemu_set_virtual_address_map): likewise
20205 (efiemu_convert_pointer): likewise
20206 (efiemu_getcrc32): likewise
20207 (init_crc32_table): likewise
20208 (reflect): likewise
20209 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
20210 (GRUB_MOD_DEP): likewise
20211
20212 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20213
20214 Allow a compilation without -mcmodel=large
20215
20216 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
20217 when compiled without -mcmodel=large
20218 (filter_memory_map): remove memory post 4 GiB when compiled
20219 without -mcmodel=large
20220 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
20221 TARGET_CFLAGS when -mcmodel=large isn't supported
20222
20223 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20224
20225 Remove nested functions in efiemu core
20226
20227 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
20228
20229 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20230
20231 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
20232
20233 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
20234 temporary storage
20235 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
20236 using Apple's CC
20237 (grub_cpu_is_tsc_supported): likewise
20238 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
20239
20240 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20241
20242 Absolute addressing through constant with Apple's cc
20243
20244 * kern/i386/pc/startup.S: Define necessary constants
20245 and address through it when using ABS with Apple's CC
20246 * boot/i386/pc/diskboot.S: likewise
20247 * boot/i386/pc/boot.S: likewise
20248 * boot/i386/pc/lnxboot.S: likewise
20249 * boot/i386/pc/cdboot.S: likewise
20250 * mmap/i386/pc/mmap_helper.S: likewise
20251 * commands/i386/pc/drivemap_int13h.S: likewise
20252
20253 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20254
20255 Check if compiler is apple cc
20256
20257 * Makefile.in (ASFLAGS): new variable
20258 (TARGET_ASFLAGS): likewise
20259 (TARGET_MODULE_FORMAT): likewise
20260 (TARGET_APPLE_CC): likewise
20261 (OBJCONV): likewise
20262 (TARGET_IMG_CFLAGS): likewise
20263 (TARGET_CPPFLAGS): add includedir
20264 * configure.ac: call grub_apple_cc and grub_apple_target_cc
20265 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
20266 Check for linker script only if compiler isn't Apple's CC
20267 (TARGET_MODULE_FORMAT): set
20268 (TARGET_APPLE_CC): likewise
20269 (TARGET_ASFLAGS): likewise
20270 (ASFLAGS): likewise
20271 Check for objcopy only if compiler isn't Apple's CC
20272 Check for BSS symbol only if compiler isn't Apple's CC
20273 * genmk.rb: adapt nm options if we use Apple's utils
20274 * aclocal.m4 (grub_apple_cc): new test
20275 (grub_apple_target_cc): likewise
20276
20277 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20278
20279 Simplify sed expressions and improve awk
20280
20281 * Makefile.in (install-local): simplify sed expression
20282 * gencmdlist.sh: likewise
20283 * genmoddep.awk: avoid adding module as a dependency of itself
20284
20285 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20286
20287 Add missing start symbols
20288
20289 * boot/i386/pc/boot.S: add start
20290 * boot/i386/pc/pxeboot.S: likewise
20291
20292 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20293
20294 Fix wrong assumptions with grub-mkimage on EFI
20295
20296 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
20297 (relocate_addresses): consider both r_addend and value at offset
20298 (make_mods_section): zerofill modinfo and header
20299 (convert_elf): write prefix here
20300
20301 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20302
20303 Use .asciz instead of .string
20304
20305 * i386/pc/diskboot.S: use .asciz instead of .string
20306 * i386/pc/boot.S: likewise
20307 * include/grub/dl.h (GRUB_MOD_DEP): likewise
20308 (GRUB_MOD_NAME): likewise
20309
20310 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20311
20312 gfxpayload support
20313
20314 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
20315 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
20316 (grub_video_setup): remove
20317 (grub_video_set_mode): new prototype
20318 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
20319 (vid_mode): remove
20320 (linux_vesafb_res): compile only on PCBIOS
20321 (grub_linux_boot): support gfxpayload
20322 * loader/i386/pc/xnu.c (video_hook): new function
20323 (grub_xnu_set_video): support gfxpayload
20324 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
20325 (DEFAULT_VIDEO_HEIGHT): likewise
20326 (DEFAULT_VIDEO_FLAGS): likewise
20327 (DEFAULT_VIDEO_MODE): new definition
20328 (video_hook): new function
20329 (grub_gfxterm_init): use grub_video_set_mode
20330 * util/grub.d/30_os-prober.in: remove explicit modesetting before
20331 loading xnu
20332 * video/video.c (grub_video_setup): removed
20333 (grub_video_set_mode): new function based on grub_gfxterm_init and
20334 grub_video_setup
20335
20336 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20337
20338 Avoid calling biosdisk in drivemap
20339
20340 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
20341 (revparse_biosdisk): likewise
20342 (list_mappings): derive name from id directly
20343 (grub_cmd_drivemap): use tryparse_diskstring
20344
20345 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20346
20347 Script fixes
20348
20349 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
20350 (grub_lexer_param): add tokenonhold
20351 (grub_script_create_cmdline): remove cmdline. All callers updated
20352 (grub_script_function_create): make functionname
20353 grub_script_arg. All callers updated
20354 (grub_script_execute_argument_to_string): new prototype
20355 * kern/parser.c (state_transitions): reorder
20356 (grub_parser_cmdline_state): fix a bug and make more compact
20357 * script/sh/execute.c (grub_script_execute_argument_to_string):
20358 make global
20359 (grub_script_execute_cmdline): use new format
20360 * script/sh/function.c (grub_script_function_create): make functionname
20361 grub_script_arg. All callers updated
20362 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
20363 (grub_script_yylex): remove
20364 (grub_script_yylex2): renamed to ...
20365 (grub_script_yylex): ...renamed
20366 parse the expressions like a${b}c
20367 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
20368 (GRUB_PARSER_TOKEN_VAR): remove
20369 (GRUB_PARSER_TOKEN_NAME): likewise
20370 ("if"): declare as typeless
20371 ("while"): likewise
20372 ("function"): likewise
20373 ("else"): likewise
20374 ("then"): likewise
20375 ("fi"): likewise
20376 (text): remove
20377 (argument): likewise
20378 (script): accept empty scripts and make exit on error
20379 (arguments): use GRUB_PARSER_TOKEN_ARG
20380 (function): likewise
20381 (command): move error handling to script
20382 (menuentry): move grub_script_lexer_ref before
20383 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
20384 argument. All callers updated
20385
20386 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20387
20388 Prevent GRUB from probing floppies during boot.
20389
20390 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
20391 * commands/search.c (options): Add --no-floppy.
20392 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
20393 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
20394 --no-floppy when searching for UUIDs.
20395
20396 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20397
20398 Simplify the code duplication in commands/search.c.
20399
20400 * commands/search.c (search_label, search_fs_uuid): Merge into ...
20401 (search_fs): ... this. Update all users.
20402
20403 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
20404
20405 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
20406
20407 2009-05-28 Pavel Roskin <proski@gnu.org>
20408
20409 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
20410 Remove the original symlink explicitly.
20411
20412 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
20413 just one slash. That's how grub_fshelp_find_file() does it.
20414
20415 2009-05-26 Pavel Roskin <proski@gnu.org>
20416
20417 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
20418 to `str'.
20419
20420 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
20421 possibly unused.
20422
20423 2009-05-25 Christian Franke <franke@computer.org>
20424
20425 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
20426 register.
20427 (grub_atapi_identify): Add wait after drive select.
20428 (grub_ata_identify): Do more strict status register check before
20429 calling grub_atapi_identify (). Suppress error message if status
20430 register is 0x00 after command failure. Add status register
20431 check after PIO read to avoid bogus identify due to stuck DRQ.
20432 Thanks to Pavel Roskin for testing.
20433 (grub_device_initialize): Remove unsafe status register check.
20434 Thanks to 'phcoder' for problem report and patch.
20435 Prevent sign extension in debug message.
20436
20437 2009-05-23 Colin D Bennett <colin@gibibit.com>
20438
20439 Cleaned up `include/grub/normal.h'. Grouped prototypes by
20440 definition file, and functions defined in `normal/menu.c' have had
20441 their prototypes moved to `include/grub/menu.h' for consistency.
20442
20443 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
20444 from normal.h.
20445 (grub_menu_get_entry): Likewise.
20446 (grub_menu_get_timeout): Likewise.
20447 (grub_menu_set_timeout): Likewise.
20448 (grub_menu_execute_entry): Likewise.
20449 (grub_menu_execute_with_fallback): Likewise.
20450 (grub_menu_entry_run): Likewise.
20451
20452 * include/grub/normal.h: Re-ordered and grouped function
20453 prototypes by file that the function is defined in.
20454 (grub_menu_execute_callback): Removed; moved to menu.h.
20455 (grub_menu_get_entry): Likewise.
20456 (grub_menu_get_timeout): Likewise.
20457 (grub_menu_set_timeout): Likewise.
20458 (grub_menu_execute_entry): Likewise.
20459 (grub_menu_execute_with_fallback): Likewise.
20460 (grub_menu_entry_run): Likewise.
20461 (grub_menu_addentry): Renamed from this ...
20462 (grub_normal_add_menu_entry): ... to this.
20463
20464 * normal/main.c (grub_menu_addentry): Renamed from this ...
20465 (grub_normal_add_menu_entry): ... to this.
20466
20467 * script/sh/execute.c (grub_script_execute_menuentry): Update
20468 reference to renamed grub_menu_addentry function.
20469
20470 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
20471
20472 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
20473
20474 2009-05-22 Pavel Roskin <proski@gnu.org>
20475
20476 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
20477 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
20478 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
20479 compiling for the i386 targets, but not for the utilities.
20480
20481 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
20482 to grub_uint8_t.
20483 (grub_root_drive): Likewise.
20484 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
20485 remove alignment.
20486 (grub_root_drive): Change size to byte.
20487 (grub_start_addr): Remove.
20488 (grub_end_addr): Likewise.
20489 (grub_apm_bios_info): Likewise.
20490
20491 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
20492
20493 * normal/i386: Remove.
20494 * normal/powerpc: Likewise.
20495 * normal/sparc64: Likewise.
20496 * normal/x86_64: Likewise.
20497
20498 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
20499
20500 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
20501 * loader/i386/linux_trampoline.S: Fix indentation
20502 * loader/i386/xnu_helper.S: Likewise
20503
20504 2009-05-18 Colin D Bennett <colin@gibibit.com>
20505
20506 Display error messages when parsing a Lua statement fails.
20507 Previously, executing a syntactically invalid statement like
20508 ")foo" or "bar;" would silently fail.
20509
20510 * script/lua/grub_main.c (handle_lua_error): New function.
20511 (grub_lua_parse_line): Improved reporting of Lua parser and
20512 execution errors.
20513
20514 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20515
20516 Remove -Werror which causes build to fail on some systems
20517
20518 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
20519 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
20520 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
20521
20522 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20523
20524 trampoline for linux on 64-bit platform
20525
20526 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
20527 loader/i386/efi/linux_trampoline.S
20528 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
20529 declaration
20530 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
20531 here
20532 * loader/i386/linux_trampoline.S: moved here
20533 * loader/i386/efi/linux.c (allocate_pages): reserve space for
20534 trampoline
20535 (jumpvector): removed
20536 (grub_linux_trampoline_start): new declaration
20537 (grub_linux_trampoline_end): likewise
20538 (grub_linux_boot): use trampoline when on 64-bit platform
20539 * loader/i386/linux.c: likewise
20540
20541 2009-05-16 Pavel Roskin <proski@gnu.org>
20542
20543 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
20544 const to avoid a warning.
20545 (grub_lua_setenv): Likewise.
20546 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
20547 lmsg to fix a warning.
20548
20549 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
20550
20551 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
20552 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20553 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
20554 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20555 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20556 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20557 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20558 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20559
20560 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
20561
20562 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
20563
20564 2009-05-16 Bean <bean123ch@gmail.com>
20565
20566 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
20567 (lua_mod_SOURCES): New variable.
20568 (lua_mod_CFLAGS): Likewise.
20569 (lua_mod_LDFLAGS): Likewise.
20570
20571 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
20572 (setjmp_mod_SOURCES): New variable.
20573 (setjmp_mod_CFLAGS): Likewise.
20574 (setjmp_LDFLAGS): Likewise.
20575
20576 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
20577 (setjmp_mod_SOURCES): New variable.
20578 (setjmp_mod_CFLAGS): Likewise.
20579 (setjmp_LDFLAGS): Likewise.
20580
20581 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20582 (setjmp_mod_SOURCES): New variable.
20583 (setjmp_mod_CFLAGS): Likewise.
20584 (setjmp_LDFLAGS): Likewise.
20585
20586 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20587 (setjmp_mod_SOURCES): New variable.
20588 (setjmp_mod_CFLAGS): Likewise.
20589 (setjmp_LDFLAGS): Likewise.
20590
20591 * normal/i386/setjmp.S: Moved from here ...
20592 * lib/i386/setjmp.S: ... Moved here
20593 * normal/x86_64/setjmp.S: Moved from here ...
20594 * lib/x86_64/setjmp.S: ... Moved here
20595 * normal/powerpc/setjmp.S: Moved from here ...
20596 * lib/powerpc/setjmp.S: ... Moved here
20597 * normal/sparc64/setjmp.S: Moved from here ...
20598 * lib/sparc64/setjmp.S: ... Moved here
20599
20600 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
20601 returns_twice in mingw.
20602
20603 * script/lua/grub_lib.c: New file.
20604 * script/lua/grub_lib.h: Likewise.
20605 * script/lua/grub_lua.h: Likewise.
20606 * script/lua/grub_main.c: Likewise.
20607 * script/lua/lapi.c: Likewise.
20608 * script/lua/lapi.h: Likewise.
20609 * script/lua/lauxlib.c: Likewise.
20610 * script/lua/lauxlib.h: Likewise.
20611 * script/lua/lbaselib.c: Likewise.
20612 * script/lua/lcode.c: Likewise.
20613 * script/lua/lcode.h: Likewise.
20614 * script/lua/ldblib.c: Likewise.
20615 * script/lua/ldebug.c: Likewise.
20616 * script/lua/ldebug.h: Likewise.
20617 * script/lua/ldo.c: Likewise.
20618 * script/lua/ldo.h: Likewise.
20619 * script/lua/ldump.c: Likewise.
20620 * script/lua/lfunc.c: Likewise.
20621 * script/lua/lfunc.h: Likewise.
20622 * script/lua/lgc.c: Likewise.
20623 * script/lua/lgc.h: Likewise.
20624 * script/lua/linit.c: Likewise.
20625 * script/lua/liolib.c: Likewise.
20626 * script/lua/llex.c: Likewise.
20627 * script/lua/llex.h: Likewise.
20628 * script/lua/llimits.h: Likewise.
20629 * script/lua/lmathlib.c: Likewise.
20630 * script/lua/lmem.c: Likewise.
20631 * script/lua/lmem.h: Likewise.
20632 * script/lua/loadlib.c: Likewise.
20633 * script/lua/lobject.c: Likewise.
20634 * script/lua/lobject.h: Likewise.
20635 * script/lua/lopcodes.c: Likewise.
20636 * script/lua/lopcodes.h: Likewise.
20637 * script/lua/loslib.c: Likewise.
20638 * script/lua/lparser.c: Likewise.
20639 * script/lua/lparser.h: Likewise.
20640 * script/lua/lstate.c: Likewise.
20641 * script/lua/lstate.h: Likewise.
20642 * script/lua/lstring.c: Likewise.
20643 * script/lua/lstring.h: Likewise.
20644 * script/lua/lstrlib.c: Likewise.
20645 * script/lua/ltable.c: Likewise.
20646 * script/lua/ltable.h: Likewise.
20647 * script/lua/ltablib.c: Likewise.
20648 * script/lua/ltm.c: Likewise.
20649 * script/lua/ltm.h: Likewise.
20650 * script/lua/lua.h: Likewise.
20651 * script/lua/luaconf.h: Likewise.
20652 * script/lua/lualib.h: Likewise.
20653 * script/lua/lundump.c: Likewise.
20654 * script/lua/lundump.h: Likewise.
20655 * script/lua/lvm.c: Likewise.
20656 * script/lua/lvm.h: Likewise.
20657 * script/lua/lzio.c: Likewise.
20658 * script/lua/lzio.h: Likewise.
20659
20660 2009-05-16 Bean <bean123ch@gmail.com>
20661
20662 * include/grub/kernel.h (grub_module_header_types): Add type
20663 OBJ_TYPE_CONFIG.
20664
20665 * kern/main.c (grub_load_config): New function.
20666 (grub_main): Call grub_load_config to read boot config.
20667
20668 * grub-mkimage (generate_image): New parameter config_path.
20669 (options): New option --config.
20670 (main): Parse --config option, and pass it to generate_image.
20671
20672 2009-05-14 Christian Franke <franke@computer.org>
20673
20674 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
20675 This fixes build on Cygwin.
20676
20677 2009-05-14 Pavel Roskin <proski@gnu.org>
20678
20679 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
20680 jump. This saves two bytes, so the typical case of 2 swapped
20681 drives would fit 32 bytes.
20682
20683 2009-05-13 Pavel Roskin <proski@gnu.org>
20684
20685 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
20686 grub_uint32_t to avoid a warning.
20687
20688 * loader/i386/linux.c (allocate_pages): When assigning
20689 real_mode_mem, cast through grub_size_t to fix a warning. The
20690 code already makes sure that the value would fit a pointer.
20691 (grub_linux_setup_video): Cast render_target->data to
20692 grub_size_t to fix a warning.
20693
20694 2009-05-13 Javier Martín <lordhabbit@gmail.com>
20695
20696 * commands/i386/pc/drivemap.c: New file - implement drivemap
20697 command.
20698 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
20699 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
20700
20701 2009-05-13 Pavel Roskin <proski@gnu.org>
20702
20703 * util/i386/pc/grub-setup.c (setup): Remove unused variable
20704 embedding_area_exists.
20705
20706 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
20707
20708 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
20709 it easier to understand / work with.
20710 Improve warning messages for cases where there's no embedding area,
20711 or when it is too small (or core.img too large).
20712
20713 2009-05-13 Pavel Roskin <proski@gnu.org>
20714
20715 * loader/i386/pc/multiboot2.c: Add necessary includes for
20716 grub_multiboot2_real_boot().
20717
20718 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
20719 PX record is always little-endian. We only need the lower 2
20720 bytes of the mode.
20721
20722 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
20723 facilitate code reuse.
20724 (grub_cpio_mount): Use "struct head", not a char buffer. This
20725 fixes a warning reported by gcc 4.4.
20726
20727 * kernel/disk.c (grub_disk_read): Use void pointer for the
20728 buffer.
20729 (grub_disk_write): Use const void pointer for the buffer.
20730 Adjust all callers. Remove unnecessary casts.
20731
20732 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
20733
20734 * util/i386/pc/grub-install.in: Update copyright year.
20735
20736 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 gptsync
20739
20740 * commands/gptsync.c: new file
20741 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
20742 (gptsync_mod_SOURCES): new variable
20743 (gptsync_mod_CFLAGS): likewise
20744 (gptsync_mod_LDFLAGS): likewise
20745 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
20746 new definition
20747 (GRUB_PC_PARTITION_TYPE_HFS): likewise
20748 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
20749 * conf/i386-ieee1275.rmk: likewise
20750 * conf/i386-pc.rmk: likewise
20751 * conf/powerpc-ieee1275.rmk: likewise
20752
20753 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20754
20755 Fixed grub-emu
20756
20757 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
20758 (grub_dl_ref): likewise
20759
20760 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
20761
20762 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
20763 split in two functions (one for msdos and one for gpt).
20764
20765 2009-05-08 Pavel Roskin <proski@gnu.org>
20766
20767 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
20768 not modified.
20769
20770 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
20771 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
20772 Initialize them with -1. Add sanity check for bad1. Eliminate
20773 nerr variable.
20774
20775 2009-05-08 David S. Miller <davem@davemloft.net>
20776
20777 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
20778
20779 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
20780
20781 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
20782 existence.
20783
20784 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
20785
20786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
20787 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
20788
20789 2009-05-05 David S. Miller <davem@davemloft.net>
20790
20791 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
20792
20793 2009-05-05 Pavel Roskin <proski@gnu.org>
20794
20795 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
20796 of grub_dl_ref() and grub_dl_unref().
20797 * commands/parttool.c: Remove preprocessor conditionals around
20798 grub_dl_ref() and grub_dl_unref().
20799 * fs/affs.c: Likewise.
20800 * fs/afs.c: Likewise.
20801 * fs/cpio.c: Likewise.
20802 * fs/ext2.c: Likewise.
20803 * fs/fat.c: Likewise.
20804 * fs/hfs.c: Likewise.
20805 * fs/hfsplus.c: Likewise.
20806 * fs/iso9660.c: Likewise.
20807 * fs/jfs.c: Likewise.
20808 * fs/minix.c: Likewise.
20809 * fs/ntfs.c: Likewise.
20810 * fs/reiserfs.c: Likewise.
20811 * fs/sfs.c: Likewise.
20812 * fs/udf.c: Likewise.
20813 * fs/ufs.c: Likewise.
20814 * fs/xfs.c: Likewise.
20815 * include/grub/dl.h: Likewise.
20816 * loader/xnu.c: Likewise.
20817
20818 2009-05-04 Pavel Roskin <proski@gnu.org>
20819
20820 * commands/acpi.c: Remove unused variable my_mod.
20821 * partmap/amiga.c: Likewise.
20822 * partmap/apple.c: Likewise.
20823 * partmap/gpt.c: Likewise.
20824 * partmap/pc.c: Likewise.
20825 * partmap/sun.c: Likewise.
20826 * term/gfxterm.c: Likewise.
20827 * term/i386/pc/vesafb.c: Likewise.
20828 * term/i386/pc/vga.c: Likewise.
20829
20830 2009-05-04 David S. Miller <davem@davemloft.net>
20831
20832 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
20833 pointer args to grub_ieee1275_get_property().
20834
20835 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
20836
20837 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
20838 devices, and do not traverse down under controller nodes.
20839
20840 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
20841 (grub_ofdisk_open): Use it to un-escape "," characters.
20842 * kern/disk.c (find_part_sep): New.
20843 (grub_disk_open): Use it to find the first non-escaped ','
20844 character in the disk name.
20845 * util/ieee1275/devicemap.c (escape_of_path): New.
20846 (grub_util_emit_devicemap_entry): Use it.
20847 * util/sparc64/ieee1275/grub-install.in: Update script to
20848 strip partition specifiers properly by not triggering on
20849 '\' escaped ',' characters.
20850
20851 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20852
20853 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
20854 to 0x300.
20855 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
20856 resolutions.
20857 (linux_vesafb_modes): Add a lot of additional modes to the list (based
20858 on documentation from Wikipedia).
20859
20860 2009-05-04 Pavel Roskin <proski@gnu.org>
20861
20862 * disk/ata.c: Spelling fixes.
20863 * disk/raid.c: Likewise.
20864 * disk/usbms.c: Likewise.
20865 * disk/dmraid_nvidia.c: Likewise.
20866 * kern/ieee1275/openfw.c: Likewise.
20867 * kern/ieee1275/init.c: Likewise.
20868 * kern/ieee1275/cmain.c: Likewise.
20869 * boot/i386/pc/cdboot.S: Likewise.
20870 * video/readers/png.c: Likewise.
20871 * video/i386/pc/vbe.c: Likewise.
20872 * fs/udf.c: Likewise.
20873 * fs/hfs.c: Likewise.
20874 * fs/reiserfs.c: Likewise.
20875 * efiemu/runtime/efiemu.c: Likewise.
20876 * efiemu/main.c: Likewise.
20877 * efiemu/mm.c: Likewise.
20878 * include/grub/elf.h: Likewise.
20879 * include/grub/xnu.h: Likewise.
20880 * include/grub/usbdesc.h: Likewise.
20881 * include/grub/usb.h: Likewise.
20882 * include/grub/script_sh.h: Likewise.
20883 * include/grub/lib/LzmaEnc.h: Likewise.
20884 * include/grub/efiemu/efiemu.h: Likewise.
20885 * include/grub/command.h: Likewise.
20886 * normal/menu.c: Likewise.
20887 * normal/main.c: Likewise.
20888 * normal/datetime.c: Likewise.
20889 * bus/usb/uhci.c: Likewise.
20890 * mmap/i386/uppermem.c: Likewise.
20891 * mmap/mmap.c: Likewise.
20892 * commands/acpi.c: Likewise.
20893 * commands/test.c: Likewise.
20894 * partmap/apple.c: Likewise.
20895 * font/font.c: Likewise.
20896 * loader/sparc64/ieee1275/linux.c: Likewise.
20897 * loader/macho.c: Likewise.
20898 * loader/i386/bsd_trampoline.S: Likewise.
20899 * loader/i386/bsd.c: Likewise.
20900 * loader/xnu.c: Likewise.
20901 * term/i386/pc/vesafb.c: Likewise.
20902 * term/usb_keyboard.c: Likewise.
20903 * util/resolve.c: Likewise.
20904 * util/getroot.c: Likewise.
20905
20906 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
20907
20908 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
20909
20910 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20911
20912 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
20913 build error.
20914
20915 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20916
20917 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
20918 parameter only available on BIOS.
20919
20920 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20921
20922 Removed wrong semicolon in declaration
20923
20924 * grub/misc.h (grub_dprintf): remove semicolon
20925
20926 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20927
20928 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
20929 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
20930 is done by grub_cmd_linux() now).
20931 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
20932 restore video to text mode.
20933 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
20934 indicates lack of "vga=" parameter. "vga=0" is mapped to
20935 `GRUB_LINUX_VID_MODE_NORMAL'.
20936
20937 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
20938
20939 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
20940 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
20941 and `normal/script.c'. Add `kern/rescue_reader.c',
20942 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
20943 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
20944 `grub_script.tab.c'.
20945
20946 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20947 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20948 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20949 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20950 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20951
20952 * Makefile.in: Remove duplicated 2008 in Copyright line.
20953
20954 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
20955
20956 * util/misc.c (grub_util_warn): New function. Emits a warning
20957 unconditionally.
20958 * include/grub/util/misc.h (grub_util_warn): New declaration.
20959
20960 * util/i386/pc/grub-install.in: Understand --force and pass it down
20961 to grub-setup.
20962
20963 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
20964 down to setup().
20965 (setup): Improve error messages and add warnings when requested to
20966 install in odd layouts. Refuse to install using blocklists unless
20967 --force was set.
20968
20969 2009-05-04 martin f. krafft <madduck@madduck.net>
20970
20971 * disk/raid.c (grub_raid_scan_device): Improve debug message.
20972
20973 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20974
20975 Updated copyright year
20976
20977 * fs/hfsplus.c: updated copyright year
20978
20979 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
20980
20981 HFS+ UUID
20982
20983 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
20984 in the space previously used by unused3
20985 (grub_hfsplus_uuid): new function
20986 (grub_hfsplus_fs): added uuid field
20987
20988 2009-05-03 Pavel Roskin <proski@gnu.org>
20989
20990 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
20991 suppress warnings. It's no longer needed.
20992 * disk/host.c: Likewise.
20993 * disk/ata_pthru.c: Likewise.
20994 * disk/loopback.c: Likewise.
20995 * hook/datehook.c: Likewise.
20996 * parttool/pcpart.c: Likewise.
20997 * fs/i386/pc/pxe.c: Likewise.
20998 * fs/ntfscomp.c: Likewise.
20999 * efiemu/main.c: Likewise.
21000 * mmap/mmap.c: Likewise.
21001 * commands/crc.c: Likewise.
21002 * commands/hexdump.c: Likewise.
21003 * commands/hdparm.c: Likewise.
21004 * commands/acpi.c: Likewise.
21005 * commands/echo.c: Likewise.
21006 * commands/minicmd.c: Likewise.
21007 * commands/blocklist.c: Likewise.
21008 * commands/memrw.c: Likewise.
21009 * commands/loadenv.c: Likewise.
21010 * commands/usbtest.c: Likewise.
21011 * commands/lsmmap.c: Likewise.
21012 * commands/boot.c: Likewise.
21013 * commands/parttool.c: Likewise.
21014 * commands/configfile.c: Likewise.
21015 * commands/search.c: Likewise.
21016 * commands/ieee1275/suspend.c: Likewise.
21017 * commands/cat.c: Likewise.
21018 * commands/i386/pc/pxecmd.c: Likewise.
21019 * commands/i386/pc/play.c: Likewise.
21020 * commands/i386/pc/halt.c: Likewise.
21021 * commands/i386/pc/vbeinfo.c: Likewise.
21022 * commands/i386/pc/vbetest.c: Likewise.
21023 * commands/lspci.c: Likewise.
21024 * commands/date.c: Likewise.
21025 * commands/handler.c: Likewise.
21026 * commands/ls.c: Likewise.
21027 * commands/test.c: Likewise.
21028 * commands/cmp.c: Likewise.
21029 * commands/efi/loadbios.c: Likewise.
21030 * commands/efi/fixvideo.c: Likewise.
21031 * commands/halt.c: Likewise.
21032 * commands/help.c: Likewise.
21033 * commands/reboot.c: Likewise.
21034 * hello/hello.c: Likewise.
21035 * script/sh/main.c: Likewise.
21036 * loader/xnu.c: Likewise.
21037 * term/terminfo.c: Likewise.
21038 * term/i386/pc/serial.c: Likewise.
21039 * term/usb_keyboard.c: Likewise.
21040
21041 2009-05-03 David S. Miller <davem@davemloft.net>
21042
21043 * normal/menu.c: Include grub/parser.h
21044
21045 2009-05-03 Pavel Roskin <proski@gnu.org>
21046
21047 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
21048 not char*.
21049 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
21050 Suggested by Javier Martín <lordhabbit@gmail.com>
21051
21052 * util/i386/pc/grub-mkrescue.in: Allow for the case when
21053 efiemu??.o doesn't exist.
21054 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
21055 copying.
21056
21057 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
21058
21059 FreeBSD 64-bit support
21060
21061 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
21062 and loader/i386/bsd_trampoline.S
21063 (bsd_mod_ASFLAGS): new variable
21064 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
21065 (FREEBSD_MODTYPE_KERNEL64): likewise
21066 (grub_bsd64_trampoline_start): likewise
21067 (grub_bsd64_trampoline_end): likewise
21068 (grub_bsd64_trampoline_selfjump): likewise
21069 (grub_bsd64_trampoline_gdt): likewise
21070 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
21071 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
21072 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
21073 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
21074 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
21075 of "attrib" member
21076 * loader/i386/bsd_pagetable.c: new file
21077 * loader/i386/bsd_trampoline.S: likewise
21078 * loader/i386/bsd.c (ALIGN_QWORD): new macro
21079 (ALIGN_VAR): likewise
21080 (entry_hi): new variable
21081 (kern_end_mdofs): likewise
21082 (is_64bit): likewise
21083 (grub_freebsd_add_meta): use ALIGN_VAR
21084 (grub_e820_mmap): new declaration
21085 (grub_freebsd_add_mmap): new function
21086 (grub_freebsd_add_meta_module): support 64 bit kernels
21087 (grub_freebsd_list_modules): use ALIGN_VAR
21088 (gdt_descriptor): new declaration
21089 (grub_freebsd_boot): support 64 bit kernels
21090 (grub_bsd_elf64_hook): new function
21091 (grub_bsd_load_elf): support elf64
21092
21093 2009-05-03 Bean <bean123ch@gmail.com>
21094
21095 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
21096 after we get the result of if statement.
21097
21098 2009-05-03 Bean <bean123ch@gmail.com>
21099
21100 * Makefile.in (enable_efiemu): New variable.
21101
21102 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
21103 set.
21104 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
21105 path.
21106 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
21107 path, add -mno-red-zone option.
21108 (efiemu64_s.o): Likewise.
21109 (efiemu64.o): Use macro $^ for source file.
21110
21111 * configure.ac (--enable-efiemu): New option.
21112
21113 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 xnu support
21116
21117 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
21118 (pkglib_MODULES): add xnu.mod
21119 (xnu_mod_SOURCES): new variable
21120 (xnu_mod_CFLAGS): likewise
21121 (xnu_mod_LDFLAGS): likewise
21122 (xnu_mod_ASFLAGS): likewise
21123 * conf/i386-pc.rmk: likewise
21124 * conf/x86_64-efi.rmk: likewise
21125 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
21126 new declaration
21127 * include/grub/i386/macho.h: new file
21128 * include/grub/i386/xnu.h: likewise
21129 * include/grub/macho.h: likewise
21130 * include/grub/machoload.h: likewise
21131 * include/grub/x86_64/macho.h: likewise
21132 * include/grub/x86_64/xnu.h: likewise
21133 * include/grub/xnu.h: likewise
21134 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
21135 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
21136 * loader/i386/efi/xnu.c: new file
21137 * loader/i386/pc/xnu.c: likewise
21138 * loader/i386/xnu.c: likewise
21139 * loader/i386/xnu_helper.S: likewise
21140 * loader/macho.c: likewise
21141 * loader/xnu.c: likewise
21142 * loader/xnu_resume.c: likewise
21143 * util/grub-dumpdevtree: likewise
21144 * include/grub/i386/pit.h: include grub/err.h
21145 (grub_pit_wait): export
21146 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
21147
21148 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21149
21150 Efiemu
21151
21152 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
21153 _linux_efi, linux_efi.
21154 new files in grub-emu
21155 new targets efiemu32.o and efiemu64.o
21156 * loader/linux_normal_efiemu.c: likewise
21157 * loader/i386/efi/linux.c: added preliminary efiemu support
21158 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
21159 files to copy
21160 * include/grub/autoefi.h: new file
21161 * include/grub/i386/efiemu.h: likewise
21162 * include/grub/i386/pc/efiemu.h: likewise
21163 * include/grub/efi/api.h: add LL suffix when necessary
21164 new definitions relating to tables
21165 * include/grub/efiemu/efiemu.h: new file
21166 * include/grub/efiemu/runtime.h: likewise
21167 * efiemu/prepare.c: likewise
21168 * efiemu/loadcore_common.c: likewise
21169 * efiemu/loadcore64.c: likewise
21170 * efiemu/runtime/efiemu.sh: likewise
21171 * efiemu/runtime/efiemu.S: likewise
21172 * efiemu/runtime/efiemu.c: likewise
21173 * efiemu/runtime/config.h: likewise
21174 * efiemu/prepare32.c: likewise
21175 * efiemu/main.c: likewise
21176 * efiemu/modules/pnvram.c: likewise
21177 * efiemu/modules/i386: likewise
21178 * efiemu/modules/i386/pc: likewise
21179 * efiemu/modules/acpi.c: likewise
21180 * efiemu/i386/pc/cfgtables.c: likewise
21181 * efiemu/i386/loadcore64.c: likewise
21182 * efiemu/i386/loadcore32.c: likewise
21183 * efiemu/prepare64.c: likewise
21184 * efiemu/loadcore.c: likewise
21185 * efiemu/symbols.c: likewise
21186 * efiemu/mm.c: likewise
21187 * efiemu/loadcore32.c: likewise
21188
21189 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21190
21191 ACPI spoofing
21192
21193 * commands/acpi.c: new file
21194 * commands/i386/pc/acpi.c: likewise
21195 * commands/efi/acpi.c: likewise
21196 * include/grub/acpi.h: likewise
21197 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
21198 (acpi_mod_SOURCES): new variable
21199 (acpi_mod_CFLAGS): likewise
21200 (acpi_mod_LDFLAGS): likewise
21201 * conf/i386-efi.rmk: likewise
21202 * conf/x86_64-efi.rmk: likewise
21203
21204 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21205
21206 Missing part from mmap patch
21207
21208 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
21209 (grub_mmap_unregister)
21210 (grub_mmap_free_and_unregister): use grub_mmap_register
21211
21212 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21213
21214 Mmap services
21215
21216 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
21217 * loader/i386/linux.c (find_mmap_size): likewise
21218 (allocate_pages): likewise
21219 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
21220 (grub_fill_multiboot_mmap): likewise
21221 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
21222 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
21223 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
21224 (OPENBSD_MMAP_RESERVED): likewise
21225 * include/grub/i386/pc/memory.h: include grub/memory.h
21226 (grub_lower_mem): removed
21227 (grub_upper_mem): likewise
21228 (GRUB_MACHINE_MEMORY_ACPI): new definition
21229 (GRUB_MACHINE_MEMORY_NVS): likewise
21230 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
21231 (GRUB_MACHINE_MEMORY_HOLE): likewise
21232 (grub_machine_mmap_register): likewise
21233 (grub_machine_mmap_unregister): likewise
21234 (grub_machine_get_upper): likewise
21235 (grub_machine_get_lower): likewise
21236 (grub_machine_get_post64): likewise
21237 * include/grub/i386/efi/memory.h: new file
21238 * include/grub/x86_64/efi/memory.h: likewise
21239 * include/grub/efi/memory.h: likewise
21240 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
21241 (mmap_mod_SOURCES): new variable
21242 (mmap_mod_LDFLAGS): likewise
21243 (mmap_mod_ASFLAGS): likewise
21244 * conf/i386-coreboot.rmk: likewise
21245 * conf/i386-ieee1275.rmk: likewise
21246 * conf/i386-efi.rmk: likewise
21247 * conf/x86_64-efi.rmk: likewise
21248 * include/grub/types.h (UINT_TO_PTR): new macro
21249 (PTR_TO_UINT32): likewise
21250 (PTR_TO_UINT64): likewise
21251 * include/grub/memory.h: new file
21252 * mmap/i386/pc/mmap.c: likewise
21253 * mmap/i386/pc/mmap_helper.S: likewise
21254 * mmap/i386/uppermem.c: likewise
21255 * mmap/mmap.c: likewise
21256 * mmap/efi/mmap.c: likewise
21257 * kern/i386/coreboot/init.c (grub_machine_init): don't use
21258 grub_upper_mem
21259 * kern/i386/pc/init.c (grub_lower_mem): removed variable
21260 (grub_upper_mem): likewise
21261 (grub_machine_init): don't use grub_upper_mem,
21262 make grub_lower_mem local
21263 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
21264 grub_mmap_iterate and grub_mmap_get_upper
21265 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
21266
21267 2009-05-02 Bean <bean123ch@gmail.com>
21268
21269 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
21270 script/sh/parser.y.
21271 (pkglib_MODULES): Add normal.mod and sh.mod.
21272 (normal_SOURCES): New variable.
21273 (normal_mod_CFLAGS): Likewise.
21274 (normal_mod_LDFLAGS): Likewise.
21275 (sh_mod_SOURCES): Likewise.
21276 (sh_mod_CFLAGS): Likewise.
21277 (sh_mod_LDFLAGS): Likewise.
21278
21279 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
21280 script/sh/lexer.c_DEPENDENCIES.
21281 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
21282 kern/rescue_reader.c and kern/rescue_parser.c.
21283 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
21284 (grub_emu_SOURCES): Change source files.
21285 (pkglib_MODULES): Remove normal.mod.
21286 (normal_SOURCES): Removed.
21287 (normal_mod_CFLAGS): Likewise.
21288 (normal_mod_LDFLAGS): Likewise.
21289 * conf/i386-coreboot.rmk: Likewise.
21290 * conf/i386-efi.rmk: Likewise.
21291 * conf/i386-ieee1276.rmk: Likewise.
21292 * conf/powerpc-ieee1275.rmk: Likewise.
21293 * conf/sparc64-ieee1275.rmk: Likewise.
21294 * conf/x86_64-efi.rmk: Likewise.
21295
21296 * include/grub/command.h (grub_command_execute): New inline function.
21297
21298 * include/grub/menu.h (grub_menu_entry): Removed commands field.
21299
21300 * include/grub/normal.h: Remove <grub/setjmp.h>.
21301 (grub_fs_module_list): Moved to normal/autofs.c.
21302 (grub_exit_env): Removed.
21303 (grub_command_execute): Likewise.
21304 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
21305 parameter script.
21306 (read_command_list): New function declaration.
21307 (read_fs_list): Likewise.
21308
21309 * include/parser.h: Include <grub/reader.h>.
21310 (grub_parser_split_cmdline): Change type of getline parameter.
21311 (grub_parser): New structure.
21312 (grub_parser_class): New variable.
21313 (grub_parser_execute): New function declaration.
21314 (grub_register_rescue_parser): Likewise.
21315 (grub_parser_register): New inline function.
21316 (grub_parser_unregister): Likewise.
21317 (grub_parser_get_current): Likewise.
21318 (grub_parser_set_current): Likewise.
21319
21320 * include/grub/reader.h: New file.
21321 * kern/reader.c: Likewise.
21322 * kern/rescue_parser.c: Likewise.
21323 * kern/rescue_reader.c: Likewise.
21324 * normal/autofs.c: Likewise.
21325 * normal/dyncmd.c: Likewise.
21326
21327 * include/grub/rescue.h: Removed.
21328 * normal/command.h: Likewise.
21329
21330 * include/grub/script.h: Moved to ...
21331 * include/grub/script_sh.h: ... Moved here.
21332 * normal/execute.c: Moved to ...
21333 * script/sh/execute.c: ... Moved here.
21334 * normal/function.c: Moved to ...
21335 * script/sh/function.c: ... Moved here.
21336 * normal/lexer.c: Moved to ...
21337 * script/sh/lexer.c: ... Moved here.
21338 * normal/parser.y: Moved to ...
21339 * script/sh/parser.y: ... Moved here.
21340 * normal/script.c: Moved to ...
21341 * script/sh/script.c: ... Moved here.
21342
21343 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
21344 <grub/reader.h>.
21345 (grub_exit_env): Removed.
21346 (fs_module_list): Moved to normal/autofs.c.
21347 (grub_file_getline): Don't handle comment here.
21348 (free_menu): Skip removed field entry->commands.
21349 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
21350 script parameter.
21351 (read_config_file): Removed nested parameter, change getline function.
21352 (grub_enter_normal_mode): Removed.
21353 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
21354 (read_command_list): Likewise.
21355 (autoload_fs_module): Moved to normal/autofs.c.
21356 (read_fs_list): Likewise.
21357 (reader_nested): New variable.
21358 (grub_normal_execute): Run parser.sh to switch to sh parser.
21359 (grub_cmd_rescue): Removed.
21360 (cmd_normal): Removed.
21361 (grub_cmd_normal): Unregister itself at the beginning. Don't register
21362 rescue command.
21363 (grub_cmdline_run): New function.
21364 (grub_normal_reader_init): Likewise.
21365 (grub_normal_read_line): Likewise.
21366 (grub_env_write_pager): Likewise.
21367 (cmdline): New variable.
21368 (grub_normal_reader): Likewise.
21369 (GRUB_MOD_INIT): Register normal reader and set as current, register
21370 pager hook, register normal command with grub_register_command_prio,
21371 so that it won't show up in command.lst.
21372 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
21373 grub_fs_autoload_hook.
21374
21375 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
21376 (grub_menu_execute_entry): Replace grub_script_execute with
21377 grub_parser_execute, change parameter to grub_command_execute.
21378
21379 * normal/menu_text.c: Remove <grub/script.h>.
21380
21381 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
21382 and <grub/parser.h>.
21383 (run): Change editor_getline to use new parser interface. Change
21384 parameter to grub_command_execute.
21385
21386 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
21387 <grub/reader.h> and <grub/parser.h>.
21388 (grub_load_normal_mode): Execute normal command.
21389 (grub_main): Call grub_register_core_commands,
21390 grub_register_rescue_parser and grub_register_rescue_reader, use
21391 grub_reader_loop to enter input loop.
21392
21393 * kern/parser.c (grub_parser_split_cmdline): Change type of
21394 getline parameter.
21395 (grub_parser_class): New variable.
21396 (grub_parser_execute): New function.
21397
21398 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
21399 * loader/multiboot2.c: Likewise.
21400 * loader/sparc64/ieee1275/linux.c: Likewise.
21401
21402 * util/grub-emu.c (read_command_list): New dummy function.
21403
21404 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21405
21406 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
21407 count to 16 for CCISS and IDA.
21408
21409 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21410
21411 * normal/menu_text.c (grub_wait_after_message): Print a newline
21412 after waiting for user input.
21413
21414 * loader/i386/linux.c: Include `<grub/normal.h>'.
21415 (grub_cmd_linux): Improve the error message about `ask' mode, by
21416 waiting for user input so it's not missed (we can do this, since
21417 user requested interaction).
21418
21419 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21420
21421 Added missing lst to grub-mkrescue
21422
21423 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
21424 and ${input_dir}/parttool.lst
21425
21426 2009-04-30 David S. Miller <davem@davemloft.net>
21427
21428 * util/hostdisk.c (device_is_wholedisk): New function.
21429 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
21430 zero only if device_is_wholedisk() returns true.
21431
21432 * util/hostdisk.c (convert_system_partition_to_system_disk):
21433 Handle virtual disk devices named /dev/vdiskX as found on sparc
21434 and powerpc.
21435
21436 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
21437 lettered partition specifier is found, convert to numbered.
21438
21439 2009-04-29 David S. Miller <davem@davemloft.net>
21440
21441 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
21442 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21443
21444 * normal/command.c: Add missing newline at end of file.
21445
21446 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
21447 warnings.
21448 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
21449 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
21450 grub_ofdisk_read): Likewise, and deal similarly with the fact that
21451 ihandles have a 32-bit type but need to be stored in a "void *".
21452
21453 2009-04-28 Pavel Roskin <proski@gnu.org>
21454
21455 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
21456 not disk. Adjust all dependencies.
21457 (grub_fs_uuid_close): Use grub_device_close(), not
21458 grub_disk_close().
21459
21460 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
21461 parent's partition, don't copy it by reference, as it gets freed
21462 on close.
21463
21464 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21465
21466 Preboot hooks support
21467
21468 * commands/boot.c (struct grub_preboot_t): new declaration
21469 (preboots_head): new variable
21470 (preboots_tail): likewise
21471 (grub_loader_register_preboot_hook): new function
21472 (grub_loader_unregister_preboot_hook): likewise
21473 (grub_loader_set): launch preboot hooks
21474 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
21475 (grub_loader_register_preboot_hook): new declaration
21476 (grub_loader_unregister_preboot_hook): likewise
21477
21478 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21479
21480 Warning fix
21481
21482 * disk/scsi.c (grub_scsi_open): added missing cast when
21483 calling grub_dprintf
21484
21485 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
21486
21487 Bug and warning fixes
21488
21489 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
21490 declaration
21491 * commands/test.c (test_parse): fixed bug with file tests and corrected
21492 declaration of find_file
21493
21494 2009-04-26 Pavel Roskin <proski@gnu.org>
21495
21496 * Makefile.in: Don't install empty manual pages if help2man is
21497 missing. Use help2man option for output, not shell redirection.
21498
21499 2009-04-26 David S. Miller <davem@davemloft.net>
21500
21501 * util/grub-mkdevicemap.c (make_device_map): Add missing
21502 NESTED_FUNC_ATTR to process_device().
21503
21504 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21505
21506 Test command
21507
21508 * commands/test.c: rewritten to use bash-like test
21509
21510 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21511
21512 Parttool autoloading and improvements
21513
21514 * Makefile.in (pkglib_DATA): add parttool.lst
21515 (parttool.lst): new target
21516 * genmk.rb: generate parttool-*
21517 (CLEANFILES): add #{parttool}
21518 (PARTTOOLFILES): new variable
21519 * genparttoollist.sh: new file
21520 * parttool/pcpart.c (grub_pcpart_boot): more feedback
21521 (grub_pcpart_type): likewise
21522 * commands/parttool.c (helpmsg): new variable
21523 (grub_cmd_parttool): output help if not enough arguments are supplied
21524 autoload modules
21525 (GRUB_MOD_INIT(parttool)): use helpmsg
21526
21527 2009-04-24 David S. Miller <davem@davemloft.net>
21528
21529 Avoiding opening same device multiple times in device iterator.
21530
21531 * kern/device.c: (grub_device_iterate): Define struct part_ent,
21532 and use it to build a list of partitions in iterate_disk() and
21533 iterate_partition().
21534
21535 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
21536 on disk->data.
21537
21538 * disk/ieee1275/nand.c (grub_nand_iterate): Return
21539 grub_devalias_iterate() result instead of unconditional 0.
21540 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
21541 Also, capture hook return value, either directly or via
21542 grub_children_iterate(), and propagate to caller.
21543 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
21544 grub_children_iterate): Return value is now 'int' instead of
21545 'grub_err_t'.
21546 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
21547 like a proper iterator, stopping when hooks return non-zero.
21548 (grub_devalias_iterate): Likewise.
21549
21550 2009-04-23 David S. Miller <davem@davemloft.net>
21551
21552 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
21553
21554 2009-04-22 David S. Miller <davem@davemloft.net>
21555
21556 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
21557 is larger than address_cells, use that value for address_cells too.
21558
21559 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
21560 IEEE1275_MAX_PATH_LEN): Define.
21561 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
21562 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
21563 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
21564 'devtype'. Explicitly NULL terminate devalias expansion.
21565
21566 * util/sparc64/ieee1275/misc.c: New file.
21567 * util/sparc64/ieee1275/grub-setup.c: New file.
21568 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
21569 * util/sparc64/ieee1275/grub-mkimage.c: New file.
21570 * util/sparc64/ieee1275/grub-install.in: New file.
21571 * util/ieee1275/ofpath.c: New file.
21572 * util/ieee1275/devicemap.c: New file.
21573 * util/devicemap.c: New file.
21574 * util/deviceiter.c: New file.
21575 * kern/sparc64/ieee1275/init.c: New file.
21576 * include/grub/util/ofpath.h: New file.
21577 * include/grub/util/deviceiter.h: New file.
21578 * util/grub-mkdevicemap.c: Include deviceiter.h.
21579 Implement using grub_util_emit_devicemap_entry and
21580 grub_util_iterate_devices.
21581 * conf/i386-corebook.rmk: Build util/deviceiter.c and
21582 util/devicemap.c into grub-mkdevicemap
21583 * conf/i386-efi.rmk: Likewise.
21584 * conf/i386-ieee1275.rmk: Likewise.
21585 * conf/i386-pc.rmk: Likewise.
21586 * conf/powerpc-ieee1275.rmk: Likewise.
21587 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
21588 images and installation utilities. Build kernel as image
21589 instead of as elf binary. Use common rules as much as possible.
21590
21591 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21592
21593 Correct GPT definition
21594
21595 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
21596 of "attrib" member
21597
21598 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
21599
21600 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
21601
21602 2009-04-19 David S. Miller <davem@davemloft.net>
21603
21604 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
21605 (grub_rescue_cmd_linux): Rename to...
21606 (grub_cmd_linux): and fix prototype.
21607 (grub_rescue_cmd_initrd): Rename to...
21608 (grub_cmd_initrd): and fix prototype.
21609 (cmd_linux, cmd_initrd): New.
21610 (GRUB_MOD_INIT(linux)): Use grub_register_command().
21611 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
21612
21613 2009-04-17 Pavel Roskin <proski@gnu.org>
21614
21615 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
21616 format.
21617 (grub_ohci_transfer): Likewise.
21618
21619 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
21620
21621 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
21622 return without a value. Fix inconsistent indentation.
21623
21624 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
21625 match struct grub_fs.
21626
21627 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
21628 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
21629 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21630 * commands/lspci.c (grub_lspci_iter): Likewise.
21631
21632 2009-04-16 Bean <bean123ch@gmail.com>
21633
21634 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
21635 value.
21636
21637 2009-04-15 Pavel Roskin <proski@gnu.org>
21638
21639 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
21640 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
21641 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
21642 definitions.
21643
21644 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
21645
21646 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
21647 that no multiple data or metadata areas are supported and `Unknown
21648 metadata header'.
21649
21650 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
21651
21652 Move loader out of the kernel
21653
21654 * kern/loader.c: moved to ...
21655 * commands/boot.c: ... moved here
21656 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
21657 * commands/boot.c (grub_cmd_boot): moved here. All users updated
21658 * include/grub/kernel.h (grub_machine_fini): export
21659 * include/grub/loader.h (grub_loader_is_loaded): update declaration
21660 (grub_loader_set): likewise
21661 (grub_loader_unset): likewise
21662 (grub_loader_boot): likewise
21663 * conf/common.rmk: new module boot.mod
21664 (pkglib_MODULES): add boot.mod
21665 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
21666 (grub_emu_SOURCES): likewise
21667 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
21668 (grub_emu_SOURCES): likewise
21669 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
21670 (grub_emu_SOURCES): likewise
21671 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
21672 (grub_emu_SOURCES): likewise
21673 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
21674 (grub_emu_SOURCES): likewise
21675 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
21676 (grub_emu_SOURCES): likewise
21677 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
21678 (grub_emu_SOURCES): likewise
21679
21680 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
21681
21682 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
21683
21684 * kern/misc.c (grub_itoa): Removed function
21685 (grub_ltoa): likewise
21686 (grub_vsprintf): use grub_lltoa
21687
21688 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
21689
21690 Restore grub-emu
21691
21692 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
21693 * conf/i386-coreboot.rmk: likewise
21694 * conf/i386-ieee1275.rmk: likewise
21695 * conf/powerpc-ieee1275.rmk: likewise
21696
21697 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
21698
21699 * INSTALL: Add that `./autogen.sh' needs to be run before
21700 `./configure.'.
21701
21702 2009-04-14 Bean <bean123ch@gmail.com>
21703
21704 * Makefile.in (pkglib_DATA): Add handler.lst.
21705 (handler.lst): New rule.
21706
21707 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
21708 * conf/i386-coreboot.rmk: Likewise.
21709 * conf/i386-ieee1275.rmk: Likewise.
21710 * conf/i386-efi.rmk: Likewise.
21711 * conf/x86_64-efi.rmk: Likewise.
21712 * conf/powerpc-ieee1275.rmk: Likewise.
21713 * conf/sparc64-ieee1275.rmk: Likewise.
21714
21715 * genhandlerlist.sh: New file.
21716
21717 * genmk.rb: Add rules to generate handler.lst.
21718
21719 * include/grub/normal.h (grub_file_getline): New function definition.
21720 (read_handler_list): Likewise.
21721 (free_handler_list): Likewise.
21722
21723 * include/grub/term.h (grub_term_register_input): Add name parameter
21724 for auto generation of handler.lst.
21725 (grub_term_register_output): Likewise.
21726
21727 * normal/handler.c: New file.
21728
21729 * normal/main.c (get_line): Renamed to grub_file_getline.
21730 (read_config_file): Use the newly renamed grub_file_getline.
21731 (read_command_list): Likewise.
21732 (read_fs_list): Likewise.
21733 (grub_normal_execute): Call read_handler_list to parse handler.lst.
21734 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
21735
21736 * term/efi/console.c (grub_console_init): Add name parameter for auto
21737 generation of handler.lst.
21738 * term/gfxterm.c: Likewise.
21739 * term/i386/pc/at_keyboard.c: Likewise.
21740 * term/i386/pc/console.c: Likewise.
21741 * term/i386/pc/serial.c: Likewise.
21742 * term/i386/pc/vesafb.c: Likewise.
21743 * term/i386/pc/vga.c: Likewise.
21744 * term/i386/pc/vga_text.c: Likewise.
21745 * term/ieee1275/ofconsole.c: Likewise.
21746 * term/usb_keyboard.c: Likewise.
21747
21748 2009-04-14 Bean <bean123ch@gmail.com>
21749
21750 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
21751 properly with null character.
21752
21753 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
21754
21755 * configure: Remove.
21756 * config.h.in: Likewise.
21757 * stamp-h.in: Likewise.
21758 * DISTLIST: Likewise.
21759 * conf/common.mk: Likewise.
21760 * conf/i386-coreboot.mk: Likewise.
21761 * conf/i386-efi.mk: Likewise.
21762 * conf/i386-ieee1275.mk: Likewise.
21763 * conf/i386.mk: Likewise.
21764 * conf/i386-pc.mk: Likewise.
21765 * conf/powerpc-ieee1275.mk: Likewise.
21766 * conf/sparc64-ieee1275.mk: Likewise.
21767 * conf/x86_64-efi.mk: Likewise.
21768
21769 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
21770 develop on GRUB.
21771
21772 2009-04-14 John Stanley <jpsinthemix@verizon.net>
21773 David S. Miller <davem@davemloft.net>
21774
21775 * util/hostdisk.c (make_device_name): Fix buffer length
21776 calculations.
21777
21778 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
21779
21780 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
21781 <sys/param.h> and <sys/sysctl.h>.
21782 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
21783 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
21784 opening the device and reset them afterwards.
21785
21786 2009-04-13 Pavel Roskin <proski@gnu.org>
21787
21788 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
21789 Reported by John Stanley <jpsinthemix@verizon.net>
21790
21791 2009-04-13 Robert Millan <rmh@aybabtu.com>
21792
21793 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
21794 that name for menuentries when appropriate.
21795
21796 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
21797
21798 * util/grub.d/10_freebsd.in: Add a missing `fi'.
21799
21800 2009-04-13 Robert Millan <rmh@aybabtu.com>
21801
21802 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
21803 to Linux, simply abort telling the user it's no longer supported.
21804
21805 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
21806
21807 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
21808 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
21809 `freebsd_loadenv' only when devices.hints exist.
21810
21811 2009-04-13 Pavel Roskin <proski@gnu.org>
21812
21813 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
21814
21815 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
21816
21817 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
21818 partition number.
21819 (grub_drive): Likewise.
21820
21821 2009-04-13 David S. Miller <davem@davemloft.net>
21822
21823 * kern/sparc64/ieee1275/ieee1275.c: New file.
21824 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
21825 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
21826 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
21827 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
21828 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
21829 grub_ieee1275_alloc_physmem): Declare new exported functions.
21830
21831 * include/grub/sparc64/ieee1275/loader.h: New file.
21832 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21833 * include/grub/sparc64/kernel.h: Likewise.
21834 * loader/sparc64/ieee1275/linux.c: Likewise.
21835
21836 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
21837 (grub_fstest_SOURCES): Likewise.
21838
21839 * util/hostdisk.c (make_device_name): Do not make any assumptions
21840 about the length of drive names.
21841
21842 * kern/dl.c (grub_dl_load_file): Close file immediately when
21843 we are done using it.
21844
21845 2009-04-12 David S. Miller <davem@davemloft.net>
21846
21847 * kern/misc.c (grub_ltoa): Fix cast when handling negative
21848 values. Noticed by Pavel Roskin.
21849
21850 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
21851 target compiler.
21852
21853 * genmk.rb: Add more flexible image type specification, also
21854 pass --strip-unneeded to objcopy.
21855 * conf/i386-pc.rmk: Use *_FORMAT.
21856 * conf/i386-pc.mk: Rebuilt.
21857
21858 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
21859 (OFDISK_HASH_SZ): Define.
21860 (ofdisk_hash): New hash table.
21861 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
21862 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
21863 instead of device phandle which is not unique.
21864
21865 * kern/sparc64/ieee1275/init.c: Delete, replace with...
21866 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
21867 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
21868 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
21869 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
21870 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
21871 GRUB_KERNEL_MACHINE_DATA_END): Define.
21872 (grub_kernel_image_size, grub_total_module_size): Declare.
21873
21874 2009-04-12 Pavel Roskin <proski@gnu.org>
21875
21876 * configure.ac: Change the logic when we check for target tools.
21877 Do it when the target is specified and it's different from the
21878 specified value of the host.
21879
21880 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
21881
21882 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
21883 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
21884 GNU/kFreeBSD. Check if a device is a character device. Use
21885 DIOCGMEDIASIZE to get the size.
21886 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
21887 support for GNU/kFreeBSD.
21888 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
21889 is a character device instead of a block device. Add support for
21890 FreeBSD device names.
21891
21892 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
21893 is a character device instead of a block device.
21894
21895 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
21896 is a character device instead of a block device.
21897
21898 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
21899
21900 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
21901 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
21902 FreeBSD. Check if a device is a character device. Use
21903 DIOCGMEDIASIZE to get the size.
21904 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
21905 support for FreeBSD.
21906 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
21907 is a character device instead of a block device. Add support for
21908 FreeBSD device names.
21909
21910 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
21911 a character device instead of a block device.
21912 (grub_util_check_char_device): New function.
21913
21914 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
21915 a character device instead of a block device.
21916
21917 * include/grub/util/getroot.h (grub_util_check_char_device): New
21918 prototype.
21919
21920 2009-04-11 David S. Miller <davem@davemloft.net>
21921
21922 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
21923 static libgcc.
21924 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
21925 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
21926 function, if present.
21927 (__bswapdi2): Likewise.
21928
21929 * include/grub/sparc64/ieee1275/boot.h: New file.
21930 * boot/sparc64/ieee1275/boot.S: Likewise.
21931 * boot/sparc64/ieee1275/diskboot.S: Likewise.
21932
21933 * kern/misc.c (grub_ltoa): New function.
21934 (grub_vsprintf): Use it to format 'long' integers.
21935
21936 2009-04-10 David S. Miller <davem@davemloft.net>
21937
21938 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
21939 slots are of type grub_ieee1275_cell_t.
21940 (grub_nand_read): Likewise.
21941 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
21942 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
21943 macros are used to compare values in arg/ret block of the call.
21944 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21945 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
21946 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
21947 grub_ieee1275_instance_to_path, grub_ieee1275_write,
21948 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
21949 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
21950 grub_ieee1275_close, grub_ieee1275_set_property,
21951 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
21952 grub_ieee1275_cell_t.
21953 * kern/ieee1275/openfw.c (grub_map): Likewise.
21954 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
21955 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
21956
21957 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
21958 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
21959 (grub_devalias_iterate): Likewise.
21960
21961 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
21962
21963 UFS improvements
21964
21965 * fs/ufs.c (INODE_NBLOCKS): new definition
21966 (struct grub_ufs_dirent): added fields for non-BSD dirents
21967 (grub_ufs_get_file_block): fixed double indirect handling
21968 (grub_ufs_lookup_symlink): use more robust way to determine whether
21969 symlink is inline
21970 (grub_ufs_find_file): support for non-BSD dirents
21971 (grub_ufs_dir): support for non-BSD dirents
21972
21973 2009-04-10 Bean <bean123ch@gnail.com>
21974
21975 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
21976 attribute, otherwise the size would be wrong for i386 platform.
21977
21978 * include/grub/pci.h (grub_pci_read_word): New inline function.
21979 (grub_pci_read_byte): Likewise.
21980 (grub_pci_write): Likewise.
21981 (grub_pci_write_word): Likewise.
21982 (grub_pci_write_byte): Likewise.
21983
21984 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
21985
21986 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
21987 (find_framebuf): Scan pci to locate the frame buffer address.
21988
21989 * commands/efi/fixvideo.c: New file.
21990
21991 * commands/efi/loadbios.c: Likewise.
21992
21993 * commands/memrw.c: Likewise.
21994
21995 * util/grub-dumpbios.in: Likewise.
21996
21997 * conf/common.rmk (grub-dumpbios): New utility.
21998 (pkglib_MODULES): New module memrw.mod.
21999 (memrw_mod_SOURCE): New macro.
22000 (memrw_mod_CFLAGS): Likewise.
22001 (memrw_mod_LDFLAGS): Likewise.
22002
22003 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
22004 fixvideo.mod.
22005 (loadbios_mod_SOURCE): New macro.
22006 (loadbios_mod_CFLAGS): Likewise.
22007 (loadbios_mod_LDFLAGS): Likewise.
22008 (fixvideo_mod_SOURCE): Likewise.
22009 (fixvideo_mod_CFLAGS): Likewise.
22010 (fixvideo_mod_LDFLAGS): Likewise.
22011
22012 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
22013 fixvideo.mod.
22014 (loadbios_mod_SOURCE): New macro.
22015 (loadbios_mod_CFLAGS): Likewise.
22016 (loadbios_mod_LDFLAGS): Likewise.
22017 (fixvideo_mod_SOURCE): Likewise.
22018 (fixvideo_mod_CFLAGS): Likewise.
22019 (fixvideo_mod_LDFLAGS): Likewise.
22020
22021 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
22022
22023 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
22024
22025 2009-04-07 David S. Miller <davem@davemloft.net>
22026
22027 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
22028 support for R_SPARC_OLO10 relocations. Fix compile warning for
22029 R_SPARC_WDISP30 case.
22030 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
22031
22032 2009-04-06 Pavel Roskin <proski@gnu.org>
22033
22034 * include/grub/misc.h (ARRAY_SIZE): New macro.
22035 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
22036 New macro.
22037 * loader/i386/linux.c (allocate_pages): Use free_pages().
22038 (grub_linux_unload): Don't use free_pages().
22039 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
22040 wrong index. Treat all other modes as text modes.
22041 (grub_cmd_linux): Initialize vid_mode unconditionally to
22042 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
22043
22044 * commands/help.c (print_command_help): Use cmd->prio, not
22045 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
22046
22047 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
22048
22049 Parttool
22050
22051 * parttool/pcpart.c: new file
22052 * commands/parttool.c: likewise
22053 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
22054 (parttool_mod_SOURCES): new variable
22055 (parttool_mod_CFLAGS): likewise
22056 (parttool_mod_LDFLAGS): likewise
22057 (pcpart_mod_SOURCES): likewise
22058 (pcpart_mod_CFLAGS): likewise
22059 (pcpart_mod_LDFLAGS): likewise
22060 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
22061 and parttool/pcpart.c
22062 * conf/i386-efi.rmk: likewise
22063 * conf/i386-ieee1275.rmk: likewise
22064 * conf/i386-pc.rmk: likewise
22065 * conf/powerpc-ieee1275.rmk: likewise
22066 * conf/sparc64-ieee1275.rmk: likewise
22067 * conf/x86_64-ieee1275.rmk: likewise
22068
22069 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22070
22071 Support for mtime and further expandability of dir command
22072
22073 * include/grub/lib/datetime.h: moved to ...
22074 * include/grub/datetime.h: ... moved here and added
22075 declaration of grub_unixtime2datetime. All users updated
22076 * include/grub/fs.h: new syntax for dir and mtime functions in
22077 struct grub_fs
22078 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
22079 and GRUB_FSHELP_FLAGS_MASK
22080 * commands/ls.c (grub_ls_list_files): Write mtime in long format
22081 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
22082 (grub_ext2_mtime): new function
22083 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
22084 (grub_hfsplus_mtime): new function
22085 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
22086 (GRUB_UFS_ATTR_FILE): likewise
22087 (GRUB_UFS_ATTR_LNK): likewise
22088 (struct grub_ufs_sblock): new fields mtime
22089 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
22090 all users updated
22091 (grub_ufs_dir): mtime support
22092 (grub_ufs_mtime): new function
22093 * fs/affs.c (grub_affs_dir): use new dir syntax
22094 * fs/afs.c (grub_afs_dir): likewise
22095 * fs/cpio.c (grub_cpio_dir): likewise
22096 * fs/fat.c (grub_fat_find_dir): likewise
22097 * fs/hfs.c (grub_hfs_dir): likewise
22098 * fs/iso9660.c (grub_iso9660_dir): likewise
22099 * fs/jfs.c (grub_jfs_dir): likewise
22100 * fs/minix.c (grub_minix_dir): likewise
22101 * fs/ntfs.c (grub_ntfs_dir): likewise
22102 * fs/reiserfs.c (grub_reiserfs_dir): likewise
22103 * fs/sfs.c (grub_sfs_dir): likewise
22104 * fs/xfs.c (grub_xfs_dir): likewise
22105 * util/hostfs.c (grub_hostfs_dir): likewise
22106 * lib/datetime.c: moved to ...
22107 * normal/datetime.c: ... moved here
22108 (grub_unixtime2datetime): new function
22109 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
22110 * normal/completion.c (iterate_dir): use new dir syntax
22111 * normal/misc.c (grub_normal_print_device_info): tell the
22112 last modification time of a volume
22113 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
22114 * conf/common.rmk: added lib/datetime.c to ls.mod
22115 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
22116 (normal_mod_SOURCES): likewise
22117 (datetime_mod_SOURCES): Removed lib/datetime.c
22118 * conf/i386-efi.rmk: likewise
22119 * conf/i386-ieee1275.rmk: likewise
22120 * conf/i386-pc.rmk: likewise
22121 * conf/powerpc-ieee1275.rmk: likewise
22122 * conf/sparc64-ieee1275.rmk: likewise
22123 * conf/x86_64-efi.rmk: likewise
22124
22125 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22126
22127 Trim trailing spaces in FAT label and support mtools-like labels
22128
22129 * fs/fat.c (grub_fat_iterate_dir): New function based
22130 on grub_fat_find_dir
22131 (grub_fat_find_dir): use grub_fat_iterate_dir
22132 (grub_fat_label): likewise
22133
22134 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22135
22136 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
22137 and command.h
22138 remove extraneous kernel_elf_HEADERS
22139
22140 2009-04-04 Bean <bean123ch@gnail.com>
22141
22142 * include/grub/util/misc.h: Add dummy function fsync for mingw.
22143
22144 * util/misc.c: Likewise.
22145
22146 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22147
22148 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
22149 instead of grub_printf.
22150
22151 2009-04-03 Robert Millan <rmh@aybabtu.com>
22152
22153 * loader/i386/linux.c (grub_linux_setup_video): Fill
22154 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
22155 values from `mode info' structure instead of hardcoded
22156 values.
22157
22158 2009-04-01 Pavel Roskin <proski@gnu.org>
22159
22160 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
22161 unused now.
22162 * genmk.rb: Likewise.
22163 * configure.ac: Likewise.
22164
22165 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
22166
22167 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
22168 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
22169
22170 2009-04-01 David S. Miller <davem@davemloft.net>
22171
22172 * normal/sparc64/setjmp.S: Fix setjmp implementation.
22173 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
22174 (grub_setjmp): Mark with 'returns_twice' attribute.
22175 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
22176 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
22177 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
22178
22179 2009-04-01 Robert Millan <rmh@aybabtu.com>
22180
22181 Reapply fix from 2008-07-28 which was accidentally reverted; also
22182 perform the same fix to a similar check in same function.
22183
22184 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22185 with the same number are found, just use issue a warning with
22186 grub_dprintf(), as this error has been reported to be non-fatal.
22187
22188 2009-03-31 Pavel Roskin <proski@gnu.org>
22189
22190 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
22191 for cross-compilation.
22192
22193 2009-03-30 Robert Millan <rmh@aybabtu.com>
22194
22195 Fix i386-ieee1275 build.
22196
22197 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
22198 Remove declaration.
22199
22200 2009-03-30 Pavel Roskin <proski@gnu.org>
22201
22202 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
22203 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
22204 zero-terminated, rely only on the strlen value. Fix comparison
22205 of strings differing in length.
22206
22207 2009-03-30 Robert Millan <rmh@aybabtu.com>
22208
22209 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
22210 checking for abi version. Improve error messages on BIOS to notify
22211 user about `linux16' command.
22212
22213 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
22214
22215 Leak fixes
22216
22217 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
22218 in case of collision
22219 * disk/scsi.c (grub_scsi_open): free scsi in case of error
22220
22221 2009-03-29 Robert Millan <rmh@aybabtu.com>
22222
22223 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
22224 set `vid_mode' accordingly.
22225 (grub_linux_boot): Process `vid_mode' and set video mode.
22226
22227 2009-03-29 Robert Millan <rmh@aybabtu.com>
22228
22229 * util/grub.d/10_linux.in (linux_entry): New function.
22230 Factorize generation of Linux boot entries.
22231
22232 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
22233
22234 Make the format of Environment Block plain text. The boot loader
22235 part is not tested well yet.
22236
22237 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
22238 (buffer): Removed.
22239 (envblk): Likewise.
22240 (usage): Remove "info" and "clear". Add "unset". Update the
22241 description of "set", as this does not delete variables any
22242 longer.
22243 (create_envblk_file): Complete rewrite.
22244 (open_envblk_file): Likewise.
22245 (cmd_info): Removed.
22246 (cmd_list): Likewise.
22247 (cmd_set): Likewise.
22248 (cmd_clear): Likewise.
22249 (list_variables): New function.
22250 (write_envblk): Likewise.
22251 (set_variables): Likewise.
22252 (unset_variables): Likewise.
22253 (main): Complete rewrite.
22254
22255 * commands/loadenv.c (buffer): Removed.
22256 (envblk): Likewise.
22257 (open_envblk_file): New function.
22258 (read_envblk_file): Complete rewrite.
22259 (grub_cmd_load_env): Likewise.
22260 (grub_cmd_list_env): Likewise.
22261 (struct blocklist): New struct.
22262 (free_blocklists): New function.
22263 (check_blocklists): Likewise.
22264 (write_blocklists): Likewise.
22265 (grub_cmd_save_env): Complete rewrite.
22266
22267 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
22268 a plain text signature.
22269 (GRUB_ENVBLK_MAXLEN): Removed.
22270 (struct grub_envblk): Complete rewrite.
22271 (grub_envblk_find): Removed.
22272 (grub_envblk_insert): Likewise.
22273 (grub_envblk_open): New prototype.
22274 (grub_envblk_set): Likewise.
22275 (grub_envblk_delete): Put const to VALUE.
22276 (grub_envblk_iterate): Put const to NAME and VALUE.
22277 (grub_envblk_close): New prototype.
22278 (grub_envblk_buffer): New inline function.
22279 (grub_envblk_size): Likewise.
22280
22281 * lib/envblk.c: Include grub/mm.h.
22282 (grub_env_find): Removed.
22283 (grub_envblk_open): New function.
22284 (grub_envblk_close): Likewise.
22285 (escaped_value_len): Likewise.
22286 (find_next_line): Likewise.
22287 (grub_envblk_insert): Removed.
22288 (grub_envblk_set): New function.
22289 (grub_envblk_delete): Complete rewrite.
22290 (grub_envblk_iterate): Likewise.
22291
22292 2009-03-28 Robert Millan <rmh@aybabtu.com>
22293
22294 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
22295 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
22296 variables. Use 16-bit loader.
22297 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
22298 loader.
22299 * kern/i386/loader.S (grub_linux_boot): Rename to ...
22300 (grub_linux16_boot): ... this. Update all users.
22301 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
22302 (grub_linux_boot): ... this. Update all users.
22303
22304 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
22305 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
22306 commands to `linux16' and `initrd16'.
22307 (GRUB_MOD_FINI(linux)): Rename to ...
22308 (GRUB_MOD_FINI(linux16)): ... this.
22309
22310 2009-03-24 Pavel Roskin <proski@gnu.org>
22311
22312 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
22313 not just for compilation.
22314
22315 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
22316
22317 Move multiboot helper out of kernel
22318
22319 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
22320 `loader/i386/multiboot_helper.S'.
22321 * conf/i386-coreboot.rmk: Likewise
22322 * conf/i386-ieee1275.rmk: Likewise
22323
22324 * kern/i386/loader.S: Move multiboot helpers from here...
22325 * loader/i386/multiboot_helper.S: ...moved here
22326 * include/grub/i386/loader.h: Move declarations of multiboot
22327 helpers from here...
22328 * include/grub/i386/multiboot.h: ...moved here
22329 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
22330
22331 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22332
22333 * kern/env.c (grub_env_context_open): Added an argument to specify
22334 whether a new context inherits exported variables from current
22335 one. This is useful when making a sandbox to interpret a config
22336 file.
22337 All callers updated.
22338
22339 * include/grub/env.h (grub_env_context_open): Updated the prototype.
22340
22341 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22342
22343 * kern/env.c (grub_env_context_close): Fix memory leaks.
22344
22345 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22346
22347 * normal/main.c (grub_normal_execute): Added an argument
22348 BATCH to specify if an interactive interface should be provided
22349 after reading a config file.
22350 All callers updated.
22351 (read_command_list): Prevent being executed twice.
22352 (read_fs_list): Likewise.
22353
22354 * include/grub/normal.h (grub_normal_execute): Updated the
22355 prototype.
22356
22357 2009-03-22 Pavel Roskin <proski@gno.org>
22358
22359 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
22360 _start.
22361 * kern/i386/pc/startup.S: Likewise.
22362 * kern/i386/efi/startup.S: Likewise.
22363 * kern/i386/ieee1275/startup.S: Likewise.
22364 * kern/i386/coreboot/startup.S: Likewise.
22365 * kern/x86_64/efi/startup.S: Likewise.
22366
22367 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
22368 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
22369 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
22370
22371 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
22372
22373 Bugfixes in multiboot for bugs uncovered by solaris kernel.
22374
22375 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
22376 limit detection.
22377 Use vaddr of correct segment for entry_point.
22378
22379 2009-03-21 Bean <bean123ch@gmail.com>
22380
22381 * commands/blocklist.c: Add include file <grub/command.h>, remove
22382 <grub/normal.h> and <grub/arg.h>.
22383 (grub_cmd_blocklist): Use the new command interface.
22384 (GRUB_MOD_INIT): Likewise.
22385 (GRUB_MOD_FINI): Likewise.
22386 * commands/boot.c: Likewise.
22387 * commands/cat.c: Likewise.
22388 * commands/cmp.c: Likewise.
22389 * commands/configfile.c: Likewise.
22390 * commands/crc.c: Likewise.
22391 * commands/echo.c: Likewise.
22392 * commands/halt.c: Likewise.
22393 * commands/handler.c: Likewise.
22394 * commands/hdparm.c: Likewise.
22395 * commands/help.c: Likewise.
22396 * commands/hexdump.c: Likewise.
22397 * commands/loadenv.c: Likewise.
22398 * commands/ls.c: Likewise.
22399 * commands/lsmmap.c: Likewise.
22400 * commands/lspci.c: Likewise.
22401 * commands/loadenv.c: Likewise.
22402 * commands/read.c: Likewise.
22403 * commands/reboot.c: Likewise.
22404 * commands/search.c: Likewise.
22405 * commands/sleep.c: Likewise.
22406 * commands/test.c: Likewise.
22407 * commands/usbtest.c: Likewise.
22408 * commands/videotest.c: Likewise.
22409 * commands/i386/cpuid.c: Likewise.
22410 * commands/i386/pc/halt.c: Likewise.
22411 * commands/i386/pc/play.c: Likewise.
22412 * commands/i386/pc/pxecmd.c: Likewise.
22413 * commands/i386/pc/vbeinfo.c: Likewise.
22414 * commands/i386/pc/vbetest.c: Likewise.
22415 * commands/ieee1275/suspend.c: Likewise.
22416 * disk/loopback.c: Likewise.
22417 * font/font_cmd.c: Likewise.
22418 * hello/hello.c: Likewise.
22419 * loader/efi/appleloader.c: Likewise.
22420 * loader/efi/chainloader.c: Likewise.
22421 * loader/i386/bsd.c: Likewise.
22422 * loader/i386/efi/linux.c: Likewise.
22423 * loader/i386/ieee1275/linux.c: Likewise.
22424 * loader/i386/linux.c: Likewise.
22425 * loader/i386/pc/chainloader.c: Likewise.
22426 * loader/i386/pc/linux.c: Likewise.
22427 * loader/powerpc/ieee1275/linux.c: Likewise.
22428 * loader/multiboot_loader.c: Likewise.
22429 * term/gfxterm.c: Likewise.
22430 * term/i386/pc/serial.c: Likewise.
22431 * term/terminfo.c: Likewise.
22432
22433 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
22434 * term/i386/pc/vga.c: Likewise.
22435 * video/readers/jpeg.c: Likewise.
22436 * video/readers/png.c: Likewise.
22437 * video/readers/tga.c: Likewise.
22438
22439 * util/grub-fstest (cmd_loopback): Removed.
22440 (cmd_blocklist): Likewise.
22441 (cmd_ls): Likewise.
22442 (grub_register_command): Likewise.
22443 (grub_unregister_command): Likewise.
22444 (execute_command): Use grub_command_find to locate command and execute
22445 it.
22446
22447 * include/grub/efi/chainloader.h: Removed.
22448 * loader/efi/chainloader_normal.c: Likewise.
22449 * loader/i386/bsd_normal.c: Likewise.
22450 * loader/i386/pc/chainloader_normal.c: Likewise.
22451 * loader/i386/pc/multiboot_normal.c: Likewise.
22452 * loader/linux_normal.c: Likewise.
22453 * loader/multiboot_loader_normal.c: Likewise.
22454 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22455
22456 * gencmdlist.sh: Scan new registration command grub_register_extcmd
22457 and grub_register_command_p1.
22458
22459 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
22460 kern/command.c, lib/arg.c and commands/extcmd.c.
22461 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
22462 (minicmd_mod_SOURCES): New variable.
22463 (minicmd_mod_CFLAGS): Likewise.
22464 (minicmd_mod_LDFLAGS): Likewise.
22465 (extcmd_mod_SOURCES): Likewise.
22466 (extcmd_mod_CFLAGS): Likewise.
22467 (extcmd_mod_LDFLAGS): Likewise.
22468 (boot_mod_SOURCES): Removed.
22469 (boot_mod_CFLAGS): Likewise.
22470 (boot_mod_LDFLAGS): Likewise.
22471
22472 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
22473 kern/corecmd.c.
22474 (kernel_img_HEADERS): Add command.h.
22475 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
22476 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
22477 and lib/arg.c.
22478 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
22479 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
22480 remove the corresponding normal mode command.
22481 (normal_mod_SOURCES): Remove normal/arg.c.
22482 * conf/i386-coreboot.rmk: Likewise.
22483 * conf/i386-efi.rmk: Likewise.
22484 * conf/i386-ieee1275.rmk: Likewise.
22485 * conf/powerpc-ieee1275.rmk: Likewise.
22486 * conf/x86_64-efi.rmk: Likewise.
22487
22488 * include/grub/arg.h: Move from here ...
22489 * include/grub/lib/arg.h: ... to here.
22490
22491 * normal/arg.c: Move from here ...
22492 * lib/arg.c: ... to here.
22493
22494 * commands/extcmd.c: New file.
22495 * commands/minicmd.c: Likewise.
22496 * include/grub/command.h: Likewise.
22497 * include/grub/extcmd.h: Likewise.
22498 * kern/command.c: Likewise.
22499 * kern/corecmd.c: Likewise.
22500
22501 * kern/list.c (grub_list_iterate): Return int instead of void.
22502 (grub_list_insert): New function.
22503 (grub_prio_list_insert): Likewise.
22504
22505 * kern/rescue.c (grub_rescue_command): Removed.
22506 (grub_rescue_command_list): Likewise.
22507 (grub_rescue_register_command): Likewise.
22508 (grub_rescue_unregister_command): Likewise.
22509 (grub_rescue_cmd_boot): Move to minicmd.c
22510 (grub_rescue_cmd_help): Likewise.
22511 (grub_rescue_cmd_info): Likewise.
22512 (grub_rescue_cmd_boot): Likewise.
22513 (grub_rescue_cmd_testload): Likewise.
22514 (grub_rescue_cmd_dump): Likewise.
22515 (grub_rescue_cmd_rmmod): Likewise.
22516 (grub_rescue_cmd_lsmod): Likewise.
22517 (grub_rescue_cmd_exit): Likewise.
22518 (grub_rescue_print_devices): Moved to corecmd.c.
22519 (grub_rescue_print_files): Likewise.
22520 (grub_rescue_cmd_ls): Likewise.
22521 (grub_rescue_cmd_insmod): Likewise.
22522 (grub_rescue_cmd_set): Likewise.
22523 (grub_rescue_cmd_unset): Likewise.
22524 (attempt_normal_mode): Use grub_command_find to get normal module.
22525 (grub_enter_rescue_mode): Use grub_register_core_commands to register
22526 commands, remove grub_rescue_register_command calls.
22527
22528 * normal/command.c (grub_register_command): Removed.
22529 (grub_unregister_command): Likewise.
22530 (grub_command_find): Likewise.
22531 (grub_iterate_commands): Likewise.
22532 (rescue_command): Likewise.
22533 (export_command): Moved to corecmd.c.
22534 (set_command): Removed.
22535 (unset_command): Likewise.
22536 (insmod_command): Likewise.
22537 (rmmod_command): Likewise.
22538 (lsmod_command): Likewise.
22539 (grub_command_init): Likewise.
22540
22541 * normal/completion.c (iterate_command): Use cmd->prio to check for
22542 active command.
22543 (complete_arguments): Use grub_extcmd_t structure to find options.
22544 (grub_normal_do_completion): Change function grub_iterate_commands to
22545 grub_command_iterate.
22546
22547 * normal/execute.c (grub_script_execute_cmd): No need to parse
22548 argument here.
22549
22550 * normal/main.c (grub_dyncmd_dispatcher): New function.
22551 (read_command_list): Register unload commands as dyncmd.
22552 (grub_cmd_normal): Use new command interface, register rescue,
22553 unregister normal at entry, register normal, unregister rescue at exit.
22554
22555 * include/grub/list.h (grub_list_test_t): New type.
22556 (grub_list_iterate): Return int instead of void.
22557 (grub_list_insert): New function.
22558 (GRUB_AS_NAMED_LIST_P): New macro.
22559 (GRUB_AS_PRIO_LIST): Likewise.
22560 (GRUB_AS_PRIO_LIST_P): Likewise.
22561 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
22562 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
22563 (grub_prio_list): New structure.
22564 (grub_prio_list_insert): New function.
22565 (grub_prio_list_remove): New inline function.
22566
22567 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
22568 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
22569 (GRUB_COMMAND_FLAG_MENU): Likewise.
22570 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22571 (GRUB_COMMAND_FLAG_TITLE): Likewise.
22572 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22573 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
22574 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
22575 (grub_command): Likewise.
22576 (grub_register_command): Likewise.
22577 (grub_command_find): Likewise.
22578 (grub_iterate_commands): Likewise.
22579 (grub_command_init): Likewise.
22580 (grub_arg_parse): Likewise.
22581 (grub_arg_show_help): Likewise.
22582
22583 * include/grub/rescue.h (grub_rescue_register_command): Removed.
22584 (grub_rescue_unregister_command): Likewise.
22585
22586 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
22587 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
22588 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
22589
22590 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
22591 grub_rescue_cmd_initrd.
22592 * include/grub/i386/loader.h: Likewise.
22593 * include/grub/x86_64/loader.h: Likewise.
22594
22595 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
22596
22597 2009-03-21 Bean <bean123ch@gmail.com>
22598
22599 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
22600 instead of stat in mingw environment.
22601
22602 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
22603
22604 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
22605
22606 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
22607 AC_CONFIG_LINKS.
22608
22609 2009-03-21 Bean <bean123ch@gmail.com>
22610
22611 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
22612 out of range error.
22613
22614 2009-03-18 Michel Dänzer <michel@daenzer.net>
22615
22616 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
22617 checking inode flags for EXT4_EXTENTS_FLAG.
22618
22619 2009-03-18 Robert Millan <rmh@aybabtu.com>
22620
22621 * loader/i386/linux.c: Include `<grub/video.h>' and
22622 `<grub/i386/pc/vbe.h>'..
22623 (grub_linux_setup_video): New function. Loosely based on the EFI one.
22624 (grub_linux32_boot): Attempt to configure video settings with
22625 grub_linux_setup_video().
22626 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
22627 to avoid grub_console_fini() which would step out of graphical mode
22628 unconditionally.
22629
22630 2009-03-14 Robert Millan <rmh@aybabtu.com>
22631
22632 Fix build on powerpc.
22633 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
22634
22635 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
22636
22637 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
22638 background image command.
22639
22640 2009-03-12 Colin D Bennett <colin@gibibit.com>
22641
22642 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
22643 (grub_gfxterm_putchar): Extract pairs of identical calls to
22644 draw_cursor out of conditional blocks.
22645
22646 2009-03-11 Pavel Roskin <proski@gnu.org>
22647
22648 * fs/hfs.c (grub_hfs_strncasecmp): New function.
22649 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
22650
22651 2009-03-11 Robert Millan <rmh@aybabtu.com>
22652
22653 * loader/i386/multiboot_elfxx.c
22654 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
22655
22656 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
22657
22658 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
22659 `kern/handler.c'.
22660
22661 2009-03-11 Robert Millan <rmh@aybabtu.com>
22662
22663 * loader/i386/multiboot.c (code_size): New variable.
22664 (grub_multiboot): Define offsets by adding to `code_size' rather
22665 than subtracting from `grub_multiboot_payload_size'. Provide
22666 4-byte alignment to MBI and others by increasing
22667 `boot_loader_name_length' appropriately.
22668
22669 * loader/i386/multiboot_elfxx.c
22670 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
22671
22672 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
22673
22674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
22675 `fs/ext2.c'.
22676
22677 2009-03-08 Robert Millan <rmh@aybabtu.com>
22678
22679 Make loader/i386/linux.c usable on i386-pc again.
22680
22681 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
22682 memory to heap.
22683 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
22684 `#error' stanza.
22685
22686 2009-03-07 Bean <bean123ch@gmail.com>
22687
22688 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
22689 allocation.
22690
22691 2009-03-06 Robert Millan <rmh@aybabtu.com>
22692
22693 Fix display issue on terminals with screen size other than 80x25
22694 (e.g. gfxterm with resolution higher than 640x480).
22695
22696 * normal/main.c (grub_normal_init_page): Display title text in a
22697 position relative to the center of the terminal instead of relying
22698 on a hardcoded offset.
22699
22700 2009-03-04 Robert Millan <rmh@aybabtu.com>
22701
22702 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
22703 installed.
22704
22705 * Makefile.in (host_kernel): New variable.
22706 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
22707 scripts instead of just the windows one.
22708 * configure.ac: Initialize and AC_SUBST `host_kernel'.
22709
22710 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
22711
22712 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
22713 `kern/handler.c'.
22714 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22715 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22716 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22718 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22719 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22720
22721 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
22722
22723 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
22724 or if there's no space for the disk label and print the partition number on a
22725 invalid magic.
22726
22727 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
22728
22729 * util/misc.c: Include <time.h>.
22730 (grub_millisleep): New function.
22731
22732 2009-03-04 Bean <bean123ch@gmail.com>
22733
22734 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
22735 another option -mno-red-zone.
22736
22737 * commands/handler.c: Change module description.
22738
22739 * kern/handler.c: Add missing space at the end of description line.
22740
22741 * kern/list.c: Likewise.
22742
22743 2009-03-03 Robert Millan <rmh@aybabtu.com>
22744
22745 Move more components to the relocation area, and fix mbi pointer
22746 handling to use the destination rather than the origin (thanks to
22747 Vladimir Serbinenko for spotting).
22748
22749 * loader/i386/multiboot.c (mbi_dest): New variable.
22750 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
22751 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
22752 relocation area.
22753
22754 2009-03-01 Bean <bean123ch@gmail.com>
22755
22756 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
22757 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
22758 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
22759 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
22760
22761 * loader/i386/efi/linux.c (acpi_guid): New variable.
22762 (acpi_guid): Likewise.
22763 (EBDA_SEG_ADDR): New constant.
22764 (LOW_MEM_ADDR): Likewise.
22765 (FAKE_EBDA_SEG): Likewise.
22766 (fake_bios_data): New function.
22767 (grub_linux_boot): Call fake_bios_data.
22768
22769 2009-03-01 Bean <bean123ch@gmail.com>
22770
22771 * commands/terminal.c: Removed.
22772
22773 * commands/handler.c: New file.
22774
22775 * include/grub/list.h: Likewise.
22776
22777 * include/grub/handler.h: Likewise.
22778
22779 * kern/list.c: Likewise.
22780
22781 * kern/handler.c: Likewise.
22782
22783 * kern/term.h: Include header file <grub/handler.h>.
22784 (grub_term_input): Move next field to the beginning.
22785 (grub_term_output): Likewise.
22786 (grub_term_input_class): New variable.
22787 (grub_term_output_class): Likewise.
22788 (grub_term_register_input): Changed to inline function.
22789 (grub_term_register_output): Likewise.
22790 (grub_term_unregister_input): Likewise.
22791 (grub_term_unregister_output): Likewise.
22792 (grub_term_set_current_input): Likewise.
22793 (grub_term_set_current_output): Likewise.
22794 (grub_term_get_current_input): Likewise.
22795 (grub_term_get_current_output): Likewise.
22796 (grub_term_iterate_input): Removed.
22797 (grub_term_iterate_output): Likewise.
22798
22799 * kern/term.c (grub_term_list_input): Removed.
22800 (grub_term_list_output): Likewise.
22801 (grub_term_input_class): New variable.
22802 (grub_term_output_class): Likewise.
22803 (grub_cur_term_input): Change variable as macro.
22804 (grub_cur_term_output): Likewise.
22805 (grub_term_register_input): Removed.
22806 (grub_term_register_output): Likewise.
22807 (grub_term_unregister_input): Likewise.
22808 (grub_term_unregister_output): Likewise.
22809 (grub_term_set_current_input): Likewise.
22810 (grub_term_set_current_output): Likewise.
22811 (grub_term_iterate_input): Likewise.
22812 (grub_term_iterate_output): Likewise.
22813 (grub_term_get_current_input): Likewise.
22814 (grub_term_get_current_output): Likewise.
22815
22816 * util/grub-editenv.c: Include header file <grub/handler.h>.
22817 (grub_term_get_current_input): Removed.
22818 (grub_term_get_current_output): Likewise.
22819 (grub_term_input_class): New variable.
22820 (grub_term_output_class): Likewise.
22821
22822 * util/grub-fstest.c (grub_term_get_current_input): Removed.
22823 (grub_term_get_current_output): Likewise.
22824 (grub_term_input_class): New variable.
22825 (grub_term_output_class): Likewise.
22826
22827 * util/grub-probe.c (grub_term_get_current_input): Removed.
22828 (grub_term_get_current_output): Likewise.
22829 (grub_term_input_class): New variable.
22830 (grub_term_output_class): Likewise.
22831
22832 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
22833 (grub_term_get_current_output): Likewise.
22834 (grub_term_input_class): New variable.
22835 (grub_term_output_class): Likewise.
22836
22837 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
22838 (terminal_mod_SOURCES): Likewise.
22839 (terminal_mod_CFLAGS): Likewise.
22840 (terminal_mod_LDFLAGS): Likewise.
22841
22842 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
22843 handler.c.
22844 (kernel_img_SOURCES): Add list.c and handler.c.
22845 (kernel_img_HEADERS): Add list.h and handler.h.
22846
22847 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
22848 handler.c.
22849 (kernel_mod_SOURCES): Add list.c and handler.c.
22850 (kernel_mod_HEADERS): Add list.h and handler.h.
22851
22852 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
22853 handler.c.
22854 (kernel_elf_SOURCES): Add list.c and handler.c.
22855 (kernel_elf_HEADERS): Add list.h and handler.h.
22856
22857 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
22858 handler.c.
22859 (kernel_elf_SOURCES): Add list.c and handler.c.
22860 (kernel_elf_HEADERS): Add list.h and handler.h.
22861
22862 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
22863 handler.c.
22864 (kernel_mod_SOURCES): Add list.c and handler.c.
22865 (kernel_mod_HEADERS): Add list.h and handler.h.
22866
22867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
22868 handler.c.
22869 (kernel_elf_SOURCES): Add list.c and handler.c.
22870 (kernel_elf_HEADERS): Add list.h and handler.h.
22871
22872 2009-02-27 Robert Millan <rmh@aybabtu.com>
22873
22874 Factorize elf32 / elf64 code in Multiboot loader. This will
22875 prevent it from getting out of sync again.
22876
22877 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
22878 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
22879 grub_multiboot_load_elf64): Move from here ...
22880 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
22881 grub_multiboot_load_elf): ... to here (new file).
22882
22883 2009-02-27 Robert Millan <rmh@aybabtu.com>
22884
22885 * util/grub.d/10_linux.in: Rename "single-user mode" to
22886 "recovery mode".
22887
22888 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
22889
22890 Don't leak in SCSI code.
22891 * disk/scsi.c (grub_scsi_close): free `scsi'.
22892
22893 2009-02-27 Robert Millan <rmh@aybabtu.com>
22894
22895 * loader/i386/pc/multiboot.c: Move from here ...
22896 * loader/i386/multiboot.c: ... to here. Update all users.
22897
22898 2009-02-27 Robert Millan <rmh@aybabtu.com>
22899
22900 Patch from Alexandre Bique <bique.alexandre@gmail.com>
22901 * util/i386/pc/grub-setup.c (setup): Fix directory path.
22902
22903 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
22904
22905 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
22906 b-tree.
22907
22908 2009-02-27 Robert Millan <rmh@aybabtu.com>
22909
22910 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
22911 `0x' qualifier as 0 when base is specified as parameter).
22912
22913 2009-02-24 Bean <bean123ch@gmail.com>
22914
22915 * configure.ac: Check for -mcmodel=large in x86_64 target.
22916
22917 * include/grub/efi/api.h (efi_call_10): New macro.
22918 (efi_wrap_10): New function.
22919
22920 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
22921 (GRUB_PE32_REL_BASED_HIGH): Likewise.
22922 (GRUB_PE32_REL_BASED_LOW): Likewise.
22923 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
22924 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
22925 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
22926 (GRUB_PE32_REL_BASED_SECTION): Likewise.
22927 (GRUB_PE32_REL_BASED_REL): Likewise.
22928 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
22929 (GRUB_PE32_REL_BASED_DIR64): Likewise.
22930 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
22931
22932 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
22933 issue.
22934
22935 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
22936 (efi_wrap_10): New function.
22937
22938 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
22939
22940 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
22941 MB/MBP model (NV chipset).
22942 (devdata_devs): Add devpath_5 to the list.
22943
22944 * load/i386/efi/linux.c (video_base): Remove variable.
22945 (RGB_MASK): New macro.
22946 (RGB_MAGIC): Likewise.
22947 (LINE_MIN): Likewise.
22948 (LINE_MAX): Likewise.
22949 (FBTEST_STEP): Likewise.
22950 (FBTEST_COUNT): Likewise.
22951 (fb_list): New variable.
22952 (grub_find_video_card): Remove function.
22953 (find_framebuf): New function.
22954 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
22955 line length.
22956
22957 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
22958 problem for x86_64.
22959
22960 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
22961
22962 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
22963
22964 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
22965 coding tool name.
22966
22967 2009-02-22 Robert Millan <rmh@aybabtu.com>
22968
22969 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
22970 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
22971 in our relocation, instead of using it directly from heap. Also
22972 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
22973
22974 2009-02-21 Robert Millan <rmh@aybabtu.com>
22975
22976 Implement USB keyboard support (based on patch by Marco Gerards)
22977
22978 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
22979 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
22980 (usb_keyboard_mod_LDFLAGS): New variables.
22981
22982 * term/usb_keyboard.c: New file.
22983
22984 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22985
22986 Corrected wrong declaration
22987
22988 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
22989
22990 2009-02-14 Christian Franke <franke@computer.org>
22991
22992 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
22993 (grub_lspci_iter): Print class code and programming interface byte.
22994
22995 2009-02-14 Christian Franke <franke@computer.org>
22996
22997 * gendistlist.sh: Ignore `.svn' directories.
22998
22999 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
23000
23001 * fs/fat.c: Add 2009 to Copyright line.
23002
23003 2009-02-14 Christian Franke <franke@computer.org>
23004
23005 * commands/hdparm.c: New file. Provides `hdparm' command
23006 which sends ATA commands via grub_disk_ata_pass_through ().
23007
23008 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
23009
23010 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
23011 and <grub/cpu/io.h> to include/grub/ata.h.
23012 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
23013 (GRUB_CDROM_SECTOR_SIZE): Remove.
23014 (GRUB_ATA_*): Move to include/grub/ata.h.
23015 (GRUB_ATAPI_*): Likewise.
23016 (enum grub_ata_commands): Likewise.
23017 (enum grub_ata_timeout_milliseconds): Likewise.
23018 (struct grub_ata_device): Likewise.
23019 (grub_ata_regset): Likewise.
23020 (grub_ata_regget): Likewise.
23021 (grub_ata_regset2): Likewise.
23022 (grub_ata_regget2): Likewise.
23023 (grub_ata_check_ready): Likewise.
23024 (grub_ata_wait_not_busy): Remove static, exported in
23025 include/grub/ata.h.
23026 (grub_ata_wait_drq): Likewise.
23027 (grub_ata_pio_read): Likewise.
23028
23029 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
23030 function for hdparm.mod.
23031
23032 * include/grub/ata.h: New file, contains declarations from
23033 disk/ata.c.
23034 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
23035
23036 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
23037 (grub_disk_ata_pass_through): New exported variable.
23038
23039 * kern/disk.c (grub_disk_ata_pass_through): New variable.
23040
23041 2009-02-13 Colin D Bennett <colin@gibibit.com>
23042
23043 Support multiple fallback entries, and provide an API to support
23044 executing default+fallback menu entries. Renamed the `terminal' menu
23045 viewer to `text'.
23046
23047 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
23048 variable declaration.
23049 (grub_menu_execute_callback): New structure declaration.
23050 (grub_menu_execute_callback_t): New typedef.
23051 (grub_menu_execute_with_fallback): New function declaration.
23052 (grub_menu_get_entry): Likewise.
23053 (grub_menu_get_timeout): Likewise.
23054 (grub_menu_set_timeout): Likewise.
23055
23056 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
23057
23058 * normal/menu.c (grub_wait_after_message): Moved to
23059 `normal/menu_text.c'.
23060 (draw_border): Likewise.
23061 (print_message): Likewise.
23062 (print_entry): Likewise.
23063 (print_entries): Likewise.
23064 (grub_menu_init_page): Likewise.
23065 (get_entry_number): Likewise.
23066 (print_timeout): Likewise.
23067 (run_menu): Likewise.
23068 (grub_menu_execute_entry): Likewise.
23069 (show_text_menu): Likewise.
23070 (get_and_remove_first_entry_number): New function.
23071 (grub_menu_execute_with_fallback): Likewise.
23072 (get_entry): Renamed to ...
23073 (grub_menu_get_entry): .. this and made it global.
23074 (get_timeout): Renamed to ...
23075 (grub_menu_get_timeout): ... this and made it global.
23076 (set_timeout): Renamed to ...
23077 (grub_menu_set_timeout): ... this and made it global.
23078 (grub_normal_terminal_menu_viewer): Renamed to ...
23079 (grub_normal_text_menu_viewer): ... this.
23080
23081 * normal/menu_text.c: New file. Extracted text-menu-specific code
23082 from normal/menu.c.
23083
23084 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
23085 (normal_mod_SOURCES): Likewise.
23086
23087 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23088 (normal_mod_SOURCES): Likewise.
23089
23090 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23091 (normal_mod_SOURCES): Likewise.
23092
23093 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
23094 (normal_mod_SOURCES): Likewise.
23095
23096 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23097 (normal_mod_SOURCES): Likewise.
23098
23099 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23100 (normal_mod_SOURCES): Likewise.
23101
23102 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23103 (normal_mod_SOURCES): Likewise.
23104
23105 2009-02-11 Robert Millan <rmh@aybabtu.com>
23106
23107 * util/grub.d/00_header.in: Update old reference to `font' command.
23108
23109 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
23110
23111 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
23112
23113 Based on patch from Javier Martín.
23114
23115 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
23116
23117 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
23118 to avoid false positives with FAT.
23119 (grub_fstest_SOURCES): Likewise.
23120 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23121 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23122 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23123 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23124 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23125 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23126
23127 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
23128
23129 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
23130 bpb.version_specific.fat12_or_fat16.fstype and
23131 bpb.version_specific.fat32.fstype.
23132
23133 2009-02-08 Robert Millan <rmh@aybabtu.com>
23134
23135 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
23136
23137 2009-02-08 Robert Millan <rmh@aybabtu.com>
23138
23139 * Makefile.in (host_os, host_cpu): New variables.
23140 (target_os): Remove. Update all users.
23141
23142 2009-02-08 Marco Gerards <marco@gnu.org>
23143
23144 * Makefile.in (enable_grub_emu_usb): New variable.
23145 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
23146 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
23147 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
23148 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
23149 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
23150 `usbtest.mod' and `usbms.mod'.
23151 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
23152 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
23153 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
23154 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
23155 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
23156 variables.
23157
23158 * disk/usbms.c: New file.
23159
23160 * include/grub/usb.h: Likewise.
23161
23162 * include/grub/usbtrans.h: Likewise.
23163
23164 * include/grub/usbdesc.h: Likewise.
23165
23166 * bus/usb/usbtrans.c: Likewise.
23167
23168 * bus/usb/ohci.c: Likewise.
23169
23170 * bus/usb/uhci.c: Likewise.
23171
23172 * bus/usb/usbhub.c: Likewise.
23173
23174 * bus/usb/usb.c: Likewise.
23175
23176 * commands/usbtest.c: Likewise.
23177
23178 * util/usb.c: Likewise.
23179
23180 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
23181
23182 * configure.ac: Test for libusb presence.
23183
23184 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
23185
23186 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
23187
23188 * kern/mm.c: Add more comments.
23189
23190 2009-02-08 Robert Millan <rmh@aybabtu.com>
23191
23192 Patch from Javier Martín.
23193 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
23194 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
23195
23196 2009-02-08 Robert Millan <rmh@aybabtu.com>
23197
23198 * fs/cpio.c: Split tar functionality to ...
23199 * fs/tar.c: ... here (new file). Update all users.
23200
23201 2009-02-07 Robert Millan <rmh@aybabtu.com>
23202
23203 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
23204 backward-incompatible features.
23205
23206 Based on patch from Javier Martín, with some adjustments.
23207
23208 2009-02-07 Michael Scherer <misc@mandriva.org>
23209
23210 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
23211
23212 2009-02-07 Robert Millan <rmh@aybabtu.com>
23213
23214 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
23215 position of `disk/lvm.c' to ensure grub_init_all() always picks it
23216 after the RAID stuff.
23217
23218 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
23219
23220 Fixes problem when running vbetest command as reported by
23221 Vladimir Serbinenko <phcoder@gmail.com>.
23222
23223 * (grub_vbe_set_video_mode): Fixed problem with text modes.
23224
23225 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
23226
23227 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
23228 /dev/md/NpN style mdraid devices.
23229
23230 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23231
23232 * util/unifont2pff.rb: Remove.
23233
23234 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23235
23236 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
23237 `#'.
23238
23239 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23240
23241 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
23242 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23243 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23244 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23246 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23247 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23248
23249 2009-02-02 Christian Franke <franke@computer.org>
23250
23251 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
23252
23253 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
23254
23255 * INSTALL: Note that we now require at least autoconf 2.59 and
23256 that LZO is optional.
23257
23258 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23259
23260 Base on patch on bug #24154 created by Tomas Tintera
23261 <trosos@seznam.cz>.
23262
23263 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
23264
23265 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23266
23267 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
23268 <bero@arklinux.org>.
23269
23270 * normal/parser.y (script_init): Add missing semicolon.
23271
23272 2009-01-31 Colin D Bennett <colin@gibibit.com>
23273
23274 * normal/main.c: Add include to grub/menu_viewer.h.
23275 (free_menu_entry_classes): Added.
23276 (grub_normal_menu_addentry): Added class property handling.
23277 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
23278 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
23279
23280 * normal/menu_viewer.c: New file.
23281
23282 * normal/menu.c (run_menu_entry): Renamed to ...
23283 (grub_menu_execute_entry): ... this and made it as global.
23284 (grub_menu_run): Renamed to ...
23285 (show_text_menu): ... this and made it local.
23286 (show_text_menu): Adapt to new function names.
23287 (grub_normal_terminal_menu_viewer): New global variable.
23288
23289 * include/grub/menu.h: New file.
23290
23291 * include/grub/menu_viewer.h: New file.
23292
23293 * include/grub/normal.h: Added include to grub/menu.h.
23294 (grub_menu_entry): Moved to include/grub/menu.h.
23295 (grub_menu_entry_t): Likewise.
23296 (grub_menu): Likewise.
23297 (grub_menu_t): Likewise.
23298 (grub_normal_terminal_menu_viewer): Added.
23299 (grub_menu_execute_entry): Likewise.
23300 (grub_menu_run): Removed.
23301
23302 * DISTLIST: Added include/grub/menu.h.
23303 Added include/grub/menu_viewer.h.
23304 Added normal/menu_viewer.c.
23305
23306 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
23307
23308 * normal/execute.c (grub_script_execute_menuentry): Changed to use
23309 arglist for menutitle arguments.
23310
23311 * normal/main.c (grub_normal_menu_addentry): Likewise.
23312
23313 * normal/parser.y (menuentry): Likewise.
23314
23315 * normal/script.c (grub_script_create_cmdmenu): Likewise.
23316
23317 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
23318 (grub_script_create_cmdmenu): Likewise.
23319
23320 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
23321
23322 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
23323 changes.
23324
23325 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
23326
23327 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
23328
23329 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
23330
23331 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23332
23333 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23334
23335 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23336
23337 2009-01-30 Christian Franke <franke@computer.org>
23338
23339 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
23340 in option help text.
23341
23342 2009-01-27 Pavel Roskin <proski@gnu.org>
23343
23344 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
23345
23346 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23347
23348 * commands/lsmmap.c: Add include to grub/machine/memory.h.
23349
23350 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
23351
23352 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
23353 unregister function.
23354
23355 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23356
23357 * disk/scsi.c (grub_scsi_read): Fix sign problem.
23358
23359 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
23360
23361 * util/grub-mkfont.c (usage): Fix typo.
23362
23363 * util/elf/grub-mkimage.c (load_modules): Fix warning.
23364
23365 2009-01-26 Daniel Mierswa <impulze@impulze.org>
23366
23367 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
23368
23369 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
23370
23371 * kern/misc.c (grub_strcasecmp): New function.
23372 (grub_strcasecmp): Use grub_size_t instead of int for length.
23373 Fix return value.
23374 * include/grub/misc.h: Update function prototypes.
23375
23376 2009-01-26 Robert Millan <rmh@aybabtu.com>
23377
23378 * configure.ac: Fix cross-compilation check.
23379
23380 2009-01-22 Christian Franke <franke@computer.org>
23381
23382 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
23383 (precision) digit string. Allow `.format2' without `format1' (width).
23384 Limit input chars for `%s' output to `format2' if specified. This is
23385 compatible with standard printf ().
23386
23387 2009-01-22 Christian Franke <franke@computer.org>
23388
23389 * disk/ata.c (grub_ata_wait_status): Replace by ...
23390 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
23391 other status bits may be invalid while BSY is asserted.
23392 (grub_ata_check_ready): New function.
23393 (grub_ata_cmd): Removed.
23394 (grub_ata_wait_drq): New function.
23395 (grub_ata_strncpy): Remove inline.
23396 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
23397 and error check now done by grub_ata_wait_drq ().
23398 (grub_ata_pio_write): Likewise.
23399 (grub_atapi_identify): Set DEV before check for !BSY. Use
23400 grub_ata_wait_drq () to wait for data.
23401 (grub_ata_device_initialize): Add status register check to
23402 detect missing SATA slave devices. Add debug messages.
23403 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
23404 (grub_atapi_packet): Set DEV before check for !BSY. Replace
23405 transfer loop by grub_ata_pio_write ().
23406 (grub_ata_identify): Set DEV before check for !BSY. Use
23407 grub_ata_wait_drq () to wait for data.
23408 (grub_ata_setaddress): Set DEV before check for !BSY.
23409 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
23410 read/write in one loop. Fix invalid command on write. Fix incomplete
23411 command on (size % batch) == 0. Add missing error check after write of
23412 last block. Add debug messages.
23413 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
23414
23415 2009-01-19 Christian Franke <franke@computer.org>
23416
23417 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
23418 (GRUB_ATAPI_IREASON_*): Likewise.
23419 (grub_ata_pio_write): Fix timeout error return.
23420 (grub_atapi_identify): Add grub_ata_wait () after cmd.
23421 (grub_atapi_wait_drq): New function.
23422 (grub_atapi_packet): New parameter `size'.
23423 Use grub_atapi_wait_drq () and direct write instead of
23424 grub_ata_pio_write ().
23425 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
23426 reads the number of bytes requested by the device for each DRQ
23427 assertion.
23428 (grub_atapi_write): Remove old implementation, return not
23429 implemented instead.
23430
23431 2009-01-19 Christian Franke <franke@computer.org>
23432
23433 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
23434 of 512 to calculate data size.
23435 (grub_scsi_read12): Likewise.
23436 (grub_scsi_write10): Likewise.
23437 (grub_scsi_write12): Likewise.
23438 (grub_scsi_read): Adjust size according to blocksize.
23439 Add checks for invalid blocksize and unaligned transfer.
23440
23441 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
23442
23443 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
23444
23445 * term/gfxterm.c (write_char): Fix background rendering for wide
23446 width glyphs.
23447
23448 2009-01-19 Robert Millan <rmh@aybabtu.com>
23449
23450 * config.guess: Update to latest version from config git.
23451 * config.sub: Likewise.
23452
23453 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
23454
23455 * Makefile.in: Change font compilation to use new grub-mkfont instead
23456 of java version.
23457
23458 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
23459 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
23460 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23461 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23462 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
23463 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
23464 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
23465 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
23466 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23467
23468 2009-01-16 Christian Franke <franke@computer.org>
23469
23470 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
23471 (enum grub_ata_timeout_milliseconds): New enum.
23472 (grub_ata_wait_status): Add parameter milliseconds.
23473 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
23474 recovery from timed-out commands.
23475 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
23476 return grub_errno instead of REG_ERROR.
23477 (grub_ata_pio_write): Add parameter milliseconds.
23478 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
23479 Pass milliseconds to grub_ata_wait_status () and
23480 grub_ata_pio_read ().
23481 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
23482 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
23483 grub_ata_wait_status (). Fix IDENTIFY timeout check.
23484 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
23485 It is not suitable for device detection, because DEV bit is ignored,
23486 the command may run too long, and not all devices set the signature
23487 properly.
23488 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
23489 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
23490 Fix device selection, DEV bit must be set first to address the registers
23491 of the correct device.
23492 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
23493 grub_ata_pio_read/write ().
23494 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
23495 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
23496
23497 2009-01-13 Carles Pina i Estany <carles@pina.cat>
23498
23499 * util/grub-editenv.c (main): Use fseeko(), not fseek().
23500
23501 2009-01-13 Bean <bean123ch@gmail.com>
23502
23503 * util/grub-mkfont.c (write_font): forget to remove some debug code.
23504
23505 2009-01-13 Bean <bean123ch@gmail.com>
23506
23507 * Makefile.in: (enable_grub_mkfont): New variable.
23508 (freetype_cflags): Likewise.
23509 (freetype_libs): Likewise.
23510
23511 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
23512 (grub_mkfont_SOURCES): New variable.
23513 (grub_mkfont_CFLAGS): Likewise.
23514 (grub_mkfont_LDFLAGS): Likewise.
23515
23516 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
23517 library if `--enable-grub-mkfont' is requested.
23518 (enable_grub_mkfont): New variable.
23519 (freetype_cflags): Likewise.
23520 (freetype_libs): Likewise.
23521
23522 * util/grub-mkfont.c: New file.
23523
23524 2009-01-12 Christian Franke <franke@computer.org>
23525
23526 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
23527 mode check. Fix setting of compat_use[].
23528
23529 2009-01-10 Robert Millan <rmh@aybabtu.com>
23530
23531 Update a few copyright years which we forgot to do in 2008 (only for
23532 files whose changes made in 2008 were copyright-significant)
23533
23534 * Makefile.in: Add 2008 to Copyright line.
23535 * disk/ieee1275/ofdisk.c: Likewise.
23536 * disk/efi/efidisk.c: Likewise.
23537 * kern/dl.c: Likewise.
23538 * kern/sparc64/ieee1275/init.c: Likewise.
23539 * kern/mm.c: Likewise.
23540 * kern/efi/mm.c: Likewise.
23541 * boot/i386/pc/boot.S: Likewise.
23542 * genfslist.sh: Likewise.
23543 * fs/iso9660.c: Likewise.
23544 * fs/hfs.c: Likewise.
23545 * fs/jfs.c: Likewise.
23546 * fs/minix.c: Likewise.
23547 * fs/ufs.c: Likewise.
23548 * gensymlist.sh.in: Likewise.
23549 * genkernsyms.sh.in: Likewise.
23550 * include/grub/misc.h: Likewise.
23551 * include/grub/types.h: Likewise.
23552 * include/grub/symbol.h: Likewise.
23553 * include/grub/elf.h: Likewise.
23554 * include/grub/kernel.h: Likewise.
23555 * include/grub/disk.h: Likewise.
23556 * include/grub/dl.h: Likewise.
23557 * include/grub/i386/linux.h: Likewise.
23558 * include/grub/i386/pc/biosdisk.h: Likewise.
23559 * include/grub/efi/api.h: Likewise.
23560 * include/grub/efi/pe32.h: Likewise.
23561 * include/grub/util/misc.h: Likewise.
23562 * normal/execute.c: Likewise.
23563 * normal/arg.c: Likewise.
23564 * normal/completion.c: Likewise.
23565 * normal/lexer.c: Likewise.
23566 * normal/parser.y: Likewise.
23567 * normal/misc.c: Likewise.
23568 * commands/i386/pc/vbeinfo.c: Likewise.
23569 * commands/hexdump.c: Likewise.
23570 * commands/terminal.c: Likewise.
23571 * commands/ls.c: Likewise.
23572 * commands/help.c: Likewise.
23573 * partmap/pc.c: Likewise.
23574 * loader/efi/chainloader.c: Likewise.
23575 * loader/multiboot_loader.c: Likewise.
23576 * loader/i386/pc/multiboot2.c: Likewise.
23577 * term/efi/console.c: Likewise.
23578 * term/i386/pc/serial.c: Likewise.
23579 * util/lvm.c: Likewise.
23580 * util/console.c: Likewise.
23581 * util/i386/efi/grub-mkimage.c: Likewise.
23582 * util/raid.c: Likewise.
23583
23584 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
23585
23586 * commands/videotest.c: Removed include to grub/machine/memory.h.
23587
23588 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
23589 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
23590 (video_mod_SOURCES): Removed.
23591 (video_mod_CFLAGS): Likewise.
23592 (video_mod_LDFLAGS): Likewise.
23593 (gfxterm_mod_SOURCES): Likewise.
23594 (gfxterm_mod_CFLAGS): Likewise.
23595 (gfxterm_mod_LDFLAGS): Likewise.
23596 (videotest_mod_SOURCES): Likewise.
23597 (videotest_mod_CFLAGS): Likewise.
23598 (videotest_mod_LDFLAGS): Likewise.
23599 (bitmap_mod_SOURCES): Likewise.
23600 (bitmap_mod_CFLAGS): Likewise.
23601 (bitmap_mod_LDFLAGS): Likewise.
23602 (tga_mod_SOURCES): Likewise.
23603 (tga_mod_CFLAGS): Likewise.
23604 (tga_mod_LDFLAGS): Likewise.
23605 (jpeg_mod_SOURCES): Likewise.
23606 (jpeg_mod_CFLAGS): Likewise.
23607 (jpeg_mod_LDFLAGS): Likewise.
23608 (png_mod_SOURCES): Likewise.
23609 (png_mod_CFLAGS): Likewise.
23610 (png_mod_LDFLAGS): Likewise.
23611
23612 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
23613 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
23614 (video_mod_SOURCES): Added.
23615 (video_mod_CFLAGS): Likewise.
23616 (video_mod_LDFLAGS): Likewise.
23617 (videotest_mod_SOURCES): Likewise.
23618 (videotest_mod_CFLAGS): Likewise.
23619 (videotest_mod_LDFLAGS): Likewise.
23620 (bitmap_mod_SOURCES): Likewise.
23621 (bitmap_mod_CFLAGS): Likewise.
23622 (bitmap_mod_LDFLAGS): Likewise.
23623 (tga_mod_SOURCES): Likewise.
23624 (tga_mod_CFLAGS): Likewise.
23625 (tga_mod_LDFLAGS): Likewise.
23626 (jpeg_mod_SOURCES): Likewise.
23627 (jpeg_mod_CFLAGS): Likewise.
23628 (jpeg_mod_LDFLAGS): Likewise.
23629 (png_mod_SOURCES): Likewise.
23630 (png_mod_CFLAGS): Likewise.
23631 (png_mod_LDFLAGS): Likewise.
23632 (gfxterm_mod_SOURCES): Likewise.
23633 (gfxterm_mod_CFLAGS): Likewise.
23634 (gfxterm_mod_LDFLAGS): Likewise.
23635
23636 * term/gfxterm.c: Removed include to grub/machine/memory.h,
23637 grub/machine/console.h.
23638
23639 2009-01-04 Jerone Young <jerone@gmail.com>
23640
23641 Make on screen instructions clearer
23642
23643 Based on patch created by Jidanni <jidanni@jidanni.org>
23644
23645 * normal/menu.c: print clearer instructions on the screen
23646
23647 2009-01-02 Colin D Bennett <colin@gibibit.com>
23648
23649 New font engine.
23650
23651 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
23652 build system and fixed gfxterm.c to work with different sized fonts.
23653
23654 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
23655
23656 * configure: Re-generated.
23657
23658 * DISTLIST: Removed font/manager.c.
23659 Added font/font.c.
23660 Added font/font_cmd.c.
23661
23662 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
23663 compilation.
23664
23665 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
23666
23667 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
23668
23669 * kern/term.c: Changed users of grub_utf8_to_ucs4.
23670
23671 * normal/menu.c: Likewise.
23672
23673 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
23674 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
23675
23676 * include/grub/font.h: Replaced with new file.
23677
23678 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
23679 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
23680 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
23681 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
23682 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
23683 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
23684 fg_red, fg_green, fg_blue, fg_alpha.
23685 (grub_video_adapter): Removed blit_glyph.
23686 (grub_video_blit_glyph): Removed.
23687
23688 * font/manager.c: Removed file.
23689
23690 * font/font.c: New file.
23691
23692 * font/font_cmd.c: Likewise.
23693
23694 * video/video.c (grub_video_blit_glyph): Removed.
23695
23696 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
23697 (grub_video_vbe_map_rgba): Likewise.
23698 (grub_video_vbe_unmap_color_int): Likewise.
23699 (grub_video_vbe_blit_glyph): Removed.
23700 (grub_video_vbe_adapter): Removed blit_glyph.
23701
23702 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
23703 (get_pixel): Likewise.
23704 (set_pixel): Likewise.
23705
23706 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
23707
23708 * term/gfxterm.c: Adapted to new font engine.
23709
23710 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
23711
23712 * term/i386/pc/vga.c: Likewise.
23713
23714 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
23715
23716 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
23717
23718 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23719
23720 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23721
23722 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
23723
23724 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
23725
23726 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
23727
23728 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
23729
23730 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23731
23732 * util/grub.d/00_header.in: Changed to use new loadfont command.
23733
23734 * util/grub-mkconfig_lib.in: Changed font extension.
23735
23736 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
23737
23738 * util/getroot.c (grub_util_get_grub_dev): Add support for
23739 /dev/md/dNNpNN style partitionable mdraid devices.
23740
23741 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
23742
23743 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
23744 at a time limit of the PXE TFTP API correctly.
23745 (grub_pxefs_close): Likewise.
23746
23747 2008-11-29 Robert Millan <rmh@aybabtu.com>
23748
23749 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
23750 grub_ata_device_initialize() calls.
23751
23752 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
23753
23754 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
23755 iteration failed.
23756 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
23757
23758 2008-11-28 Robert Millan <rmh@aybabtu.com>
23759
23760 Fix build on powerpc-ieee1275. Based on patch created by
23761 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
23762 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23763 `kern/ieee1275/mmap.c'.
23764 * include/grub/powerpc/ieee1275/memory.h: New file.
23765
23766 Provide grub-install on coreboot.
23767 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
23768 (grub_install_SOURCES): New variable.
23769 * util/i386/pc/grub-install.in: Add a few condition checks to make it
23770 usable on coreboot.
23771
23772 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
23773
23774 * util/grub-fstest.c (grub_term_get_current_input): Change return type
23775 to `grub_term_input_t'.
23776 (grub_term_get_current_output): Change return type to
23777 `grub_term_output_t'.
23778
23779 2008-11-22 Robert Millan <rmh@aybabtu.com>
23780
23781 Fix breakage on coreboot due to declaration mismatch.
23782 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
23783 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
23784 grub_vga_text_cls().
23785
23786 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
23787 comments. Avoid copying one more byte than necessary (just in case).
23788
23789 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
23790 to 0x200000 (avoids trouble with some OFW implementations, and matches
23791 with the one in Yaboot).
23792 Reported by Manoel Abranches
23793
23794 2008-11-20 Robert Millan <rmh@aybabtu.com>
23795
23796 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
23797 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
23798
23799 * util/grub-mkconfig_lib.in (grub_warn): New function.
23800 (convert_system_path_to_grub_path): Use grub_warn() when issuing
23801 warnings, to obtain consistent formatting.
23802 * util/grub.d/00_header.in: Likewise.
23803 * util/update-grub_lib.in: Likewise.
23804
23805 * loader/i386/linux.c (allocate_pages): Fix a warning.
23806 Move comment text to `#error' stanza.
23807
23808 Harmonize ieee1275's grub_available_iterate() with the generic
23809 grub_machine_mmap_iterate() interface (fixes a recently-introduced
23810 build problem on i386-ieee1275):
23811 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
23812 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
23813 parameter `type'. Update all users of this function.
23814 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
23815 `kern/ieee1275/mmap.c'.
23816 * kern/ieee1275/init.c
23817 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
23818 with ...
23819 (grub_machine_mmap_iterate): ... this.
23820 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
23821 return type to `grub_err_t'. Update all implementations of this
23822 function prototype.
23823 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
23824 Likewise.
23825
23826 Add `lsmmap' command (lists firmware-provided memory map):
23827 * commands/lsmmap.c: New file.
23828 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
23829 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
23830 variables.
23831 * conf/powerpc-ieee1275.rmk: Likewise.
23832 * conf/i386-coreboot.rmk: Likewise.
23833 * conf/i386-ieee1275.rmk: Likewise.
23834
23835 2008-11-19 Robert Millan <rmh@aybabtu.com>
23836
23837 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
23838 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
23839 constraints to initrd allocation (based on code from
23840 loader/i386/pc/linux.c). Without them, initrd was allocated too high
23841 for Linux to find it.
23842
23843 2008-11-14 Robert Millan <rmh@aybabtu.com>
23844
23845 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
23846 order to cope with duplicate slashes.
23847
23848 2008-11-14 Robert Millan <rmh@aybabtu.com>
23849
23850 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
23851 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
23852 don't want to mess with lower memory, because it is used in the Linux
23853 loader.
23854
23855 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
23856 an appropriate place in lower memory, between 0x10000 and 0x90000,
23857 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
23858 is in our heap (probably as a result of it being corrupted during
23859 decompression). Add #error instance with comment to explain why this
23860 loader isn't currently usable on PC/BIOS.
23861
23862 2008-11-14 Robert Millan <rmh@aybabtu.com>
23863
23864 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
23865 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
23866
23867 2008-11-12 Robert Millan <rmh@aybabtu.com>
23868
23869 Make loader/i386/linux.c buildable on i386-pc (although disabled).
23870
23871 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
23872 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
23873 from here ...
23874 * include/grub/i386/pc/memory.h: ... to here.
23875
23876 2008-11-12 Robert Millan <rmh@aybabtu.com>
23877
23878 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
23879 split).
23880
23881 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
23882 (grub_console_cur_color, grub_console_real_putchar)
23883 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
23884 (grub_console_setcolorstate, grub_console_setcolor)
23885 (grub_console_getcolor): Move from here ...
23886 * include/grub/i386/vga_common.h: ... to here (new file).
23887
23888 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
23889 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
23890 `<grub/i386/io.h>'.
23891 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
23892 `<grub/i386/vga_common.h>'.
23893
23894 2008-11-12 Robert Millan <rmh@aybabtu.com>
23895
23896 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
23897 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
23898 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
23899 variables.
23900 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
23901 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
23902
23903 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
23904 grub_console_init() with call to grub_vga_text_init().
23905 (grub_machine_fini): Replace call to
23906 grub_console_fini() with call to grub_vga_text_fini() and
23907 grub_at_keyboard_fini().
23908
23909 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
23910 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
23911 (grub_console_setcolorstate, grub_console_setcolor)
23912 (grub_console_getcolor): New function prototypes.
23913
23914 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
23915 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
23916 (grub_vga_text_setcursor): Static-ize.
23917 (grub_vga_text_term): New structure.
23918 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
23919
23920 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
23921 (grub_console_cur_color, grub_console_standard_color)
23922 (grub_console_normal_color, grub_console_highlight_color)
23923 (map_char, grub_console_putchar, grub_console_getcharwidth)
23924 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
23925 (grub_console_getcolor): Move from here ...
23926 * term/i386/vga_common.c: ... to here (same function names).
23927
23928 2008-11-12 Robert Millan <rmh@aybabtu.com>
23929
23930 Use newly-added Multiboot support in coreboot.
23931
23932 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
23933 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
23934
23935 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
23936 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
23937 (codestart): Store the MBI in `startup_multiboot_info' when we're
23938 being loaded using Multiboot.
23939
23940 * kern/i386/coreboot/init.c (grub_machine_init): Move
23941 grub_at_keyboard_init() call to beginning of function (useful for
23942 debugging). Call grub_machine_mmap_init() before attempting to use
23943 grub_machine_mmap_iterate().
23944 (grub_lower_mem, grub_upper_mem): Move from here ...
23945 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
23946 here (new file).
23947
23948 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
23949 function prototype.
23950
23951 2008-11-12 Robert Millan <rmh@aybabtu.com>
23952
23953 Fix a regression introduced by the at_keyboard.mod split. Because
23954 some terminals are default on some platforms and non-default on
23955 others, the first terminal being registered determines which is
23956 going to be default.
23957
23958 * kern/term.c (grub_term_register_input): If this is the first
23959 terminal being registered, set it as the current one.
23960 (grub_term_register_output): Likewise.
23961
23962 * term/efi/console.c (grub_console_init): Do not call
23963 grub_term_set_current_output() or grub_term_set_current_input().
23964 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
23965 * term/i386/pc/console.c (grub_console_init): Likewise.
23966 (grub_console_fini): Do not call grub_term_set_current_input()
23967 (but leave grub_term_set_current_output() to restore text mode).
23968
23969 2008-11-10 Robert Millan <rmh@aybabtu.com>
23970
23971 * util/grub.d/00_header.in: Add backward compatibility check for
23972 versions of terminal.mod that don't understand `terminal_input' or
23973 `terminal_output'.
23974
23975 2008-11-09 Robert Millan <rmh@aybabtu.com>
23976
23977 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
23978 `terminal_input' / `terminal_output', not `terminal'.
23979
23980 2008-11-08 Robert Millan <rmh@aybabtu.com>
23981
23982 * Makefile.in (include_DATA): Fix srcdir=. assumption.
23983 (DISTCLEANFILES): Add `build_env.mk'.
23984
23985 2008-11-08 Robert Millan <rmh@aybabtu.com>
23986
23987 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
23988 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
23989 members. Update all users.
23990 * util/console.c (grub_ncurses_term): Split in ...
23991 (grub_ncurses_term_input): ... this, and ...
23992 (grub_ncurses_term_output): ... this. Update all users.
23993 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
23994
23995 2008-11-08 Robert Millan <rmh@aybabtu.com>
23996
23997 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
23998 (PKGDATA): Add $(pkgdata_SRCDIR).
23999 (pkglib_BUILDDIR): New variable.
24000 (pkgdata_SRCDIR): New variable.
24001 (build_env.mk): New target.
24002 (include_DATA): New variable.
24003 (install-local): Install $(include_DATA) files in $(includedir).
24004
24005 2008-11-07 Pavel Roskin <proski@gnu.org>
24006
24007 * gendistlist.sh: Use C locale for sorting to ensure consistent
24008 output on all systems.
24009
24010 * util/grub.d/00_header.in: Remove incorrect space before
24011 "serial".
24012
24013 2008-11-07 Robert Millan <rmh@aybabtu.com>
24014
24015 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
24016 per specification.
24017 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
24018 * loader/multiboot_loader.c (find_multi_boot2_header): New function
24019 (based on find_multi_boot1_header).
24020 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
24021 using find_multi_boot2_header(), and abort if neither Multiboot or
24022 Multiboot headers were found.
24023
24024 2008-11-07 Robert Millan <rmh@aybabtu.com>
24025
24026 Modularize at_keyboard.mod:
24027
24028 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
24029 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24030 (at_keyboard_mod_LDFLAGS): New variables.
24031
24032 Actual terminal split:
24033
24034 * include/grub/term.h (struct grub_term): Split in ...
24035 (struct grub_term_input): ... this, and ...
24036 (struct grub_term_output): ... this. Update all users.
24037 (grub_term_set_current): Split in ...
24038 (grub_term_set_current_input): ... this, and ...
24039 (grub_term_set_current_output): ... this.
24040 (grub_term_get_current): Split in ...
24041 (grub_term_get_current_input): ... this, and ...
24042 (grub_term_get_current_output): ... this.
24043 (grub_term_register): Split in ...
24044 (grub_term_register_input): ... this, and ...
24045 (grub_term_register_output): ... this.
24046 (grub_term_unregister): Split in ...
24047 (grub_term_unregister_input): ... this, and ...
24048 (grub_term_unregister_output): ... this.
24049 (grub_term_iterate): Split in ...
24050 (grub_term_iterate_input): ... this, and ...
24051 (grub_term_iterate_output): ... this.
24052
24053 * kern/term.c (grub_term_list): Split in ...
24054 (grub_term_list_input): ... this, and ...
24055 (grub_term_list_output): ... this. Update all users.
24056 (grub_cur_term): Split in ...
24057 (grub_cur_term_input): ... this, and ...
24058 (grub_cur_term_output): ... this. Update all users.
24059 (grub_term_set_current): Split in ...
24060 (grub_term_set_current_input): ... this, and ...
24061 (grub_term_set_current_output): ... this.
24062 (grub_term_get_current): Split in ...
24063 (grub_term_get_current_input): ... this, and ...
24064 (grub_term_get_current_output): ... this.
24065 (grub_term_register): Split in ...
24066 (grub_term_register_input): ... this, and ...
24067 (grub_term_register_output): ... this.
24068 (grub_term_unregister): Split in ...
24069 (grub_term_unregister_input): ... this, and ...
24070 (grub_term_unregister_output): ... this.
24071 (grub_term_iterate): Split in ...
24072 (grub_term_iterate_input): ... this, and ...
24073 (grub_term_iterate_output): ... this.
24074
24075 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
24076 a check for input and one for output (and only attempt to get keys
24077 from user when input works).
24078
24079 * util/grub-probe.c (grub_term_get_current): Split in ...
24080 (grub_term_get_current_input): ... this, and ...
24081 (grub_term_get_current_output): ... this.
24082 * util/grub-fstest.c: Likewise.
24083 * util/i386/pc/grub-setup.c: Likewise.
24084 * util/grub-editenv.c: Likewise.
24085
24086 Portability adjustments:
24087
24088 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
24089 `term/i386/pc/at_keyboard.c'.
24090 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
24091 grub_keyboard_controller_init() (now handled by terminal .init).
24092 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
24093 grub_at_keyboard_init().
24094 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
24095 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
24096 at_keyboard.mod via input terminal interface).
24097 * include/grub/i386/coreboot/console.h: Convert into a stub for
24098 `<grub/i386/pc/console.h>'.
24099
24100 Migrate full terminals to new API:
24101
24102 * term/efi/console.c (grub_console_term): Split into ...
24103 (grub_console_term_input): ... this, and ...
24104 (grub_console_term_output): ... this. Update all users.
24105 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
24106 (grub_ofconsole_init): Split into ...
24107 (grub_ofconsole_init_input): ... this, and ...
24108 (grub_ofconsole_init_output): ... this.
24109 (grub_ofconsole_term): Split into ...
24110 (grub_ofconsole_term_input): ... this, and ...
24111 (grub_ofconsole_term_output): ... this. Update all users.
24112 * term/i386/pc/serial.c (grub_serial_term): Split into ...
24113 (grub_serial_term_input): ... this, and ...
24114 (grub_serial_term_output): ... this. Update all users.
24115 * term/i386/pc/console.c (grub_console_term): Split into ...
24116 (grub_console_term_input): ... this, and ...
24117 (grub_console_term_output): ... this. Update all users.
24118 (grub_console_term_input): Only enable it on PC/BIOS platform.
24119 (grub_console_init): Remove grub_keyboard_controller_init() call.
24120
24121 Migrate input terminals to new API:
24122
24123 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
24124 `i386' and `i386/pc' to enable build on x86_64 (this driver is
24125 i386-specific anyway).
24126 (grub_console_checkkey): Rename to ...
24127 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
24128 users.
24129 (grub_keyboard_controller_orig): New variable.
24130 (grub_console_getkey): Rename to ...
24131 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
24132 users.
24133 (grub_keyboard_controller_init): Static-ize. Save original
24134 controller value so that it can be restored ...
24135 (grub_keyboard_controller_fini): ... here (new function).
24136 (grub_at_keyboard_term): New structure.
24137 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
24138 functions.
24139
24140 Migrate output terminals to new API:
24141
24142 * term/i386/pc/vga.c (grub_vga_term): Change type to
24143 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24144 members. Update all users.
24145 * term/gfxterm.c (grub_video_term): Change type to
24146 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24147 members. Update all users.
24148 * include/grub/i386/pc/console.h (grub_console_checkkey)
24149 (grub_console_getkey): Do not export (no longer needed by gfxterm,
24150 etc).
24151
24152 Migrate `terminal' command and userland tools to new API:
24153
24154 * commands/terminal.c (grub_cmd_terminal): Split into ...
24155 (grub_cmd_terminal_input): ... this, and ...
24156 (grub_cmd_terminal_output): ... this.
24157 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
24158 `terminal_input' and `terminal_output'.
24159 * util/grub.d/00_header.in: Adjust `terminal' calls to new
24160 `terminal_input' / `terminal_output' API.
24161 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
24162 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
24163 provided ${GRUB_TERMINAL}, convert it).
24164
24165 2008-11-04 Robert Millan <rmh@aybabtu.com>
24166
24167 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
24168 for FreeBSD.
24169 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
24170
24171 2008-11-03 Bean <bean123ch@gmail.com>
24172
24173 * kern/elf.c (grub_elf32_load): Revert to previous code.
24174 (grub_elf64_load): Likewise.
24175
24176 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
24177
24178 2008-11-01 Robert Millan <rmh@aybabtu.com>
24179
24180 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
24181 (TARGET_CPPFLAGS): Likewise.
24182 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
24183
24184 2008-11-01 Carles Pina i Estany <carles@pina.cat>
24185
24186 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
24187
24188 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
24189
24190 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
24191 addition of objects until the code is not going to be able to fail.
24192
24193 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
24194
24195 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
24196 (add a missing NULL check, and correct them by moving the pointer
24197 operations after the actual check).
24198
24199 2008-10-29 Robert Millan <rmh@aybabtu.com>
24200
24201 * util/i386/pc/grub-install.in: Handle empty string as output from
24202 make_system_path_relative_to_its_root().
24203
24204 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
24205
24206 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
24207 circular metadata worst case scenario. If the metadata is circular
24208 then copy the wrap in place.
24209 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
24210 project lib/format_text/layout.h
24211 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
24212
24213 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
24214
24215 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
24216
24217 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
24218
24219 * util/update-grub_lib.in: Mention filename in warning message.
24220
24221 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
24222
24223 * NEWS: Update for rename of update-grub to grub-mkconfig.
24224
24225 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
24226
24227 * util/update-grub_lib.in: Copy to ...
24228 * util/grub-mkconfig_lib.in: ... this. Update all users.
24229 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
24230 * util/update-grub.in: Rename to ...
24231 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
24232 option. Add `--output' option to allow users to specify the generated
24233 configuration file. Default to stdout.
24234 (update_grub_dir): Rename to ...
24235 (grub_mkconfig_dir): ... this.
24236 (grub_cfg): Default to an empty string.
24237 * conf/common.rmk (update-grub): Rename to ...
24238 (grub-mkconfig): ... this.
24239 (update-grub_lib): Copy to ...
24240 (grub-mkconfig_lib): ... this.
24241 (update-grub_SCRIPTS): Copy to ...
24242 (grub-mkconfig_SCRIPTS): ... this. Update all users.
24243 (update-grub_DATA): Rename to ...
24244 (grub-mkconfig_DATA): ... this.
24245
24246 2008-09-28 Robert Millan <rmh@aybabtu.com>
24247
24248 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
24249 to `modified'. Add the real `created' field.
24250 (grub_iso9660_uuid): Use `modified' rather than `created' for
24251 constructing the UUID.
24252
24253 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
24254
24255 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
24256 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
24257
24258 2008-09-28 Bean <bean123ch@gmail.com>
24259
24260 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
24261 Thanks to Christian Franke for finding this bug.
24262
24263 2008-09-25 Robert Millan <rmh@aybabtu.com>
24264
24265 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
24266 instances of grub_util_get_disk_name() (see previous commit).
24267
24268 2008-09-25 Robert Millan <rmh@aybabtu.com>
24269
24270 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
24271 `util/i386/get_disk_name.c'.
24272 * conf/i386-efi.rmk: Likewise.
24273 * conf/x86_64-efi.rmk: Likewise.
24274 * conf/i386-coreboot.rmk: Likewise.
24275 * conf/i386-ieee1275.rmk: Likewise.
24276 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
24277 `util/ieee1275/get_disk_name.c'.
24278 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
24279 * util/ieee1275/get_disk_name.c: Remove file.
24280 * util/i386/get_disk_name.c: Remove file.
24281 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
24282 "hd%d" for device.map entries, rather than using
24283 grub_util_get_disk_name().
24284
24285 2008-09-24 Carles Pina i Estany <carles@pina.cat>
24286
24287 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
24288 warning.
24289 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
24290
24291 2008-09-24 Carles Pina i Estany <carles@pina.cat>
24292
24293 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
24294 Changed to 0x5100.
24295 (GRUB_TERM_PPAGE): Changed to 0x4900.
24296
24297 2008-09-24 Robert Millan <rmh@aybabtu.com>
24298
24299 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
24300 macros (they were i386-pc specific).
24301 * include/grub/sparc64/ieee1275/console.h: Likewise.
24302 * include/grub/efi/console.h: Likewise.
24303
24304 2008-09-22 Bean <bean123ch@gmail.com>
24305
24306 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
24307 resident and in attribute list.
24308
24309 * include/grub/ntfs.h (BMP_LEN): Removed.
24310
24311 2008-09-22 Bean <bean123ch@gmail.com>
24312
24313 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
24314 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
24315
24316 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
24317 error occurs, as grub_disk_open will call grub_disk_close, which will
24318 call p->close (scsi).
24319
24320 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
24321
24322 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
24323 (AC_PREREQ): Bumped to 2.59.
24324 (AC_TRY_COMPILE): Replace obsolete macro with ...
24325 (AC_COMPILE_IFELSE): ... this.
24326 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
24327 (AC_LINK_IFELSE): ... this.
24328
24329 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
24330
24331 * autogen.sh: Add a call to `gendistlist.sh'.
24332
24333 2008-09-19 Christian Franke <franke@computer.org>
24334
24335 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
24336 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
24337 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
24338 Export __enable_execute_stack() to modules.
24339 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
24340 New function.
24341
24342 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
24343
24344 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
24345 Sort the list.
24346
24347 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
24348
24349 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
24350 #include <grub/util/hostdisk.h>.
24351
24352 2008-09-08 Robert Millan <rmh@aybabtu.com>
24353
24354 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
24355 segments when their filesz is zero (grub_file_read() interprets
24356 zero-size as "read until EOF", which results in memory corruption).
24357 Use `lowest_segment' rather than 0 for calculating the current
24358 segment load address.
24359
24360 2008-09-08 Robert Millan <rmh@aybabtu.com>
24361
24362 * util/hostdisk.c (open_device): Replace a grub_util_info() call
24363 with grub_dprintf("hostdisk", ...), as it was so verbose that it
24364 clobbered useful information.
24365
24366 2008-09-08 Robert Millan <rmh@aybabtu.com>
24367
24368 * include/grub/util/biosdisk.h: Move to ...
24369 * include/grub/util/hostdisk.h: ... here. Update all users.
24370 * util/biosdisk.c: Move to ...
24371 * util/hostdisk.c: ... here. Update all users.
24372
24373 2008-09-07 Robert Millan <rmh@aybabtu.com>
24374
24375 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
24376 variables.
24377 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
24378 and length can be stored directly in the `mbi->mmap_addr' and
24379 `mbi->mmap_length' struct fields.
24380
24381 2008-09-07 Robert Millan <rmh@aybabtu.com>
24382
24383 * conf/i386.rmk: New file. Provides declaration for building
24384 `cpuid.mod'.
24385 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
24386 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
24387 variables.
24388 Include `conf/i386.mk'.
24389 * conf/i386-efi.rmk: Likewise.
24390 * conf/x86_64-efi.rmk: Likewise.
24391 * conf/i386-coreboot.rmk: Likewise.
24392 * conf/i386-ieee1275.rmk: Likewise.
24393
24394 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
24395
24396 Based on patch created by Colin D Bennett <colin@gibibit.com>.
24397 Adds optimization support for BGR based modes.
24398
24399 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
24400 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24401 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24402 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24403 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24404 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24405 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24406 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24407 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24408 (grub_video_i386_vbeblit_index_index): Likewise.
24409 (grub_video_i386_vbeblit_replace_directN): Added.
24410 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24411 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24412 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24413 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24414 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24415 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24416 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24417 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24418 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24419 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24420 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24421 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24422 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24423
24424 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
24425 (grub_video_i386_vbefill_R8G8B8): Likewise.
24426 (grub_video_i386_vbefill_index): Likewise.
24427 (grub_video_i386_vbefill_direct32): Added.
24428 (grub_video_i386_vbefill_direct24): Likewise.
24429 (grub_video_i386_vbefill_direct16): Likewise.
24430 (grub_video_i386_vbefill_direct8): Likewise.
24431
24432 * include/grub/video.h (grub_video_blit_format): Removed
24433 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
24434 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
24435 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
24436 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
24437 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
24438
24439 * video/video.c (grub_video_get_blit_format): Updated to use new
24440 blit formats. Added handling for 16 bit color modes.
24441
24442 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
24443 fillers.
24444 (common_blitter): Updated to use new blitters.
24445
24446 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
24447 Removed.
24448 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24449 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24450 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24451 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24452 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24453 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24454 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24455 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24456 (grub_video_i386_vbeblit_index_index): Likewise.
24457 (grub_video_i386_vbeblit_replace_directN): Added.
24458 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24459 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24460 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24461 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24462 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24463 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24464 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24465 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24466 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24467 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24468 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24469 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24470 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24471
24472 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
24473 (grub_video_i386_vbefill_R8G8B8): Likewise.
24474 (grub_video_i386_vbefill_index): Likewise.
24475 (grub_video_i386_vbefill_direct32): Added.
24476 (grub_video_i386_vbefill_direct24): Likewise.
24477 (grub_video_i386_vbefill_direct16): Likewise.
24478 (grub_video_i386_vbefill_direct8): Likewise.
24479
24480 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
24481 types.
24482
24483 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
24484 types.
24485
24486 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
24487 blitter types.
24488
24489 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
24490 types.
24491
24492 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
24493
24494 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
24495 RAID level 1.
24496
24497 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
24498
24499 * fs/iso9660.c (grub_iso9660_date): New structure.
24500 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
24501 (grub_iso9660_uuid): New function.
24502
24503 2008-09-05 Bean <bean123ch@gmail.com>
24504
24505 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
24506
24507 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
24508 insensitive bit for names in Win32 and Win32 & DOS namespace.
24509
24510 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
24511
24512 * include/grub/types.h (LONG_MAX): Likewise.
24513
24514 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
24515
24516 * util/getroot.c: Include <config.h>.
24517 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
24518 add support for /dev/md/N devices and handle LVM double dash escaping.
24519
24520 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
24521
24522 * config.guess: Update to latest version from config git.
24523 * config.sub: Likewise.
24524
24525 2008-09-03 Robert Millan <rmh@aybabtu.com>
24526
24527 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
24528 `disk->total_sectors'.
24529
24530 2008-09-01 Colin D Bennett <colin@gibibit.com>
24531
24532 * include/grub/normal.h: Fixed incorrect comment for
24533 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
24534
24535 2008-09-01 Colin D Bennett <colin@gibibit.com>
24536
24537 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
24538 values with defines.
24539
24540 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
24541 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
24542 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
24543 (GRUB_VBE_MODEATTR_COLOR): Likewise.
24544 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
24545 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
24546 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
24547 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
24548 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
24549 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
24550 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
24551 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
24552 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
24553 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
24554 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
24555 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
24556 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
24557 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
24558 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
24559
24560 2008-08-31 Robert Millan <rmh@aybabtu.com>
24561
24562 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
24563 declaration.
24564 (grub_multiboot): Fix a few warnings.
24565
24566 2008-08-31 Robert Millan <rmh@aybabtu.com>
24567
24568 * loader/i386/pc/multiboot.c: Update comment not to say that
24569 boot_device support is unimplemented.
24570
24571 2008-08-31 Robert Millan <rmh@aybabtu.com>
24572
24573 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
24574 or memory map support are unimplemented.
24575
24576 2008-08-31 Colin D Bennett <colin@gibibit.com>
24577
24578 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
24579
24580 2008-08-31 Colin D Bennett <colin@gibibit.com>
24581
24582 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
24583 total video memory in 'vbeinfo' output; show color format details for
24584 each video mode.
24585
24586 2008-08-30 Pavel Roskin <proski@gnu.org>
24587
24588 * util/genmoddep.c: Remove for real this time.
24589 * DISTLIST: Remove util/genmoddep.c.
24590
24591 2008-08-30 Robert Millan <rmh@aybabtu.com>
24592
24593 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
24594 as required by Multiboot spec (it was already 4-byte aligned, but
24595 only by chance).
24596
24597 2008-08-29 Pavel Roskin <proski@gnu.org>
24598
24599 * kern/powerpc/ieee1275/crt0.S: Rename to ...
24600 * kern/powerpc/ieee1275/startup.S: ... this.
24601 * conf/powerpc-ieee1275.rmk: Adjust for the above.
24602 * DISTLIST: Likewise.
24603
24604 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
24605 grub/cpu/kernel.h. Add start label for consistency with other
24606 platforms. Add grub_prefix immediately after start. Add jump
24607 to the code after grub_prefix.
24608 * include/grub/powerpc/kernel.h: Provide valid values for
24609 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
24610
24611 2008-08-29 Bean <bean123ch@gmail.com>
24612
24613 * configure.ac: Change host_os to cygwin for mingw.
24614 (asprintf): New check for function.
24615
24616 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
24617 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
24618
24619 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
24620 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
24621 sync, sleep and grub_util_get_disk_size for mingw.
24622
24623 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
24624 to get size in mingw.
24625 (open_device): Use flag O_BINARY if it's defined.
24626 (find_root_device): Add dummy code for mingw.
24627
24628 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
24629 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
24630 (get_scsi_disk_name): Return 0 for mingw.
24631
24632 * util/hostfs.c: #include <grub/util/misc.h>.
24633 (grub_hostfs_open): Use "rb" flag to open file, use
24634 grub_util_get_disk_size to get disk size for mingw.
24635
24636 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
24637 (asprintf): New function if HAVE_ASPRINTF is not set.
24638 (sync): New function for mingw.
24639 (sleep): Likewise.
24640 (grub_util_get_disk_size): Likewise.
24641
24642 2008-08-28 Pavel Roskin <proski@gnu.org>
24643
24644 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24645 kern/time.c.
24646
24647 2008-08-28 Robert Millan <rmh@aybabtu.com>
24648
24649 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
24650
24651 2008-08-28 Robert Millan <rmh@aybabtu.com>
24652
24653 Change find_grub_drive() syntax so it doesn't prevent it from
24654 detecting NULL names as errors.
24655
24656 * util/biosdisk.c (find_grub_drive): Move free slot search code
24657 from here ...
24658 (find_free_slot): ... to here.
24659 (read_device_map): Use find_free_slot() to search for free slots.
24660
24661 2008-08-27 Marco Gerards <marco@gnu.org>
24662
24663 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
24664 (scsi_mod_SOURCES): New variable.
24665 (scsi_mod_CFLAGS): Likewise
24666 (scsi_mod_LDFLAGS): Likewise.
24667
24668 * disk/scsi.c: New file.
24669
24670 * include/grub/scsi.h: Likewise.
24671
24672 * include/grub/scsicmd.h: Likewise.
24673
24674 * disk/ata.c: Include <grub/scsi.h>.
24675 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
24676 instead.
24677 (grub_ata_iterate): Skip ATAPI devices.
24678 (grub_ata_open): Only handle ATAPI devices.
24679 (struct grub_atapi_read): Removed.
24680 (grub_atapi_readsector): Likewise.
24681 (grub_ata_read): No longer handle ATAPI devices.
24682 (grub_ata_write): Likewise.
24683 (grub_atapi_iterate): New function.
24684 (grub_atapi_read): Likewise.
24685 (grub_atapi_write): Likewise.
24686 (grub_atapi_open): Likewise.
24687 (grub_atapi_close): Likewise.
24688 (grub_atapi_dev): New variable.
24689 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
24690 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
24691
24692 * include/grub/disk.h (enum grub_disk_dev_id): Add
24693 `GRUB_DISK_DEVICE_SCSI_ID'.
24694
24695 2008-08-26 Robert Millan <rmh@aybabtu.com>
24696
24697 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
24698 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
24699 descriptive.
24700
24701 2008-08-23 Bean <bean123ch@gmail.com>
24702
24703 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
24704 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
24705 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
24706 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
24707 dm_nv.mod.
24708 (raid5rec_mod_SOURCES): New macro.
24709 (raid5rec_mod_CFLAGS): Likewise.
24710 (raid5rec_mod_LDFLAGS): Likewise.
24711 (raid6rec_mod_SOURCES): Likewise.
24712 (raid6rec_mod_CFLAGS): Likewise.
24713 (raid6rec_mod_LDFLAGS): Likewise.
24714 (mdraid_mod_SOURCES): Likewise.
24715 (mdraid_mod_CFLAGS): Likewise.
24716 (mdraid_mod_LDFLAGS): Likewise.
24717 (dm_nv_mod_SOURCES): Likewise.
24718 (dm_nv_mod_CFLAGS): Likewise.
24719 (dm_nv_mod_LDFLAGS): Likewise.
24720
24721 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
24722 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
24723 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
24724
24725 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
24726 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
24727
24728 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24729
24730 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24731
24732 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24733
24734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24735
24736 * disk/raid5_recover.c: New file.
24737
24738 * disk/raid6_recover.c: Likewise.
24739
24740 * disk/mdraid_linux.c: Likewise.
24741
24742 * disk/dmraid_nvidia.c: Likewise.
24743
24744 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
24745 ULONG_MAX.
24746
24747 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
24748 calculate the size of raid device.
24749 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
24750 different layout of raid5.
24751 (grub_raid_scan_device): Remove code specific to mdraid.
24752 (grub_raid_list): New variable.
24753 (free_array): New function.
24754 (grub_raid_register): Likewise.
24755 (grub_raid_unregister): Likewise.
24756 (grub_raid_rescan): Likewise.
24757 (GRUB_MOD_INIT): Don't iterate device here.
24758 (GRUB_MOD_FINI): Use free_array to release resource.
24759
24760 * include/grub/raid.h: Remove macro and structure specific to mdraid.
24761 (grub_raid5_recover_func_t): New function variable type.
24762 (grub_raid6_recover_func_t): Likewise.
24763 (grub_raid5_recover_func): New variable.
24764 (grub_raid6_recover_func): Likewise.
24765 (grub_raid_register): New function.
24766 (grub_raid_unregister): Likewise.
24767 (grub_raid_rescan): Likewise.
24768 (grub_raid_block_xor): Likewise.
24769
24770 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
24771 (CMD_CRC): New macro.
24772 (part): Removed.
24773 (read_file): Handle device as well as file.
24774 (cmd_crc): New function.
24775 (fstest): Handle multiple disks.
24776 (options): Remove part, raw and long, add root and diskcount.
24777 (usage): Add crc, remove -p, -r, -l, add -r and -c.
24778 (main): Find the first non option entry and ignore subsequent options,
24779 add handling for the new options, support multiple disks.
24780
24781 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
24782
24783 2008-08-23 Bean <bean123ch@gmail.com>
24784
24785 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
24786
24787 * genfslist.sh: Ignore kernel.mod.
24788
24789 * genpartmaplist.sh: Likewise.
24790
24791 2008-08-23 Robert Millan <rmh@aybabtu.com>
24792
24793 * util/getroot.c (find_root_device): Skip anything that starts with
24794 a dot, not just directories. This avoids things like /dev/.tmp.md0.
24795
24796 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
24797
24798 * util/update-grub.in (GRUB_GFXMODE): Export variable.
24799 * util/grub.d/00_header.in: Allow the administrator to change default
24800 gfxmode via ${GRUB_GFXMODE}.
24801
24802 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
24803
24804 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
24805
24806 2008-08-21 Robert Millan <rmh@aybabtu.com>
24807
24808 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
24809 loader.
24810 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
24811 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
24812
24813 2008-08-20 Carles Pina i Estany <carles@pina.cat>
24814
24815 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
24816 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
24817
24818 2008-08-19 Robert Millan <rmh@aybabtu.com>
24819
24820 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
24821 (struct grub_virtual_screen): Remove `cursor_color'.
24822 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
24823 initialization.
24824 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
24825
24826 2008-08-18 Robert Millan <rmh@aybabtu.com>
24827
24828 Unify (identical) linux_normal.c files.
24829 * loader/i386/efi/linux_normal.c: Move from here ...
24830 * loader/linux_normal.c: ... to here. Update all users.
24831 * loader/i386/pc/linux_normal.c: Delete. Update all users.
24832 * loader/i386/ieee1275/linux_normal.c: Likewise.
24833
24834 2008-08-18 Robert Millan <rmh@aybabtu.com>
24835
24836 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
24837 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
24838 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
24839 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
24840 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
24841 New macros.
24842 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
24843 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
24844 (GRUB_LINUX_CL_END_OFFSET): ... to here.
24845 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
24846 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
24847 (GRUB_EFI_CL_END_OFFSET): Rename to ...
24848 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
24849 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
24850 Initialize `params->video_cursor_x' and `params->video_cursor_y'
24851 portably using grub_getxy().
24852 Replace `-EFI' with `-bzImage' in boot message.
24853
24854 2008-08-17 Robert Millan <rmh@aybabtu.com>
24855
24856 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
24857
24858 2008-08-17 Robert Millan <rmh@aybabtu.com>
24859
24860 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
24861
24862 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
24863 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
24864 (grub_machine_mmap_iterate): New function declaration.
24865 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
24866 structure.
24867 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
24868 macros.
24869
24870 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
24871 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
24872 Move e820 parsing from here ...
24873 * kern/i386/pc/mmap.c: New file.
24874 (grub_machine_mmap_iterate): ... to here.
24875
24876 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
24877 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
24878 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
24879 (grub_available_iterate): Redeclare to return `void', and redeclare
24880 its hook to use grub_uint64_t as addr and size parameters, and rename
24881 to ...
24882 (grub_machine_mmap_iterate): ... this. Update all users.
24883
24884 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
24885 to make it more readable. Rename to ...
24886 (grub_machine_mmap_iterate): ... this.
24887
24888 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
24889 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
24890 (grub_multiboot): Allocate an extra region after the payload, and fill
24891 it with a Multiboot memory map. Adjust a.out loader to calculate size
24892 with the extra space.
24893 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
24894 with the extra space.
24895
24896 2008-08-17 Carles Pina i Estany <carles@pina.cat>
24897
24898 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
24899
24900 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
24901
24902 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
24903 mdate-sh to the list `find' searches for.
24904 * DISTLIST: Regenerated.
24905
24906 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
24907
24908 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
24909 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
24910 genmoddep.awk, gensymlist.sh.in.
24911 (DISTDIRS): Add bus, docs, hook, lib.
24912 * DISTLIST: Regenerated.
24913 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
24914
24915 2008-08-16 Robert Millan <rmh@aybabtu.com>
24916
24917 * disk/raid.c (grub_raid_init): Handle/report errors set by
24918 grub_device_iterate().
24919 * disk/lvm.c (grub_lvm_init): Likewise.
24920
24921 2008-08-15 Bean <bean123ch@gmail.com>
24922
24923 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24924 and datehook.mod.
24925 (datetime_mod_SOURCES): New macro.
24926 (datetime_mod_CFLAGS): Likewise.
24927 (datetime_mod_LDFLAGS): Likewise.
24928 (date_mod_SOURCES): Likewise.
24929 (date_mod_CFLAGS): Likewise.
24930 (date_mod_LDFLAGS): Likewise.
24931 (datehook_mod_SOURCES): Likewise.
24932 (datehook_mod_CFLAGS): Likewise.
24933 (datehook_mod_LDFLAGS): Likewise.
24934
24935 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24936 and datehook.mod.
24937 (datetime_mod_SOURCES): New macro.
24938 (datetime_mod_CFLAGS): Likewise.
24939 (datetime_mod_LDFLAGS): Likewise.
24940 (date_mod_SOURCES): Likewise.
24941 (date_mod_CFLAGS): Likewise.
24942 (date_mod_LDFLAGS): Likewise.
24943 (datehook_mod_SOURCES): Likewise.
24944 (datehook_mod_CFLAGS): Likewise.
24945 (datehook_mod_LDFLAGS): Likewise.
24946
24947 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24948 and datehook.mod.
24949 (datetime_mod_SOURCES): New macro.
24950 (datetime_mod_CFLAGS): Likewise.
24951 (datetime_mod_LDFLAGS): Likewise.
24952 (date_mod_SOURCES): Likewise.
24953 (date_mod_CFLAGS): Likewise.
24954 (date_mod_LDFLAGS): Likewise.
24955 (datehook_mod_SOURCES): Likewise.
24956 (datehook_mod_CFLAGS): Likewise.
24957 (datehook_mod_LDFLAGS): Likewise.
24958
24959 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24960 and datehook.mod.
24961 (datetime_mod_SOURCES): New macro.
24962 (datetime_mod_CFLAGS): Likewise.
24963 (datetime_mod_LDFLAGS): Likewise.
24964 (date_mod_SOURCES): Likewise.
24965 (date_mod_CFLAGS): Likewise.
24966 (date_mod_LDFLAGS): Likewise.
24967 (datehook_mod_SOURCES): Likewise.
24968 (datehook_mod_CFLAGS): Likewise.
24969 (datehook_mod_LDFLAGS): Likewise.
24970
24971 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
24972 and datehook.mod.
24973 (datetime_mod_SOURCES): New macro.
24974 (datetime_mod_CFLAGS): Likewise.
24975 (datetime_mod_LDFLAGS): Likewise.
24976 (date_mod_SOURCES): Likewise.
24977 (date_mod_CFLAGS): Likewise.
24978 (date_mod_LDFLAGS): Likewise.
24979 (datehook_mod_SOURCES): Likewise.
24980 (datehook_mod_CFLAGS): Likewise.
24981 (datehook_mod_LDFLAGS): Likewise.
24982
24983 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
24984
24985 * commands/date.c: New file.
24986
24987 * hook/datehook.c: Likewise.
24988
24989 * include/grub/lib/datetime.h: Likewise.
24990
24991 * include/grub/i386/cmos.h: Likewise.
24992
24993 * lib/datetime.c: Likewise.
24994
24995 * lib/i386/datetime.c: Likewise.
24996
24997 * lib/efi/datetime.c: Likewise.
24998
24999 2008-08-14 Robert Millan <rmh@aybabtu.com>
25000
25001 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
25002 (grub_mkelfimage_SOURCES): New variable.
25003 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
25004
25005 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
25006 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
25007 * conf/powerpc-ieee1275.rmk: Likewise.
25008 * conf/i386-ieee1275.rmk: Likewise.
25009
25010 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
25011 * kern/i386/coreboot/init.c: Likewise.
25012
25013 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
25014 with `<grub/cpu/kernel.h>'.
25015 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
25016 to ...
25017 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
25018 * kern/i386/coreboot/startup.S: Likewise.
25019
25020 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
25021 (GRUB_MOD_GAP): Remove.
25022 * include/grub/powerpc/kernel.h: New file.
25023 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
25024 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25025 * include/grub/i386/kernel.h: New file.
25026 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
25027 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
25028 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25029
25030 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
25031 `grub-mkelfimage'.
25032 Use --directory when invoking grub_mkimage.
25033
25034 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
25035 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
25036 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
25037 and GRUB_KERNEL_CPU_PREFIX.
25038
25039 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
25040
25041 * include/grub/err.h (grub_err_printf): New function prototype.
25042 * util/misc.c (grub_err_printf): New function.
25043 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
25044 grub_printf.
25045 * kern/err.c (grub_print_error): Use grub_err_printf.
25046
25047 2008-08-13 Robert Millan <rmh@aybabtu.com>
25048
25049 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
25050
25051 2008-08-13 Robert Millan <rmh@aybabtu.com>
25052
25053 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
25054 boot entry.
25055
25056 2008-08-12 Robert Millan <rmh@aybabtu.com>
25057
25058 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
25059 of the relocation code from here ...
25060 (grub_multiboot): ... to here.
25061 (forward_relocator, backward_relocator): Move from here ...
25062 * kern/i386/loader.S (grub_multiboot_forward_relocator)
25063 (grub_multiboot_backward_relocator): ... to here.
25064 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
25065 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
25066 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
25067 (grub_multiboot_forward_relocator_end)
25068 (grub_multiboot_backward_relocator)
25069 (grub_multiboot_backward_relocator_end): New variables.
25070
25071 2008-08-12 Bean <bean123ch@gmail.com>
25072
25073 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
25074
25075 2008-08-11 Robert Millan <rmh@aybabtu.com>
25076
25077 * kern/i386/linuxbios/startup.S: Move from here ...
25078 * kern/i386/coreboot/startup.S: ... to here.
25079
25080 * kern/i386/linuxbios/init.c: Move from here ...
25081 * kern/i386/coreboot/init.c: ... to here.
25082
25083 * kern/i386/linuxbios/table.c: Move from here ...
25084 * kern/i386/coreboot/mmap.c: ... to here.
25085
25086 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
25087
25088 2008-08-11 Robert Millan <rmh@aybabtu.com>
25089
25090 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
25091 errors. Leave it to the upper layer to handle them.
25092
25093 2008-08-09 Christian Franke <franke@computer.org>
25094
25095 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
25096 * conf/common.rmk: Install `grub-pe2elf' only if requested.
25097 Install `grub.d/10_windows' only on Cygwin.
25098 * configure.ac: Add subst of `target_os'.
25099 Check `target_os' also before setting TARGET_OBJ2ELF.
25100 Add `--enable-grub-pe2elf'.
25101
25102 2008-08-08 Robert Millan <rmh@aybabtu.com>
25103
25104 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25105 (grub_last_time): Change type to grub_uint64_t.
25106 (grub_disk_open): Migrate code from to using grub_get_time_ms().
25107 (grub_disk_close): Likewise.
25108
25109 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25110 (run_menu): Migrate code from to using grub_get_time_ms().
25111
25112 * util/misc.c (grub_get_time_ms): New function.
25113
25114 2008-08-08 Marco Gerards <marco@gnu.org>
25115
25116 * disk/ata.c (grub_ata_regget): Change return type to
25117 `grub_uint8_t'.
25118 (grub_ata_regget2): Likewise.
25119 (grub_ata_wait_status): New function.
25120 (grub_ata_wait_busy): Removed function, updated all users to use
25121 `grub_ata_wait_status'.
25122 (grub_ata_wait_drq): Likewise.
25123 (grub_ata_cmd): New function.
25124 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
25125 error handling.
25126 (grub_ata_pio_write): Add error handling.
25127 (grub_atapi_identify): Likewise.
25128 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
25129 handling.
25130 (grub_ata_identify): Use `grub_ata_cmd' and improve error
25131 handling. Actually use the detected registers. Reorder the
25132 detection logic such that it is easier to read.
25133 (grub_ata_pciinit): Do not assign the same ID to each controller.
25134 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
25135 handling.
25136 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
25137
25138 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
25139
25140 2008-08-08 Marco Gerards <marco@gnu.org>
25141
25142 * NEWS: Update.
25143
25144 2008-08-07 Bean <bean123ch@gmail.com>
25145
25146 * include/grub/x86_64/pci.h: New file.
25147
25148 2008-08-07 Christian Franke <franke@computer.org>
25149
25150 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
25151 (TIMER2_GATE): Likewise.
25152 (grub_pit_wait): Add enable/disable of the timer2 gate
25153 bit of port 0x61. This fixes a possible infinite loop.
25154
25155 2008-08-07 Bean <bean123ch@gmail.com>
25156
25157 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
25158 kern/i386/tsc.c and kern/i386/pit.c.
25159
25160 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
25161 x86_64 platform.
25162
25163 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
25164 <grub/i386/tsc.h>.
25165
25166 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
25167
25168 2008-08-07 Bean <bean123ch@gmail.com>
25169
25170 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
25171
25172 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
25173
25174 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
25175 multiple inclusion. Add #include <grub/types.h>.
25176
25177 2008-08-06 Christian Franke <franke@computer.org>
25178
25179 * conf/common.rmk: Build and install `10_windows'.
25180 * util/grub.d/10_windows.in: New script.
25181
25182 2008-08-06 Pavel Roskin <proski@gnu.org>
25183
25184 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
25185
25186 2008-08-06 Robert Millan <rmh@aybabtu.com>
25187
25188 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
25189 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
25190
25191 2008-08-06 Bean <bean123ch@gmail.com>
25192
25193 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
25194 (grub_pxefs_fs_int): Remove dummy definition.
25195 (grub_pxefs_open): Use data->block_size to store the current block
25196 size setting.
25197 (grub_pxefs_read): Use block size stored in data->block_size. As the
25198 value of grub_pxe_blksize can be changed after the file is opened.
25199
25200 2008-08-06 Bean <bean123ch@gmail.com>
25201
25202 * fs/i386/pc/pxe.c (curr_file): new variable.
25203 (grub_pxefs_open): Simply the handling of pxe file system. Don't
25204 require the dummy internal file system anymore.
25205 (grub_pxefs_read): Removed.
25206 (grub_pxefs_close): Likewise.
25207 (grub_pxefs_fs_int): Likewise.
25208 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
25209 connection when we switch file.
25210 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
25211
25212 2008-08-06 Robert Millan <rmh@aybabtu.com>
25213
25214 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
25215 `halt.mod'.
25216 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
25217 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
25218
25219 * kern/i386/halt.c: New file.
25220 * kern/i386/reboot.c: Likewise.
25221 * include/grub/i386/reboot.h: Likewise.
25222 * include/grub/i386/halt.h: Likewise.
25223
25224 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
25225 Include `<grub/cpu/halt.h>'.
25226 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
25227 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
25228
25229 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
25230 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
25231 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
25232 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
25233 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
25234 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
25235 from here ...
25236 * include/grub/i386/at_keyboard.h: ... to here.
25237
25238 2008-08-05 Robert Millan <rmh@aybabtu.com>
25239
25240 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
25241 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
25242 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
25243 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25244 `kern/generic/millisleep.c'.
25245
25246 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
25247 instead of grub_get_rtc().
25248 (grub_tsc_init): Initialize `tsc_boot_time'.
25249
25250 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
25251 (grub_machine_init): Use grub_tsc_init() rather than
25252 installing an RTC-based handler via grub_install_get_time_ms().
25253
25254 * kern/i386/pit.c: New file.
25255 * include/grub/i386/pit.h: Likewise.
25256
25257 2008-08-05 Bean <bean123ch@gmail.com>
25258
25259 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
25260
25261 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
25262 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
25263 (pxe_mod_SOURCES): New macro.
25264 (pxe_mod_CFLAGS): Likewise.
25265 (pxe_mod_LDFLAGS): Likewise.
25266 (pxecmd_mod_SOURCES): Likewise.
25267 (pxecmd_mod_CFLAGS): Likewise.
25268 (pxecmd_mod_LDFLAGS): Likewise.
25269
25270 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
25271 (grub_pxe_call): Likewise.
25272
25273 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
25274
25275 * commands/i386/pc/pxecmd.c: New file.
25276
25277 * fs/i386/pc/pxe.c: Likewise.
25278
25279 * include/grub/i386/pc/pxe.h: Likewise.
25280
25281 2008-08-05 Bean <bean123ch@gmail.com>
25282
25283 * util/console.c (grub_console_cur_color): New variable.
25284 (grub_console_standard_color): Likewise.
25285 (grub_console_normal_color): Likewise.
25286 (grub_console_highlight_color): Likewise.
25287 (color_map): Likewise.
25288 (use_color): Likewise.
25289 (NUM_COLORS): New macro.
25290 (grub_ncurses_setcolorstate): Handle color properly.
25291 (grub_ncurses_setcolor): Don't change color here, just remember the
25292 settings, color will be set in grub_ncurses_setcolorstate.
25293 (grub_ncurses_getcolor): New function.
25294 (grub_ncurses_init): Initialize color pairs.
25295 (grub_ncurses_term): New member grub_ncurses_getcolor.
25296
25297 2008-08-05 Colin D Bennett <colin@gibibit.com>
25298
25299 High resolution timer support. Implemented for x86 CPUs using TSC.
25300 Extracted generic grub_millisleep() so it's linked in only as needed.
25301 This requires a Pentium compatible CPU; if the RDTSC instruction is
25302 not supported, then it falls back on the generic grub_get_time_ms()
25303 implementation that uses the machine's RTC.
25304
25305 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
25306 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25307 `kern/generic/millisleep.c'.
25308
25309 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
25310 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
25311
25312 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
25313 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
25314
25315 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25316
25317 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25318 `kern/generic/millisleep.c'.
25319
25320 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25321
25322 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
25323
25324 * kern/generic/rtc_get_time_ms.c: New file.
25325
25326 * kern/generic/millisleep.c: New file.
25327
25328 * kern/misc.c: Don't include
25329 <kern/time.h> anymore.
25330 (grub_millisleep_generic): Removed.
25331
25332 * commands/sleep.c (grub_interruptible_millisleep): Uses
25333 grub_get_time_ms() instead of grub_get_rtc().
25334
25335 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
25336 function.
25337 (grub_cpu_is_cpuid_supported): New inline function.
25338 (grub_cpu_is_tsc_supported): New inline function.
25339 (grub_tsc_init): New function prototype.
25340 (grub_tsc_get_time_ms): New function prototype.
25341
25342 * kern/i386/tsc.c (grub_get_time_ms): New file.
25343
25344 * include/grub/time.h: Include <grub/types.h.
25345 (grub_millisleep_generic): Removed.
25346 (grub_get_time_ms): New prototype.
25347 (grub_install_get_time_ms): New prototype.
25348 (grub_rtc_get_time_ms): New prototype.
25349
25350 * kern/time.c (grub_get_time_ms): New function.
25351 (grub_install_get_time_ms): New function.
25352
25353 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
25354 <grub/time.h> anymore.
25355 (grub_millisleep): Removed.
25356 (grub_machine_init): Call grub_tsc_init.
25357
25358 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
25359 get_time_ms() implementation.
25360
25361 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
25362 (ieee1275_get_time_ms): New function.
25363 (grub_machine_init): Install get_time_ms() implementation.
25364
25365 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
25366 (grub_machine_init): Call grub_tsc_init().
25367 (grub_millisleep): Removed.
25368
25369 * kern/ieee1275/init.c (grub_millisleep): Removed.
25370 (grub_machine_init): Install ieee1275_get_time_ms()
25371 implementation.
25372 (ieee1275_get_time_ms): New function.
25373 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
25374 real work.
25375
25376 2008-08-05 Marco Gerards <marco@gnu.org>
25377
25378 * disk/ata.c: Include <grub/pci.h>.
25379 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
25380 (grub_ata_initialize): Rewritten.
25381 (grub_ata_device_initialize): New function.
25382
25383 2008-08-04 Pavel Roskin <proski@gnu.org>
25384
25385 * kern/main.c: Include grub/mm.h.
25386
25387 2008-08-04 Robert Millan <rmh@aybabtu.com>
25388
25389 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
25390 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
25391 corruption problem).
25392
25393 2008-08-04 Robert Millan <rmh@aybabtu.com>
25394
25395 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
25396 warnings introduced in my last commit.
25397
25398 2008-08-03 Robert Millan <rmh@aybabtu.com>
25399
25400 Make PCI available on all i386 architectures.
25401
25402 * include/grub/i386/pc/pci.h: Move from here ...
25403 * include/grub/i386/pci.h: ... to here.
25404
25405 * include/grub/i386/pc/pci.h: Remove.
25406 * include/grub/i386/efi/pci.h: Remove.
25407 * include/grub/x86_64/efi/pci.h: Remove.
25408
25409 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
25410 `<grub/cpu/pci.h>'.
25411
25412 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
25413 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
25414 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
25415
25416 * conf/i386-ieee1275.rmk: Likewise.
25417
25418 2008-08-03 Robert Millan <rmh@aybabtu.com>
25419
25420 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
25421 (grub_console_setcursor): Make it possible to set cursor off.
25422
25423 2008-08-03 Robert Millan <rmh@aybabtu.com>
25424
25425 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
25426 of modules instead of assuming which platform provides what.
25427 * util/update-grub.in: Likewise.
25428
25429 2008-08-03 Robert Millan <rmh@aybabtu.com>
25430
25431 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
25432 instead of `grub_install_dos_part' to determine whether a drive needs
25433 to be prepended to prefix (`grub_install_dos_part' is not reliable,
25434 because it can be overridden when loading GRUB via Multiboot).
25435
25436 2008-08-02 Robert Millan <rmh@aybabtu.com>
25437
25438 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
25439
25440 2008-08-02 Robert Millan <rmh@aybabtu.com>
25441
25442 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
25443 of informational grub_dprintf() calls.
25444
25445 2008-08-02 Robert Millan <rmh@aybabtu.com>
25446
25447 * disk/memdisk.c (memdisk_size): Don't initialize.
25448 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
25449
25450 * include/grub/i386/pc/kernel.h
25451 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
25452 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
25453 (grub_memdisk_image_size, grub_arch_memdisk_addr)
25454 (grub_arch_memdisk_size): Remove.
25455
25456 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
25457 field (was only used to transfer a constant). Add `type' field to
25458 support multiple module types.
25459 (grub_module_iterate): New function.
25460
25461 * kern/device.c (grub_device_open): Do not hide error messages
25462 when grub_disk_open() fails. Use grub_print_error() instead.
25463
25464 * kern/i386/pc/init.c (grub_arch_modules_addr)
25465 (grub_arch_memdisk_size): Remove functions.
25466 (grub_arch_modules_addr): Return the module address in high memory
25467 (now that it isn't copied anymore).
25468
25469 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
25470 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
25471 decompression routine (grub_total_module_size already includes that
25472 now). Don't copy modules back to low memory.
25473
25474 * kern/main.c: Include `<grub/mm.h>'.
25475 (grub_load_modules): Split out (and use) ...
25476 (grub_module_iterate): ... this function, which iterates through
25477 module objects and runs a hook.
25478 Comment out grub_mm_init_region() call, as it would cause non-ELF
25479 modules to be overwritten.
25480
25481 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
25482 the memdisk image in its own region, make it part of the module list.
25483 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
25484 (main): Parse --memdisk|-m option, and pass user-provided path as
25485 parameter to generate_image().
25486 (add_segments): Pass `memdisk_path' down to load_modules().
25487 (load_modules): Embed memdisk image in module section when requested.
25488 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
25489 `header.type' instead of `header.offset'.
25490
25491 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
25492 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
25493 (memdisk_mod_LDFLAGS): New variables.
25494 * conf/i386-coreboot.rmk: Likewise.
25495 * conf/i386-ieee1275.rmk: Likewise.
25496
25497 2008-08-02 Robert Millan <rmh@aybabtu.com>
25498
25499 * loader/i386/pc/multiboot.c (playground, forward_relocator)
25500 (backward_relocator): New variables. Used to allocate and relocate
25501 the payload, respectively.
25502 (grub_multiboot_load_elf32): Load into heap instead of requested
25503 address, install the appropriate relocator code in each bound of
25504 the payload, and set the entry point such that
25505 grub_multiboot_real_boot() will jump to one of them.
25506
25507 * kern/i386/loader.S (grub_multiboot_payload_size)
25508 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25509 (grub_multiboot_payload_entry_offset): New variables.
25510 (grub_multiboot_real_boot): Set cpu context to what the relocator
25511 expects, and jump to the relocator instead of the payload.
25512
25513 * include/grub/i386/loader.h (grub_multiboot_payload_size)
25514 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25515 (grub_multiboot_payload_entry_offset): Export.
25516
25517 2008-08-01 Bean <bean123ch@gmail.com>
25518
25519 * normal/menu_entry.c (editor_getline): Don't return the original
25520 string as result, as it will be released by lexer once it has done
25521 using it.
25522
25523 2008-08-01 Robert Millan <rmh@aybabtu.com>
25524
25525 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
25526 within menuentries, not before them.
25527 util/grub.d/10_hurd.in: Likewise.
25528
25529 2008-08-01 Bean <bean123ch@gmail.com>
25530
25531 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
25532 (bufio_mod_SOURCES): New macro.
25533 (bufio_mod_CFLAGS): Likewise.
25534 (bufio_mod_LDFLAGS): Likewise.
25535
25536 * include/grub/bufio.h: New file.
25537
25538 * io/bufio.c: Likewise.
25539
25540 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
25541 (grub_video_reader_png): Use grub_buffile_open to open file.
25542
25543 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
25544 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
25545
25546 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
25547 (grub_video_reader_tga): Use grub_buffile_open to open file.
25548
25549 * font/manager.c: Include <grub/bufio.h>.
25550 (add_font): Use grub_buffile_open to open file.
25551
25552 2008-07-31 Robert Millan <rmh@aybabtu.com>
25553
25554 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
25555 ELF segments, use a macro for arbitrarily accessing any of them instead
25556 of preparing a pointer that allows access to one at a time.
25557 (grub_multiboot_load_elf64): Likewise.
25558
25559 2008-07-31 Bean <bean123ch@gmail.com>
25560
25561 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
25562 GRUB_KERNEL_MACHINE_DATA_END.
25563
25564 2008-07-30 Robert Millan <rmh@aybabtu.com>
25565
25566 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
25567 Increase from 0x50 to 0x60.
25568 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
25569 use UUIDs to identify the root drive for them. If that's not
25570 possible, abort.
25571 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
25572 check, for cross-disk installs.
25573
25574 2008-07-30 Robert Millan <rmh@aybabtu.com>
25575
25576 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
25577 is non-empty, use it to set the `prefix' environment variable instead
25578 of the usual approach.
25579 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
25580 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
25581 environment variable instead of dummy make_install_device().
25582
25583 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
25584 (start): Insert a data section, with `grub_prefix' variable.
25585 * kern/i386/linuxbios/startup.S: Likewise.
25586
25587 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
25588 New variable reference.
25589 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
25590 New macro. Defines offset of `grub_prefix' within startup.S (relative
25591 to `start').
25592 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
25593 section within startup.S (relative to `start').
25594 * include/grub/i386/coreboot/kernel.h: Likewise.
25595
25596 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
25597 Overwrite grub_prefix with its contents, at the beginning of the
25598 first segment.
25599 (main): Understand -p|--prefix.
25600
25601 2008-07-30 Robert Millan <rmh@aybabtu.com>
25602
25603 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
25604
25605 2008-07-30 Robert Millan <rmh@aybabtu.com>
25606
25607 * term/i386/pc/vga_text.c (grub_console_cls): Use
25608 grub_console_gotoxy() to go back to beginning of the screen.
25609 Found by Patrick Georgi <patrick.georgi@coresystems.de>
25610
25611 2008-07-29 Christian Franke <franke@computer.org>
25612
25613 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
25614 Add conversion of emulated mount points on Cygwin.
25615
25616 2008-07-29 Christian Franke <franke@computer.org>
25617
25618 * util/update-grub.in: Add a check for admin
25619 group on Cygwin.
25620 Remove old `grub.cfg.new' before creation.
25621 Add `-f' to `mv' to handle the different filesystem
25622 semantics of Windows.
25623
25624 2008-07-29 Bean <bean123ch@gmail.com>
25625
25626 * normal/main.c (get_line): Fix buffer overflow bug.
25627
25628 2008-07-28 Robert Millan <rmh@aybabtu.com>
25629
25630 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
25631 (struct grub_apple_header): New struct. Describes the layout of
25632 the partmap header.
25633 (apple_partition_map_iterate): Check the header magic as well as the
25634 partition magic (which was already being checked).
25635
25636 2008-07-28 Pavel Roskin <proski@gnu.org>
25637
25638 * genmk.rb: Add a warning to the beginning of the output that
25639 it's a generated file and should not be edited.
25640
25641 2008-07-28 Robert Millan <rmh@aybabtu.com>
25642
25643 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25644 with the same number are found, just use issue a warning with
25645 grub_dprintf(), as this error has been reported to be non-fatal.
25646
25647 2008-07-27 Robert Millan <rmh@aybabtu.com>
25648
25649 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
25650 information.
25651
25652 2008-07-27 Bean <bean123ch@gmail.com>
25653
25654 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
25655 (grub_fat_find_dir): Ignore case when comparing filename.
25656
25657 2008-07-27 Bean <bean123ch@gmail.com>
25658
25659 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
25660 smallino, as it's more descriptive, and i8count can be confused with
25661 the other field count.
25662 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
25663 inode type.
25664
25665 2008-07-27 Bean <bean123ch@gmail.com>
25666
25667 * commands/crc.c: New file.
25668
25669 * lib/crc.c: Likewise.
25670
25671 * include/grub/lib/crc.h: Likewise.
25672
25673 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
25674
25675 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
25676 (hexdump): Move this function to ...
25677
25678 * lib/hexdump.c: ... here.
25679
25680 * include/grub/hexdump.h: Renamed to ...
25681
25682 * include/grub/lib/hexdump.h: ... this.
25683
25684 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
25685
25686 * util/grub-editenv.c: Likewise.
25687
25688 * include/envblk.h: Renamed to ...
25689
25690 * include/lib/envblk.h: ... this.
25691
25692 * util/envblk.c: Renamed to ...
25693
25694 * lib/envblk.c: ... this.
25695
25696 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
25697 lib/hexdump.c.
25698 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
25699 (pkglib_MODULES): Add crc.mod.
25700 (hexdump_mod_SOURCES): Add lib/hexdump.c.
25701 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
25702 (crc_mod_SOURCES): New macro.
25703 (crc_mod_CFLAGS): Likewise.
25704 (crc_mod_LDFLAGS): Likewise.
25705
25706 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
25707
25708 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25709
25710 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25711
25712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25713
25714 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25715
25716 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
25717
25718 * commands/help.c: Include <grub/term.h>.
25719 (TERM_WIDTH): Removed. Updated all users.
25720
25721 2008-07-27 Pavel Roskin <proski@gnu.org>
25722
25723 * util/getroot.c (find_root_device): Rephrase a comment to avoid
25724 spurious warnings about a comment within a comment.
25725
25726 2008-07-25 Robert Millan <rmh@aybabtu.com>
25727
25728 * util/getroot.c (find_root_device): Skip devices that match
25729 /dev/dm-[0-9]. This lets the real device be found for any type of
25730 abstraction (LVM, EVMS, RAID..).
25731 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
25732 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
25733 device is found first, find_root_device() will now skip it.
25734
25735 2008-07-24 Pavel Roskin <proski@gnu.org>
25736
25737 * include/grub/types.h: Use __builtin_bswap32() and
25738 __builtin_bswap64() with gcc 4.3 and newer.
25739
25740 2008-07-24 Christian Franke <franke@computer.org>
25741
25742 * util/i386/pc/grub-install.in: If `--debug' is specified,
25743 pass `--verbose' to grub-setup.
25744 Abort script if make_system_path_relative_to_its_root() fails.
25745
25746 2008-07-24 Bean <bean123ch@gmail.com>
25747
25748 * configure.ac: Fixed a bug caused by the previous cygwin patch,
25749 variable `target_platform' should be `platform'.
25750
25751 2008-07-24 Bean <bean123ch@gmail.com>
25752
25753 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
25754 (grub_png_init_fixed_block): New function.
25755 (grub_png_decode_image_data): Handle fixed huffman code compression.
25756
25757 2008-07-24 Bean <bean123ch@gmail.com>
25758
25759 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
25760 (grub_pe2elf_SOURCES): New macro.
25761 (CLEANFILES): Add grub-pe2elf.
25762
25763 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
25764 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
25765 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
25766 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
25767 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
25768 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
25769 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
25770 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
25771 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
25772 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
25773 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
25774 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
25775 (GRUB_PE32_DT_FUNCTION): Likewise.
25776 (GRUB_PE32_REL_I386_DIR32): Likewise.
25777 (GRUB_PE32_REL_I386_REL32): Likewise.
25778 (grub_pe32_symbol): New structure.
25779 (grub_pe32_reloc): Likewise.
25780
25781 * util/grub-pe2elf.c: New file.
25782
25783 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
25784 start symbol in non pc platform.
25785
25786 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
25787
25788 The following patches are from Christian Franke.
25789
25790 * include/grub/dl.h: Remove .previous, gas supports this only
25791 for ELF format.
25792
25793 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
25794 Remove .type, gas supports this only for ELF format.
25795
25796 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
25797 nullbytes in symbol table. This fixes an infinite loop if table is
25798 zero filled.
25799
25800 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
25801 TARGET_IMG_LDFLAGS and EXEEXT.
25802
25803 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
25804 TARGET_IMG_LDFLAGS_AC.
25805 (grub_CHECK_STACK_ARG_PROBE): New function.
25806
25807 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
25808
25809 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
25810
25811 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
25812 to set TARGET_IMG_LD* accordingly.
25813 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
25814 Add call to grub_CHECK_STACK_ARG_PROBE.
25815 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
25816
25817 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
25818
25819 * genmk.rb: Add EXEEXT to CLEANFILES.
25820
25821 2008-07-23 Robert Millan <rmh@aybabtu.com>
25822
25823 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
25824 define the codes for arrows and lines used for the menu).
25825 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
25826 as well.
25827
25828 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
25829 fonts, because the latter are too slow.
25830
25831 2008-07-21 Bean <bean123ch@gmail.com>
25832
25833 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
25834 a20. Run keyboard test last, as it will cause macbook to halt.
25835
25836 2008-07-18 Pavel Roskin <proski@gnu.org>
25837
25838 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
25839 load foreign architecture modules correctly anyway. Keep
25840 support for loading host architecture modules, whether we
25841 compile them or not.
25842
25843 2008-07-17 Pavel Roskin <proski@gnu.org>
25844
25845 * configure.ac: Use -m32 or -m64 regardless of whether we had to
25846 change target_cpu. The compiler default can mismatch target_cpu
25847 in any case.
25848
25849 * disk/efi/efidisk.c: Fix format warnings on x86_64.
25850 * kern/efi/efi.c: Likewise.
25851
25852 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
25853 target compiler is functional.
25854 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
25855 are set up.
25856
25857 * configure.ac: Default to efi platform for x86_64-apple. Allow
25858 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
25859 adjustments from the rest, only do them if target is not
25860 explicitly given. Merge other adjustments with the final sanity
25861 check. Remove an extraneous check for supported CPU. Be
25862 specific which CPU and which platform is not supported.
25863
25864 * configure.ac: Default to pc platform for x86_64.
25865
25866 2008-07-17 Robert Millan <rmh@aybabtu.com>
25867
25868 Partial LinuxBIOS -> Coreboot rename.
25869
25870 * conf/i386-linuxbios.rmk: Renamed to ...
25871 * conf/i386-coreboot.rmk: ... this.
25872 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
25873 * configure.ac: Accept "coreboot" as input platform (but maintain
25874 compatibility with "linuxbios").
25875 * include/grub/i386/linuxbios: Renamed to ...
25876 * include/grub/i386/coreboot: ... this.
25877
25878 2008-07-17 Bean <bean123ch@gmail.com>
25879
25880 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
25881 (appleldr_mod_SOURCE): New variable.
25882 (appleldr_mod_CFLAGS): Likewise.
25883 (appleldr_mod_LDFLAGS): Likewise.
25884 (pci_mod_SOURCES): Likewise.
25885 (pci_mod_CFLAGS): Likewise.
25886 (pci_mod_LDFLAGS): Likewise.
25887 (lspci_mod_SOURCES): Likewise.
25888 (lspci_mod_CFLAGS): Likewise.
25889 (lspci_mod_LDFLAGS): Likewise.
25890
25891 * conf/x86_64-efi.rmk: New file.
25892
25893 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
25894 macro.
25895 (grub_efidisk_write): Likewise.
25896
25897 * include/efi/api.h (efi_call_0): New macro.
25898 (efi_call_1): Likewise.
25899 (efi_call_2): Likewise.
25900 (efi_call_3): Likewise.
25901 (efi_call_4): Likewise.
25902 (efi_call_5): Likewise.
25903 (efi_call_6): Likewise.
25904
25905 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
25906 grub_rescue_cmd_chainloader.
25907
25908 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
25909 (grub_pe32_optional_header): Change some fields based on i386 or
25910 x86_64 platform.
25911 (GRUB_PE32_PE32_MAGIC): Likewise.
25912
25913 * include/grub/efi/uga_draw.h: New file.
25914
25915 * include/grub/elf.h (STN_ABS): New constant.
25916 (R_X86_64_NONE): Relocation constant for x86_64.
25917 (R_X86_64_64): Likewise.
25918 (R_X86_64_PC32): Likewise.
25919 (R_X86_64_GOT32): Likewise.
25920 (R_X86_64_PLT32): Likewise.
25921 (R_X86_64_COPY): Likewise.
25922 (R_X86_64_GLOB_DAT): Likewise.
25923 (R_X86_64_JUMP_SLOT): Likewise.
25924 (R_X86_64_RELATIVE): Likewise.
25925 (R_X86_64_GOTPCREL): Likewise.
25926 (R_X86_64_32): Likewise.
25927 (R_X86_64_32S): Likewise.
25928 (R_X86_64_16): Likewise.
25929 (R_X86_64_PC16): Likewise.
25930 (R_X86_64_8): Likewise.
25931 (R_X86_64_PC8): Likewise.
25932
25933 * include/grub/i386/efi/pci.h: New file.
25934
25935 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
25936 Change it value based on platform.
25937 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
25938 (GRUB_E820_RAM): Likewise.
25939 (GRUB_E820_RESERVED): Likewise.
25940 (GRUB_E820_ACPI): Likewise.
25941 (GRUB_E820_NVS): Likewise.
25942 (GRUB_E820_EXEC_CODE): Likewise.
25943 (GRUB_E820_MAX_ENTRY): Likewise.
25944 (grub_e820_mmap): New structure.
25945 (linux_kernel_header): Change the efi field according to different
25946 kernel version, also field from linux_kernel_header.
25947
25948 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
25949
25950 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
25951 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
25952 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
25953 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
25954 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
25955 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
25956 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
25957 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
25958 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
25959 (GRUB_PCI_ADDR_IO_MASK): Likewise.
25960
25961 * include/grub/x86_64/efi/kernel.h: New file.
25962
25963 * include/grub/x86_64/efi/loader.h: Likewise.
25964
25965 * include/grub/x86_64/efi/machine.h: Likewise.
25966
25967 * include/grub/x86_64/efi/pci.h: Likewise.
25968
25969 * include/grub/x86_64/efi/time.h: Likewise.
25970
25971 * include/grub/x86_64/linux.h: Likewise.
25972
25973 * include/grub/x86_64/setjmp.h: Likewise.
25974
25975 * include/grub/x86_64/time.h: Likewise.
25976
25977 * include/grub/x86_64/types.h: Likewise.
25978
25979 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
25980 GRUB_TARGET_SIZEOF_VOID_P.
25981
25982 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
25983 (grub_efi_locate_handle): Likewise.
25984 (grub_efi_open_protocol): Likewise.
25985 (grub_efi_set_text_mode): Likewise.
25986 (grub_efi_stall): Likewise.
25987 (grub_exit): Likewise.
25988 (grub_reboot): Likewise.
25989 (grub_halt): Likewise.
25990 (grub_efi_exit_boot_services): Likewise.
25991 (grub_get_rtc): Likewise.
25992
25993 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
25994 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
25995 (grub_efi_allocate_pages): Wrap efi calls.
25996 (grub_efi_free_pages): Wrap efi calls.
25997 (grub_efi_get_memory_map): Wrap efi calls.
25998
25999 * kern/x86_64/dl.c: New file.
26000
26001 * kern/x86_64/efi/callwrap.S: Likewise.
26002
26003 * kern/x86_64/efi/startup.S: Likewise.
26004
26005 * loader/efi/appleloader.c: Likewise.
26006
26007 * loader/efi/chainloader.c (cmdline): New variable.
26008 (grub_chainloader_unload): Wrap efi calls.
26009 (grub_chainloader_boot): Likewise.
26010 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
26011 command line.
26012
26013 * loader/efi/chainloader_normal.c (chainloader_command):
26014 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
26015 command line.
26016
26017 * loader/i386/efi/linux.c (allocate_pages): Change allocation
26018 method.
26019 (grub_e820_add_region): New function.
26020 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
26021 booting.
26022 (grub_find_video_card): New function.
26023 (grub_linux_setup_video): New function.
26024 (grub_rescue_cmd_linux): Probe for video information.
26025
26026 * normal/x86_64/setjmp.S: New file.
26027
26028 * term/efi/console.c (map_char): New function.
26029 (grub_console_putchar): Map unicode char.
26030 (grub_console_checkkey): Wrap efi calls.
26031 (grub_console_getkey): Likewise.
26032 (grub_console_getwh): Likewise.
26033 (grub_console_gotoxy): Likewise.
26034 (grub_console_cls): Likewise.
26035 (grub_console_setcolorstate): Likewise.
26036 (grub_console_setcursor): Likewise.
26037
26038 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
26039
26040 2008-07-16 Pavel Roskin <proski@gnu.org>
26041
26042 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
26043 format strings.
26044
26045 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
26046 pointer, not an integer. This fixes a warning and prevents
26047 precision loss on 64-bit systems.
26048 (relocate_addresses): Remove unneeded cast.
26049
26050 2008-07-15 Pavel Roskin <proski@gnu.org>
26051
26052 * kern/i386/ieee1275/init.c: Include grub/cache.h.
26053
26054 * term/ieee1275/ofconsole.c: Disable code unused on i386.
26055
26056 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
26057 Fix comparison between signed and unsigned.
26058
26059 * include/grub/i386/ieee1275/console.h: Declare
26060 grub_console_init() and grub_console_fini().
26061
26062 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
26063 It's empty and unused.
26064
26065 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
26066 beginning to avoid warnings with some compilers.
26067
26068 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
26069 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
26070
26071 2008-07-14 Pavel Roskin <proski@gnu.org>
26072
26073 * kern/env.c (grub_register_variable_hook): Don't copy empty
26074 string, it leaks memory. Pass "" to grub_env_set(), it should
26075 handle constant strings.
26076
26077 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
26078 * commands/cmp.c (grub_cmd_cmp): Likewise.
26079 * kern/dl.c (grub_dl_flush_cache): Likewise.
26080 (grub_dl_load_core): Likewise.
26081 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
26082 (grub_elf64_load_phdrs): Likewise.
26083
26084 2008-07-13 Pavel Roskin <proski@gnu.org>
26085
26086 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
26087 between signed and unsigned.
26088 (LzmaEnc_Finish): Fix warning about an unused parameter.
26089
26090 2008-07-13 Bean <bean123ch@gmail.com>
26091
26092 * Makefile.in (enable_lzo): New rule.
26093
26094 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
26095
26096 * configure.ac (ENABLE_LZO): New option --enable-lzo.
26097
26098 * boot/i386/pc/lnxboot.S: #include <config.h>.
26099
26100 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
26101 its value according to the compression algorithm used, lzo or lzma.
26102
26103 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
26104 compression algorithm according to configure macro.
26105
26106 * kern/i386/pc/startup.S (codestart): Likewise.
26107
26108 * kern/i386/pc/lzma_decode.S: New file.
26109
26110 * include/grub/lib/LzFind.h: Likewise.
26111
26112 * include/grub/lib/LzHash.h: Likewise.
26113
26114 * include/grub/lib/LzmaDec.h: Likewise.
26115
26116 * include/grub/lib/LzmaEnc.h: Likewise.
26117
26118 * include/grub/lib/LzmaTypes.h: Likewise.
26119
26120 * lib/LzFind.c: Likewise.
26121
26122 * lib/LzmaDec.c: Likewise.
26123
26124 * lib/LzmaEnc.c: Likewise.
26125
26126 2008-07-13 Bean <bean123ch@gmail.com>
26127
26128 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
26129 (grub_ext4_extent_header): New structure.
26130 (grub_ext4_extent): Likewise.
26131 (grub_ext4_extent_idx): Likewise.
26132 (grub_ext4_find_leaf): New function.
26133 (grub_ext2_read_block): Handle extents.
26134
26135 2008-07-12 Robert Millan <rmh@aybabtu.com>
26136
26137 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
26138
26139 2008-07-11 Robert Millan <rmh@aybabtu.com>
26140
26141 * util/grub.d/40_custom.in: New file. Example on how to add custom
26142 entries to /etc/grub.d.
26143 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
26144 40_custom (implicitly, by merging all the grub.d rules).
26145
26146 2008-07-11 Pavel Roskin <proski@gnu.org>
26147
26148 * commands/read.c (grub_getline): Fix invalid memory access.
26149 Don't add newline to the variable value.
26150
26151 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
26152 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
26153 (serial_hw_get_port): Check validity of the port number.
26154 (grub_cmd_serial): Check return value of serial_hw_get_port().
26155
26156 2008-07-07 Pavel Roskin <proski@gnu.org>
26157
26158 * boot/i386/pc/diskboot.S (notification_string): Replace
26159 "Loading kernel" with just "loading". This is shorter, less
26160 confusing and saves a few bytes for possible future changes.
26161
26162 2008-07-05 Pavel Roskin <proski@gnu.org>
26163
26164 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
26165 size for ATAPI devices, they are undefined. Output sector
26166 number in decimal form.
26167
26168 * disk/ata.c: Use named constants for status bits.
26169
26170 2008-07-04 Pavel Roskin <proski@gnu.org>
26171
26172 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
26173 grub_addr_t before casting it to the void pointer to fix a
26174 warning. Non-addressable regions are discarded earlier.
26175 (grub_arch_modules_addr): Cast _end to grub_addr_t.
26176 * kern/i386/linuxbios/table.c: Include grub/misc.h.
26177 (check_signature): Don't shadow table_header.
26178 (grub_linuxbios_table_iterate): Cast numeric constants to
26179 grub_linuxbios_table_header_t.
26180 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
26181 grub_stop().
26182
26183 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
26184 prevent warnings.
26185
26186 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
26187 pointer, which can cause warnings. Support 64-bit addresses.
26188
26189 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
26190 of sizeof(long). This fixes PowerPC image generation on x86_64.
26191
26192 2008-07-04 Robert Millan <rmh@aybabtu.com>
26193
26194 This fixes a performance issue when pc & gpt partmap iterators
26195 didn't abort iteration even after our hook found what it was
26196 looking for (often causing expensive probes of non-existent drives).
26197
26198 Some callers relied on previous buggy behaviour, since they would
26199 raise an error when their own hooks caused early abortion of its
26200 iteration.
26201
26202 * kern/device.c (grub_device_open): Improve error message.
26203 * disk/lvm.c (grub_lvm_open): Likewise.
26204 * disk/raid.c (grub_raid_open): Likewise.
26205
26206 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
26207 when hook requests it, independently of grub_errno.
26208 (pc_partition_map_probe): Do not fail when find_func() caused
26209 early abortion of pc_partition_map_iterate().
26210
26211 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
26212 when hook requests it, independently of grub_errno.
26213 (gpt_partition_map_probe): Do not fail when find_func() caused
26214 early abortion of gpt_partition_map_iterate().
26215
26216 * kern/partition.c (grub_partition_iterate): Abort parent iteration
26217 when hook requests it, independently of grub_errno. Do not fail when
26218 part_map_iterate_hook() caused early abortion of p->iterate().
26219
26220 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
26221 when grub_partition_iterate() returned with non-zero.
26222
26223 2008-07-03 Pavel Roskin <proski@gnu.org>
26224
26225 * disk/ata.c (grub_ata_pio_write): Check status before writing,
26226 like we do in grub_ata_pio_read().
26227 (grub_ata_readwrite): Always write individual sectors. Fix the
26228 sector count for the remainder.
26229 (grub_ata_write): Enable writing to ATA devices. Correctly
26230 report error for ATAPI devices.
26231
26232 2008-07-02 Pavel Roskin <proski@gnu.org>
26233
26234 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
26235 warning.
26236
26237 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
26238 for every read sector, we already increment it for the whole
26239 batch. This fixes reading more than 256 sectors at once.
26240
26241 * util/grub-editenv.c (cmd_info): Cast argument to long
26242 explicitly. ptrdiff_t reduces to int on i386.
26243
26244 * util/grub-editenv.c (main): Be specific which parameter is
26245 missing.
26246
26247 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
26248 (memdisk): Make memdisk_orig_addr a pointer.
26249
26250 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
26251 for file offsets, use grub_off_t instead. Fix printf format
26252 warnings.
26253
26254 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
26255 there. Real unexpected warnings should not drown in the noise
26256 about known problems.
26257
26258 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
26259 grub_disk_addr_t for memory addresses.
26260
26261 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
26262 explicitly to fix a warning.
26263
26264 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
26265
26266 * Makefile.in (MODULE_LDFLAGS): New variable.
26267 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
26268 the linker accepts --build-id=none.
26269 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
26270 MODULE_LDFLAGS.
26271 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
26272
26273 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
26274 those in Linux XFS code. Provide a way to access 64-bit parent
26275 inode.
26276 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
26277 the end of struct grub_xfs_dir_header.
26278
26279 2008-07-02 Bean <bean123ch@gmail.com>
26280
26281 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
26282 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26283 and GRUB_IEEE1275_FLAG_NO_ANSI.
26284
26285 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
26286 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26287 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
26288
26289 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
26290 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
26291
26292 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
26293 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
26294
26295 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
26296 esc sequence on non ANSI terminal.
26297 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
26298
26299 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
26300 beginning of file.
26301
26302 2008-07-02 Bean <bean123ch@gmail.com>
26303
26304 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
26305 (grub_editenv_SOURCES): New variable.
26306 (pkglib_MODULES): Add loadenv.mod.
26307 (loadenv_mod_SOURCES): New variable.
26308 (loadenv_mod_CFLAGS): Likewise.
26309 (loadenv_mod_LDFLAGS): Likewise.
26310
26311 * include/grub/envblk.h: New file.
26312
26313 * util/envblk.c: New file.
26314
26315 * util/grub-editenv.c: New file.
26316
26317 * commands/loadenv.c: New file.
26318
26319 2008-07-01 Pavel Roskin <proski@gnu.org>
26320
26321 * include/multiboot2.h (struct multiboot_tag_module): Use char,
26322 not unsigned char. This fixes warnings and is consistent with
26323 other tags.
26324
26325 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
26326
26327 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
26328
26329 * term/tparm.c (analyze): Always set *popcount.
26330
26331 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
26332 cast to fix a warning.
26333
26334 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
26335 cast to suppress a warning.
26336
26337 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
26338 grub_fshelp_read_file() expects.
26339
26340 * fs/fat.c: Fix UUID calculation on big-endian systems. We
26341 write uuid as a 32-bit value in CPU byte order, so declare and
26342 use it as such.
26343
26344 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
26345 long if the format specifier expects it.
26346 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
26347 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26348 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
26349 long to fix a warning.
26350 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
26351 grub_dprintf() arguments to fix warnings.
26352
26353 2008-06-30 Pavel Roskin <proski@gnu.org>
26354
26355 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
26356 install_bsd_part immediately before core.img is embedded or
26357 modified on disk. This fixes core.img verification if core.img
26358 cannot be embedded.
26359
26360 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
26361 core_path to calculate the blocklist.
26362 Patch from Javier Martín <lordhabbit@gmail.com>
26363
26364 2008-06-29 Robert Millan <rmh@aybabtu.com>
26365
26366 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
26367 block to disk block.
26368 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
26369 Patch from Niels Böhm <bitbucket@arcor.de>
26370
26371 2008-06-29 Robert Millan <rmh@aybabtu.com>
26372
26373 * util/update-grub_lib.in (font_path): Search for fonts in
26374 /boot/grub first, which is more likely to be readable (we aren't
26375 deciding where fonts live, just looking for them).
26376
26377 2008-06-26 Pavel Roskin <proski@gnu.org>
26378
26379 * util/biosdisk.c (read_device_map): Don't leave dead map
26380 entries for devices failing stat() check.
26381
26382 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
26383 core_path_dev for the core.img path on the target device.
26384
26385 2008-06-26 Robert Millan <rmh@aybabtu.com>
26386
26387 * disk/fs_uuid.c: New file.
26388 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
26389 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
26390 (fs_uuid_mod_LDFLAGS): New variables.
26391 * include/grub/disk.h (grub_disk_dev_id): Add
26392 `GRUB_DISK_DEVICE_UUID_ID'.
26393 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
26394 implement iterate().
26395
26396 2008-06-26 Robert Millan <rmh@aybabtu.com>
26397
26398 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
26399 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
26400 Linux image includes no initrd.
26401
26402 2008-06-21 Javier Martín <lordhabbit@gmail.com>
26403
26404 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
26405 call to resolve the core image location that effectively appended the
26406 name twice.
26407
26408 2008-06-21 Robert Millan <rmh@aybabtu.com>
26409
26410 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
26411 call from here ...
26412
26413 * util/grub.d/10_hurd.in: ... to here ...
26414 * util/grub.d/10_linux.in: ... and here.
26415
26416 2008-06-19 Robert Millan <rmh@aybabtu.com>
26417
26418 * kern/main.c (grub_main): Export `prefix' variable immediately
26419 after it has been set by grub_machine_set_prefix().
26420
26421 2008-06-19 Robert Millan <rmh@aybabtu.com>
26422
26423 * commands/search.c (search_label, search_fs_uuid, search_file): Print
26424 search result when not saving to variable, not the other way around.
26425 When saving to variable, abort iteration as soon as a match is found.
26426
26427 2008-06-19 Robert Millan <rmh@aybabtu.com>
26428
26429 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
26430 check for partition that provides /boot/grub. Its logic is flawed,
26431 as it prevents prepare_grub_to_access_device() from being called
26432 multiple times.
26433
26434 2008-06-19 Robert Millan <rmh@aybabtu.com>
26435
26436 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
26437 "insmod" command directly when abstraction modules are needed,
26438 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
26439 since it had already been processed).
26440
26441 2008-06-19 Pavel Roskin <proski@gnu.org>
26442
26443 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
26444 changed. This is needed in case GRUB_LIBDIR changes.
26445 * conf/i386-ieee1275.rmk: Likewise.
26446 * conf/i386-linuxbios.rmk: Likewise.
26447 * conf/i386-pc.rmk: Likewise.
26448 * conf/powerpc-ieee1275.rmk: Likewise.
26449
26450 2008-06-18 Pavel Roskin <proski@gnu.org>
26451
26452 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
26453 kernel_elf_symlist.c to symlist.c for consistency with other
26454 architectures. Update all users.
26455 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26456
26457 2008-06-18 Robert Millan <rmh@aybabtu.com>
26458
26459 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
26460 it in prefix.
26461
26462 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
26463 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
26464 a RAID device, run setup() for all members independently on whether
26465 LVM abstraction is being used.
26466 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
26467 If grub-mkimage has set `*install_dos_part == -2', don't override this
26468 value.
26469 Perform *install_dos_part adjustments independently on whether
26470 we're embedding or not.
26471 Clarify error message when image is too big for embedding.
26472 Remove duplicate *install_dos_part stanza.
26473
26474 2008-06-17 Robert Millan <rmh@aybabtu.com>
26475
26476 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
26477 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
26478 variables.
26479 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
26480 values in grub_ofconsole_normal_color and
26481 grub_ofconsole_highlight_color (they're not directly related to
26482 background and foreground).
26483 (grub_ofconsole_setcolorstate): Extract background and foreground
26484 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
26485
26486 2008-06-17 Robert Millan <rmh@aybabtu.com>
26487
26488 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
26489 /boot/grub for the check in last commit, not /boot (they could be
26490 different partitions).
26491
26492 2008-06-16 Robert Millan <rmh@aybabtu.com>
26493
26494 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
26495 asked to setup access for the same partition that provides /boot,
26496 don't bother using UUIDs since our root already has the value we
26497 want.
26498
26499 2008-06-16 Robert Millan <rmh@aybabtu.com>
26500
26501 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
26502 I2O devices.
26503 Patch from Sven Mueller <sven@debian.org>.
26504
26505 2008-06-16 Robert Millan <rmh@aybabtu.com>
26506
26507 * util/update-grub.in: Check for $EUID instead of $UID.
26508 Reported by Vincent Zweije.
26509
26510 2008-06-16 Bean <bean123ch@gmail.com>
26511
26512 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
26513 (grub_ext2_read_block): Likewise.
26514 (grub_ext2_read_inode): Likewise.
26515 (grub_ext2_mount): Likewise.
26516 (grub_ext2_close): Likewise.
26517 (grub_ext3_get_journal): Removed.
26518
26519 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
26520 (grub_reiserfs_read_symlink): Likewise.
26521 (grub_reiserfs_mount): Likewise.
26522 (grub_reiserfs_open): Likewise.
26523 (grub_reiserfs_read): Likewise.
26524 (grub_reiserfs_close): Likewise.
26525 (grub_reiserfs_get_journal): Removed.
26526
26527 * fs/fshelp.c (grub_fshelp_read): Removed.
26528 (grub_fshelp_map_block): Likewise.
26529
26530 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
26531 (grub_fshelp_journal): Likewise.
26532 (grub_fshelp_read): Likewise.
26533 (grub_fshelp_map_block): Likewise.
26534
26535 2008-06-16 Pavel Roskin <proski@gnu.org>
26536
26537 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
26538 floating point anymore.
26539 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
26540
26541 2008-06-15 Pavel Roskin <proski@gnu.org>
26542
26543 * commands/ls.c (grub_ls_list_files): Use integer calculations
26544 for human readable format, avoid floating point use.
26545 * kern/misc.c (grub_ftoa): Remove.
26546 (grub_vsprintf): Remove floating point support.
26547
26548 2008-06-15 Robert Millan <rmh@aybabtu.com>
26549
26550 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
26551 devices.
26552 Reported by Max Vozeler.
26553
26554 2008-06-15 Robert Millan <rmh@aybabtu.com>
26555
26556 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
26557 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
26558 skipped later.
26559 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
26560 the beginning of the prefix.
26561
26562 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
26563 It is assumed that if we have a memdisk, grub-mkimage has set
26564 grub_prefix to include the "(memdisk)" drive in it.
26565
26566 2008-06-15 Robert Millan <rmh@aybabtu.com>
26567
26568 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
26569 Initialize keyboard controller after registering the terminal, so that
26570 grub_printf() can be called from grub_keyboard_controller_init().
26571
26572 2008-06-15 Robert Millan <rmh@aybabtu.com>
26573
26574 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
26575 extent-btree which is written as big endian on disk.
26576 Reported by Alain Greppin <al@chilibi.org>.
26577
26578 2008-06-14 Robert Millan <rmh@aybabtu.com>
26579
26580 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
26581 * util/i386/pc/grub-install.in (modules): Likewise.
26582
26583 2008-06-13 Pavel Roskin <proski@gnu.org>
26584
26585 * commands/ls.c (grub_ls_list_files): Fix format warnings.
26586
26587 2008-06-13 Bean <bean123ch@gmail.com>
26588
26589 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
26590
26591 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
26592
26593 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
26594 to indicate sparse block.
26595
26596 2008-06-12 Pavel Roskin <proski@gnu.org>
26597
26598 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
26599 number, grub_fshelp_read() does it for us.
26600
26601 * fs/fshelp.c (grub_fshelp_read): New function. Implement
26602 linear disk read with journal translation.
26603 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
26604 * include/grub/fshelp.h: Declare grub_fshelp_read().
26605
26606 2008-06-09 Pavel Roskin <proski@gnu.org>
26607
26608 * fs/minix.c (grub_minix_mount): Handle error reading
26609 superblock.
26610
26611 2008-06-08 Robert Millan <rmh@aybabtu.com>
26612
26613 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
26614 don't append the RAID prefix afterwards.
26615 Reported by Clint Adams.
26616
26617 2008-06-08 Robert Millan <rmh@aybabtu.com>
26618
26619 Based on description from Pavel:
26620 * kern/disk.c (grub_disk_check_range): Rename to ...
26621 (grub_disk_adjust_range): ... this. Add a comment explaining the
26622 tasks performed by this function.
26623
26624 2008-06-08 Robert Millan <rmh@aybabtu.com>
26625
26626 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
26627 `num_serial' (for consistency with other variables).
26628 (struct grub_ntfs_data): Add `uuid' member.
26629 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
26630 (grub_ntfs_uuid): New function.
26631 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
26632
26633 2008-06-07 Pavel Roskin <proski@gnu.org>
26634
26635 * util/biosdisk.c (open_device): Revert last change to the
26636 function, it broke installation. The sector needs to be
26637 different dependent on which device is opened.
26638
26639 2008-06-06 Robert Millan <rmh@aybabtu.com>
26640
26641 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
26642 rest of GRUB, and breakage doesn't happen if its value were modified.
26643
26644 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26645 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
26646 a constant (same value).
26647 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
26648 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
26649
26650 2008-06-06 Robert Millan <rmh@aybabtu.com>
26651
26652 * util/biosdisk.c (open_device): Do not modify sector offset when
26653 accessing a partition. kern/disk.c already handles this for us.
26654
26655 2008-06-06 Robert Millan <rmh@aybabtu.com>
26656
26657 * util/grub-emu.c (grub_machine_init): Move code in this function from
26658 here ...
26659 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
26660 segfault in case grub_printf() is called).
26661
26662 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
26663 grub_probe. Update all users not to explicitly add it again.
26664 (grub_device): New variable; contains corresponding device for grubdir.
26665 (fs_module, partmap_module, devabstraction_module): Pass
26666 `--device ${grub_device}' to grub_probe to avoid traversing /dev
26667 every time.
26668
26669 2008-06-05 Robert Millan <rmh@aybabtu.com>
26670
26671 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
26672 is found, print it (same layout as with labels).
26673
26674 2008-06-04 Robert Millan <rmh@aybabtu.com>
26675
26676 * util/biosdisk.c (get_drive): Rename to ...
26677 (find_grub_drive): ... this. Update all users.
26678
26679 (get_os_disk): Rename to ...
26680 (convert_system_partition_to_system_disk): ... this. Update all users.
26681
26682 (find_drive): Rename to ...
26683 (find_system_device): ... this. Update all users.
26684
26685 2008-06-04 Robert Millan <rmh@aybabtu.com>
26686
26687 * util/biosdisk.c (get_os_disk): Handle IDA devices.
26688 * util/grub-mkdevicemap.c (get_mmc_disk_name)
26689 (make_device_map): Likewise.
26690
26691 2008-06-01 Robert Millan <rmh@aybabtu.com>
26692
26693 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
26694 before dereferencing it.
26695
26696 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
26697 union with fat12/fat16-specific ones. Add some new fields, including
26698 `num_serial' for both versions.
26699 (struct grub_fat_data): Add `uuid' member.
26700 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
26701 names. Initialize `data->uuid' using `num_serial'.
26702 (grub_fat_uuid): New function.
26703 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
26704
26705 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
26706 (grub_reiserfs_uuid): New function.
26707 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
26708 member.
26709
26710 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
26711 (grub_xfs_uuid): New function.
26712 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
26713
26714 2008-06-01 Robert Millan <rmh@aybabtu.com>
26715
26716 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
26717 code that is backward compatible with pre-uuid search command.
26718
26719 2008-05-31 Robert Millan <rmh@aybabtu.com>
26720
26721 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
26722 floppies after everything else, to ensure floppy drive isn't accessed
26723 unnecessarily (patch from Bean).
26724
26725 2008-05-31 Robert Millan <rmh@aybabtu.com>
26726
26727 * commands/search.c (search_label, search_fs_uuid, search_file): Do
26728 not print device names when we were asked to set a variable.
26729
26730 2008-05-31 Robert Millan <rmh@aybabtu.com>
26731
26732 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
26733 using "cursor-on" and "cursor-off" commands (understood at least by
26734 the Open Firmware flavour on OLPC).
26735
26736 2008-05-31 Michael Gorven <michael@gorven.za.net>
26737
26738 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
26739 on and off sequences.
26740
26741 2008-05-31 Robert Millan <rmh@aybabtu.com>
26742
26743 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
26744 * util/update-grub.in: Likewise.
26745
26746 2008-05-30 Pavel Roskin <proski@gnu.org>
26747
26748 * util/biosdisk.c (linux_find_partition): Simplify logic and
26749 make the code more universal. Keep special processing for
26750 devfs, but use a simple rule for all other devices. If the
26751 device ends with a number, append 'p' and the partition number.
26752 Otherwise, append only the partition number.
26753
26754 2008-05-30 Robert Millan <rmh@aybabtu.com>
26755
26756 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
26757 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
26758 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
26759 the `root' parameter to Linux.
26760
26761 2008-05-30 Robert Millan <rmh@aybabtu.com>
26762
26763 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
26764 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
26765 --fs_uuid with --fs-uuid.
26766 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
26767 all filesystems support them).
26768
26769 2008-05-30 Robert Millan <rmh@aybabtu.com>
26770
26771 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
26772 grub_printf() flags, since we're printing in units of 2 bytes.
26773
26774 2008-05-30 Robert Millan <rmh@aybabtu.com>
26775
26776 * util/grub.d/00_header.in: Remove obsolete comment referencing
26777 convert_system_path_to_grub_path().
26778 * util/update-grub.in: Likewise.
26779 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
26780 (convert_system_path_to_grub_path): Add a warning message explaining
26781 that this function is deprecated. Rely on is_path_readable_by_grub()
26782 for the readability checks.
26783 (font_path): Use is_path_readable_by_grub() for the readability
26784 check rather than convert_system_path_to_grub_path().
26785
26786 2008-05-30 Robert Millan <rmh@aybabtu.com>
26787
26788 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
26789 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
26790 converting it first.
26791 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
26792 grub.cfg for access to font file, and afterwards call it again to set
26793 the root device.
26794
26795 2008-05-30 Robert Millan <rmh@aybabtu.com>
26796
26797 * commands/search.c (options): Add --fs_uuid option.
26798 (search_fs_uuid): New function.
26799 (grub_cmd_search): Fix --set argument passing.
26800 Use search_fs_uuid() when requested via --fs_uuid.
26801 (grub_search_init): Update help message.
26802 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
26803 and redeclare it as an array of 16-bit words.
26804 (grub_ext2_uuid): New function.
26805 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
26806 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
26807 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
26808 (GRUB_DEVICE_BOOT_UUID): New variables.
26809 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
26810 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
26811 whenever possible.
26812 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
26813 just assume `root' variable has the right value.
26814 * util/grub.d/10_linux.in: Likewise.
26815 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
26816 via PRINT_FS_UUID.
26817 (main): Recognise `-t fs_uuid' argument.
26818
26819 2008-05-30 Robert Millan <rmh@aybabtu.com>
26820
26821 * util/biosdisk.c (map): Redefine structure to hold information
26822 about GRUB drive name.
26823 (get_drive): Reimplement without assuming (and verifying) BIOS-like
26824 drive names.
26825 (call_hook): Remove.
26826 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
26827 member. Assume drive has partitions.
26828 (grub_util_biosdisk_open): Access device names via `.device' struct
26829 member.
26830 (open_device): Likewise.
26831 (find_drive): Likewise.
26832 (read_device_map): Adjust map[] usage to match the new struct
26833 definition. Don't check for duplicates (still possible, but not cheap
26834 anymore).
26835 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
26836 (make_device_name): Remove assumption of BIOS-like drive names.
26837
26838 2008-05-30 Pavel Roskin <proski@gnu.org>
26839
26840 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
26841 compiling execute.c doesn't need grub_script.tab.h anymore.
26842 (normal/command.c_DEPENDENCIES): Likewise.
26843 (normal/function.c_DEPENDENCIES): Likewise.
26844 * conf/i386-ieee1275.rmk: Likewise.
26845 * conf/i386-linuxbios.rmk: Likewise.
26846 * conf/i386-pc.rmk: Likewise.
26847 * conf/powerpc-ieee1275.rmk: Likewise.
26848 * conf/sparc64-ieee1275.rmk: Likewise.
26849
26850 2008-05-29 Pavel Roskin <proski@gnu.org>
26851
26852 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
26853 when scanning metadata for volume group name.
26854
26855 * include/grub/script.h: Don't include grub_script.tab.h. It's
26856 a generated file, which may only be included from the files with
26857 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
26858 use union YYSTYPE, as the later allows forward declaration.
26859 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
26860
26861 2008-05-29 Robert Millan <rmh@aybabtu.com>
26862
26863 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
26864 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
26865 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
26866 (grub_console_checkkey): Add grub_dprintf() call to report unknown
26867 scan codes.
26868
26869 2008-05-29 Robert Millan <rmh@aybabtu.com>
26870
26871 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
26872 control key combinations.
26873
26874 2008-05-29 Robert Millan <rmh@aybabtu.com>
26875
26876 * util/powerpc/ieee1275/grub-install.in: Move from here ...
26877 * util/ieee1275/grub-install.in: ... to here.
26878 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
26879 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
26880 (grub_install_SOURCES): Likewise.
26881
26882 2008-05-29 Robert Millan <rmh@aybabtu.com>
26883
26884 * fs/affs.c: Update copyright year.
26885 * fs/ext2.c: Likewise.
26886 * fs/fshelp.c: Likewise.
26887 * fs/hfsplus.c: Likewise.
26888 * fs/ntfs.c: Likewise.
26889 * fs/xfs.c: Likewise.
26890 * include/grub/fshelp.h: Likewise.
26891 * util/grub-mkdevicemap.c: Likewise.
26892
26893 2008-05-28 Robert Millan <rmh@aybabtu.com>
26894
26895 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
26896 might need to be fatfs to support some firmware implementations
26897 (e.g. OFW or EFI).
26898
26899 2008-05-28 Robert Millan <rmh@aybabtu.com>
26900
26901 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
26902 devices.
26903 * util/grub-mkdevicemap.c (get_mmc_disk_name)
26904 (make_device_map): Likewise.
26905
26906 2008-05-20 Bean <bean123ch@gmail.com>
26907
26908 * fs/fshelp.c (grub_fshelp_map_block): New function.
26909 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
26910 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
26911
26912 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
26913 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
26914 (grub_fshelp_journal): New structure.
26915 (grub_fshelp_map_block): New function prototype.
26916 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
26917 (grub_fshelp_map_block): Likewise.
26918
26919 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
26920 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
26921 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
26922 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
26923 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
26924 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
26925 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
26926 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
26927 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
26928 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
26929 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
26930 (grub_ext2_sblock): New members for journal support.
26931 (grub_ext3_journal_header): New structure.
26932 (grub_ext3_journal_revoke_header): Likewise.
26933 (grub_ext3_journal_block_tag): Likewise.
26934 (grub_ext3_journal_sblock): Likewise.
26935 (grub_fshelp_node): New members logfile and journal.
26936 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
26937 grub_fshelp_map_block to get real block number.
26938 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
26939 number.
26940 (grub_ext2_read_inode): Likewise.
26941 (grub_ext3_get_journal): New function.
26942 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
26943 (grub_ext2_close): Release memory used by journal.
26944
26945 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
26946 (REISERFS_MAGIC_DESC_BLOCK): New macro.
26947 (grub_reiserfs_transaction_header): Renamed to
26948 grub_reiserfs_description_block, replace field data with real_blocks.
26949 (grub_reiserfs_commit_block): New structure.
26950 (grub_reiserfs_data): New member journal.
26951 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
26952 number.
26953 (grub_reiserfs_read_symlink): Likewise.
26954 (grub_reiserfs_iterate_dir): Likewise.
26955 (grub_reiserfs_open): Likewise.
26956 (grub_reiserfs_read): Likewise.
26957 (grub_reiserfs_get_journal): New function.
26958 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
26959 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
26960 using grub_reiserfs_get_journal.
26961 (grub_reiserfs_close): Release memory used by journal.
26962
26963 * fs/affs.c (grub_affs_read_block): Change block type to
26964 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
26965
26966 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
26967
26968 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
26969
26970 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
26971
26972 * fs/udf.c (grub_udf_read_block): Change block type to
26973 grub_disk_addr_t. Use type cast to avoid warning.
26974
26975 * fs/xfs.c (grub_xfs_read_block): Likewise.
26976
26977 2008-05-16 Christian Franke <franke@computer.org>
26978
26979 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
26980 to ensure that break with ESC will always work.
26981 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
26982 Remove ESC from keyboard queue.
26983
26984 2008-05-16 Christian Franke <franke@computer.org>
26985
26986 * util/biosdisk.c: [__CYGWIN__] Add includes.
26987 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
26988 (get_os_disk): Move variable declarations to OS specific
26989 parts to avoid warning.
26990 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
26991 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
26992 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
26993 Cygwin.
26994 * util/getroot.c: [__CYGWIN__] Add includes.
26995 (strip_extra_slashes): Fix "/" case.
26996 [__CYGWIN__] (get_win32_path): New function.
26997 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
26998 [__CYGWIN__] (find_root_device): Disable.
26999 [__CYGWIN__] (get_bootsec_serial): New function.
27000 [__CYGWIN__] (find_cygwin_root_device): Likewise.
27001 [__linux__] (grub_guess_root_device): Add early returns to simplify
27002 structure.
27003 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
27004 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
27005 check for Linux only.
27006
27007 2008-05-15 Bean <bean123ch@gmail.com>
27008
27009 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
27010 keyboard hang problem in apple's intel mac.
27011
27012 2008-05-09 Robert Millan <rmh@aybabtu.com>
27013
27014 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
27015 devices.
27016 * util/grub-mkdevicemap.c (get_virtio_disk_name)
27017 (make_device_map): Likewise.
27018 Reported by Aurelien Jarno <aurel32@debian.org>
27019
27020 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
27021
27022 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
27023 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
27024 (make_device_map): Output entries for xvd type disks.
27025
27026 2008-05-07 Robert Millan <rmh@aybabtu.com>
27027
27028 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
27029 devices.
27030 * util/grub-mkdevicemap.c (get_cciss_disk_name)
27031 (make_device_map): Likewise.
27032 Reported by Roland Dreier <rdreier@cisco.com>
27033
27034 2008-05-07 Robert Millan <rmh@aybabtu.com>
27035
27036 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
27037 grub_strstr() call. Correct a few mistakes in failure path handling.
27038
27039 2008-05-06 Robert Millan <rmh@aybabtu.com>
27040
27041 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27042 Do not print a trailing slash (therefore, the root directory is an
27043 empty string).
27044 (convert_system_path_to_grub_path): Do not remove trailing slash
27045 from make_system_path_relative_to_its_root() output.
27046
27047 * util/i386/pc/grub-install.in: Add trailing slash to output from
27048 make_system_path_relative_to_its_root().
27049
27050 2008-05-06 Robert Millan <rmh@aybabtu.com>
27051
27052 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
27053 ensures that output lines aren't intermangled with those sent to
27054 stderr (via grub_util_info()).
27055 * util/grub-probe.c (grub_refresh): Likewise.
27056 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
27057
27058 2008-05-05 Christian Franke <franke@computer.org>
27059
27060 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
27061 Add Cygwin device names.
27062 (get_ide_disk_name) [__CYGWIN__]: Likewise.
27063 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
27064 (check_device): Return error instead of success on empty name.
27065 (make_device_map): Move label inside linux specific code to
27066 prevent compiler warning.
27067
27068 2008-04-30 Robert Millan <rmh@aybabtu.com>
27069
27070 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
27071 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
27072 first boot option.
27073 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
27074
27075 2008-04-29 Robert Millan <rmh@aybabtu.com>
27076
27077 * docs/grub.cfg: New file (example GRUB configuration).
27078
27079 2008-04-26 Robert Millan <rmh@aybabtu.com>
27080
27081 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
27082 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
27083 and `disk/ieee1275/nand.c'.
27084
27085 2008-04-25 Bean <bean123ch@gmail.com>
27086
27087 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
27088 i386-linuxbios.
27089
27090 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
27091 change the buffer size to 4096 for cdrom device.
27092
27093 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
27094 and nand.mod.
27095 (_linux_mod_SOURCES): New variable.
27096 (_linux_mod_CFLAGS): Likewise.
27097 (_linux_mod_LDFLAGS): Likewise.
27098 (linux_mod_SOURCES): Likewise.
27099 (linux_mod_CFLAGS): Likewise.
27100 (linux_mod_LDFLAGS): Likewise.
27101 (nand_mod_SOURCES): Likewise.
27102 (nand_mod_CFLAGS): Likewise.
27103 (nand_mod_LDFLAGS): Likewise.
27104
27105 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
27106 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
27107 type property. (nand device in olpc don't have this property)
27108
27109 * include/grub/disk.h (grub_disk_dev_id): New macro
27110 GRUB_DISK_DEVICE_NAND_ID.
27111
27112 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
27113 function prototype.
27114 (grub_rescue_cmd_initrd): Likewise.
27115
27116 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
27117 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
27118 ofw_cif_handler and ofw_idt, adjust padding number.
27119
27120 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
27121 GRUB_MACHINE_IEEE1275 is defined.
27122
27123 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
27124 Use NESTED_FUNC_ATTR attribute on the hook parameter.
27125
27126 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
27127 on nested function heap_init.
27128 (grub_upper_mem): New variable for i386-ieee1275.
27129 (grub_get_extended_memory): New function for i386-ieee1275.
27130 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
27131
27132 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
27133 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
27134 property.
27135
27136 * loader/i386/ieee1275/linux.c: New file.
27137
27138 * loader/i386/ieee1275/linux_normal.c: New file.
27139
27140 * disk/ieee1275/nand.c: New file.
27141
27142 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
27143
27144 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
27145 value.
27146 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
27147
27148 2008-04-18 Robert Millan <rmh@aybabtu.com>
27149
27150 Restructures early code path on ieee1275 to unify grub_main() as
27151 the first C function that is executed in every platform.
27152
27153 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
27154 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
27155 cmain().
27156 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
27157 * kern/ieee1275/cmain.c (cmain): Rename to ...
27158 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
27159 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
27160 at the beginning.
27161
27162 2008-04-18 Robert Millan <rmh@aybabtu.com>
27163
27164 * util/update-grub.in: Fix syntax error when setting
27165 `GRUB_PRELOAD_MODULES'.
27166 Reported by Stephane Chazelas <stephane@artesyncp.com>
27167
27168 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
27169
27170 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
27171 section into account, newer toolchains generate unique build ids
27172 * configure.ac: remove the test for --build-id=none acceptance,
27173 we want build ids to be preserved
27174 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
27175 far from other sections don't cause the raw binary images grow
27176 size
27177
27178 2008-04-15 Robert Millan <rmh@aybabtu.com>
27179
27180 * disk/lvm.c: Update copyright year.
27181 * kern/misc.c: Likewise.
27182
27183 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27184
27185 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
27186 there is no memory left for physical volume name.
27187
27188 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27189
27190 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
27191 volume name mapping to support bigger than 9 character names properly.
27192
27193 2008-04-13 Robert Millan <rmh@aybabtu.com>
27194
27195 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
27196 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
27197
27198 2008-04-13 Christian Franke <franke@computer.org>
27199
27200 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
27201 to create a floppy emulation boot CD when non emulation mode
27202 does not work.
27203 Enable Joliet CD filesystem extension.
27204
27205 2008-04-13 Robert Millan <rmh@aybabtu.com>
27206
27207 * kern/misc.c (grub_strncat): Fix off-by-one error.
27208 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
27209
27210 * kern/env.c (grub_env_context_close): Clear current context, not
27211 previous one.
27212 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
27213
27214 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
27215
27216 2008-04-13 Robert Millan <rmh@aybabtu.com>
27217
27218 Improve robustness when handling LVM.
27219
27220 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
27221 (and leave `*p' unmodified).
27222 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
27223 through it.
27224 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
27225 iterating through it.
27226 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
27227 through it.
27228 (grub_lvm_scan_device): Check the return value (and fail gracefully
27229 when due) on each grub_lvm_getvalue() or grub_strstr() call.
27230 Don't assume `vg->pvs != NULL' when iterating through it.
27231
27232 2008-04-13 Robert Millan <rmh@aybabtu.com>
27233
27234 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
27235 * genmk.rb (partmap): New variable.
27236 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
27237 (#{partmap}): New target rule.
27238 * genpartmaplist.sh: New file.
27239 * Makefile.in (pkglib_DATA): Add partmap.lst.
27240 (partmap.lst): New target rule.
27241 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
27242 modules (including all partition maps), instead of preloading them.
27243
27244 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
27245
27246 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
27247 `linux-boot-prober' (if installed) to detect other operating
27248 systems which are installed on the computer and add them to
27249 the boot menu.
27250 * conf/common.rmk: Build and install 30_os-prober.
27251
27252 2008-04-12 Robert Millan <rmh@aybabtu.com>
27253
27254 * kern/powerpc/ieee1275/init.c: Move from here ...
27255 * kern/ieee1275/init.c: ... to here. Update all users.
27256
27257 * kern/powerpc/ieee1275/cmain.c: Move from here ...
27258 * kern/ieee1275/cmain.c: ... to here. Update all users.
27259
27260 * kern/powerpc/ieee1275/openfw.c: Move from here ...
27261 * kern/ieee1275/openfw.c: ... to here. Update all users.
27262
27263 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
27264 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
27265
27266 2008-04-10 Pavel Roskin <proski@gnu.org>
27267
27268 * configure.ac: Always use "_cv_" in cache variables for
27269 compatibility with Autoconf 2.62.
27270
27271 2008-04-07 Robert Millan <rmh@aybabtu.com>
27272
27273 Revert grub/machine/init.h addition by Pavel (since it breaks on
27274 i386-ieee1275 and others):
27275 * util/i386/pc/misc.c: Remove grub/machine/init.h.
27276 * util/powerpc/ieee1275/misc.c: Likewise.
27277
27278 2008-04-07 Robert Millan <rmh@aybabtu.com>
27279
27280 * util/grub-probe.c (probe): Improve error message.
27281
27282 2008-04-07 Robert Millan <rmh@aybabtu.com>
27283
27284 * util/biosdisk.c (read_device_map): Skip devices that don't exist
27285 (this prevents the presence of a bogus entry from ruining the whole
27286 thing).
27287
27288 2008-04-06 Pavel Roskin <proski@gnu.org>
27289
27290 * util/biosdisk.c: Include grub/util/biosdisk.h.
27291 * util/grub-fstest.c (execute_command): Make static.
27292 * util/grub-mkdevicemap.c (check_device): Likewise.
27293 * util/i386/pc/misc.c: Include grub/machine/init.h.
27294 * util/powerpc/ieee1275/misc.c: Likewise.
27295 * util/lvm.c: Include grub/util/lvm.h.
27296 * util/misc.c: Include grub/kernel.h, grub/misc.h and
27297 grub/cache.h.
27298 * util/raid.c: Include grub/util/raid.h.
27299 (grub_util_getdiskname): Make static.
27300
27301 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
27302 grub_hostfs_fini(), as they are called from grub_init_all() and
27303 grub_fini_all() respectively. This fixes an infinite loop in
27304 grub-fstest due to double registration of hostfs.
27305 Reported by Christian Franke <Christian.Franke@t-online.de>
27306
27307 2008-04-05 Pavel Roskin <proski@gnu.org>
27308
27309 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
27310 all 8 functions. Otherwise, probe function 0 only.
27311
27312 2008-04-04 Pavel Roskin <proski@gnu.org>
27313
27314 * commands/lspci.c (grub_lspci_iter): Print the bus number
27315 correctly.
27316
27317 * commands/lspci.c (grub_pci_classes): Fix typos.
27318 (grub_lspci_iter): Don't print func twice. Print vendor ID
27319 before device ID, as it's normally done.
27320
27321 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27322 Fix signedness warnings.
27323 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
27324 Likewise.
27325 * util/ieee1275/get_disk_name.c: Include config.h so that
27326 _GNU_SOURCE is defined and getline() is declared. Mark an
27327 unused argument as such. Fix a signedness warning.
27328
27329 2008-04-02 Pavel Roskin <proski@gnu.org>
27330
27331 * genkernsyms.sh.in: Use more robust assignments for CC and
27332 srcdir. Quote srcdir.
27333 * gensymlist.sh.in: Likewise. Assert at the compile time that
27334 the symbol table is not empty.
27335
27336 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
27337 * fs/cpio.c (grub_cpio_read): Likewise.
27338
27339 2008-04-01 Pavel Roskin <proski@gnu.org>
27340
27341 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
27342 * disk/host.c (grub_host_open): Likewise.
27343 * disk/loopback.c (grub_loopback_open): Likewise.
27344 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
27345 disk->id as in disk/host.c, not a multi-character constant.
27346
27347 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
27348 later is obsolete, potentially dangerous and sets a bad example.
27349 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
27350 * util/misc.c (grub_util_get_image_size): Likewise.
27351
27352 * disk/loopback.c (options): Improve help for "--partitions".
27353
27354 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
27355 options to align them with the short options, e.g. "echo -e".
27356
27357 2008-03-31 Bean <bean123ch@gmail.com>
27358
27359 * video/reader/png.c (grub_png_data): New member is_16bit and
27360 image_data.
27361 (grub_png_decode_image_header): Detect 16 bit png image.
27362 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
27363 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
27364 (grub_video_reader_png): Release memory occupied by image_data.
27365
27366 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
27367 4096 bytes.
27368 (grub_nfs_mount): Skip the test for sector per cluster.
27369
27370 * include/grub/ntfs.h (MAX_SPC): Removed.
27371
27372 2008-03-31 Bean <bean123ch@gmail.com>
27373
27374 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
27375 (grub_probe_SOURCES): Add fs/afs.c.
27376 (grub_fstest_SOURCES): Likewise.
27377 (afs_mod_SOURCES): New variable.
27378 (afs_mod_CFLAGS): Likewise.
27379 (afs_mod_LDFLAGS): Likewise.
27380
27381 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
27382 (grub_emu_SOURCES): Likewise.
27383
27384 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27385
27386 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27387
27388 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27389
27390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27391
27392 * fs/afs.c: New file.
27393
27394 2008-03-30 Pavel Roskin <proski@gnu.org>
27395
27396 * disk/host.c: Include grub/misc.h to fix a warning.
27397 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
27398 warnings about implicit declarations.
27399
27400 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
27401 variable.
27402 * include/grub/i386/loader.h: Change declaration of
27403 grub_linux_boot() to match what grub_loader_set() expects.
27404 * util/getroot.c (grub_guess_root_device): Return const char* to
27405 fix a warning.
27406 * util/grub-probe.c (probe): Fix a warning about uninitialized
27407 abstraction_name variable.
27408 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
27409 second argument as unused to fix a warning.
27410
27411 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
27412 missing grub_error() call.
27413
27414 * util/update-grub_lib.in: Define datarootdir, since Autoconf
27415 2.60 and newer uses it to define datadir.
27416
27417 * commands/sleep.c: Fix warning about implicit declaration.
27418 * disk/memdisk.c: Likewise.
27419 * loader/aout.c: Likewise.
27420 * loader/i386/bsd_normal.c: Likewise.
27421 * util/grub-probe.c: Likewise.
27422
27423 * commands/i386/cpuid.c (has_longmode): Make static.
27424 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
27425 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
27426
27427 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
27428 GDT. This is more robust, as %ds can change.
27429 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
27430 calling real_to_prot().
27431 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
27432
27433 2008-03-28 Pavel Roskin <proski@gnu.org>
27434
27435 * kern/i386/pc/startup.S: Assert that uncompressed functions
27436 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
27437 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
27438 code, as they push parts of the code (error handlers) beyond
27439 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
27440 code as correctness and size.
27441
27442 2008-03-28 Pavel Roskin <proski@gnu.org>
27443
27444 * kern/i386/pc/startup.S
27445 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
27446 data block address to the real mode, keep offset minimal. This
27447 works around a bug in AWARD BIOS on old Athlon systems, which
27448 makes CD detection hang.
27449
27450 2008-03-26 Pavel Roskin <proski@gnu.org>
27451
27452 * normal/color.c (grub_parse_color_name_pair): Make `name' a
27453 const.
27454 * include/grub/normal.h: Add grub_parse_color_name_pair()
27455 declaration.
27456
27457 2008-03-24 Bean <bean123ch@gmail.com>
27458
27459 * disk/i386/pc/biosdisk.c (cd_start): Removed.
27460 (cd_count): Removed.
27461 (cd_drive): New variable.
27462 (grub_biosdisk_get_drive): Don't check for (cdN) device.
27463 (grub_biosdisk_call_hook): Likewise.
27464 (grub_biosdisk_iterate): Change cdrom detection method.
27465 (grub_biosdisk_open): Replace cd_start with cd_drive.
27466 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
27467 detect cdrom device.
27468
27469 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
27470 Removed.
27471 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
27472 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
27473 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
27474 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
27475 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
27476 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
27477 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
27478 (grub_biosdisk_cdrp): New structure.
27479 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
27480
27481 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
27482
27483 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
27484 device.
27485
27486 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
27487 New function.
27488
27489 2008-03-20 Robert Millan <rmh@aybabtu.com>
27490
27491 Remove 2 TiB limit in ata.mod.
27492 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
27493 (grub_ata_dumpinfo): Print sector count with 0x%llx.
27494 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
27495 grub_uint64_t instead of grub_uint32_t.
27496
27497 2008-03-05 Bean <bean123ch@gmail.com>
27498
27499 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
27500 (grub_multiboot): Set boot device.
27501
27502 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
27503
27504 2008-03-02 Bean <bean123ch@gmail.com>
27505
27506 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
27507 symlink_buffer.
27508
27509 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
27510
27511 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
27512 texinfo.tex.
27513
27514 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
27515 modified.
27516
27517 * docs/fdl.texi: New file.
27518
27519 * docs/mdate-sh: New file. Copied from gnulib.
27520 * docs/texinfo.tex: Likewise.
27521
27522 * config.guess: Updated from gnulib.
27523 * install-sh: Likewise.
27524
27525 2008-02-28 Robert Millan <rmh@aybabtu.com>
27526
27527 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
27528 (aout_mod_SOURCES): New variable.
27529 (aout_mod_CFLAGS): Likewise.
27530 (aout_mod_LDFLAGS): Likewise.
27531
27532 * conf/i386-ieee1275.rmk: Likewise.
27533
27534 2008-02-28 Robert Millan <rmh@aybabtu.com>
27535
27536 * util/update-grub.in: Reorganise terminal validity check. Accept
27537 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
27538 Based on suggestion by Franklin PIAT.
27539
27540 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
27541
27542 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
27543 function.
27544 * util/getroot.c (grub_util_check_block_device): New function that
27545 returns the given argument if it is a block device and returns NULL else.
27546 * util/grub-probe.c (argument_is_device): New variable.
27547 (probe): Promote device_name from a variable to an argument. Receive
27548 device_name from grub_util_check_block_device() if path is NULL and from
27549 grub_guess_root_device() else. Do not free() device_name anymore.
27550 (options): Introduce new parameter '-d, --device'.
27551 (main): Add description of the new parameter to the help screen.
27552 Rename path variable to argument. Set argument_is_device if the '-d'
27553 option is given. Pass argument to probe() depending on
27554 argument_is_device.
27555
27556 2008-02-24 Bean <bean123ch@gmail.com>
27557
27558 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
27559 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
27560 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
27561 (GRUB_ISO9660_VOLDESC_PART): Likewise.
27562 (GRUB_ISO9660_VOLDESC_END): Likewise.
27563 (grub_iso9660_primary_voldesc): New member escape.
27564 (grub_iso9660_data): New member joliet.
27565 (grub_iso9660_convert_string): New function.
27566 (grub_iso9660_mount): Detect joliet extension.
27567 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
27568 (grub_iso9660_iso9660_label): Likewise.
27569
27570 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
27571 (grub_setup_SOURCES): Add fs/udf.c.
27572 (grub_fstest_SOURCES): Likewise.
27573 (udf_mod_SOURCES): New variable.
27574 (udf_mod_CFLAGS): Likewise.
27575 (udf_mod_LDFLAGS): Likewise.
27576
27577 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
27578 (grub_emu_SOURCES): Likewise.
27579
27580 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27581
27582 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27583
27584 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27585
27586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27587
27588 * fs/udf.c: New file.
27589
27590 2008-02-24 Robert Millan <rmh@aybabtu.com>
27591
27592 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
27593 (normal/lexer.c_DEPENDENCIES): New variables.
27594 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27595 (normal/lexer.c_DEPENDENCIES): Likewise.
27596 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
27597 (normal/lexer.c_DEPENDENCIES): Likewise.
27598 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
27599 (normal/lexer.c_DEPENDENCIES): Likewise.
27600 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27601 (normal/lexer.c_DEPENDENCIES): Likewise.
27602 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27603 (normal/lexer.c_DEPENDENCIES): Likewise.
27604
27605 2008-02-23 Robert Millan <rmh@aybabtu.com>
27606
27607 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
27608 since they were intended to be in hex. This didn't break previously
27609 because of a bug in gpt_partition_map_iterate() (see below).
27610
27611 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
27612 when checking the validity of GPT header.
27613 Remove `partno', since it always provides the same information as `i'.
27614
27615 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
27616
27617 * include/grub/efi/time.h: Fix a wrong comment.
27618
27619 2008-02-19 Pavel Roskin <proski@gnu.org>
27620
27621 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
27622 message.
27623
27624 2008-02-19 Bean <bean123ch@gmail.com>
27625
27626 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
27627 (aout_mod_SOURCES): New variable.
27628 (aout_mod_CFLAGS): Likewise.
27629 (aout_mod_LDFLAGS): Likewise.
27630 (_bsd_mod_SOURCES): New variable.
27631 (_bsd_mod_CFLAGS): Likewise.
27632 (_bsd_mod_LDFLAGS): Likewise.
27633 (bsd_mod_SOURCES): New variable.
27634 (bsd_mod_CFLAGS): Likewise.
27635 (bsd_mod_LDFLAGS): Likewise.
27636
27637 * include/grub/aout.h: New file.
27638
27639 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
27640
27641 * include/grub/i386/bsd.h: New file.
27642
27643 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
27644 to make it public.
27645
27646 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
27647 function is called, so that it's possible to change it inside the hook.
27648 (grub_elf64_load): Likewise.
27649 (grub_elf_file): Don't close the file if elf header is not found.
27650 (grub_elf_close): Close the file if grub_elf_file fails (The new
27651 grub_elf_file won't close it).
27652 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
27653 (grub_elf64_size): Likewise.
27654
27655 * kern/i386/loader.S (grub_unix_real_boot): New function.
27656
27657 * loader/aout.c: New file.
27658
27659 * loader/i386/bsd.c: New file.
27660
27661 * loader/i386/bsd_normal.c: New file.
27662
27663 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
27664
27665 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
27666 can test other formats.
27667
27668 2008-02-19 Robert Millan <rmh@aybabtu.com>
27669
27670 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
27671 (grub_gpt_partition_type_empty): Redefine with macro from
27672 `<grub/gpt_partition.h>'.
27673 (gpt_partition_map_iterate): Adjust partition type comparison.
27674
27675 Export `entry' as partmap-specific `part.data' struct.
27676 (grub_gpt_header, grub_gpt_partentry): Move from here ...
27677
27678 * include/grub/gpt_partition.h (grub_gpt_header)
27679 (grub_gpt_partentry): ... to here (new file).
27680
27681 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
27682
27683 (grub_gpt_partition_type_bios_boot): New const variable, defined
27684 with macro from `<grub/gpt_partition.h>'.
27685
27686 (setup): Replace `first_start' with `embed_region', which keeps
27687 track of the embed region (and is partmap-agnostic).
27688
27689 Replace find_first_partition_start() with find_usable_region(),
27690 which finds a usable region for embedding using partmap-specific
27691 knowledge (supports PC/MSDOS and GPT).
27692
27693 Fix all assumptions that the embed region start at sector 1, using
27694 `embed_region.start' from now on. Similarly, use `embed_region.end'
27695 rather than `first_start' to calculate available size.
27696
27697 In grub_util_info() message, replace "into after the MBR" with an
27698 indication of the specific sector our embed region starts at.
27699
27700 2008-02-19 Robert Millan <rmh@aybabtu.com>
27701
27702 * DISTLIST: Replace `commands/ieee1275/halt.c' and
27703 `commands/ieee1275/reboot.c' with `commands/halt.c' and
27704 `commands/reboot.c'.
27705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
27706 (halt_mod_SOURCES): Likewise.
27707 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
27708 (halt_mod_SOURCES): Likewise.
27709
27710 2008-02-17 Christian Franke <franke@computer.org>
27711
27712 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
27713
27714 2008-02-17 Robert Millan <rmh@aybabtu.com>
27715
27716 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
27717 set `first_start' to 0 for non-PC/MSDOS partition maps.
27718
27719 2008-02-16 Robert Millan <rmh@aybabtu.com>
27720
27721 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
27722 do not assume partition map is PC/MSDOS before performing checks that
27723 are specific to that layout.
27724
27725 2008-02-13 Robert Millan <rmh@aybabtu.com>
27726
27727 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
27728 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
27729 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
27730
27731 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
27732
27733 * configure.ac: Only a cosmetic change on the handling of
27734 -fno-stack-protector.
27735
27736 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
27737
27738 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
27739 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
27740 reboot.c.
27741 (grub_install_SOURCES): Add halt.mod and reboot.mod.
27742 (halt_mod_SOURCES): New variable.
27743 (halt_mod_CFLAGS): Likewise.
27744 (halt_mod_LDFLAGS): Likewise.
27745 (reboot_mod_SOURCES): Likewise.
27746 (reboot_mod_CFLAGS): Likewise.
27747 (reboot_mod_LDFLAGS): Likewise.
27748
27749 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
27750 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
27751 reboot.c.
27752 (halt_mod_SOURCES): Likewise.
27753 (reboot_mod_SOURCES): Likewise.
27754
27755 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
27756 commands/i386/pc/reboot.c by commands/reboot.c.
27757 (reboot_mod_SOURCES): Likewise.
27758
27759 * commands/i386/pc/reboot.c: merge this file ...
27760
27761 * commands/ieee1275/reboot.c: ... and this file ...
27762
27763 * commands/reboot.c: ... to this file.
27764 Add some precompiler directive to include the correct header for
27765 each machine.
27766
27767 * commands/ieee1275/halt.c: move this file ...
27768
27769 * commands/halt.c: ... to here.
27770 Add some precompiler directive to include the correct header for
27771 each machine.
27772
27773 * include/grub/efi/efi.h (grub_reboot): New function declaration.
27774 (grub_halt): Likewise.
27775
27776 * kern/efi/efi.c (grub_reboot): New function.
27777 (grub_halt): Likewise.
27778
27779 2008-02-12 Robert Millan <rmh@aybabtu.com>
27780
27781 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
27782 /dev (like it is done for /dev/mapper). This doesn't provide support
27783 for EVMS, but at least it is now easy to identify the problem when it
27784 arises.
27785
27786 2008-02-11 Robert Millan <rmh@aybabtu.com>
27787
27788 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
27789 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
27790 comparing it with -1, not 0.
27791
27792 2008-02-10 Robert Millan <rmh@aybabtu.com>
27793
27794 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
27795 `disk/lvm.c'.
27796 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27797 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27798
27799 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
27800 `disk/lvm.c' to the end of the list.
27801 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27802 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27803
27804 2008-02-10 Robert Millan <rmh@aybabtu.com>
27805
27806 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
27807 grub_print_error() instead. This will let user know why we're entering
27808 rescue mode.
27809 Based on suggestions from Sam Morris.
27810
27811 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
27812
27813 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
27814 on remaining N args, instead of "--" arg N times.
27815
27816 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
27817
27818 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
27819 (fill_with_default_glyph): Changed to use unknown_glyph for fill
27820 pattern for unknown glyphs.
27821
27822 2008-02-09 Robert Millan <rmh@aybabtu.com>
27823
27824 * configure.ac: Probe for `help2man'.
27825 * Makefile.in (builddir): New variable.
27826 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
27827 or otherwise add a few flags/options to it.
27828 (install-local): For every executable utility or script that is
27829 installed, invoke $(HELP2MAN) to install a manpage based on --help
27830 output.
27831
27832 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
27833 that it doesn't prevent --help from working in build tree.
27834
27835 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
27836 with `bug-grub@gnu.org'.
27837 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
27838 * util/update-grub.in (usage): New function.
27839 Implement proper argument check, with support for --help and --version
27840 (as well as existing -y).
27841
27842 2008-02-09 Christian Franke <franke@computer.org>
27843
27844 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
27845 avoid overwriting previous output.
27846 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
27847
27848 2008-02-09 Robert Millan <rmh@aybabtu.com>
27849
27850 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
27851 drawing the menu.
27852
27853 2008-02-09 Robert Millan <rmh@aybabtu.com>
27854
27855 * commands/sleep.c: New file.
27856 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
27857 (sleep_mod_SOURCES): New variable.
27858 (sleep_mod_CFLAGS): Likewise.
27859 (sleep_mod_LDFLAGS): Likewise.
27860
27861 2008-02-09 Robert Millan <rmh@aybabtu.com>
27862
27863 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
27864 situations in which we can deduce the RAID size and the superblock
27865 doesn't match it.
27866
27867 2008-02-09 Robert Millan <rmh@aybabtu.com>
27868
27869 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
27870 and return a grub_diskmemberlist_t composed of LVM physical volumes.
27871 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
27872
27873 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
27874 and return a grub_diskmemberlist_t composed of physical array members.
27875 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
27876
27877 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
27878 prototype.
27879 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
27880 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
27881 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
27882
27883 * util/grub-probe.c (probe): Move partmap probing code from here ...
27884 (probe_partmap): ... to here.
27885 (probe): Use probe_partmap() once for the disk we're probing, and
27886 additionally, when such disk contains a memberlist() struct member,
27887 once for each disk that is contained in the structure returned by
27888 memberlist().
27889
27890 2008-02-09 Robert Millan <rmh@aybabtu.com>
27891
27892 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
27893 environment variable to 'all' in order to obtain debug output from
27894 non-util/ code.
27895 * util/i386/pc/grub-setup.c (main): Likewise.
27896
27897 2008-02-08 Robert Millan <rmh@aybabtu.com>
27898
27899 * disk/raid.c (grub_raid_scan_device): Check for
27900 `array->device[sb.this_disk.number]' rather than for
27901 `array->device[sb.this_disk.number]->name', since the latter is not
27902 guaranteed to be accessible.
27903
27904 2008-02-08 Robert Millan <rmh@aybabtu.com>
27905
27906 * disk/raid.c: Update copyright.
27907 * fs/cpio.c: Likewise.
27908 * include/grub/raid.h: Likewise.
27909 * loader/i386/pc/multiboot.c: Likewise.
27910 * util/hostfs.c: Likewise.
27911
27912 2008-02-08 Robert Millan <rmh@aybabtu.com>
27913
27914 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
27915 to a grub_disk_t array.
27916 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
27917 `device[x]'.
27918 (grub_raid_scan_device): Replace `device[x].name' accesses with
27919 `device[x]->name'. Simplify initialization of `array->device[x]'.
27920
27921 2008-02-08 Robert Millan <rmh@aybabtu.com>
27922
27923 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
27924 grub_dprintf() calls.
27925 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
27926 error message.
27927
27928 2008-02-07 Christian Franke <franke@computer.org>
27929
27930 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
27931 instead of fseek and ftell to support large files.
27932 (grub_hostfs_read): Likewise.
27933
27934 2008-02-07 Robert Millan <rmh@aybabtu.com>
27935
27936 Patch from Jeroen Dekkers.
27937 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
27938 failure, since successfully reading all array members might not be
27939 required.
27940
27941 2008-02-06 Robert Millan <rmh@aybabtu.com>
27942
27943 * util/grub-probe.c (probe): Simplify partmap probing (with the
27944 assumption that the first word up to the underscore equals to
27945 the module name).
27946
27947 2008-02-06 Christian Franke <franke@computer.org>
27948
27949 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
27950 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
27951 last block of a cpio or tar stream.
27952 Check for "TRAILER!!!" instead of any empty data
27953 block to detect last block of a cpio stream.
27954 (grub_cpio_dir): Fix constness of variable np.
27955 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
27956 cpio or tar trailer is detected. This fixes a crash
27957 on open of a non existing file.
27958
27959 2008-02-05 Bean <bean123ch@gmail.com>
27960
27961 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
27962 address of entry.
27963 (grub_multiboot_load_elf64): Likewise.
27964 (grub_multiboot): Initialize mbi structure.
27965
27966 * util/grub-fstest.c: Don't include unused header file script.h.
27967
27968 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
27969 of file.
27970 (grub_fstest_SOURCES): Likewise.
27971
27972 2008-02-05 Robert Millan <rmh@aybabtu.com>
27973
27974 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
27975 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
27976 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
27977 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
27978
27979 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
27980 (translation_table): Replace hardcoded values with macros
27981 provided by `<grub/term.h>'.
27982
27983 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
27984 (keyboard_map): Correct/add a few values, with macros provided
27985 by `<grub/term.h>'.
27986 (keyboard_map_shift): Zero values that don't differ from their
27987 `keyboard_map' equivalents.
27988 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
27989 Discard the second scan code that is always sent by Caps lock.
27990 Only use `keyboard_map_shift' when it provides a non-zero value,
27991 otherwise fallback to `keyboard_map'.
27992
27993 2008-02-04 Bean <bean123ch@gmail.com>
27994
27995 * Makefile.in (enable_grub_fstest): New variable.
27996
27997 * conf/common.rmk (grub_fstest_init.lst): New rule.
27998 (grub_fstest_init.h): Likewise.
27999 (grub_fstest_init.c): Likewise.
28000 (util/grub-fstest.c_DEPENDENCIES): New variable.
28001 (grub_fstest_SOURCES): Likewise.
28002
28003 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
28004
28005 * util/grub-fstest.c: New file.
28006
28007 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28008
28009 Make grub-setup handle a separate root device.
28010
28011 * util/i386/pc/grub-setup.c (setup): Always open the root device,
28012 so that the root device can be compared with the destination
28013 device.
28014 When embedding the core image, if the root and destination devices
28015 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
28016 0xFF.
28017 When not embedding, set ROOT_DRIVE to 0xFF.
28018
28019 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28020
28021 Add support for having a grub directory in a different drive. This
28022 is still only the data handling part.
28023
28024 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
28025 (codestart): Save %dh in GRUB_ROOT_DRIVE.
28026 (grub_root_drive): New variable.
28027
28028 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
28029 instead of GRUB_BOOT_DRIVE to construct a device name. Set
28030 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
28031 as it was.
28032
28033 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
28034
28035 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
28036 macro.
28037 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
28038
28039 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
28040 is bogus, because PXE booting does not specify any drive
28041 correctly.
28042
28043 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
28044 am not sure if this is really correct.
28045
28046 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
28047 is always identical to the boot drive when booting from a CD.
28048
28049 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
28050 longer.
28051 (root_drive): New variable.
28052 (real_start): Unconditionally set %dh to ROOT_DRIVE.
28053 (setup_sectors): Push %dx right after popping it, because %dh will
28054 be modified later.
28055 (copy_buffer): Restore %dx.
28056
28057 2008-02-03 Robert Millan <rmh@aybabtu.com>
28058
28059 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
28060 use `cdboot.img' for cdrom images.
28061
28062 2008-02-03 Robert Millan <rmh@aybabtu.com>
28063
28064 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
28065 only setup gfxterm when `font' command has succeeded.
28066
28067 2008-02-03 Robert Millan <rmh@aybabtu.com>
28068
28069 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
28070 (grub_rescue_cmd_multiboot_loader)
28071 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
28072
28073 2008-02-03 Pavel Roskin <proski@gnu.org>
28074
28075 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
28076 %edx and %esi from stack only after grub_gate_a20() is called.
28077 grub_gate_a20() clobbers %edx.
28078
28079 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28080
28081 * configure.ac (AC_INIT): Bumped to 1.96.
28082
28083 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
28084 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
28085 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
28086 video/readers/png.c.
28087
28088 2008-02-03 Bean <bean123ch@gmail.com>
28089
28090 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
28091 (cdboot_img_SOURCES): New variable.
28092 (cdboot_img_ASFLAGS): New variable.
28093 (cdboot_img_LDFLAGS): New variable.
28094
28095 * boot/i386/pc/cdboot.S: New file.
28096
28097 * disk/i386/pc/biosdisk.c (cd_start): New variable.
28098 (cd_count): Likewise.
28099 (grub_biosdisk_get_drive): Add support for cd device.
28100 (grub_biosdisk_call_hook): Likewise.
28101 (grub_biosdisk_iterate): Likewise.
28102 (grub_biosdisk_open): Likewise.
28103 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
28104 (grub_biosdisk_rw): Support reading from cd device.
28105 (GRUB_MOD_INIT): Iterate cd devices.
28106
28107 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
28108 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
28109 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
28110
28111 * kern/i386/pc/init.c (make_install_device): Check for cd device.
28112
28113 2008-02-02 Robert Millan <rmh@aybabtu.com>
28114
28115 * commands/read.c: New file.
28116 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
28117 (read_mod_SOURCES): New variable.
28118 (read_mod_CFLAGS): Likewise.
28119 (read_mod_LDFLAGS): Likewise.
28120
28121 2008-02-02 Robert Millan <rmh@aybabtu.com>
28122
28123 * normal/main.c (grub_normal_execute): Check for `menu->size' when
28124 determining whether menu has to be displayed.
28125
28126 2008-02-02 Marco Gerards <marco@gnu.org>
28127
28128 * bus/pci.c: New file.
28129
28130 * include/grub/pci.h: Likewise.
28131
28132 * include/grub/i386/pc/pci.h: Likewise.
28133
28134 * commands/lspci.c: Likewise.
28135
28136 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
28137 `lspci.mod'.
28138 (pci_mod_SOURCES): New variable.
28139 (pci_mod_CFLAGS): Likewise.
28140 (pci_mod_LDFLAGS): Likewise.
28141 (lspci_mod_SOURCES): Likewise.
28142 (lspci_mod_CFLAGS): Likewise.
28143 (lspci_mod_LDFLAGS): Likewise.
28144
28145 2008-02-02 Bean <bean123ch@gmail.com>
28146
28147 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
28148 (grub_ufs_get_file_block): Fix indirect block calculation problem.
28149
28150 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
28151 (grub_xfs_btree_node): New structure.
28152 (grub_xfs_btree_root): New structure.
28153 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
28154 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
28155 (GRUB_XFS_EXTENT_BLOCK): Likewise.
28156 (GRUB_XFS_EXTENT_SIZE): Likewise.
28157 (grub_xfs_read_block): Support btree format type.
28158 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
28159 Use directory block as basic unit.
28160
28161 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
28162
28163 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
28164 __attribute__ ((__regparm__ (1))).
28165
28166 2008-02-01 Robert Millan <rmh@aybabtu.com>
28167
28168 Correct a mistake in previous commit.
28169
28170 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
28171 top.
28172 (normal/command.c_DEPENDENCIES): New variable.
28173
28174 2008-02-01 Robert Millan <rmh@aybabtu.com>
28175
28176 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
28177 top.
28178 (normal/command.c_DEPENDENCIES): New variable.
28179 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
28180 * conf/i386-ieee1275.rmk: Likewise.
28181 * conf/i386-linuxbios.rmk: Likewise.
28182 * conf/i386-pc.rmk: Likewise.
28183 * conf/sparc64-ieee1275.rmk: Likewise.
28184 * conf/powerpc-ieee1275.rmk: Likewise.
28185 (grub_emu_SOURCES): Add `fs/fshelp.c'.
28186
28187 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
28188
28189 2008-02-01 Robert Millan <rmh@aybabtu.com>
28190
28191 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
28192 call at beginning of function.
28193
28194 2008-01-31 Pavel Roskin <proski@gnu.org>
28195
28196 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
28197 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
28198 (grub_mkrescue_SOURCES): Likewise.
28199 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
28200
28201 2008-01-30 Robert Millan <rmh@aybabtu.com>
28202
28203 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
28204 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
28205 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
28206 (grub_probe_SOURCES): ... to here.
28207
28208 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
28209 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
28210 * conf/i386-ieee1275.rmk: Likewise.
28211 * conf/i386-linuxbios.rmk: Likewise.
28212 * conf/powerpc-ieee1275.rmk: Likewise.
28213
28214 2008-01-30 Tristan Gingold <gingold@free.fr>
28215
28216 * kern/rescue.c: Silently accept empty lines.
28217
28218 2008-01-29 Bean <bean123ch@gmail.com>
28219
28220 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
28221 (real_code_2): Code cleanup and change comment style.
28222 (move_memory): Avoid using 32-bit address mode.
28223
28224 2008-01-29 Bean <bean123ch@gmail.com>
28225
28226 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
28227 (png_mod_SOURCES): New variable.
28228 (png_mod_CFLAGS): Likewise.
28229 (png_mod_LDFLAGS): Likewise.
28230
28231 * video/readers/png.c: New file.
28232
28233 2008-01-28 Robert Millan <rmh@aybabtu.com>
28234
28235 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
28236 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
28237 `ifndef GRUB_MOD_GAP' hack.
28238 * util/elf/grub-mkimage.c (add_segments): Likewise.
28239
28240 2008-01-27 Robert Millan <rmh@aybabtu.com>
28241
28242 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
28243 `GRUB_MOD_GAP' for platforms in which it's not defined.
28244 * util/elf/grub-mkimage.c (add_segments): Likewise.
28245
28246 2008-01-27 Robert Millan <rmh@aybabtu.com>
28247
28248 Get grub-emu to build again (including parallel builds).
28249
28250 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
28251 Split into ...
28252 (util/grub-emu.c_DEPENDENCIES): ... this, ...
28253 (normal/execute.c_DEPENDENCIES): ... this, ...
28254 (grub-emu_DEPENDENCIES): ... and this.
28255
28256 * conf/i386-efi.rmk: Likewise.
28257 * conf/i386-linuxbios.rmk: Likewise.
28258 * conf/i386-ieee1275.rmk: Likewise.
28259 * conf/powerpc-ieee1275.rmk: Likewise.
28260 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
28261
28262 2008-01-27 Robert Millan <rmh@aybabtu.com>
28263
28264 * NEWS: Add a few items.
28265
28266 2008-01-27 Robert Millan <rmh@aybabtu.com>
28267
28268 Fix parallel builds with grub-emu. Based on earlier commit for
28269 grub-probe and grub-setup.
28270
28271 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28272 (util/grub-emu.c_DEPENDENCIES): ... this.
28273 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28274 (util/grub-emu.c_DEPENDENCIES): ... this.
28275 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28276 (util/grub-emu.c_DEPENDENCIES): ... this.
28277 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28278 (util/grub-emu.c_DEPENDENCIES): ... this.
28279 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28280 (util/grub-emu.c_DEPENDENCIES): ... this.
28281
28282 2008-01-27 Pavel Roskin <proski@gnu.org>
28283
28284 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
28285 to create a gap between _end and the modules added to the image
28286 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
28287 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
28288 * util/elf/grub-mkimage.c (add_segments): Likewise.
28289
28290 2008-01-26 Pavel Roskin <proski@gnu.org>
28291
28292 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
28293 just return an error.
28294
28295 2008-01-26 Bean <bean123ch@gmail.com>
28296
28297 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
28298 (grub_reiserfs_get_item): Save offset of the next item.
28299 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
28300
28301 2008-01-25 Robert Millan <rmh@aybabtu.com>
28302
28303 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
28304 make all filesystem sources appear together (possibly fixing omissions
28305 while at it).
28306 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28307 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28308 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28310
28311 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
28312 add `kern/file.c'.
28313 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
28314 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28315 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
28316 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28317
28318 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
28319 (probe): Add a sanity check to make sure of our ability to read
28320 requested files when probing for filesystem type.
28321
28322 * genmk.rb: Update copyright year (2007).
28323
28324 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
28325 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
28326 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
28327 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
28328 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
28329 : Remove function prototypes.
28330
28331 2008-01-25 Robert Millan <rmh@aybabtu.com>
28332
28333 Revert my previous commits (based on wrong assumption of how grub_errno
28334 works).
28335
28336 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
28337 * kern/file.c (grub_file_open): Likewise.
28338
28339 2008-01-24 Pavel Roskin <proski@gnu.org>
28340
28341 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
28342 that hang if GRUB tries to setup colors.
28343 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
28344 colors for firmwares that don't support it.
28345 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
28346 Recognize Open Hack'Ware, set flags to work around its
28347 limitations.
28348
28349 2008-01-24 Robert Millan <rmh@aybabtu.com>
28350
28351 * kern/file.c (grub_file_open): Do not account previous failures of
28352 unrelated functions when grub_errno is checked for.
28353 Reported by Oleg Strikov.
28354
28355 2008-01-24 Bean <bean123ch@gmail.com>
28356
28357 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
28358 (grub_ufs_sblock): New member volume name.
28359 (grub_ufs_find_file): Fix string copy bug.
28360 (grub_ufs_label): Implement this function properly.
28361
28362 * fs/hfs.c (grub_hfs_cnid_type): New enum.
28363 (grub_hfs_iterate_records): Use the correct file number for extents
28364 and catalog file. Fix problem in next index calculation.
28365 (grub_hfs_find_node): Replace recursive function call with loop.
28366 (grub_hfs_iterate_dir): Replace recursive function call with loop.
28367
28368 2008-01-23 Robert Millan <rmh@aybabtu.com>
28369
28370 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
28371 `<grub/symbol.h>' and `<grub/multiboot.h>'.
28372 (grub_multiboot2_real_boot): New function prototype.
28373
28374 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
28375 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
28376
28377 * kern/i386/ieee1275/init.c (grub_os_area_addr)
28378 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
28379
28380 2008-01-23 Robert Millan <rmh@aybabtu.com>
28381
28382 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
28383 #ifdef'ed out grub_printf().
28384
28385 2008-01-23 Robert Millan <rmh@aybabtu.com>
28386
28387 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
28388 grub_dprintf calls, since they make "debug=all" mode unusable.
28389 (grub_console_checkkey): Likewise.
28390
28391 2008-01-23 Robert Millan <rmh@aybabtu.com>
28392
28393 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28394 `term/i386/pc/at_keyboard.c'.
28395 (pkglib_MODULES): Add `serial.mod'.
28396 (serial_mod_SOURCES): New variable.
28397 (serial_mod_CFLAGS): Likewise.
28398 (serial_mod_LDFLAGS): Likewise.
28399
28400 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
28401 `<grub/powerpc/ieee1275/console.h>'.
28402 (grub_keyboard_controller_init): New function prototype.
28403 (grub_console_checkkey): Likewise.
28404 (grub_console_getkey): Likewise.
28405
28406 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
28407 keyboard on i386.
28408
28409 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
28410 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
28411
28412 2008-01-23 Robert Millan <rmh@aybabtu.com>
28413
28414 * kern/i386/pc/init.c (make_install_device): When memdisk image is
28415 present, "(memdisk)/boot/grub" becomes the default prefix.
28416
28417 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
28418 a memdisk tarball with all the modules. Add --overlay=DIR option that
28419 allows users to overlay additional files into the image.
28420
28421 2008-01-23 Robert Millan <rmh@aybabtu.com>
28422
28423 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
28424 and `machine/memory.h'.
28425 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
28426 (_multiboot_mod_SOURCES): New variable.
28427 (_multiboot_mod_CFLAGS): Likewise.
28428 (_multiboot_mod_LDFLAGS): Likewise.
28429 (multiboot_mod_SOURCES): Likewise.
28430 (multiboot_mod_CFLAGS): Likewise.
28431 (multiboot_mod_LDFLAGS): Likewise.
28432
28433 * include/grub/i386/ieee1275/loader.h: New file.
28434
28435 * include/grub/i386/ieee1275/machine.h: Likewise.
28436
28437 * include/grub/i386/ieee1275/memory.h: Likewise.
28438
28439 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
28440 variable declaration.
28441 (grub_os_area_size): Likewise.
28442
28443 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
28444 (grub_lower_mem, grub_upper_mem): New variables.
28445 (grub_stop_floppy): New function (just to make
28446 grub_multiboot2_real_boot() happy).
28447
28448 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
28449 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
28450 (grub_stop): New function.
28451 Include `"../realmode.S"' and `"../loader.S"'.
28452
28453 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
28454 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
28455
28456 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
28457 rely on grub_multiboot2_real_boot() for final boot.
28458
28459 2008-01-22 Robert Millan <rmh@aybabtu.com>
28460
28461 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
28462 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
28463 device that doesn't look like an SD card.
28464 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
28465 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
28466 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
28467 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
28468 found.
28469
28470 2008-01-22 Robert Millan <rmh@aybabtu.com>
28471
28472 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
28473 avoid claiming over our own code.
28474
28475 2008-01-22 Bean <bean123ch@gmail.com>
28476
28477 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
28478 (jpeg_mod_SOURCES): New variable.
28479 (jpeg_mod_CFLAGS): Likewise.
28480 (jpeg_mod_LDFLAGS): Likewise.
28481
28482 * video/readers/jpeg.c : New file.
28483
28484 2008-01-22 Bean <bean123ch@gmail.com>
28485
28486 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
28487 there are no more items.
28488
28489 2008-01-21 Robert Millan <rmh@aybabtu.com>
28490
28491 * kern/mm.c (grub_mm_init_region): Improve debug message.
28492
28493 2008-01-21 Robert Millan <rmh@aybabtu.com>
28494
28495 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
28496 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
28497 address.
28498 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
28499 a C macro.
28500 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
28501 Indicates start of upper memory.
28502 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
28503 (generate_image): Abort when image size is big enough to corrupt
28504 upper memory.
28505
28506 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
28507 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
28508 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28509 instead of hardcoding 0xA0000.
28510 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
28511 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28512 instead of hardcoding 0xA0000.
28513
28514 2008-01-21 Robert Millan <rmh@aybabtu.com>
28515
28516 * disk/memdisk.c (memdisk_size): New variable.
28517 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
28518 `memdisk_size'.
28519 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
28520 image to dynamic memory.
28521 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
28522 `memdisk_size'. Free memdisk block.
28523
28524 2008-01-21 Robert Millan <rmh@aybabtu.com>
28525
28526 Fix detection of very small filesystems (like tar).
28527
28528 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
28529 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
28530 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
28531 a problem with this disk).
28532
28533 2008-01-21 Robert Millan <rmh@aybabtu.com>
28534
28535 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
28536 on grub_biosdisk_rw_standard() error.
28537
28538 2008-01-21 Robert Millan <rmh@aybabtu.com>
28539
28540 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
28541 recent changes.
28542 * kern/elf.c: Likewise.
28543 * kern/ieee1275/ieee1275.c: Likewise.
28544 * kern/powerpc/ieee1275/openfw.c: Likewise.
28545 * term/ieee1275/ofconsole.c: Likewise.
28546
28547 2008-01-21 Robert Millan <rmh@aybabtu.com>
28548
28549 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
28550
28551 * include/grub/kernel.h (grub_arch_memdisk_addr)
28552 (grub_arch_memdisk_size): Moved from here ...
28553
28554 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
28555 (grub_arch_memdisk_size): ... to here.
28556
28557 2008-01-21 Robert Millan <rmh@aybabtu.com>
28558
28559 Mostly based on bugfix from Bean.
28560
28561 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
28562 attribute with hook() parameter.
28563 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
28564 declaration.
28565 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
28566 attribute with hook() parameter.
28567 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
28568 declaration.
28569
28570 2008-01-21 Robert Millan <rmh@aybabtu.com>
28571
28572 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
28573 (pkglib_MODULES): Add `memdisk.mod'.
28574 (memdisk_mod_SOURCES): New variable.
28575 (memdisk_mod_CFLAGS): Likewise.
28576 (memdisk_mod_LDFLAGS): Likewise.
28577
28578 * disk/memdisk.c: New file.
28579
28580 * include/grub/disk.h (grub_disk_dev_id): Add
28581 `GRUB_DISK_DEVICE_MEMDISK_ID'.
28582
28583 * include/grub/i386/pc/kernel.h
28584 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
28585 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
28586 (grub_kernel_image_size): New variable declaration.
28587 (grub_total_module_size): Likewise.
28588 (grub_memdisk_image_size): Likewise.
28589
28590 * include/grub/i386/pc/memory.h
28591 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
28592
28593 * include/grub/kernel.h: Include `<grub/symbol.h>'.
28594 (grub_arch_memdisk_addr): New variable declaration.
28595 (grub_arch_memdisk_size): Likewise.
28596
28597 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
28598 (grub_arch_memdisk_size): Likewise.
28599
28600 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
28601 (codestart): Replace hardcoded `0x100000' with
28602 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
28603
28604 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
28605 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
28606 not NULL, append the contents of the file it refers to, at the end of
28607 the compressed kernel image. Initialize `grub_memdisk_image_size'
28608 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
28609 (options): Add "memdisk"|'m' option.
28610 (main): Parse --memdisk|-m option, and pass user-provided path as
28611 parameter to generate_image().
28612
28613 2008-01-20 Robert Millan <rmh@aybabtu.com>
28614
28615 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
28616 grub_dprintf() calls from here ...
28617 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
28618
28619 2008-01-20 Robert Millan <rmh@aybabtu.com>
28620
28621 Fix detection of "real mode" when /options/real-mode? doesn't exist.
28622
28623 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
28624 declaration.
28625 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
28626 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
28627 `GRUB_IEEE1275_FLAG_REAL_MODE'.
28628 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
28629 property).
28630 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
28631 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
28632
28633 2008-01-19 Robert Millan <rmh@aybabtu.com>
28634
28635 Get rid of confusing function (superseded by
28636 `grub_ieee1275_get_integer_property')
28637 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
28638 prototype.
28639 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
28640 function.
28641 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
28642 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
28643 in native endianness from grub_ieee1275_get_integer_property().
28644
28645 2008-01-19 Robert Millan <rmh@aybabtu.com>
28646
28647 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
28648 command after "shut-down", since implementations differ on which
28649 the command for halt is.
28650
28651 2008-01-19 Robert Millan <rmh@aybabtu.com>
28652
28653 * include/grub/i386/linuxbios/console.h: Add header protection.
28654 (grub_keyboard_controller_init): New function prototype.
28655 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
28656 (KEYBOARD_COMMAND_READ): Likewise.
28657 (KEYBOARD_COMMAND_WRITE): Likewise.
28658 (KEYBOARD_SCANCODE_SET1): Likewise.
28659 (grub_keyboard_controller_write): New function.
28660 (grub_keyboard_controller_read): Likewise.
28661 (grub_keyboard_controller_init): Likewise.
28662
28663 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
28664 (grub_console_init): On coreboot/LinuxBIOS, call
28665 grub_keyboard_controller_init().
28666
28667 2008-01-19 Robert Millan <rmh@aybabtu.com>
28668
28669 PowerPC changes provided by Pavel Roskin.
28670
28671 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
28672 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
28673 don't rely on cmain() doing it.
28674 * kern/i386/ieee1275/startup.S (_start): Store %eax in
28675 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
28676
28677 2008-01-16 Robert Millan <rmh@aybabtu.com>
28678
28679 * include/grub/i386/linuxbios/memory.h
28680 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
28681 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
28682 receive `table_header' as argument. Instead, probe for it in the
28683 known memory ranges where it can be present.
28684 (grub_available_iterate): Do not pass a fixed `table_header' address
28685 to grub_linuxbios_table_iterate().
28686
28687 2008-01-15 Robert Millan <rmh@aybabtu.com>
28688
28689 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
28690 * conf/i386-ieee1275.rmk: New file.
28691 * include/grub/i386/ieee1275/console.h: Likewise.
28692 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
28693 * include/grub/i386/ieee1275/kernel.h: Likewise.
28694 * include/grub/i386/ieee1275/time.h: Likewise.
28695 * kern/i386/ieee1275/init.c: Likewise.
28696 * kern/i386/ieee1275/startup.S: Likewise.
28697
28698 2008-01-15 Robert Millan <rmh@aybabtu.com>
28699
28700 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
28701 when pointers are 32-bit (but still do set it to one when they are
28702 64-bit).
28703
28704 2008-01-15 Robert Millan <rmh@aybabtu.com>
28705
28706 * include/grub/ieee1275/ieee1275.h
28707 (grub_ieee1275_get_integer_property): New function prototype.
28708
28709 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
28710 (grub_ieee1275_get_integer_property): New function. Wraps around
28711 grub_ieee1275_get_property() to handle endianness.
28712
28713 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
28714 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
28715 where appropriate.
28716 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
28717 (grub_map): Likewise.
28718 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
28719
28720 2008-01-15 Bean <bean123ch@gmail.com>
28721
28722 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
28723 (grub_script_execute_cmdline): Reset grub_errno.
28724
28725 * normal/main.c (read_config_file): Reset grub_errno.
28726
28727 * normal/parse.y (script_init): New.
28728 (script): Move function and menuentry here.
28729 (delimiter): New.
28730 (command): Add delimiter at the end of command.
28731 (commands): Adjust to match the new command.
28732 (commandblock): Remove grub_script_lexer_record_start.
28733 (menuentry): Add grub_script_lexer_record_start, use the new commands.
28734 (if): Use the new commands.
28735
28736 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
28737
28738 2008-01-15 Robert Millan <rmh@aybabtu.com>
28739
28740 * normal/menu.c (run_menu): Move timeout message from here ...
28741 (print_timeout): ... to here.
28742 (run_menu): Use print_timeout() once during initial draw to print
28743 the whole message, and again in every clock tick to update only
28744 the number of seconds.
28745
28746 2008-01-15 Robert Millan <rmh@aybabtu.com>
28747
28748 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
28749 actual size of `available' from grub_ieee1275_get_property(), and
28750 restrict parsing to that bound.
28751
28752 2008-01-15 Christian Franke <franke@computer.org>
28753
28754 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
28755 (argp_program_version): Remove variable.
28756 (argp_program_bug_address): Likewise.
28757 (options): Convert from struct argp_option to struct option.
28758 (struct arguments): Remove.
28759 (parse_opt): Remove.
28760 (usage): New function.
28761 (main): Replace struct args members by simple variables.
28762 Replace argp_parse() by getopt_long().
28763 Add switch to evaluate options.
28764 Add missing "(...)" around root_dev in prefix string.
28765
28766 2008-01-14 Robert Millan <rmh@aybabtu.com>
28767
28768 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
28769 for grub_ieee1275_exit(), in order to improve portability.
28770
28771 2008-01-14 Robert Millan <rmh@aybabtu.com>
28772
28773 * util/grub.d/10_linux.in (prefix): Define.
28774 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
28775
28776 2008-01-13 Pavel Roskin <proski@gnu.org>
28777
28778 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
28779 grub_errno if no errors have been detected.
28780
28781 2008-01-12 Robert Millan <rmh@aybabtu.com>
28782
28783 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
28784 (grub_util_get_dev_abstraction): New function prototype.
28785
28786 * util/getroot.c: Include `<grub/util/getroot.h>'
28787 (grub_util_get_grub_dev): Move detection of abstraction type to ...
28788 (grub_util_get_dev_abstraction): ... here (new function).
28789
28790 * util/grub-probe.c: Convert PRINT_* to an enum. Add
28791 `PRINT_ABSTRACTION'.
28792 (probe): Probe for abstraction type when requested.
28793 (main): Understand `--target=abstraction'.
28794
28795 * util/i386/efi/grub-install.in: Add abstraction module to core
28796 image when it is found to be necessary.
28797 * util/i386/pc/grub-install.in: Likewise.
28798 * util/powerpc/ieee1275/grub-install.in: Likewise.
28799
28800 * util/update-grub_lib.in (font_path): Return system path without
28801 converting to GRUB path.
28802 * util/update-grub.in: Convert system path returned by font_path()
28803 to a GRUB path. Use `grub-probe -t abstraction' to determine what
28804 abstraction module is needed for loading fonts (if any). Export
28805 that as `GRUB_PRELOAD_MODULES'.
28806 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
28807 insmod commands).
28808
28809 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
28810
28811 Remove some unused code from reiserfs.
28812
28813 * fs/reiserfs.c (struct grub_reiserfs_key)
28814 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
28815 (struct grub_reiserfs_node_body): Removed.
28816 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
28817 Likewise.
28818 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28819 Likewise.
28820 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28821 Likewise.
28822 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
28823 Likewise.
28824 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
28825 Likewise.
28826 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
28827 Likewise.
28828 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28829 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28830 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
28831
28832 2008-01-10 Robert Millan <rmh@aybabtu.com>
28833
28834 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
28835 Determines if a file is garbage left by packaging systems, etc.
28836 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
28837 for processing /etc/grub.d scripts.
28838 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
28839 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
28840 as a condition for processing Linux images.
28841
28842 2008-01-10 Pavel Roskin <proski@gnu.org>
28843
28844 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
28845 to compile reiserfs.c on PowerPC.
28846
28847 2008-01-10 Robert Millan <rmh@aybabtu.com>
28848
28849 * kern/device.c (grub_device_iterate): Do not abort device iteration
28850 when one of the devices cannot be opened.
28851 * kern/disk.c (grub_disk_open): Do not account previous failures of
28852 unrelated functions when grub_errno is checked for.
28853
28854 2008-01-08 Robert Millan <rmh@aybabtu.com>
28855
28856 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
28857 `! grub_linux_is_bzimage', change order of address comparison to make
28858 it more intuitive, and improve "too big zImage" error message.
28859
28860 2008-01-08 Robert Millan <rmh@aybabtu.com>
28861
28862 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
28863 `$(update-grub_DATA)'.
28864 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
28865 targets.
28866
28867 2008-01-07 Robert Millan <rmh@aybabtu.com>
28868
28869 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
28870 which instruction is modified by grub-setup during installation
28871 (since it wasn't obvious by only looking at this file).
28872
28873 2008-01-07 Robert Millan <rmh@aybabtu.com>
28874
28875 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
28876 listing actual TODO items.
28877
28878 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28879
28880 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
28881 correctly.
28882 (grub_reiserfs_get_key_offset): Likewise.
28883 (grub_reiserfs_set_key_offset): Likewise.
28884 (grub_reiserfs_set_key_type): Likewise.
28885 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
28886
28887 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
28888 better to remove the bitfield version completely.
28889
28890 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28891
28892 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
28893 allocated from the heap, due to the fshelp implementation.
28894 (grub_reiserfs_dir): Free NODE, due to the same reason.
28895
28896 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
28897
28898 Mostly from Vincent Pelletier:
28899
28900 * fs/reiserfs.c: New file.
28901
28902 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
28903 (reiserfs_mod_SOURCES): New variable.
28904 (reiserfs_mod_CFLAGS): Likewise.
28905 (reiserfs_mod_LDFLAGS): Likewise.
28906
28907 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
28908 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
28909 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
28910 normal/color.c.
28911
28912 2008-01-06 Robert Millan <rmh@aybabtu.com>
28913
28914 * normal/color.c: Remove `<grub/env.h>'.
28915
28916 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
28917
28918 * include/grub/normal.h: Include <grub/env.h>.
28919
28920 2008-01-05 Robert Millan <rmh@aybabtu.com>
28921
28922 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
28923 usage example with `(hd0,1)'.
28924 Reported by Samuel Thibault.
28925
28926 2008-01-05 Robert Millan <rmh@aybabtu.com>
28927
28928 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
28929 (grub_linux_boot_zimage): Rename to ...
28930 (grub_linux_boot): ... this.
28931 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
28932 (grub_linux_boot_zimage): Conditionalize zImage copy.
28933
28934 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
28935 (grub_linux_boot_bzimage): Remove prototype.
28936 (grub_linux_boot_zimage): Rename to ...
28937 (grub_linux_boot): ... this.
28938
28939 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
28940 (grub_linux_boot): Remove function.
28941
28942 2008-01-05 Robert Millan <rmh@aybabtu.com>
28943
28944 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
28945 (grub_env_write_color_highlight): Likewise.
28946 (grub_wait_after_message): Likewise.
28947
28948 * normal/color.c: New file.
28949
28950 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28951 (normal_mod_DEPENDENCIES): Likewise.
28952
28953 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28954 (normal_mod_DEPENDENCIES): Likewise.
28955
28956 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28957 (normal_mod_DEPENDENCIES): Likewise.
28958
28959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
28960 (normal_mod_DEPENDENCIES): Likewise.
28961
28962 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
28963 for waiting after a message is printed.
28964 * normal/main.c (read_config_file): Likewise.
28965 (grub_normal_init): Register grub_env_write_color_normal() and
28966 grub_env_write_color_highlight() hooks. Mark `color_normal' and
28967 `color_highlight' variables as global.
28968
28969 * normal/menu.c (grub_wait_after_message): New function.
28970 (grub_color_menu_normal): New variable. Replaces ...
28971 (GRUB_COLOR_MENU_NORMAL): ... this macro.
28972 (grub_color_menu_highlight): New variable. Replaces ...
28973 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
28974 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
28975 `GRUB_TERM_COLOR_STANDARD'.
28976 (print_message): Use `grub_setcolorstate' to reload colors. Rename
28977 `normal_code' and `highlight_code' to `old_color_normal' and
28978 `old_color_highlight', respectively.
28979 (grub_menu_init_page): Update colors when drawing the menu, based on
28980 `menu_color_normal' and `menu_color_highlight' variables.
28981 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
28982 a message is printed.
28983
28984 2008-01-05 Robert Millan <rmh@aybabtu.com>
28985
28986 * kern/env.c (grub_env_context_open): Propagate hooks for global
28987 variables to new context.
28988
28989 * kern/main.c (grub_set_root_dev): Export `root' variable.
28990
28991 2008-01-05 Robert Millan <rmh@aybabtu.com>
28992
28993 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
28994 discs unconditionally, since udev and others have options to provide
28995 them.
28996
28997 2008-01-05 Robert Millan <rmh@aybabtu.com>
28998
28999 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
29000
29001 2008-01-04 Christian Franke <franke@computer.org>
29002
29003 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
29004 of eisa_mmap.
29005
29006 2008-01-03 Pavel Roskin <proski@gnu.org>
29007
29008 * kern/i386/linuxbios/init.c: Put "void" to all function
29009 declarations with no arguments.
29010 * kern/powerpc/ieee1275/init.c: Likewise.
29011 * term/i386/pc/at_keyboard.c: Likewise.
29012 * term/i386/pc/vga_text.c: Likewise.
29013 * util/grub-mkdevicemap.c: Likewise.
29014
29015 2008-01-02 Robert Millan <rmh@aybabtu.com>
29016
29017 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
29018 message when loaded image is out of bounds.
29019 (grub_multiboot_load_elf64): Likewise.
29020
29021 2008-01-02 Pavel Roskin <proski@gnu.org>
29022
29023 * util/grub.d/10_linux.in: Try version without ".old" when
29024 looking for initrd. It's better to use initrd from the newer
29025 kernel of the same version than no initrd at all.
29026
29027 2008-01-01 Robert Millan <rmh@aybabtu.com>
29028
29029 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
29030
29031 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
29032
29033 * include/grub/video.h: Added grub_video_unmap_color and
29034 grub_video_get_active_render_target.
29035 (grub_video_adapter): Added unmap_color and get_active_render_target.
29036
29037 * video/video.c: Added grub_video_unmap_color and
29038 grub_video_get_active_render_target.
29039 (grub_video_get_info): Changed method to accept NULL pointer as an
29040 argument to allow detection of active video adapter.
29041
29042 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
29043 grub_video_vbe_unmap_color_int.
29044 Added grub_video_vbe_unmap_color and
29045 grub_video_vbe_get_active_render_target.
29046 (grub_video_vbe_adapter): Added unmap_color and
29047 get_active_render_target.
29048
29049 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
29050 with grub_video_vbe_unmap_color_int.
29051
29052 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
29053 (DEFAULT_NORMAL_COLOR): Likewise.
29054 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
29055 (DEFAULT_FG_COLOR): Removed.
29056 (DEFAULT_BG_COLOR): Likewise.
29057 (DEFAULT_CURSOR_COLOR): Changed value.
29058 (grub_virtual_screen): Added standard_color_setting,
29059 normal_color_setting, highlight_color_setting and term_color.
29060 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
29061 (bitmap_width): Added.
29062 (bitmap_height): Likewise.
29063 (bitmap): Likewise.
29064 (set_term_color): Likewise.
29065 (grub_virtual_screen_setup): Changed to use new terminal coloring
29066 settings.
29067 (grub_gfxterm_init): Added init for bitmap.
29068 (grub_gfxterm_fini): Added destroy for bitmap.
29069 (redraw_screen_rect): Updated to use background bitmap and new
29070 terminal coloring.
29071 (scroll_up): Added optimization for case when there is no bitmap.
29072 (grub_gfxterm_cls): Fixed to use correct background color.
29073 (grub_virtual_screen_setcolorstate): Changed to use new terminal
29074 coloring.
29075 (grub_virtual_screen_setcolor): Likewise.
29076 (grub_virtual_screen_getcolor): Added.
29077 (grub_gfxterm_background_image_cmd): Likewise.
29078 (grub_video_term): Added setcolor and getcolor.
29079 (MOD_INIT): Added registration of background_image command.
29080 (MOD_TERM): Added unregistration for background_image command.
29081
29082 2007-12-30 Pavel Roskin <proski@gnu.org>
29083
29084 * loader/multiboot_loader.c: Fix multiboot command
29085 unregistration. Fix all typos in the word "multiboot".
29086
29087 2007-12-29 Pavel Roskin <proski@gnu.org>
29088
29089 * util/grub.d/10_linux.in: Refactor search for initrd. Add
29090 support for initrd names used in Fedora.
29091
29092 2007-12-26 Bean <bean123ch@gmail.com>
29093
29094 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
29095 (cpio_mod_SOURCES): New variable.
29096 (cpio_mod_CFLAGS): Likewise.
29097 (cpio_mod_LDFLAGS): Likewise.
29098
29099 * fs/cpio.c: New file.
29100
29101 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
29102
29103 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29104
29105 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29106
29107 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29108
29109 2007-12-25 Robert Millan <rmh@aybabtu.com>
29110
29111 * include/grub/term.h (struct grub_term): Add `getcolor' function.
29112 (grub_getcolor): New function.
29113
29114 * kern/term.c (grub_getcolor): New function.
29115 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
29116 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
29117 (print_entry): Set normal and highlight colors to
29118 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
29119 respectively, before printing and restore them to old
29120 values afterwards.
29121 (grub_menu_init_page): Likewise. Fill an additional colored space
29122 that would otherwise be left blank.
29123
29124 * term/efi/console.c (grub_console_getcolor): New function.
29125 (struct grub_console_term.getcolor): New variable.
29126 * term/i386/pc/console.c (grub_console_getcolor): New function.
29127 (struct grub_console_term.getcolor): New variable.
29128 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
29129 (struct grub_console_term.getcolor): New variable.
29130
29131 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
29132 (struct grub_console_term.setcolor): Remove variable.
29133 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
29134 (struct grub_console_term.setcolor): Remove variable.
29135 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
29136 (struct grub_console_term.setcolor): Remove variable.
29137 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
29138 (struct grub_console_term.setcolor): Remove variable.
29139
29140 2007-12-25 Robert Millan <rmh@aybabtu.com>
29141
29142 * configure.ac: Search for possible unifont.hex locations, and
29143 define UNIFONT_HEX if found.
29144
29145 * Makefile.in (UNIFONT_HEX): Define variable.
29146 (DATA): Rename to ...
29147 (PKGLIB): ... this. Update all users.
29148 (PKGDATA): New variable.
29149 (pkgdata_IMAGES): Rename to ...
29150 (pkglib_IMAGES): ... this. Update all users.
29151 (pkgdata_MODULES): Rename to ...
29152 (pkglib_MODULES): ... this. Update all users.
29153 (pkgdata_PROGRAMS): Rename to ...
29154 (pkglib_PROGRAMS): ... this. Update all users.
29155 (pkgdata_DATA): Rename to ...
29156 (pkglib_DATA): ... this. Update all users.
29157 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
29158 (unicode.pff, ascii.pff): New rules.
29159 (all-local): Add `$(PKGDATA)' dependency.
29160 (install-local): Process `$(PKGDATA)'.
29161
29162 * util/update-grub_lib.in (font_path): Search for *.pff files in
29163 a few more locations, including `${pkgdata}'.
29164
29165 2007-12-23 Robert Millan <rmh@aybabtu.com>
29166
29167 Patch from Bean <bean123ch@gmail.com>:
29168 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
29169 `size'.
29170
29171 2007-12-21 Bean <bean123ch@gmail.com>
29172
29173 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
29174 (ntfscomp_mod_SOURCES): New variable.
29175 (ntfscomp_mod_CFLAGS): Likewise.
29176 (ntfscomp_mod_LDFLAGS): Likewise.
29177
29178 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
29179 (grub_probe_SOURCES): Likewise.
29180 (grub_emu_SOURCES): Likewise.
29181
29182 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29183 (grub_emu_SOURCES): Likewise.
29184
29185 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29186 (grub_emu_SOURCES): Likewise.
29187
29188 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29189 (grub_emu_SOURCES): Likewise.
29190
29191 * fs/ntfs.c (grub_ntfscomp_func): New variable.
29192 (read_run_list): Renamed to grub_ntfs_read_run_list.
29193 (decomp_nextvcn): Moved to ntfscomp.c.
29194 (decomp_getch): Likewise.
29195 (decomp_get16): Likewise.
29196 (decomp_block): Likewise.
29197 (read_block): Likewise.
29198 (read_data): Partially moved to ntfscomp.c.
29199 (fixup): Change unsigned to grub_uint16_t.
29200 (read_mft): Change unsigned long to grub_uint32_t.
29201 (read_attr): Likewise.
29202 (read_data): Likewise.
29203 (read_run_data): Likewise.
29204 (read_run_list): Likewise.
29205 (read_mft): Likewise.
29206
29207 * fs/ntfscomp.c: New file.
29208
29209 * include/grub/ntfs.h: New file.
29210
29211 2007-12-16 Robert Millan <rmh@aybabtu.com>
29212
29213 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
29214 IDE disk check, since Linux is known to support 20 IDE disks.
29215 Reported by Colin Watson.
29216
29217 2007-12-15 Bean <bean123ch@gmail.com>
29218
29219 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
29220 (lnxboot_img_SOURCES): New variable.
29221 (lnxboot_img_ASFLAGS): Likewise.
29222 (lnxboot_img_LDFLAGS): Likewise.
29223
29224 * boot/i386/pc/lnxboot.S: New file.
29225
29226 2007-11-24 Pavel Roskin <proski@gnu.org>
29227
29228 * configure.ac: Test if '--build-id=none' is supported by the
29229 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
29230 objcopy to generate incorrect binary files (binutils
29231 2.17.50.0.18-1 as shipped by Fedora 8).
29232 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
29233 linking, so that build ID doesn't break the test.
29234
29235 2007-11-24 Pavel Roskin <proski@gnu.org>
29236
29237 * include/grub/i386/time.h: use "void" in the argument list
29238 of grub_cpu_idle().
29239 * include/grub/powerpc/time.h: Likewise.
29240 * include/grub/sparc64/time.h: Likewise.
29241
29242 2007-11-18 Christian Franke <franke@computer.org>
29243
29244 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
29245 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
29246 This fixes the problem that function keys did not work in grub-emu.
29247
29248 2007-11-18 Christian Franke <franke@computer.org>
29249
29250 * disk/host.c (grub_host_open): Remove attribute unused from
29251 name parameter. Add check for "host". This fixes the problem
29252 that grub-emu does not find partitions.
29253
29254 2007-11-18 Christian Franke <franke@computer.org>
29255
29256 * util/hostfs.c (is_dir): New function.
29257 (grub_hostfs_dir): Handle missing dirent.d_type case.
29258 (grub_hostfs_read): Add missing fseek().
29259 (grub_hostfs_label): Clear label pointer. This fixes a crash
29260 of grub-emu on "ls (host)".
29261
29262 2007-11-18 Christian Franke <franke@computer.org>
29263
29264 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
29265 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
29266 to 64 bit boundary by default.
29267
29268 2007-11-18 Bean <bean123ch@gmail.com>
29269
29270 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
29271 (hexdump_mod_SOURCES): New variable.
29272 (hexdump_mod_CFLAGS): Likewise.
29273 (hexdump_mod_LDFLAGS): Likewise.
29274
29275 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29276
29277 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29278
29279 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29280
29281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29282
29283 * include/grub/hexdump.h: New file.
29284
29285 * commands/hexdump.c: New file.
29286
29287 2007-11-10 Robert Millan <rmh@aybabtu.com>
29288
29289 * commands/i386/pc/play.c (beep_off): Switch order of arguments
29290 in grub_outb() calls.
29291 (beep_on): Likewise.
29292
29293 2007-11-10 Christian Franke <franke@computer.org>
29294
29295 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
29296 (grub_menu_run): Likewise.
29297
29298 2007-11-10 Robert Millan <rmh@aybabtu.com>
29299
29300 * include/grub/i386/efi/machine.h: New file.
29301 * include/grub/i386/linuxbios/machine.h: Likewise.
29302 * include/grub/i386/pc/machine.h: Likewise.
29303 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29304 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29305
29306 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
29307 (serial_hw_io_addr): New variable.
29308 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
29309 instead of `(unsigned short *) 0x400'.
29310
29311 2007-11-10 Bean <bean123ch@gmail.com>
29312
29313 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
29314
29315 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29316
29317 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
29318 (vga_mod_SOURCES): Added.
29319 (vga_mod_CFLAGS): Likewise.
29320 (vga_mod_LDFLAGS): Likewise.
29321
29322 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
29323 grub_outb() calls.
29324 (set_map_mask): Likewise.
29325 (set_read_map): Likewise.
29326 (set_read_address): Likewise.
29327 (vga_font): Removed variable.
29328 (get_vga_glyph): Removed function.
29329 (invalidate_char): Likewise.
29330 (write_char): Changed to use grub_font_get_glyph() for font
29331 information.
29332 (grub_vga_putchar): Likewise.
29333 (grub_vga_getcharwidth): Likewise.
29334
29335 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29336
29337 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
29338 flags.
29339 (pxeboot_img_LDFLAGS): Likewise.
29340 (diskboot_img_LDFLAGS): Likewise.
29341 (kernel_img_LDFLAGS): Likewise.
29342
29343 2007-11-06 Robert Millan <rmh@aybabtu.com>
29344
29345 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
29346 in grub_outb() calls.
29347 (serial_hw_init): Likewise.
29348
29349 2007-11-05 Robert Millan <rmh@aybabtu.com>
29350
29351 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
29352 spaces. Skip non-regular files.
29353
29354 2007-11-05 Robert Millan <rmh@aybabtu.com>
29355
29356 * kern/disk.c (grub_disk_firmware_fini)
29357 (grub_disk_firmware_is_tainted): New variables.
29358
29359 * include/grub/disk.h (grub_disk_firmware_fini)
29360 (grub_disk_firmware_is_tainted): Likewise.
29361
29362 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
29363 (grub_disk_biosdisk_fini): ... to here.
29364 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
29365 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
29366 is set. Register grub_disk_biosdisk_fini() in
29367 `grub_disk_firmware_fini'.
29368
29369 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
29370 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
29371 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
29372 to finish existing firmware disk interface.
29373
29374 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
29375 (ata_mod_SOURCES): New variable.
29376 (ata_mod_CFLAGS): Likewise.
29377 (ata_mod_LDFLAGS): Likewise.
29378
29379 2007-11-05 Robert Millan <rmh@aybabtu.com>
29380
29381 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
29382 (grub_ata_wait): Reimplement using grub_millisleep().
29383
29384 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
29385 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
29386
29387 2007-11-03 Marco Gerards <marco@gnu.org>
29388
29389 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
29390 (CRTC_ADDR_PORT): New macro.
29391 (CRTC_DATA_PORT): Likewise.
29392 (CRTC_CURSOR): Likewise.
29393 (CRTC_CURSOR_ADDR_HIGH): Likewise.
29394 (CRTC_CURSOR_ADDR_LOW): Likewise.
29395 (update_cursor): New function.
29396 (grub_console_real_putchar): Call `update_cursor'.
29397 (grub_console_gotoxy): Likewise.
29398 (grub_console_cls): Set the default color when clearing the
29399 screen.
29400 (grub_console_setcursor): Implemented.
29401
29402 2007-11-03 Marco Gerards <marco@gnu.org>
29403
29404 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
29405 become activate.
29406 (grub_ata_pio_write): Likewise.
29407
29408 (grub_atapi_identify): Wait after issuing an ATA command.
29409 (grub_atapi_packet): Likewise.
29410 (grub_ata_identify): Likewise.
29411 (grub_ata_readwrite): Likewise.
29412
29413 2007-11-03 Marco Gerards <marco@gnu.org>
29414
29415 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
29416 (grub_ata_pio_write): Likewise.
29417 (grub_ata_readwrite): Use `grub_error', instead of
29418 returning `grub_errno'.
29419
29420 2007-11-03 Marco Gerards <marco@gnu.org>
29421
29422 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
29423 grub_ata_pio_write once for every single sector, instead of for
29424 multiple sectors.
29425
29426 2007-10-31 Robert Millan <rmh@aybabtu.com>
29427
29428 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
29429
29430 * conf/i386-linuxbios.rmk: New file.
29431
29432 * kern/i386/pc/hardware.c: Likewise.
29433 * term/i386/pc/at_keyboard.c: Likewise.
29434 * term/i386/pc/vga_text.c: Likewise.
29435
29436 * include/grub/i386/linuxbios/boot.h: Likewise.
29437 * include/grub/i386/linuxbios/console.h: Likewise.
29438 * include/grub/i386/linuxbios/init.h: Likewise.
29439 * include/grub/i386/linuxbios/kernel.h: Likewise.
29440 * include/grub/i386/linuxbios/loader.h: Likewise.
29441 * include/grub/i386/linuxbios/memory.h: Likewise.
29442 * include/grub/i386/linuxbios/serial.h: Likewise.
29443 * include/grub/i386/linuxbios/time.h: Likewise.
29444
29445 * kern/i386/linuxbios/init.c: Likewise.
29446 * kern/i386/linuxbios/startup.S: Likewise.
29447 * kern/i386/linuxbios/table.c: Likewise.
29448
29449 2007-10-31 Marco Gerards <marco@gnu.org>
29450
29451 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
29452 (ata_mod_SOURCES): New variable.
29453 (ata_mod_CFLAGS): Likewise.
29454 (ata_mod_LDFLAGS): Likewise.
29455
29456 * disk/ata.c: New file.
29457
29458 * include/grub/disk.h (grub_disk_dev_id): Add
29459 `GRUB_DISK_DEV_ATA_ID'.
29460
29461 2007-10-31 Robert Millan <rmh@aybabtu.com>
29462
29463 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
29464 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
29465
29466 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
29467 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
29468
29469 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
29470 `<grub/types.h>'.
29471
29472 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
29473
29474 2007-10-27 Robert Millan <rmh@aybabtu.com>
29475
29476 * include/grub/types.h (ULONG_MAX): Define macro.
29477
29478 2007-10-22 Robert Millan <rmh@aybabtu.com>
29479
29480 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
29481 `"../realmode.S"'.
29482 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
29483
29484 2007-10-22 Robert Millan <rmh@aybabtu.com>
29485
29486 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
29487 (pkgdata_MODULES): Add `biosdisk.mod'.
29488 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
29489 variables.
29490
29491 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
29492 (grub_biosdisk_init): Replace with ...
29493 (GRUB_MOD_INIT(biosdisk)): ... this.
29494 (grub_biosdisk_fini): Replace with ...
29495 (GRUB_MOD_FINI(biosdisk)): ... this.
29496
29497 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
29498 (grub_machine_init): Remove call to grub_biosdisk_init().
29499 (grub_machine_fini): Remove call to grub_machine_fini().
29500
29501 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
29502
29503 2007-10-22 Robert Millan <rmh@aybabtu.com>
29504
29505 * include/grub/time.h: New file.
29506 * include/grub/i386/time.h: Likewise.
29507 * include/grub/powerpc/time.h: Likewise.
29508 * include/grub/sparc64/time.h: Likewise.
29509
29510 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
29511 instances to ...
29512 (KERNEL_MACHINE_TIME_HEADER): ... this.
29513 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29514 instances to ...
29515 (KERNEL_MACHINE_TIME_HEADER): ... this.
29516 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29517 instances to ...
29518 (KERNEL_MACHINE_TIME_HEADER): ... this.
29519
29520 * kern/i386/efi/init.c: Include `<grub/time.h>'.
29521 (grub_millisleep): New function.
29522 * kern/i386/pc/init.c: Include `<grub/time.h>'.
29523 (grub_millisleep): New function.
29524 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
29525 Remove `grub/machine/time.h' include.
29526 (grub_millisleep): New function.
29527 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
29528 Remove `grub/machine/time.h' include.
29529 (grub_millisleep): New function.
29530
29531 * include/grub/misc.h (grub_div_roundup): New function.
29532
29533 * kern/misc.c: Include `<grub/time.h>'.
29534 (grub_millisleep_generic): New function.
29535
29536 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
29537 Add `time.h'.
29538 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
29539 Add `time.h'.
29540 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
29541 `machine/time.h'. Add `time.h'.
29542 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29543
29544 2007-10-21 Robert Millan <rmh@aybabtu.com>
29545
29546 * include/grub/misc.h (grub_max): New function.
29547
29548 2007-10-21 Robert Millan <rmh@aybabtu.com>
29549
29550 * util/misc.c (grub_util_info): Call fflush() before returning.
29551
29552 2007-10-20 Robert Millan <rmh@aybabtu.com>
29553
29554 * genmk.rb (Image): Copy `extra_flags' from here ...
29555 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
29556
29557 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
29558 to `argc' and `args' arguments.
29559
29560 2007-10-17 Robert Millan <rmh@aybabtu.com>
29561
29562 * kern/i386/loader.S: New file.
29563
29564 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
29565 * kern/i386/loader.S (grub_linux_prot_size)... to here.
29566 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
29567 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
29568 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
29569 * kern/i386/loader.S (grub_linux_real_addr)... to here.
29570 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
29571 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
29572 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
29573 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
29574 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
29575 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
29576 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
29577 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
29578
29579 * kern/i386/realmode.S: New file.
29580
29581 * kern/i386/pc/startup.S (protstack): Moved from here ...
29582 * kern/i386/realmode.S (protstack)... to here.
29583 * kern/i386/pc/startup.S (gdt): Moved from here ...
29584 * kern/i386/realmode.S (gdt)... to here.
29585 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
29586 * kern/i386/realmode.S (prot_to_real)... to here.
29587
29588 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
29589 `kern/i386/realmode.S'.
29590
29591 2007-10-17 Robert Millan <rmh@aybabtu.com>
29592
29593 * include/grub/i386/loader.h: New file.
29594
29595 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
29596 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29597 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29598 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29599 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
29600 * include/grub/i386/loader.h (grub_linux_prot_size)
29601 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29602 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29603 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29604 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
29605
29606 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
29607
29608 2007-10-15 Robert Millan <rmh@aybabtu.com>
29609
29610 * normal/misc.c (grub_normal_print_device_info): Do not probe for
29611 filesystem when dev->disk is unset.
29612 Do probe for filesystem even when dev->disk->has_partitions is set.
29613 In case a filesystem is found, always report it.
29614 In case it isn't, if dev->disk->has_partitions is set, report that
29615 a partition table was found instead of reporting that no filesystem
29616 could be identified.
29617
29618 2007-10-12 Robert Millan <rmh@aybabtu.com>
29619
29620 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
29621 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
29622
29623 * include/grub/types.h (grub_host_to_target16): New macro.
29624 (grub_host_to_target32): Likewise.
29625 (grub_host_to_target64): Likewise.
29626 (grub_target_to_host16): Likewise.
29627 (grub_target_to_host32): Likewise.
29628 (grub_target_to_host64): Likewise.
29629
29630 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
29631 Renamed from to ...
29632 (GRUB_MOD_ALIGN): ...this. Update all users.
29633
29634 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
29635 grub_host_to_target32.
29636 Replace grub_be_to_cpu32 with grub_target_to_host32.
29637 (load_modules): Likewise.
29638 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
29639 Replace grub_be_to_cpu32 with grub_target_to_host32.
29640 Replace grub_cpu_to_be16 with grub_host_to_target16.
29641 Replace grub_cpu_to_be32 grub_host_to_target32.
29642
29643 2007-10-12 Robert Millan <rmh@aybabtu.com>
29644
29645 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
29646 * util/elf/grub-mkimage.c: ... here.
29647
29648 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
29649 `util/powerpc/ieee1275/grub-mkimage.c'.
29650
29651 2007-10-07 Robert Millan <rmh@aybabtu.com>
29652
29653 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
29654 and make it easier to figure out.
29655 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
29656 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
29657 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
29658 leave us with less than HEAP_MIN_SIZE total heap.
29659 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
29660
29661 2007-10-03 Robert Millan <rmh@aybabtu.com>
29662
29663 * include/grub/i386/io.h: New file.
29664 * commands/i386/pc/play.c (inb): Removed.
29665 (outb): Removed.
29666 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29667 with grub_outb().
29668 * term/i386/pc/serial.c (inb): Removed.
29669 (outb): Removed.
29670 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29671 with grub_outb().
29672 * term/i386/pc/vga.c (inb): Removed.
29673 (outb): Removed.
29674 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
29675 with grub_outb().
29676
29677 2007-10-02 Robert Millan <rmh@aybabtu.com>
29678
29679 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
29680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29681 Reported by Marcin Kurek.
29682
29683 2007-09-07 Robert Millan <rmh@aybabtu.com>
29684
29685 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
29686 SmartFirmware version updates (as released by Sven Luther), and avoid
29687 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
29688 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
29689 known broken.
29690
29691 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29692
29693 From Hitoshi Ozeki:
29694 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
29695 when merging two regions.
29696
29697 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29698
29699 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
29700 * normal/completion.c (grub_normal_do_completion): Likewise.
29701 Reported by Hitoshi Ozeki.
29702
29703 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29704
29705 Do not use devices at boot in chainloading.
29706
29707 * loader/i386/pc/chainloader.c (boot_drive): New variable.
29708 (boot_part_addr): Likewise.
29709 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
29710 with BOOT_DRIVE and BOOT_PART_ADDR.
29711 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
29712 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
29713
29714 2007-08-29 Robert Millan <rmh@aybabtu.com>
29715
29716 Patch from Simon Peter <dn.tlp@gmx.net>:
29717 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
29718 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
29719 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
29720 util/i386/pc/grub-setup.c_DEPENDENCIES.
29721 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
29722 util/grub-probe.c_DEPENDENCIES.
29723 * conf/powerpc-ieee1275.rmk: Likewise.
29724
29725 2007-08-28 Robert Millan <rmh@aybabtu.com>
29726
29727 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
29728 to tell grub-mkdevicemap how to name devices.
29729 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
29730 feature).
29731
29732 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
29733 util/i386/get_disk_name.c.
29734 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
29735 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
29736 util/ieee1275/get_disk_name.c.
29737
29738 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
29739
29740 * DISTLIST: Add util/i386/get_disk_name.c and
29741 util/ieee1275/get_disk_name.c.
29742
29743 * util/grub-mkdevicemap.c: Replace device naming logic with
29744 grub_util_get_disk_name() calls.
29745
29746 2007-08-20 Robert Millan <rmh@aybabtu.com>
29747
29748 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
29749 (so that it works for both plural and singular quantities).
29750
29751 2007-08-05 Robert Millan <rmh@aybabtu.com>
29752
29753 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
29754 so that [xz] isn't taken into account when determining order.
29755
29756 2007-08-02 Marco Gerards <marco@gnu.org>
29757
29758 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
29759 `include/multiboot2.h', `include/grub/elfload.h',
29760 `include/multiboot.h', `include/grub/multiboot.h',
29761 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
29762 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
29763 `kern/elf.c', `loader/multiboot_loader.c',
29764 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
29765 `loader/i386/pc/multiboot2.c',
29766 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
29767 `util/i386/pc/grub-mkrescue.in'. Remove
29768 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
29769 `include/grub/i386/pc/util/biosdisk.h' and
29770 `include/grub/powerpc/ieee1275/multiboot.h'.
29771
29772 2007-08-02 Bean <bean123ch@gmail.com>
29773
29774 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
29775 (ntfs_mod_SOURCES): New variable.
29776 (ntfs_mod_CFLAGS): Likewise.
29777 (ntfs_mod_LDFLAGS): Likewise.
29778
29779 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
29780 (grub_probe_SOURCES): Likewise.
29781 (grub_emu_SOURCES): Likewise.
29782
29783 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
29784 (grub_emu_SOURCES): Likewise.
29785
29786 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
29787 (grub_emu_SOURCES): Likewise.
29788
29789 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
29790
29791 * fs/ntfs.c: New file.
29792
29793 2007-08-02 Bean <bean123ch@gmail.com>
29794
29795 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
29796
29797 * file.h (grub_file): Likewise.
29798
29799 * fshelp.h (grub_fshelp_read_file): Likewise.
29800
29801 * util/i386/pc/grub-setup.c (setup): Likewise.
29802 (save_first_sector): Likewise.
29803 (save_blocklists): Likewise.
29804
29805 * fs/affs.c (grub_affs_read_file): Likewise.
29806
29807 * fs/ext2.c (grub_ext2_read_file): Likewise.
29808
29809 * fs/fat.c (grub_fat_read_data): Likewise.
29810
29811 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
29812
29813 * fs/hfs.c (grub_hfs_read_file): Likewise.
29814
29815 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29816
29817 * fs/jfs.c (grub_jfs_read_file): Likewise.
29818
29819 * fs/minix.c (grub_minix_read_file): Likewise.
29820
29821 * fs/sfs.c (grub_sfs_read_file): Likewise.
29822
29823 * fs/ufs.c (grub_ufs_read_file): Likewise.
29824
29825 * fs/xfs.c (grub_xfs_read_file): Likewise.
29826
29827 * command/blocklist.c (read_blocklist): Likewise.
29828 (print_blocklist): Likewise.
29829
29830 2007-08-02 Marco Gerards <marco@gnu.org>
29831
29832 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
29833 `util/hostfs.c'.
29834
29835 * disk/host.c: New file.
29836
29837 * util/hostfs.c: Likewise.
29838
29839 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
29840 return `GRUB_ERR_BAD_FS'.
29841 * fs/sfs.c (grub_sfs_mount): Likewise.
29842 * fs/xfs.c (grub_xfs_mount): Likewise.
29843
29844 * include/grub/disk.h (enum grub_disk_dev_id): Add
29845 `GRUB_DISK_DEVICE_HOST_ID'.
29846
29847 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
29848
29849 2007-07-24 Jerone Young <jerone@gmail.com>
29850
29851 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
29852 modules for compilation.
29853 * conf/powerpc-ieee1275.rmk: Likewise.
29854
29855 * include/multiboot.h: Move multiboot definitions to one file. Rename
29856 many definitions to not get grub specific.
29857 * include/multiboot2.h: Create header with multiboot 2 definitions.
29858 * include/grub/multiboot.h: Header for grub specific function
29859 prototypes and definitions.
29860 * include/grub/multiboot2.h: Likewise.
29861 * include/grub/multiboot_loader.h: Likewise.
29862 * include/grub/i386/pc/multiboot.h: Removed.
29863 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
29864
29865 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
29866 and 2 to allow for one multiboot and module commands.
29867 * loader/multiboot2.c: Add multiboot2 functionality.
29868 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
29869 and definition names.
29870 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
29871 2 functions.
29872 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
29873 ieee1275 specific multiboot2 code.
29874
29875 * kern/i386/pc/startup.S: Change headers and definition names for
29876 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
29877
29878 2007-07-22 Robert Millan <rmh@aybabtu.com>
29879
29880 * geninitheader.sh: Process file specified in first parameter rather
29881 than hardcoding grub_modules_init.lst.
29882 * geninit.sh: Likewise. Also, construct header name dynamically rather
29883 than hardcoding grub_modules_init.h.
29884
29885 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
29886 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
29887 grub_probe_init.[ch] and grub_setup_init.[ch].
29888
29889 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
29890 grub_modules_init.h with grub_emu_init.h.
29891 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
29892 grub_probe_init.[ch] files.
29893 * conf/i386-efi.rmk: Likewise.
29894 * conf/i386-pc.rmk: Likewise.
29895 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
29896 grub_setup_init.[ch] files.
29897
29898 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
29899 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
29900 to initialize modules rather than a list of hardcoded functions.
29901 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
29902 grub_init_all() to initialize modules rather than a list of hardcoded
29903 functions.
29904
29905 2007-07-22 Robert Millan <rmh@aybabtu.com>
29906
29907 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
29908 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
29909
29910 2007-07-22 Robert Millan <rmh@aybabtu.com>
29911
29912 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
29913 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
29914 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
29915 flag when running on SmartFirmware.
29916 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
29917 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
29918 was set.
29919
29920 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
29921 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
29922 rather than decreasing it.
29923
29924 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
29925 there's not enough space to do it, fail in the same way as when it
29926 can't be done because there are no partitions.
29927
29928 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
29929 when nvsetenv failed.
29930
29931 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
29932
29933 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
29934 because this rule is automatically generated.
29935 (grub-mkrescue): Removed for the same reason as above.
29936
29937 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
29938
29939 Migrate to GNU General Public License Version 3.
29940
29941 * COPYING: Replaced with the plain text version of GPLv3.
29942
29943 * config.guess: Updated from gnulib.
29944 * config.sub: Likewise.
29945
29946 * geninit.sh: Output a GPLv3 copyright notice.
29947 * geninitheader.sh: Likewise.
29948 * genmodsrc.sh: Likewise.
29949 * gensymlist.sh.in: Likewise.
29950
29951 * boot/i386/pc/boot.S: Upgraded to GPLv3.
29952 * boot/i386/pc/diskboot.S: Likewise.
29953 * boot/i386/pc/pxeboot.S: Likewise.
29954 * commands/blocklist.c: Likewise.
29955 * commands/boot.c: Likewise.
29956 * commands/cat.c: Likewise.
29957 * commands/cmp.c: Likewise.
29958 * commands/configfile.c: Likewise.
29959 * commands/echo.c: Likewise.
29960 * commands/help.c: Likewise.
29961 * commands/ls.c: Likewise.
29962 * commands/search.c: Likewise.
29963 * commands/terminal.c: Likewise.
29964 * commands/test.c: Likewise.
29965 * commands/videotest.c: Likewise.
29966 * commands/i386/cpuid.c: Likewise.
29967 * commands/i386/pc/halt.c: Likewise.
29968 * commands/i386/pc/play.c: Likewise.
29969 * commands/i386/pc/reboot.c: Likewise.
29970 * commands/i386/pc/vbeinfo.c: Likewise.
29971 * commands/i386/pc/vbetest.c: Likewise.
29972 * commands/ieee1275/halt.c: Likewise.
29973 * commands/ieee1275/reboot.c: Likewise.
29974 * commands/ieee1275/suspend.c: Likewise.
29975 * disk/loopback.c: Likewise.
29976 * disk/lvm.c: Likewise.
29977 * disk/raid.c: Likewise.
29978 * disk/efi/efidisk.c: Likewise.
29979 * disk/i386/pc/biosdisk.c: Likewise.
29980 * disk/ieee1275/ofdisk.c: Likewise.
29981 * font/manager.c: Likewise.
29982 * fs/affs.c: Likewise.
29983 * fs/ext2.c: Likewise.
29984 * fs/fat.c: Likewise.
29985 * fs/fshelp.c: Likewise.
29986 * fs/hfs.c: Likewise.
29987 * fs/hfsplus.c: Likewise.
29988 * fs/iso9660.c: Likewise.
29989 * fs/jfs.c: Likewise.
29990 * fs/minix.c: Likewise.
29991 * fs/sfs.c: Likewise.
29992 * fs/ufs.c: Likewise.
29993 * fs/xfs.c: Likewise.
29994 * hello/hello.c: Likewise.
29995 * include/grub/acorn_filecore.h: Likewise.
29996 * include/grub/arg.h: Likewise.
29997 * include/grub/bitmap.h: Likewise.
29998 * include/grub/boot.h: Likewise.
29999 * include/grub/cache.h: Likewise.
30000 * include/grub/device.h: Likewise.
30001 * include/grub/disk.h: Likewise.
30002 * include/grub/dl.h: Likewise.
30003 * include/grub/elfload.h: Likewise.
30004 * include/grub/env.h: Likewise.
30005 * include/grub/err.h: Likewise.
30006 * include/grub/file.h: Likewise.
30007 * include/grub/font.h: Likewise.
30008 * include/grub/fs.h: Likewise.
30009 * include/grub/fshelp.h: Likewise.
30010 * include/grub/gzio.h: Likewise.
30011 * include/grub/hfs.h: Likewise.
30012 * include/grub/kernel.h: Likewise.
30013 * include/grub/loader.h: Likewise.
30014 * include/grub/lvm.h: Likewise.
30015 * include/grub/misc.h: Likewise.
30016 * include/grub/mm.h: Likewise.
30017 * include/grub/net.h: Likewise.
30018 * include/grub/normal.h: Likewise.
30019 * include/grub/parser.h: Likewise.
30020 * include/grub/partition.h: Likewise.
30021 * include/grub/pc_partition.h: Likewise.
30022 * include/grub/raid.h: Likewise.
30023 * include/grub/rescue.h: Likewise.
30024 * include/grub/script.h: Likewise.
30025 * include/grub/setjmp.h: Likewise.
30026 * include/grub/symbol.h: Likewise.
30027 * include/grub/term.h: Likewise.
30028 * include/grub/terminfo.h: Likewise.
30029 * include/grub/tparm.h: Likewise.
30030 * include/grub/types.h: Likewise.
30031 * include/grub/video.h: Likewise.
30032 * include/grub/efi/api.h: Likewise.
30033 * include/grub/efi/chainloader.h: Likewise.
30034 * include/grub/efi/console.h: Likewise.
30035 * include/grub/efi/console_control.h: Likewise.
30036 * include/grub/efi/disk.h: Likewise.
30037 * include/grub/efi/efi.h: Likewise.
30038 * include/grub/efi/pe32.h: Likewise.
30039 * include/grub/efi/time.h: Likewise.
30040 * include/grub/i386/linux.h: Likewise.
30041 * include/grub/i386/setjmp.h: Likewise.
30042 * include/grub/i386/types.h: Likewise.
30043 * include/grub/i386/efi/kernel.h: Likewise.
30044 * include/grub/i386/efi/loader.h: Likewise.
30045 * include/grub/i386/efi/time.h: Likewise.
30046 * include/grub/i386/pc/biosdisk.h: Likewise.
30047 * include/grub/i386/pc/boot.h: Likewise.
30048 * include/grub/i386/pc/chainloader.h: Likewise.
30049 * include/grub/i386/pc/console.h: Likewise.
30050 * include/grub/i386/pc/init.h: Likewise.
30051 * include/grub/i386/pc/kernel.h: Likewise.
30052 * include/grub/i386/pc/loader.h: Likewise.
30053 * include/grub/i386/pc/memory.h: Likewise.
30054 * include/grub/i386/pc/multiboot.h: Likewise.
30055 * include/grub/i386/pc/serial.h: Likewise.
30056 * include/grub/i386/pc/time.h: Likewise.
30057 * include/grub/i386/pc/vbe.h: Likewise.
30058 * include/grub/i386/pc/vbeblit.h: Likewise.
30059 * include/grub/i386/pc/vbefill.h: Likewise.
30060 * include/grub/i386/pc/vbeutil.h: Likewise.
30061 * include/grub/i386/pc/vga.h: Likewise.
30062 * include/grub/ieee1275/ieee1275.h: Likewise.
30063 * include/grub/ieee1275/ofdisk.h: Likewise.
30064 * include/grub/powerpc/libgcc.h: Likewise.
30065 * include/grub/powerpc/setjmp.h: Likewise.
30066 * include/grub/powerpc/types.h: Likewise.
30067 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
30068 * include/grub/powerpc/ieee1275/console.h: Likewise.
30069 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
30070 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30071 * include/grub/powerpc/ieee1275/loader.h: Likewise.
30072 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
30073 * include/grub/powerpc/ieee1275/time.h: Likewise.
30074 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
30075 * include/grub/sparc64/libgcc.h: Likewise.
30076 * include/grub/sparc64/setjmp.h: Likewise.
30077 * include/grub/sparc64/types.h: Likewise.
30078 * include/grub/sparc64/ieee1275/console.h: Likewise.
30079 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30080 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30081 * include/grub/sparc64/ieee1275/time.h: Likewise.
30082 * include/grub/util/biosdisk.h: Likewise.
30083 * include/grub/util/getroot.h: Likewise.
30084 * include/grub/util/lvm.h: Likewise.
30085 * include/grub/util/misc.h: Likewise.
30086 * include/grub/util/raid.h: Likewise.
30087 * include/grub/util/resolve.h: Likewise.
30088 * io/gzio.c: Likewise.
30089 * kern/device.c: Likewise.
30090 * kern/disk.c: Likewise.
30091 * kern/dl.c: Likewise.
30092 * kern/elf.c: Likewise.
30093 * kern/env.c: Likewise.
30094 * kern/err.c: Likewise.
30095 * kern/file.c: Likewise.
30096 * kern/fs.c: Likewise.
30097 * kern/loader.c: Likewise.
30098 * kern/main.c: Likewise.
30099 * kern/misc.c: Likewise.
30100 * kern/mm.c: Likewise.
30101 * kern/parser.c: Likewise.
30102 * kern/partition.c: Likewise.
30103 * kern/rescue.c: Likewise.
30104 * kern/term.c: Likewise.
30105 * kern/efi/efi.c: Likewise.
30106 * kern/efi/init.c: Likewise.
30107 * kern/efi/mm.c: Likewise.
30108 * kern/i386/dl.c: Likewise.
30109 * kern/i386/efi/init.c: Likewise.
30110 * kern/i386/efi/startup.S: Likewise.
30111 * kern/i386/pc/init.c: Likewise.
30112 * kern/i386/pc/lzo1x.S: Likewise.
30113 * kern/i386/pc/startup.S: Likewise.
30114 * kern/ieee1275/ieee1275.c: Likewise.
30115 * kern/powerpc/cache.S: Likewise.
30116 * kern/powerpc/dl.c: Likewise.
30117 * kern/powerpc/ieee1275/cmain.c: Likewise.
30118 * kern/powerpc/ieee1275/crt0.S: Likewise.
30119 * kern/powerpc/ieee1275/init.c: Likewise.
30120 * kern/powerpc/ieee1275/openfw.c: Likewise.
30121 * kern/sparc64/cache.S: Likewise.
30122 * kern/sparc64/dl.c: Likewise.
30123 * kern/sparc64/ieee1275/init.c: Likewise.
30124 * kern/sparc64/ieee1275/openfw.c: Likewise.
30125 * loader/efi/chainloader.c: Likewise.
30126 * loader/efi/chainloader_normal.c: Likewise.
30127 * loader/i386/efi/linux.c: Likewise.
30128 * loader/i386/efi/linux_normal.c: Likewise.
30129 * loader/i386/pc/chainloader.c: Likewise.
30130 * loader/i386/pc/chainloader_normal.c: Likewise.
30131 * loader/i386/pc/linux.c: Likewise.
30132 * loader/i386/pc/linux_normal.c: Likewise.
30133 * loader/i386/pc/multiboot.c: Likewise.
30134 * loader/i386/pc/multiboot_normal.c: Likewise.
30135 * loader/powerpc/ieee1275/linux.c: Likewise.
30136 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30137 * normal/arg.c: Likewise.
30138 * normal/cmdline.c: Likewise.
30139 * normal/command.c: Likewise.
30140 * normal/completion.c: Likewise.
30141 * normal/execute.c: Likewise.
30142 * normal/function.c: Likewise.
30143 * normal/lexer.c: Likewise.
30144 * normal/main.c: Likewise.
30145 * normal/menu.c: Likewise.
30146 * normal/menu_entry.c: Likewise.
30147 * normal/misc.c: Likewise.
30148 * normal/parser.y: Likewise.
30149 * normal/script.c: Likewise.
30150 * normal/i386/setjmp.S: Likewise.
30151 * normal/powerpc/setjmp.S: Likewise.
30152 * normal/sparc64/setjmp.S: Likewise.
30153 * partmap/acorn.c: Likewise.
30154 * partmap/amiga.c: Likewise.
30155 * partmap/apple.c: Likewise.
30156 * partmap/gpt.c: Likewise.
30157 * partmap/pc.c: Likewise.
30158 * partmap/sun.c: Likewise.
30159 * term/gfxterm.c: Likewise.
30160 * term/terminfo.c: Likewise.
30161 * term/efi/console.c: Likewise.
30162 * term/i386/pc/console.c: Likewise.
30163 * term/i386/pc/serial.c: Likewise.
30164 * term/i386/pc/vesafb.c: Likewise.
30165 * term/i386/pc/vga.c: Likewise.
30166 * term/ieee1275/ofconsole.c: Likewise.
30167 * util/biosdisk.c: Likewise.
30168 * util/console.c: Likewise.
30169 * util/genmoddep.c: Likewise.
30170 * util/getroot.c: Likewise.
30171 * util/grub-emu.c: Likewise.
30172 * util/grub-mkdevicemap.c: Likewise.
30173 * util/grub-probe.c: Likewise.
30174 * util/lvm.c: Likewise.
30175 * util/misc.c: Likewise.
30176 * util/raid.c: Likewise.
30177 * util/resolve.c: Likewise.
30178 * util/update-grub.in: Likewise.
30179 * util/update-grub_lib.in: Likewise.
30180 * util/grub.d/00_header.in: Likewise.
30181 * util/grub.d/10_hurd.in: Likewise.
30182 * util/grub.d/10_linux.in: Likewise.
30183 * util/i386/efi/grub-install.in: Likewise.
30184 * util/i386/efi/grub-mkimage.c: Likewise.
30185 * util/i386/pc/grub-install.in: Likewise.
30186 * util/i386/pc/grub-mkimage.c: Likewise.
30187 * util/i386/pc/grub-mkrescue.in: Likewise.
30188 * util/i386/pc/grub-setup.c: Likewise.
30189 * util/i386/pc/misc.c: Likewise.
30190 * util/powerpc/ieee1275/grub-install.in: Likewise.
30191 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
30192 * util/powerpc/ieee1275/misc.c: Likewise.
30193 * video/bitmap.c: Likewise.
30194 * video/video.c: Likewise.
30195 * video/i386/pc/vbe.c: Likewise.
30196 * video/i386/pc/vbeblit.c: Likewise.
30197 * video/i386/pc/vbefill.c: Likewise.
30198 * video/i386/pc/vbeutil.c: Likewise.
30199 * video/readers/tga.c: Likewise.
30200
30201 2007-07-02 Robert Millan <rmh@aybabtu.com>
30202
30203 * conf/i386-efi.rmk: Replace obsolete reference to
30204 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
30205 with util/getroot.c.
30206 * conf/powerpc-ieee1275.rmk: Likewise.
30207 * conf/sparc64-ieee1275.rmk: Likewise.
30208
30209 * util/grub-emu.c (main): Fix unchecked pointer handling.
30210
30211 2007-07-02 Robert Millan <rmh@aybabtu.com>
30212
30213 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
30214 invocation to fail, in order to support partition-less media.
30215
30216 * util/i386/pc/grub-install.in: Likewise.
30217
30218 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
30219 which fs or partmap modules are needed (akin to its sister scripts).
30220
30221 Also use grub-probe to get rid of unportable /proc/mounts check.
30222
30223 Print the same informational message that the other scripts do, before
30224 exiting.
30225
30226 2007-06-23 Robert Millan <rmh@aybabtu.com>
30227
30228 * util/update-grub_lib.in (font_path): New function. Determine whether
30229 a font file can be found and, if so, echo the GRUB path to it.
30230
30231 * util/update-grub.in: Handle multiple terminals depending on user
30232 input, platform availability and font file presence. Propagate
30233 variables of our findings to /etc/grub.d/ children.
30234
30235 * util/grub.d/00_header.in: Handle multiple terminals, based on
30236 environment setup by update-grub.
30237
30238 2007-06-23 Robert Millan <rmh@aybabtu.com>
30239
30240 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
30241
30242 2007-06-21 Robert Millan <rmh@aybabtu.com>
30243
30244 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
30245 indicate end of data section in kernel image.
30246 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
30247 GRUB_KERNEL_MACHINE_DATA_END.
30248
30249 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
30250 space for it.
30251 * kern/i386/efi/startup.S: Likewise.
30252
30253 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
30254 during image generation. Implement --prefix option to override this
30255 patch.
30256 * util/i386/efi/grub-mkimage.c: Likewise.
30257
30258 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
30259 code to make path relative to its root into a separate function.
30260
30261 * util/i386/pc/grub-install.in: Use newly provided
30262 make_system_path_relative_to_its_root() to convert ${grubdir}, then
30263 pass the result to grub-install --prefix.
30264
30265 2007-06-13 Robert Millan <rmh@aybabtu.com>
30266
30267 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
30268 DEFAULT_DEVICE_MAP.
30269 * util/grub-emu.c: Use above definitions from misc.h instead of
30270 defining them.
30271 * util/grub-mkdevicemap.c: Likewise.
30272 * util/i386/pc/grub-setup.c: Likewise.
30273 * util/grub-probe.c: Likewise.
30274 (probe): Abort with grub_util_error() when either
30275 grub_guess_root_device or grub_util_get_grub_dev fails.
30276
30277 2007-06-12 Robert Millan <rmh@aybabtu.com>
30278
30279 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
30280 "pager" assignment.
30281 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
30282 "pcdata".
30283 * util/grub-probe.c (probe): Likewise for "drive_name".
30284
30285 2007-06-11 Robert Millan <rmh@aybabtu.com>
30286
30287 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
30288 not just the cdrom one.
30289
30290 2007-06-11 Robert Millan <rmh@aybabtu.com>
30291
30292 * util/i386/pc/grub-mkrescue.in: Add "set -e".
30293 Add --pkglibdir=DIR option to override pkglibdir.
30294 Mention --image-type=TYPE in help output.
30295 Fix --grub-mkimage (it was a no-op).
30296 Abort gracefully when no parameter is given.
30297
30298 2007-06-11 Robert Millan <rmh@aybabtu.com>
30299
30300 * util/i386/pc/grub-mkrescue.in: New file.
30301 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
30302 * Makefile.in: Handle bin_SCRIPTS.
30303
30304 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
30305
30306 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
30307 list of video modes.
30308
30309 2007-06-06 Robert Millan <rmh@aybabtu.com>
30310
30311 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
30312 file doesn't exist, or if it is in a filesystem grub can't read.
30313
30314 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
30315 not abort if GRUB_DRIVE could not be defined. Rearrange generated
30316 header comment to fit in 80 columns when the variables are resolved.
30317
30318 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
30319 could be identified by update-grub. Remove redundant check for
30320 unifont.pff existence (since convert_system_path_to_grub_path now
30321 handles that).
30322
30323 2007-06-04 Robert Millan <rmh@aybabtu.com>
30324
30325 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
30326
30327 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
30328
30329 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
30330
30331 2007-06-04 Robert Millan <rmh@aybabtu.com>
30332
30333 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
30334
30335 * include/grub/partition.h: Declare grub_apple_partition_map_init and
30336 grub_apple_partition_map_fini.
30337
30338 * util/biosdisk.c
30339 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
30340 to access >2 TiB disks).
30341
30342 Print disk->total_sectors with %llu instead of %lu, since this
30343 variable is always 64-bit (prevents wrong disk size from being displayed
30344 on either >2 TiB disk or big-endian CPU).
30345
30346 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
30347 into a generic case that supports all (sane) partition maps.
30348
30349 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
30350 breaks big-endian.
30351
30352 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
30353 and grub_apple_partition_map_fini() after that.
30354
30355 2007-06-01 Robert Millan <rmh@aybabtu.com>
30356
30357 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
30358
30359 * util/grub.d/00_header.in: Only enable gfxterm when
30360 convert_system_path_to_grub_path() succeeds.
30361
30362 2007-05-20 Robert Millan <rmh@aybabtu.com>
30363
30364 * util/update-grub_lib.in: New file.
30365 * DISTLIST: Add update-grub_lib.in.
30366 * conf/common.rmk: Generate update-grub_lib and install it in
30367 $(lib_DATA).
30368 * Makefile.in: Add install routine for $(lib_DATA).
30369
30370 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
30371 function provided by update-grub_lib to support arbitrary paths of
30372 unifont.pff.
30373 * util/update-grub.in: Use convert_system_path_to_grub_path() to
30374 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
30375
30376 2007-05-19 Robert Millan <rmh@aybabtu.com>
30377
30378 * commands/i386/cpuid.c: New module.
30379 * DISTLIST: Add it.
30380 * conf/i386-efi.rmk: Enable cpuid.mod.
30381 * conf/i386-pc.rmk: Likewise.
30382
30383 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30384
30385 * kern/disk.c (grub_disk_read): Check return value of
30386 grub_realloc().
30387
30388 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30389
30390 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
30391 arrays.
30392 * disk/raid.c (grub_raid_open): Likewise.
30393
30394 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30395
30396 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
30397 stack instead of on the heap.
30398
30399 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
30400 before doing a read on it.
30401
30402 * configure.ac: Only use -fno-stack-protector for the target
30403 environment.
30404
30405 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30406
30407 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
30408 __attribute_ ((unused)) to mode_type argument.
30409
30410 * util/getroot.c (grub_guess_root_device): Fix #endif.
30411
30412 * kern/misc.c (memcmp): Fix prototype.
30413
30414 * include/grub/partition.h [GRUB_UTIL]
30415 (grub_gpt_partition_map_init): Add prototype.
30416 (grub_gpt_partition_map_fini): Likewise.
30417
30418 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
30419 at the right place.
30420
30421 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
30422 (grub_fat_read_data): Likewise.
30423 (grub_fat_find_dir): Likewise.
30424
30425 * font/manager.c (find_glyph): Make table a const.
30426 (grub_font_get_glyph): Remove bitmap from if statement.
30427
30428 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
30429
30430 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
30431 code, first search for device in /dev/mapper, then in /dev.
30432 (grub_util_get_grub_dev): New function.
30433 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
30434 prototype.
30435 * util/grub-probe.c (probe): Remove check for RAID, call
30436 grub_util_get_grub_dev() instead of
30437 grub_util_biosdisk_get_grub_dev().
30438 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
30439 grub_util_biosdisk_get_grub_dev().
30440 * util/i386/pc/grub-setup.c (main): Likewise.
30441
30442 2007-05-16 Robert Millan <rmh@aybabtu.com>
30443
30444 * DISTLIST: Update for the latest changes.
30445 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
30446 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
30447 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
30448 grub/util/biosdisk.h.
30449 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
30450 grub/util/biosdisk.h.
30451
30452 2007-05-16 Robert Millan <rmh@aybabtu.com>
30453
30454 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
30455
30456 2007-05-16 Robert Millan <rmh@aybabtu.com>
30457
30458 * util/i386/efi/grub-install.in: New.
30459 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
30460 newly added grub-install.
30461 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
30462 include.
30463 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
30464 grub/util/biosdisk.h.
30465 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
30466 grub/util/biosdisk.h.
30467
30468 2007-05-16 Robert Millan <rmh@aybabtu.com>
30469
30470 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
30471 * include/grub/util/biosdisk.h: ... here.
30472 * util/i386/pc/biosdisk.c: Moved to ...
30473 * util/biosdisk.c: ... here.
30474 * util/i386/pc/getroot.c: Moved to ...
30475 * util/getroot.c: ... here.
30476 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
30477 * util/grub-mkdevicemap.c: ... here.
30478 * util/i386/pc/grub-probe.c: Moved to ...
30479 * util/grub-probe.c: ... here.
30480
30481 2007-05-15 Robert Millan <rmh@aybabtu.com>
30482
30483 * util/update-grub.in: Remove duplicated line in grub.cfg header
30484 message.
30485
30486 2007-05-13 Robert Millan <rmh@aybabtu.com>
30487
30488 * util/update-grub.in: Fix a few assumptions about the devices holding
30489 /, /boot and /boot/grub being the same.
30490 * util/grub.d/00_header.in: Likewise.
30491 * util/grub.d/10_hurd.in: Likewise.
30492 * util/grub.d/10_linux.in: Likewise.
30493
30494 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
30495 patterns. Use that to define the `.old' suffix as older than `'.
30496
30497 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
30498
30499 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
30500 the grub.cfg header message.
30501
30502 2007-05-11 Robert Millan <rmh@aybabtu.com>
30503
30504 * util/update-grub.in: Create device.map if it doesn't already exist,
30505 before attempting to run grub-probe.
30506 Check for grub-probe and grub-mkdevicemap with the same code
30507 grub-install is using.
30508 Remove test mode.
30509
30510 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
30511
30512 * Makefile.in: Add the datarootdir autoconf variable.
30513
30514 2007-05-09 Robert Millan <rmh@aybabtu.com>
30515
30516 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
30517 fail gracefully if dev->disk->partition == NULL.
30518
30519 2007-05-07 Robert Millan <rmh@aybabtu.com>
30520
30521 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
30522 determine partition map module.
30523 * util/i386/pc/grub-install.in: Use this feature to decide which
30524 partition module to load, instead of hardcoding pc and gpt.
30525
30526 2007-05-07 Robert Millan <rmh@aybabtu.com>
30527
30528 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
30529 source directory differs from build directory.
30530
30531 2007-05-05 Robert Millan <rmh@aybabtu.com>
30532
30533 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
30534 initialisation.
30535
30536 2007-05-05 Robert Millan <rmh@aybabtu.com>
30537
30538 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
30539
30540 2007-05-05 Robert Millan <rmh@aybabtu.com>
30541
30542 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
30543 command-line arguments via ${GRUB_CMDLINE_LINUX}.
30544
30545 2007-05-05 Robert Millan <rmh@aybabtu.com>
30546
30547 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
30548 (grub_probe_SOURCES): Likewise.
30549 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
30550 GPT and initialize dos_part and bsd_part accordingly.
30551 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
30552 install_bsd_part.
30553 (main): Activate gpt module for use during partition identification,
30554 and deactivate it afterwards.
30555 * util/i386/pc/grub-install.in: Add gpt module to core.img.
30556 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
30557 partition identification, and deactivate it afterwards.
30558
30559 2007-05-05 Robert Millan <rmh@aybabtu.com>
30560
30561 * term/i386/pc/console.c (grub_console_fini): Call
30562 grub_term_set_current() before grub_term_unregister().
30563
30564 2007-05-04 Robert Millan <rmh@aybabtu.com>
30565
30566 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
30567 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
30568 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
30569 and update-grub_DATA.
30570 * conf/common.rmk: Build and install update-grub components.
30571 * conf/common.mk: Regenerate.
30572 * util/update-grub.in: New. Core of update-grub.
30573 * util/grub.d/00_header.in: New. Generates grub.cfg header.
30574 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
30575 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
30576 * util/grub.d/README: New. Document grub.d directory layout.
30577
30578 2007-05-01 Robert Millan <rmh@aybabtu.com>
30579
30580 * util/grub-emu.c: Move initialization functions
30581 grub_util_biosdisk_init() and grub_init_all() before
30582 grub_util_biosdisk_get_grub_dev(), which relies on them.
30583
30584 2007-04-19 Robert Millan <rmh@aybabtu.com>
30585
30586 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
30587 it is used later.
30588
30589 2007-04-18 Jerone Young <jerone@gmail.com>
30590
30591 * kernel/elf.c: Add missing parenthesis for conditional statement
30592 stanza.
30593
30594 2007-04-10 Jerone Young <jerone@gmail.com>
30595
30596 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
30597 continue on and look for device node with real device name.
30598
30599 2007-04-10 Jerone Young <jerone@gmail.com>
30600
30601 * configure.ac: Add argument for autoconf to use transformation
30602 ability.
30603 * Makefile.in: Add autoconf package transformation code.
30604 * util/i386/pc/grub-install.in: Likewise.
30605 * util/powerpc/ieee1275/grub-install.in: Likewise.
30606
30607 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30608
30609 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
30610 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
30611 (EXT2_REVISION): Likewise.
30612 (EXT2_INODE_SIZE): Likewise.
30613 (struct grub_ext2_block_group): Added a missing member
30614 "used_dirs".
30615 (grub_ext2_read_inode): Divide by the inode size in a superblock
30616 instead of 128 to obtain INODES_PER_BLOCK.
30617 Use the macro EXT2_INODE_SIZE instead of directly using
30618 SBLOCK->INODE_SIZE.
30619
30620 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30621
30622 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
30623 superblock instead of the structure size to compute an
30624 offset. This fixes the problem that GRUB could not read a
30625 filesystem when inode size is different from 128-byte.
30626
30627 2007-03-05 Marco Gerards <marco@gnu.org>
30628
30629 * normal/main.c (read_config_file): When "menu" is not set, create
30630 an initial context.
30631
30632 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30633
30634 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
30635 (HEAP_LIMIT): New macro.
30636 (grub_claim_heap): Claim memory up to `heaplimit'.
30637
30638 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30639
30640 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
30641 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
30642 (_start): Likewise.
30643 (grub_arch_modules_addr): Return address after `_end'.
30644 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
30645 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
30646 (add_segments): Calculate `_end' from phdr size and location.
30647 (ALIGN_UP): Moved to ...
30648 * include/grub/misc.h: here.
30649 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
30650 New macro.
30651 (GRUB_IEEE1275_MODULE_BASE): Removed.
30652
30653 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30654
30655 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
30656 loop boundary.
30657
30658 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30659
30660 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
30661 All users updated.
30662 (grub_elf64_load_hook_t): Likewise.
30663 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
30664 debug output.
30665
30666 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30667
30668 * kern/mm.c: Update copyright.
30669 (grub_mm_debug): Correct syntax error.
30670 (grub_mm_dump_free): New function.
30671 (grub_debug_free): Call `grub_free'.
30672 * include/grub/mm.h: Update copyright.
30673 (grub_mm_dump_free): Add declaration.
30674
30675 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
30676
30677 * include/grub/ieee1275/ieee1275.h: Update copyright.
30678 * kern/powerpc/ieee1275/init.c: Likewise.
30679 * kern/powerpc/ieee1275/openfw.c: Likewise.
30680
30681 * loader/powerpc/ieee1275/linux.c: Likewise.
30682 * include/grub/elfload.h: Likewise.
30683 * kern/elf.c: Likewise.
30684 (grub_elf32_load): Pass `base' and `size' parameters. Update all
30685 callers.
30686 (grub_elf64_load): Likewise.
30687 (grub_elf32_load_segment): Move to a nested function.
30688 (grub_elf64_load_segment): Likewise.
30689
30690 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
30691
30692 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
30693 prototype.
30694 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
30695 (grub_heap_len): Likewise.
30696 (HEAP_SIZE): New macro.
30697 (grub_claim_heap): New function.
30698 (grub_machine_init): Don't claim heap directly. Call
30699 `grub_claim_heap'.
30700 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
30701 (grub_available_iterate): New function.
30702
30703 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
30704
30705 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
30706 * configure.ac: Use it for testing the HOST and TARGET compilers.
30707
30708 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
30709
30710 * Makefile.in (enable_grub_emu): New variable.
30711 * configure.ac (--enable-grub-emu): New option.
30712 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
30713 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
30714 * conf/i386-pc.rmk: Likewise.
30715 * conf/powerpc-ieee1275.rmk: Likewise.
30716 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
30717
30718 2006-12-12 Marco Gerards <marco@gnu.org>
30719
30720 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
30721
30722 * kern/env.c (grub_env_unset): Don't free the member `value' when
30723 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
30724 pointer.
30725
30726 * normal/main.c (current_menu): Removed.
30727 (free_menu): Unset the `menu' environment variable.
30728 (grub_normal_menu_addentry): Make use of the environment variable
30729 `menu', instead of using the global `current_menu'. Allocate
30730 memory for the sourcecode of this entry.
30731 (read_config_file): New argument `nested', changed all callers.
30732 Only in the case of a new context, initialize a new menu. Set the
30733 `menu' environment variable.
30734 (grub_normal_execute): Don't set and unset the environment
30735 variable `menu' here anymore. Only free the menu when leaving the
30736 context.
30737
30738 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
30739 leak.
30740
30741 2006-12-11 Marco Gerards <marco@gnu.org>
30742
30743 * normal/menu_entry.c (run): Fix off by one bug so the last line
30744 is executed. Move the loader check to outside the loop.
30745
30746 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
30747
30748 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
30749
30750 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
30751
30752 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
30753 the number of sectors. Reported by Andrey Shuvikov
30754 <mr_hyro@yahoo.com>.
30755
30756 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
30757
30758 * kern/disk.c (grub_disk_read): When there is a read error, always
30759 try to read only the necessary data.
30760
30761 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
30762 disk/raid.c.
30763 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
30764 prototype.
30765 [GRUB_UTIL] (grub_raid_fini): Likewise.
30766 [GRUB_UTIL] (grub_lvm_init): Likewise.
30767 [GRUB_UTIL] (grub_lvm_fini): Likewise.
30768 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
30769 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
30770 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
30771 and grub_raid_fini().
30772
30773 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
30774
30775 * include/grub/types.h (__unused): Rename to UNUSED.
30776 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
30777 (grub_elf64_size): Likewise.
30778
30779 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
30780
30781 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
30782 grub_error_push and grub_error_pop in the error-handling path.
30783 (grub_elf32_load_segment): Only call grub_file_read with non-zero
30784 length.
30785
30786 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
30787
30788 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
30789 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30791 (kernel_elf_SOURCES): Likewise.
30792 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
30793 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
30794 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30795 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30796 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
30797 (elf_mod_SOURCES): New variable.
30798 (elf_mod_CFLAGS): Likewise.
30799 (elf_mod_LDFLAGS): Likewise.
30800 * include/grub/types.h (__unused): New macro.
30801 * include/grub/elfload.h: New file.
30802 * kern/elf.c: Likewise.
30803 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
30804 (ELF32_LOADMASK): New macro.
30805 (ELF64_LOADMASK): Likewise.
30806 (vmlinux): Removed.
30807 (grub_linux_load32): New function.
30808 (grub_linux_load64): Likewise.
30809 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
30810 Use grub_elf_t instead of grub_file_t.
30811
30812 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
30813
30814 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
30815 `catch_result' to struct set_color_args.
30816
30817 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30818
30819 * normal/menu.c: Include grub/script.h.
30820 * normal/menu_entry.c: Likewise.
30821 * include/grub/normal.h: Do not include grub/script.h.
30822
30823 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30824
30825 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
30826
30827 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30828
30829 * kern/disk.c (grub_disk_open): Print debug messages when opening a
30830 disk.
30831 (grub_disk_close): Print debug messages when closing a disk.
30832 (grub_disk_read): Print debug messages when disk read fails.
30833 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
30834 filesystem type.
30835 * kern/partition.c: Include misc.h.
30836 (grub_partition_iterate): Print debug messages when detecting
30837 partition type.
30838
30839 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
30840
30841 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
30842 is negative.
30843 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
30844
30845 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
30846
30847 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
30848 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
30849
30850 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
30851
30852 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
30853 instead of sizeof(lv). Patch by Michael Guntsche.
30854
30855 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
30856
30857 * disk/lvm.c: Rename VGS to VG_LIST.
30858 (grub_lvm_iterate): Change VGS->LV to VG-LV.
30859 (grub_lvm_open): Likewise.
30860 Thanks to Michael Guntsche for finding this bug.
30861
30862 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30863
30864 * configure.ac (AC_INIT): Bumped to 1.95.
30865
30866 2006-10-14 Robert Millan <rmh@aybabtu.com>
30867
30868 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
30869 with "/dev/.static/dev/md".
30870
30871 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
30872
30873 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
30874 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
30875 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
30876 DRIVE_NAME are always freed.
30877
30878 * util/i386/pc/biosdisk.c (make_device_name): Add one into
30879 DOS_PART, as a DOS partition is counted from one instead of zero
30880 now. Reported by Robert Millan.
30881
30882 2006-10-14 Robert Millan <rmh@aybabtu.com>
30883
30884 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
30885 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
30886 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
30887 string returned by grub_guess_root_device.
30888 * util/i386/pc/grub-setup.c: Likewise.
30889 * util/i386/pc/grub-probefs.c: Likewise.
30890
30891 * util/i386/pc/grub-probefs.c: Rename to ...
30892 * util/i386/pc/grub-probe.c: ... this.
30893 * DISTLIST: Remove grub-probefs, add grub-probe.
30894 * conf/i386-efi.rmk: Likewise.
30895 * conf/i386-pc.rmk: Likewise.
30896 * util/i386/pc/grub-install.in: Likewise.
30897
30898 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
30899 choose which information we want to print.
30900
30901 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
30902
30903 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
30904 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
30905 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
30906 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
30907 video/readers/tga.c and video/i386/pc/vbeutil.c.
30908
30909 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
30910
30911 Added support for RAID and LVM.
30912
30913 * disk/lvm.c: New file.
30914 * disk/raid.c: Likewise.
30915 * include/grub/lvm.h: Likewise.
30916 * include/grub/raid.h: Likewise.
30917 * include/grub/util/lvm.h: Likewise.
30918 * include/grub/util/raid.h: Likewise.
30919 * util/lvm.c: Likewise.
30920 * util/raid.c: Likewise.
30921
30922 * include/grub/disk.h (grub_disk_dev_id): Add
30923 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
30924 (grub_disk_get_size): New prototype.
30925 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
30926 returns a partition.
30927 (grub_disk_get_size): New function.
30928
30929 * kern/i386/pc/init.c (make_install_device): Copy the prefix
30930 verbatim if grub_install_dos_part is -2.
30931
30932 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
30933 and LVM devices.
30934
30935 * util/i386/pc/grub-setup.c (setup): New argument
30936 MUST_EMBED. Force embedding of GRUB when the argument is
30937 true. Close FILE before returning.
30938 (main): Add support for RAID and LVM.
30939
30940 * conf/common.rmk: Add RAID and LVM modules.
30941 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
30942 util/lvm.c.
30943 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
30944
30945 * kern/misc.c (grub_strstr): New function.
30946 * include/grub/misc.h (grub_strstr): New prototype.
30947
30948 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
30949
30950 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
30951
30952 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
30953
30954 * kern/misc.c (grub_strtoull): Guess the base only if not
30955 specified.
30956
30957 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
30958
30959 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
30960 PowerMac support.
30961
30962 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
30963
30964 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
30965
30966 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
30967 Remove `flags' argument. All callers changed.
30968 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
30969 (IEEE1275_IHANDLE_INVALID): New variable.
30970 (IEEE1275_CELL_INVALID): New variable.
30971 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30972 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
30973 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
30974 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
30975 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
30976 codes from Open Firmware. All callers updated.
30977 (grub_ieee1275_next_property): Directly return Open Firmware return
30978 code.
30979 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30980 Standardize error checking from `grub_ieee1275_get_property'.
30981 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
30982 `devalias' to `aliases'. Correct comments. Consolidate error paths.
30983
30984 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
30985
30986 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
30987 `instance_to_package_args' to `instance_to_path_args'.
30988
30989 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
30990 `grub_ieee1275_chosen'.
30991
30992 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
30993 `grub_ieee1275_interpret'.
30994
30995 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
30996
30997 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
30998
30999 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
31000
31001 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
31002 (__cmpdi): Likewise.
31003
31004 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
31005 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
31006 `grub_ssize_t'.
31007
31008 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
31009
31010 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
31011 to type `grub_ssize_t'.
31012 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
31013
31014 2006-09-22 Marco Gerards <marco@gnu.org>
31015
31016 * normal/script.c (grub_script_create_cmdmenu): Skip leading
31017 newlines.
31018
31019 2006-09-22 Marco Gerards <marco@gnu.org>
31020
31021 * commands/echo.c: New file.
31022
31023 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
31024
31025 * conf/common.rmk (echo_mod_SOURCES): New variable.
31026 (echo_mod_CFLAGS): Likewise.
31027 (echo_mod_LDFLAGS): Likewise.
31028
31029 2006-09-22 Marco Gerards <marco@gnu.org>
31030
31031 * normal/main.c (get_line): Malloc memory instead of using
31032 preallocated memory. Removed the arguments `cmdline' and
31033 `max_len'. Updated all callers.
31034
31035 2006-09-22 Marco Gerards <marco@gnu.org>
31036
31037 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
31038 (normal_mod_DEPENDENCIES): Likewise.
31039
31040 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
31041 (normal_mod_DEPENDENCIES): Likewise.
31042
31043 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
31044
31045 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
31046
31047 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
31048 programs.
31049 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
31050 (normal_mod_DEPENDENCIES): Likewise.
31051 * conf/i386-pc.mk: Regenerate.
31052 * conf/i386-efi.mk: Likewise
31053 * conf/common.mk: Likewise.
31054 * conf/powerpc-ieee1275.mk: Likewise.
31055 * conf/sparc64-ieee1275.mk: Likewise.
31056
31057 2006-09-22 Robert Millan <rmh@aybabtu.com>
31058
31059 Sync with i386 version.
31060 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
31061 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
31062
31063 2006-09-21 Robert Millan <rmh@aybabtu.com>
31064
31065 Import from GRUB Legacy (lib/device.c):
31066 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
31067 (init_device_map) [__linux__]: Add support for I2O devices.
31068
31069 2006-09-14 Marco Gerards <marco@gnu.org>
31070
31071 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
31072 `-melf_i386'.
31073
31074 2006-09-14 Robert Millan <rmh@aybabtu.com>
31075
31076 * util/i386/pc/grub-install.in: Skip menu.lst when removing
31077 /boot/grub/*.lst.
31078
31079 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
31080
31081 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
31082 before adding it to device.map.
31083
31084 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
31085
31086 * genmk.rb: Let GCC generate dependencies the first time it
31087 compiles a file; using the -MD option.
31088 * conf/common.mk: Regenerate.
31089 * conf/i386-pc.mk: Likewise.
31090 * conf/i386-efi.mk: Likewise.
31091 * conf/powerpc-ieee1275.mk: Likewise.
31092 * conf/sparc64-ieee1275.mk: Likewise.
31093
31094 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
31095
31096 Move the prototypes of grub_setjmp and grub_longjmp to
31097 cpu/setjmp.h, so that each architecture may specify different
31098 attributes.
31099
31100 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
31101 (grub_longjmp): Likewise.
31102 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
31103 (grub_longjmp): Likewise.
31104 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
31105 (grub_longjmp): Likewise.
31106
31107 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
31108 [!GRUB_UTIL] (grub_longjmp): Removed.
31109
31110 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
31111
31112 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
31113 "color!" method does not return any value.
31114
31115 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31116
31117 * include/grub/bitmap.h: New file.
31118
31119 * include/grub/i386/pc/vbeutil.h: Likewise.
31120
31121 * video/bitmap.c: Likewise.
31122
31123 * video/readers/tga.c: Likewise.
31124
31125 * video/i386/pc/vbeutil.c: Likewise.
31126
31127 * commands/videotest.c: Code cleanup and updated to reflect to new
31128 video API.
31129
31130 * term/gfxterm.c: Likewise.
31131
31132 * video/video.c: Likewise.
31133
31134 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
31135 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
31136 (bitmap_mod_SOURCES): New entry.
31137 (bitmap_mod_CFLAGS): Likewise.
31138 (bitmap_mod_LDFLAGS): Likewise.
31139 (tga_mod_SOURCES): Likewise.
31140 (tga_mod_CFLAGS): Likewise.
31141 (tga_mod_LDFLAGS): Likewise.
31142
31143 * include/grub/video.h (grub_video_blit_operators): New enum type.
31144 (grub_video_render_target): Changed as forward declaration and moved
31145 actual definition to be video driver specific.
31146 (grub_video_adapter.blit_bitmap): Added blitting operator.
31147 (grub_video_adapter.blit_render_target): Likewise.
31148 (grub_video_blit_bitmap): Likewise.
31149 (grub_video_blit_render_target): Likewise.
31150
31151 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
31152 driver specific render target definition.
31153 (grub_video_vbe_map_rgba): Added driver internal helper.
31154 (grub_video_vbe_unmap_color): Updated to use
31155 grub_video_i386_vbeblit_info.
31156 (grub_video_vbe_get_video_ptr): Likewise.
31157
31158 * include/grub/i386/pc/vbeblit.h
31159 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
31160 grub_video_i386_vbeblit_info.
31161 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31162 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31163 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31164 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31165 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31166 (grub_video_i386_vbeblit_index_index): Likewise.
31167 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
31168 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31169 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31170 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
31171 operator.
31172 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
31173 operator.
31174
31175 * video/i386/pc/vbeblit.c: Updated to reflect changes on
31176 include/grub/i386/pc/vbeblit.h.
31177
31178 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
31179 Updated to use grub_video_i386_vbeblit_info.
31180 (grub_video_i386_vbefill_R8G8B8): Likewise.
31181 (grub_video_i386_vbefill_index): Likewise.
31182 (grub_video_i386_vbefill): Added generic filler.
31183
31184 * video/i386/pc/vbefill.c: Updated to reflect changes on
31185 include/grub/i386/pc/vbefill.h.
31186
31187 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
31188 grub_video_i386_vbeblit_info.
31189 (grub_video_vbe_unmap_color): Likewise.
31190 (grub_video_vbe_blit_glyph): Likewise.
31191 (grub_video_vbe_scroll): Likewise.
31192 (grub_video_vbe_draw_pixel): Removed function.
31193 (grub_video_vbe_get_pixel): Likewise.
31194 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
31195 updated code to use it.
31196 (common_blitter): Added common blitter for render target and bitmap.
31197 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
31198 (grub_video_vbe_blit_render_target): Likewise.
31199
31200 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
31201
31202 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
31203 is in text mode if there is no console control protocol instance
31204 available.
31205
31206 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31207
31208 * include/grub/video.h: Code cleanup.
31209
31210 * include/grub/i386/pc/vbe.h: Likewise.
31211
31212 * video/i386/pc/vbe.c: Likewise.
31213
31214 * video/i386/pc/vbeblit.c: Likewise.
31215
31216 * video/i386/pc/vbefill.c: Likewise.
31217
31218 * video/video.c: Likewise. Also added more comments.
31219
31220 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31221
31222 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
31223 (struct grub_biosdisk_dap): Likewise.
31224
31225 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
31226 linkage settings for all functions.
31227
31228 2006-07-12 Marco Gerards <marco@gnu.org>
31229
31230 * configure.ac (--enable-mm-debug): Fix typo.
31231
31232 * genkernsyms.sh.in: Use proper quoting for `CC'.
31233
31234 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
31235
31236 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
31237 (normal_mod_ASFLAGS): Remove "-m32".
31238
31239 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
31240
31241 * util/misc.c: Include config.h.
31242 [!HAVE_MEMALIGN]: Do not include malloc.h.
31243 (grub_memalign): Use posix_memalign, if present. Then, use
31244 memalign, if present. Otherwise, emit an error.
31245
31246 * util/grub-emu.c: Do not include malloc.h.
31247
31248 * include/grub/util/misc.h: Include unistd.h. This is required for
31249 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
31250 D. Eades III <hde@foobar-qux.org>.
31251
31252 * configure.ac (AC_GNU_SOURCE): Added.
31253 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
31254 type.
31255
31256 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
31257
31258 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
31259 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
31260
31261 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
31262
31263 * include/grub/types.h (grub_host_addr_t): Rename to
31264 grub_target_addr_t.
31265 (grub_host_off_t): Rename to grub_target_off_t.
31266 (grub_host_size_t): Rename to grub_target_size_t.
31267 (grub_host_ssize_t): Rename to grub_target_ssize_t.
31268 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
31269
31270 * include/grub/kernel.h (struct grub_module_header): Change type
31271 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
31272 (grub_module_info): Likewise.
31273
31274 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31275
31276 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
31277 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
31278 Velazquez <jesus.velazquez@gmail.com>.
31279
31280 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31281
31282 Count partitions from 1 instead of 0 in the string representation
31283 of partitions. Still use 0-based internally.
31284
31285 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
31286 (sun_partition_map_iterate): Use grub_partition_t instead of
31287 struct grub_partition *. Cast DESC->START_CYLINDER to
31288 grub_uint64_t after converting the endian.
31289 (sun_partition_map_probe): Subtract 1 for PARTNUM.
31290 (sun_partition_map_get_name): Add 1 to P->INDEX.
31291
31292 * partmap/pc.c (grub_partition_parse): Subtract 1 for
31293 PCDATA->DOS_PART.
31294 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
31295
31296 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
31297 zero instead of one.
31298 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
31299 (gpt_partition_map_get_name): Add 1 into P->INDEX.
31300
31301 * partmap/apple.c (apple_partition_map_iterate): Change the type
31302 of POS to unsigned.
31303 (apple_partition_map_probe): Subtract 1 for PARTNUM.
31304 (apple_partition_map_get_name): Add 1 into P->INDEX.
31305
31306 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
31307 of POS to unsigned.
31308 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
31309 calculate the offset of a partition.
31310 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
31311 (amiga_partition_map_get_name): Add 1 into P->INDEX.
31312
31313 * partmap/acorn.c (acorn_partition_map_find): Change the type of
31314 SECTOR to grub_disk_addr_t.
31315 (acorn_partition_map_iterate): Likewise.
31316 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
31317 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
31318 top.
31319 (acorn_partition_map_get_name): Add 1 into P->INDEX.
31320
31321 * kern/i386/pc/init.c (make_install_device): Add 1 into
31322 GRUB_INSTALL_DOS_PART.
31323
31324 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
31325 conditional.
31326
31327 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31328
31329 Clean up the code to support 64-bit addressing in disks and
31330 files. This change is not enough for filesystems yet.
31331
31332 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
31333 type of "start" to grub_uint64_t.
31334 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
31335 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
31336 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
31337 convert addresses.
31338
31339 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
31340 to grub_disk_addr_t.
31341
31342 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
31343 string.
31344
31345 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31346
31347 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
31348 to char *.
31349
31350 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
31351
31352 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
31353
31354 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
31355
31356 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
31357 to grub_off_t, to detect an error from grub_file_seek.
31358 (grub_multiboot_load_elf32): Likewise.
31359
31360 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
31361 maximum unsigned long value when an overflow is detected.
31362 (grub_strtoull): New function.
31363 (grub_divmod64): Likewise.
31364 (grub_lltoa): use grub_divmod64.
31365
31366 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
31367 grub_disk_addr_t.
31368 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
31369 the pointer to next character. Use grub_strtoull instead of
31370 grub_strtoul.
31371 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
31372 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
31373 respectively.
31374
31375 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
31376 return value is signed.
31377 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
31378 test if OFFSET is less than zero, as OFFSET is unsigned now.
31379
31380 * kern/disk.c (struct grub_disk_cache): Change the type of
31381 "sector" to grub_disk_addr_t.
31382 (grub_disk_cache_get_index): Change the type of SECTOR to
31383 grub_disk_addr_t. Calculate the hash with SECTOR casted to
31384 unsigned after shifting.
31385 (grub_disk_cache_invalidate): Change the type of SECTOR to
31386 grub_disk_addr_t.
31387 (grub_disk_cache_unlock): Likewise.
31388 (grub_disk_cache_store): Likewise.
31389 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
31390 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
31391 grub_disk_addr_t and grub_uint64_t, respectively.
31392 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
31393 body, as the value of OFFSET is tweaked by
31394 grub_disk_check_range. Change the types of START_SECTOR, LEN and
31395 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
31396 respectively.
31397 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
31398 body, as the value of OFFSET is tweaked by
31399 grub_disk_check_range. Change the types of LEN and N to
31400 grub_size_t.
31401
31402 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
31403 and "saved_offset" to grub_off_t.
31404 (test_header): Cast BUF to char *.
31405 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
31406 to char *.
31407 (grub_gzio_read): Change the types of OFFSET and SIZE to
31408 grub_off_t and grub_size_t, respectively.
31409
31410 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
31411 Removed.
31412 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
31413 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
31414 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
31415 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
31416 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
31417
31418 * include/grub/types.h (grub_off_t): Unconditionally set to
31419 grub_uint64_t.
31420 (grub_disk_addr_t): Changed to grub_uint64_t.
31421
31422 * include/grub/partition.h (struct grub_partition): Change the
31423 types of "start", "len" and "offset" to grub_disk_addr_t,
31424 grub_uint64_t and grub_disk_addr_t, respectively.
31425 (grub_partition_get_start): Return grub_disk_addr_t.
31426 (grub_partition_get_len): Return grub_uint64_t.
31427
31428 * include/grub/misc.h (grub_strtoull): New prototype.
31429 (grub_divmod64): Likewise.
31430
31431 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
31432 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
31433 grub_off_t, respectively.
31434 All callers and references changed.
31435
31436 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
31437 grub_size_t in "read".
31438 All callers and references changed.
31439
31440 * include/grub/file.h (struct grub_file): Change the types of
31441 "offset" and "size" to grub_off_t and grub_off_t,
31442 respectively. Change the type of SECTOR to grub_disk_addr_t in
31443 "read_hook".
31444 (grub_file_read): Change the type of LEN to grub_size_t.
31445 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
31446 grub_off_t.
31447 (grub_file_size): Return grub_off_t.
31448 (grub_file_tell): Likewise.
31449 All callers and references changed.
31450
31451 * include/grub/disk.h (struct grub_disk_dev): Change the types of
31452 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
31453 "write".
31454 (struct grub_disk): Change the type of "total_sectors" to
31455 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
31456 "read_hook".
31457 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
31458 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
31459 (grub_disk_write): Likewise.
31460 All callers and references changed.
31461
31462 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
31463 char * for grub_strncmp to silence gcc.
31464 (grub_iso9660_mount): Likewise.
31465 (grub_iso9660_mount): Likewise.
31466 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
31467 return statement.
31468 (grub_iso9660_iterate_dir): Likewise.
31469 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
31470
31471 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
31472 LEN to grub_disk_addr_t and grub_size_t, respectively.
31473
31474 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31475
31476 * fs/jfs.c (grub_jfs_read_file): Likewise.
31477
31478 * fs/minix.c (grub_jfs_read_file): Likewise.
31479
31480 * fs/sfs.c (grub_jfs_read_file): Likewise.
31481
31482 * fs/ufs.c (grub_jfs_read_file): Likewise.
31483
31484 * fs/xfs.c (grub_jfs_read_file): Likewise.
31485
31486 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
31487 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
31488 respectively.
31489
31490 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
31491 BLKNR to -1 instead of returning GRUB_ERRNO.
31492 (grub_ext2_read_file): Change the types of SECTOR and
31493 LEN to grub_disk_addr_t and grub_size_t, respectively.
31494
31495 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
31496 LEN to grub_disk_addr_t and grub_size_t, respectively.
31497
31498 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
31499 grub_file_read.
31500
31501 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
31502 string. Do not cast SECTOR explicitly.
31503
31504 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
31505 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
31506 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
31507 grub_disk_addr_t and grub_size_t, respectively. If the sector is
31508 over 2TB and LBA mode is not supported, raise an error.
31509 (get_safe_sectors): New function.
31510 (grub_biosdisk_read): Use get_safe_sectors.
31511 (grub_biosdisk_write): Likewise.
31512
31513 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
31514 (grub_efidisk_write): Likewise.
31515
31516 * disk/loopback.c (delete_loopback): Cosmetic changes.
31517 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
31518 correctly.
31519 (grub_loopback_open): Likewise.
31520 (grub_loopback_read): Likewise. Also, change the type of POS to
31521 grub_off_t, and fix the usage of grub_memset.
31522
31523 * commands/i386/pc/play.c: Include grub/machine/time.h.
31524
31525 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
31526 print FILE->SIZE.
31527
31528 * commands/configfile.c: Include grub/env.h.
31529
31530 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
31531 GRUB_ERRNO directly instead. Change the type of POS to
31532 grub_off_t. Follow the coding standard.
31533
31534 * commands/blocklist.c: Include grub/partition.h.
31535 (grub_cmd_blocklist): Return an error if the underlying device is
31536 not a disk. Take the starting sector of a partition into account,
31537 if a partition is used.
31538
31539 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
31540 a length field.
31541 (lba_mode): Support 64-bit addresses.
31542 (chs_mode): Likewise.
31543 (copy_buffer): Adapted to the new offsets of a length field and a
31544 segment field.
31545 (blocklist_default_start): Allocate 64-bit space.
31546
31547 * boot/i386/pc/boot.S (force_lba): Removed.
31548 (boot_drive): Moved to under KERNEL_SECTOR.
31549 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
31550 space.
31551 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
31552 is useless.
31553 (lba_mode): Refactored to support a 64-bit address. More size
31554 optimization.
31555 (setup_sectors): Likewise.
31556
31557 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31558
31559 * DISTLIST: Added include/grub/i386/linux.h. Removed
31560 include/grub/i386/pc/linux.h
31561
31562 * configure.ac (AC_INIT): Bumped to 1.94.
31563
31564 * config.guess: Updated from gnulib.
31565 * config.sub: Likewise.
31566 * install-sh: Likewise.
31567 * mkinstalldirs: Likewise.
31568
31569 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31570
31571 * conf/common.rmk (grub_modules_init.lst): Depended on
31572 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
31573 MODSRCFILES.
31574
31575 * genmk.rb (PModule::rule): Reverted the previous change.
31576
31577 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31578
31579 * conf/common.rmk (grub_modules_init.lst): Depends on
31580 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
31581 that the target does not exist before producing.
31582 (grub_modules_init.h): Remove the target before generating.
31583 (grub_emu_init.c): Likewise.
31584
31585 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
31586
31587 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
31588
31589 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
31590 for the target-specific tests. Make sure that we also have the
31591 up-to-date target variables for those tests.
31592
31593 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31594
31595 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
31596 (PModule::rule): Likewise.
31597
31598 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31599
31600 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
31601 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
31602 target-specific flags should be prefixed.
31603 (PModule::rule): Likewise.
31604
31605 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
31606
31607 * configure.ac (CMP): Check if cmp is available explicitly.
31608
31609 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
31610
31611 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
31612 (target_cpu): New variable.
31613 (pkglibdir): Use target_cpu instead of host_cpu.
31614
31615 * util/i386/pc/grub-install.in (host_cpu): Removed.
31616 (target_cpu): New variable.
31617 (pkglibdir): Use target_cpu instead of host_cpu.
31618
31619 * util/genmoddep.c: Removed.
31620
31621 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
31622 instead of GRUB_HOST_SIZEOF_VOID_P.
31623 * kern/dl.c: Likewise.
31624
31625 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
31626 ...
31627 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31628 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31629 (GRUB_TARGET_SIZEOF_LONG): ... this.
31630 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31631 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31632 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31633 to ...
31634 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31635 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31636 (GRUB_TARGET_SIZEOF_LONG): ... this.
31637 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31638 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31639 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31640 to ...
31641 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31642 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31643 (GRUB_TARGET_SIZEOF_LONG): ... this.
31644 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31645 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31646
31647 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
31648 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
31649 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
31650 instead of GRUB_HOST_SIZEOF_LONG.
31651 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
31652 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
31653 GRUB_CPU_WORDS_BIGENDIAN.
31654 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
31655 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
31656 grub_host_ssize_t.
31657
31658 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
31659 (genmoddep_SOURCES): Likewise.
31660 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
31661 (genmoddep_SOURCES): Likewise.
31662 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
31663 (genmoddep_SOURCES): Likewise.
31664 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
31665 Likewise.
31666 (genmoddep_SOURCES): Likewise.
31667
31668 * genmoddep.awk: New file.
31669
31670 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
31671 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
31672 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
31673 (PModule::rule): Likewise.
31674 (Program::rule): Likewise.
31675 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
31676 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
31677 respectively.
31678
31679 * configure.ac: Rewritten intensively to use host and target
31680 instead of build and host, respectively.
31681
31682 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
31683 (host_cpu): Removed.
31684 (target_cpu): New variable.
31685 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
31686 (BUILD_CC): Removed.
31687 (BUILD_CFLAGS): Likewise.
31688 (BUILD_CPPFLAGS): Likewise.
31689 (TARGET_CC): New variable.
31690 (TARGET_CFLAGS): Likewise.
31691 (TARGET_CPPFLAGS): Likewise.
31692 (TARGET_LDFLAGS): Likewise.
31693 (AWK): Likewise.
31694 (include): Use target_cpu instead of host_cpu.
31695 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
31696
31697 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
31698
31699 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
31700
31701 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
31702 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
31703 field 'false' to 'exec_on_false'.
31704 (grub_script_create_cmdif): Renamed argument names to reflect above
31705 changes.
31706
31707 * normal/execute.c (grub_script_execute_cmdif): Likewise.
31708
31709 * normal/script.c (grub_script_create_cmdif): Likewise.
31710
31711 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
31712
31713 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
31714 top.
31715 (grub_hfsplus_btree_recptr): Likewise.
31716 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
31717 FILEBLOCK both to pass a block number and store next block
31718 number.
31719 (grub_hfsplus_read_block): Rewritten heavily to support an extent
31720 overflow file correctly. Specify errors appropriately, because
31721 fshelp expects that GRUB_ERRNO is set when fails. Reuse
31722 grub_hfsplus_btree_recptr to get the pointer to a found key.
31723 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
31724 is found.
31725
31726 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
31727 linux.mod.
31728 (_linux_mod_SOURCES): New variable.
31729 (_linux_mod_CFLAGS): Likewise.
31730 (_linux_mod_LDFLAGS): Likewise.
31731 (linux_mod_SOURCES): Likewise.
31732 (linux_mod_CFLAGS): Likewise.
31733 (linux_mod_LDFLAGS): Likewise.
31734
31735 * DISTLIST: Added loader/i386/efi/linux.c,
31736 loader/i386/efi/linux_normal.c and
31737 include/grub/i386/efi/loader.h.
31738
31739 * loader/i386/efi/linux.c: New file.
31740 * loader/i386/efi/linux_normal.c: Likewise.
31741 * include/grub/i386/efi/loader.h: Likewise.
31742
31743 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
31744
31745 * commands/blocklist.c: New file.
31746
31747 * DISTLIST: Added commands/blocklist.c.
31748
31749 * term/efi/console.c (grub_console_highlight_color): Use a lighter
31750 color for the background, and a darker color for the foreground.
31751 (grub_console_checkkey): Return READ_KEY.
31752 (grub_console_cls): Set the background to
31753 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
31754
31755 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
31756
31757 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
31758 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
31759
31760 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
31761 prototype.
31762
31763 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
31764 BG. The spec is wrong again.
31765
31766 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
31767 prototype.
31768 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
31769
31770 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31771 commands/blocklist.c.
31772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31773
31774 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
31775 (blocklist_mod_SOURCES): New variable.
31776 (blocklist_mod_CFLAGS): Likewise.
31777 (blocklist_mod_LDFLAGS): Likewise.
31778
31779 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
31780
31781 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
31782 duplication.
31783 (lba_mode): Use %eax more intensively to reduce the code size.
31784
31785 2006-05-20 Marco Gerards <marco@gnu.org>
31786
31787 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
31788
31789 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
31790 for `menuentry'.
31791 (script): Accept leading newlines.
31792 (newlines): New rule to describe 0 or more newlines.
31793 (commands): Accept `command' with trailing newline. Fixed the
31794 order in which arguments were passed to `grub_script_add_cmd'.
31795 Accept commands separated by newlines.
31796 (function): Changed to accept newlines.
31797 (menuentry) Rewritten.
31798
31799 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
31800 front of the list, instead of to the end.
31801
31802 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
31803
31804 * util/i386/pc/grub-install.in (bindir): New variable.
31805 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
31806 Shaver <lbgwjl@gmail.com>.
31807
31808 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
31809
31810 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
31811 grub/machine/linux.h
31812 * loader/i386/pc/linux.c: Likewise.
31813
31814 * include/grub/i386/pc/linux.h: Moved to ...
31815 * include/grub/i386/linux.h: ... here.
31816
31817 * include/grub/i386/linux.h (struct linux_kernel_params): New
31818 struct.
31819
31820 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
31821
31822 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
31823 checking.
31824 (grub_video_vbe_blit_glyph): Likewise.
31825 (grub_video_vbe_blit_bitmap): Likewise.
31826 (grub_video_vbe_blit_render_target): Likewise.
31827
31828 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
31829
31830 * configure.ac (--with-platform): Properly quote the square
31831 brackets.
31832
31833 2006-05-08 Marco Gerards <marco@gnu.org>
31834
31835 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
31836 this...
31837 (kernel_elf_HEADERS): ...to this. Updated all users.
31838 (grubof_symlist.c): Renamed from this...
31839 (kernel_elf_symlist.c): ...to this. Updated all users.
31840 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
31841 (grubof_SOURCES): Renamed from this...
31842 (kernel_elf_SOURCES): ...to this.
31843 (grubof_HEADERS): Renamed from this...
31844 (kernel_elf_HEADERS): ...to this.
31845 (grubof_CFLAGS): Renamed from this...
31846 (kernel_elf_CFLAGS): ...to this.
31847 (grubof_ASFLAGS): Renamed from this...
31848 (kernel_elf_ASFLAGS): ...to this.
31849 (grubof_LDFLAGS): Renamed from this...
31850 (kernel_elf_LDFLAGS): ...to this.
31851
31852 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
31853 this...
31854 (kernel_elf_HEADERS): ...to this. Updated all users.
31855 (grubof_symlist.c): Renamed from this...
31856 (kernel_elf_symlist.c): ...to this. Updated all users.
31857 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
31858 (grubof_SOURCES): Renamed from this...
31859 (kernel_elf_SOURCES): ...to this.
31860 (grubof_HEADERS): Renamed from this...
31861 (kernel_elf_HEADERS): ...to this.
31862 (grubof_CFLAGS): Renamed from this...
31863 (kernel_elf_CFLAGS): ...to this.
31864 (grubof_ASFLAGS): Renamed from this...
31865 (kernel_elf_ASFLAGS): ...to this.
31866 (grubof_LDFLAGS): Renamed from this...
31867 (kernel_elf_LDFLAGS): ...to this.
31868
31869 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
31870 `kernel.elf' instead of `grubof'.
31871
31872 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
31873
31874 Add --with-platform to configure. Use pkglibdir instead of
31875 pkgdatadir. This is reported by Roger Leigh.
31876
31877 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
31878 (host_vendor): Likewise.
31879 (host_os): Likewise.
31880 (pkgdatadir): Likewise.
31881 (platform): New variable.
31882 (pkglibdir): Likewise.
31883 Use PKGLIBDIR instead of PKGDATADIR.
31884
31885 * util/i386/pc/grub-install.in (datadir): Removed.
31886 (host_vendor): Likewise.
31887 (host_os): Likewise.
31888 (pkgdatadir): Likewise.
31889 (platform): New variable.
31890 (pkglibdir): Likewise.
31891 Use PKGLIBDIR instead of PKGDATADIR.
31892
31893 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
31894 instead of GRUB_DATADIR.
31895 (main): Likewise.
31896 * util/i386/pc/grub-mkimage.c (usage): Likewise.
31897 (main): Likewise.
31898 * util/i386/efi/grub-mkimage.c (usage): Likewise.
31899 (main): Likewise.
31900
31901 * configure.ac (--with-platform): New option.
31902 Use PLATFORM instead of HOST_VENDOR to specify a platform.
31903
31904 * Makefile.in: Include a makefile based on PLATFORM instead of
31905 HOST_VENDOR.
31906 (pkgdatadir): Not appended by the machine type.
31907 (pkglibdir): Appended by the machine type.
31908 (host_vendor): Removed.
31909 (platform): New variable.
31910 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
31911 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
31912 (uninstall): Likewise.
31913
31914 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
31915
31916 Use the environment context in the menu. Remove the commands
31917 "default" and "timeout", and use variables instead.
31918
31919 * normal/menu.c: Include grub/env.h.
31920 (print_entry): Cast TITLE to silence gcc.
31921 (get_timeout): New function.
31922 (set_timeout): Likewise.
31923 (get_entry_number): Likewise.
31924 (run_menu): Use a default entry, a fallback entry and a timeout
31925 in the environment variables "default", "fallback" and
31926 "timeout". Also, tweak the default entry if it is not within the
31927 current menu entries.
31928 (grub_menu_run): Use a fallback entry in the environment variable
31929 "fallback".
31930
31931 * normal/main.c (read_config_file): Do not initialize
31932 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
31933 NEWMENU->TIMEOUT.
31934 (grub_normal_execute): Use a data slot to store the menu.
31935
31936 * include/grub/normal.h (struct grub_menu): Removed default_entry,
31937 fallback_entry and timeout.
31938 (struct grub_menu_list): Removed.
31939 (grub_menu_list_t): Likewise.
31940 (struct grub_context): Likewise.
31941 (grub_context_t): Likewise.
31942 (grub_context_get): Likewise.
31943 (grub_context_get_current_menu): Likewise.
31944 (grub_context_push_menu): Likewise.
31945 (grub_context_pop_menu): Likewise.
31946 (grub_default_init): Likewise.
31947 (grub_default_fini): Likewise.
31948 (grub_timeout_init): Likewise.
31949 (grub_timeout_fini): Likewise.
31950
31951 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
31952 and timeout.mod.
31953 (normal_mod_SOURCES): Removed normal/context.c.
31954
31955 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
31956 commands/default.c, commands/timeout.c and normal/context.c.
31957 (normal_mod_SOURCES): Removed normal/context.c.
31958
31959 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
31960 commands/timeout.c and normal/context.c.
31961 (normal_mod_SOURCES): Removed normal/context.c.
31962
31963 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
31964 commands/default.c, commands/timeout.c and normal/context.c.
31965 (normal_mod_SOURCES): Removed normal/context.c.
31966
31967 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
31968 timeout.mod.
31969 (default_mod_SOURCES): Removed.
31970 (default_mod_CFLAGS): Likewise.
31971 (default_mod_LDFLAGS): Likewise.
31972 (timeout_mod_SOURCES): Removed.
31973 (timeout_mod_CFLAGS): Likewise.
31974 (timeout_mod_LDFLAGS): Likewise.
31975
31976 * DISTLIST: Removed commands/default.c, commands/timeout.c and
31977 normal/context.c.
31978
31979 * commands/default.c: Removed.
31980 * commands/timeout.c: Likewise.
31981 * normal/context.c: Likewise.
31982
31983 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
31984
31985 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
31986
31987 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
31988
31989 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
31990 "next" to "prev" for readability.
31991 (struct grub_env_sorted_var): New struct.
31992 (grub_env_context): Renamed to ...
31993 (initial_context): ... this.
31994 (grub_env_var_context): Renamed to ...
31995 (current_context): ... this.
31996 (grub_env_find): Look only at CURRENT_CONTEXT.
31997 (grub_env_context_open): Rewritten to copy exported variables from
31998 previous context.
31999 (grub_env_context_close): Rewritten according to the new
32000 scheme. Also, add an assertion to prevent the initial context from
32001 removed.
32002 (grub_env_insert): Removed the code for the sorted list.
32003 (grub_env_remove): Likewise.
32004 (grub_env_export): Simply mark the variable with
32005 GRUB_ENV_VAR_GLOBAL.
32006 (grub_env_set): A cosmetic change for naming consistency.
32007 (grub_env_get): Likewise.
32008 (grub_env_unset): Likewise.
32009 (grub_env_iterate): Rewritten to sort variables within this
32010 function.
32011 (grub_register_variable_hook): Fixed for naming consistency. Call
32012 grub_env_find again, only if NAME is not found at the first time.
32013 (mangle_data_slot_name): New function.
32014 (grub_env_set_data_slot): Likewise.
32015 (grub_env_get_data_slot): Likewise.
32016 (grub_env_unset_data_slot): Likewise.
32017
32018 * include/grub/env.h (grub_env_var_type): New enum.
32019 (GRUB_ENV_VAR_LOCAL): New constant.
32020 (GRUB_ENV_VAR_GLOBAL): Likewise.
32021 (GRUB_ENV_VAR_DATA): Likewise.
32022 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
32023 "type".
32024 (grub_env_set): Replace VAR with NAME for consistency.
32025 (grub_register_variable_hook): Likewise.
32026 (grub_env_export): Specify the name of the argument.
32027 (grub_env_set_data_slot): New prototype.
32028 (grub_env_get_data_slot): Likewise.
32029 (grub_env_unset_data_slot): Likewise.
32030
32031 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32032
32033 Extend the loader so that GRUB can accept a loader which comes
32034 back to GRUB when a loaded image exits. Also, this change adds
32035 support for a chainloader on EFI.
32036
32037 * term/efi/console.c: Include grub/misc.h.
32038 (grub_console_checkkey): Display a scan code on the top for
32039 debugging. This will be removed once the EFI port gets stable.
32040 Correct the scan code mapping.
32041
32042 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
32043 allocate memory from larger regions, in order to reduce the number
32044 of allocated regions. Otherwise, the MacOSX loader panics.
32045 (filter_memory_map): Avoid less than 1MB for compatibility with
32046 other loaders.
32047 (add_memory_regions): Allocate from the tail of a region, if
32048 possible, to avoid allocating a region near to 1MB, for the MacOSX
32049 loader.
32050
32051 * kern/efi/init.c (grub_efi_set_prefix): Specify
32052 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
32053
32054 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
32055 argument IMAGE_HANDLE and specify it to get a loaded image.
32056 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
32057 grub_efi_get_loaded_image.
32058 (grub_efi_get_filename): Divide the length by the size of
32059 grub_efi_char16_t.
32060 (grub_efi_get_device_path): New function.
32061 (grub_efi_print_device_path): Print End Device Path nodes. Divide
32062 the length by the size of grub_efi_char16_t for a file path device
32063 path node.
32064
32065 * kern/loader.c (grub_loader_noreturn): New variable.
32066 (grub_loader_set): Accept a new argument NORETURN. Set
32067 GRUB_LOADER_NORETURN to NORETURN.
32068 All callers changed.
32069 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
32070 grub_machine_fini.
32071
32072 * include/grub/efi/efi.h (grub_efi_get_device_path): New
32073 prototype.
32074 (grub_efi_get_loaded_image): Take an argument to specify an image
32075 handle.
32076
32077 * include/grub/loader.h (grub_loader_set): Added one more argument
32078 NORETURN.
32079
32080 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
32081 instead of grub_efi_open_protocol.
32082 (grub_efidisk_get_device_name): Likewise.
32083 (grub_efidisk_close): Print a newline.
32084 (grub_efidisk_get_device_handle): Fixed to use
32085 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
32086 GRUB_EFI_DEVICE_PATH_TYPE.
32087
32088 * disk/efi/efidisk.c (device_path_guid): Moved to ...
32089 * kern/efi/efi.c (device_path_guid): ... here.
32090
32091 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
32092 chain.mod.
32093 (kernel_mod_HEADERS): Added efi/disk.h.
32094 (_chain_mod_SOURCES): New variable.
32095 (_chain_mod_CFLAGS): Likewise.
32096 (_chain_mod_LDFLAGS): Likewise.
32097 (chain_mod_SOURCES): Likewise.
32098 (chain_mod_CFLAGS): Likewise.
32099 (chain_mod_LDFLAGS): Likewise.
32100
32101 * DISTLIST: Added include/grub/efi/chainloader.h,
32102 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
32103
32104 * include/grub/efi/chainloader.h: New file.
32105 * loader/efi/chainloader.c: Likewise.
32106 * loader/efi/chainloader_normal.c: Likewise.
32107
32108 2006-04-30 Marco Gerards <marco@gnu.org>
32109
32110 * commands/configfile.c (grub_cmd_source): New function.
32111 (GRUB_MOD_INIT): Register the commands `source' and `.'.
32112 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
32113
32114 2006-04-30 Marco Gerards <marco@gnu.org>
32115
32116 * normal/execute.c (grub_script_execute_cmd): Change the return
32117 type to `grub_err_t'. Correctly return the error.
32118 (grub_script_execute_cmdline): In case a command line is not a
32119 command or a function, try to interpret it as an assignment.
32120
32121 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32122
32123 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
32124 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
32125 skip a node whose name is obviously invalid as UTF-16,
32126 i.e. contains a NUL character. Stop the iteration when the last
32127 directory entry is found. Instead of using the return value of
32128 grub_hfsplus_btree_iterate_node, store the value in RET and use
32129 it, because the iterator can be stopped by the last directory
32130 entry.
32131
32132 2006-04-30 Marco Gerards <marco@gnu.org>
32133
32134 * include/grub/env.h (grub_env_export): New prototype. Reported
32135 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
32136
32137 2006-04-30 Marco Gerards <marco@gnu.org>
32138
32139 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
32140 size of the extents in a catalog file record.
32141
32142 2006-04-29 Marco Gerards <marco@gnu.org>
32143
32144 * commands/configfile.c (grub_cmd_configfile): Execute the
32145 configfile within its own context.
32146
32147 * include/grub/env.h (grub_env_context_open): New prototype.
32148 (grub_env_context_close): Likewise.
32149
32150 * kern/env.c (grub_env): Removed.
32151 (grub_env_sorted): Likewise.
32152 (grub_env_context): New variable.
32153 (grub_env_var_context): Likewise.
32154 (grub_env_find): Search both the active context and the global
32155 context.
32156 (grub_env_context_open): New function.
32157 (grub_env_context_close): Likewise.
32158 (grub_env_insert): Likewise.
32159 (grub_env_remove): Likewise.
32160 (grub_env_export): Likewise.
32161 (grub_env_set): Changed to use helper functions to avoid code
32162 duplication.
32163 (grub_env_iterate): Rewritten so both the current context and the
32164 global context are being used.
32165
32166 * normal/command.c (export_command): New function.
32167 (grub_command_init): Register the `export' function.
32168
32169 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
32170
32171 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
32172 explicitly to suppress gcc's warnings.
32173 * fs/fat.c (grub_fat_find_dir): Likewise.
32174 (grub_fat_label): Likewise.
32175 * fs/xfs.c (grub_xfs_read_inode): Likewise.
32176 (grub_xfs_mount): Likewise.
32177 (grub_xfs_label): Likewise.
32178 * fs/affs.c (grub_affs_mount): Likewise.
32179 (grub_affs_label): Likewise.
32180 (grub_affs_iterate_dir): Likewise.
32181 * fs/sfs.c (grub_sfs_mount): Likewise.
32182 (grub_sfs_iterate_dir): Likewise.
32183 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
32184 * fs/hfs.c (grub_hfs_mount): Likewise.
32185 (grub_hfs_cmp_catkeys): Likewise.
32186 (grub_hfs_find_dir): Likewise.
32187 (grub_hfs_dir): Likewise.
32188 (grub_hfs_label): Likewise.
32189 * fs/jfs.c (grub_jfs_mount): Likewise.
32190 (grub_jfs_opendir): Likewise.
32191 (grub_jfs_getent): Likewise.
32192 (grub_jfs_lookup_symlink): Likewise.
32193 (grub_jfs_label): Likewise.
32194 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
32195 (grub_hfsplus_iterate_dir): Likewise.
32196 (grub_hfsplus_btree_iterate_node): Made static.
32197
32198 * util/grub-emu.c (prefix): New variable.
32199 (grub_machine_set_prefix): New function.
32200 (main): Do not set the environment variable "prefix" here. Only
32201 set PREFIX, which is used later by grub_machine_set_prefix.
32202
32203 * include/grub/video.h: Do not include grub/symbol.h.
32204 (grub_video_register): Not exported. This symbol is not defined in
32205 the kernel.
32206 (grub_video_unregister): Likewise.
32207 (grub_video_iterate): Likewise.
32208 (grub_video_setup): Likewise.
32209 (grub_video_restore): Likewise.
32210 (grub_video_get_info): Likewise.
32211 (grub_video_get_blit_format): Likewise.
32212 (grub_video_set_palette): Likewise.
32213 (grub_video_get_palette): Likewise.
32214 (grub_video_set_viewport): Likewise.
32215 (grub_video_get_viewport): Likewise.
32216 (grub_video_map_color): Likewise.
32217 (grub_video_map_rgb): Likewise.
32218 (grub_video_map_rgba): Likewise.
32219 (grub_video_fill_rect): Likewise.
32220 (grub_video_blit_glyph): Likewise.
32221 (grub_video_blit_bitmap): Likewise.
32222 (grub_video_blit_render_target): Likewise.
32223 (grub_video_scroll): Likewise.
32224 (grub_video_swap_buffers): Likewise.
32225 (grub_video_create_render_target): Likewise.
32226 (grub_video_delete_render_target): Likewise.
32227 (grub_video_set_active_render_target): Likewise.
32228
32229 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
32230 Undefined.
32231 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
32232
32233 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
32234 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32235 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32236 instead of $(srcdir)/genkernsyms.sh.
32237
32238 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
32239 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32240 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32241 instead of $(srcdir)/genkernsyms.sh.
32242
32243 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
32244 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32245 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32246 instead of $(srcdir)/genkernsyms.sh.
32247
32248 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
32249 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32250 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32251 instead of $(srcdir)/genkernsyms.sh.
32252
32253 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
32254 genkernsyms.sh.
32255
32256 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
32257 genkernsyms.sh.
32258 (gensymlist.sh): New target.
32259 (genkernsyms.sh): Likewise.
32260
32261 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
32262 genkernsyms.sh.in and gensymlist.sh.in.
32263
32264 * genkernsyms.sh: Removed.
32265 * gensymlist.sh: Likewise.
32266
32267 * genkernsyms.sh.in: New file.
32268 * gensymlist.sh.in: Likewise.
32269
32270 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32271
32272 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
32273 clobber "prefix", since we may have already set it manually.
32274
32275 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32276
32277 * kern/misc.c (abort): New alias for grub_abort.
32278
32279 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
32280
32281 A new machine-specific function "grub_machine_set_prefix" is
32282 defined. This is called after loading modules, so that a prefix
32283 initialization can use modules. Also, this change adds an
32284 intensive debugging feature for the memory manager via the
32285 configure option "--enable-mm-debug".
32286
32287 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
32288 PART.LEN.
32289
32290 * kern/sparc64/ieee1275/init.c (abort): Removed.
32291 (grub_stop): Likewise.
32292 (grub_exit): New function.
32293 (grub_set_prefix): Renamed to ...
32294 (grub_machine_set_prefix): ... this.
32295 (grub_machine_init): Do not call grub_set_prefix.
32296
32297 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
32298 (grub_machine_set_prefix): ... this.
32299 (grub_machine_init): Do not call grub_set_prefix.
32300
32301 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
32302 (grub_machine_init): Do not set the prefix here.
32303
32304 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
32305
32306 * kern/efi/init.c: Include grub/mm.h.
32307 (grub_efi_set_prefix): New function.
32308
32309 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
32310 (grub_efi_get_filename): New function.
32311 (grub_print_device_path): Renamed to ...
32312 (grub_efi_print_device_path): ... this.
32313
32314 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
32315 [MM_DEBUG] (grub_realloc): Likewise.
32316 [MM_DEBUG] (grub_free): Likewise.
32317 [MM_DEBUG] (grub_memalign): Likewise.
32318 [MM_DEBUG] (grub_mm_debug): New variable.
32319 [MM_DEBUG] (grub_debug_malloc): New function.
32320 [MM_DEBUG] (grub_debug_free): New function.
32321 [MM_DEBUG] (grub_debug_realloc): New function.
32322 [MM_DEBUG] (grub_debug_memalign): New function.
32323
32324 * kern/misc.c (grub_abort): Print a newline to distinguish
32325 the message.
32326
32327 * kern/main.c (grub_main): Call grub_machine_set_prefix and
32328 grub_set_root_dev after loading modules. This is necessary when
32329 setting a prefix depends on modules.
32330
32331 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
32332 (grub_efi_print_device_path): ... this.
32333 (grub_efi_get_filename): New prototype.
32334 (grub_efi_set_prefix): Likewise.
32335
32336 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
32337 and grub/disk.h.
32338 (grub_efidisk_get_device_handle): New prototype.
32339 (grub_efidisk_get_device_name): Likewise.
32340
32341 * include/grub/mm.h: Include config.h.
32342 (MM_DEBUG): Removed.
32343 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
32344 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
32345 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
32346 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
32347 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
32348 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
32349 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
32350 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
32351 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
32352
32353 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
32354
32355 * disk/efi/efidisk.c: Include grub/partition.h.
32356 (iterate_child_devices): New function.
32357 (add_device): First, compare only last device path nodes, so that
32358 devices are sorted by the types.
32359 (grub_efidisk_get_device_handle): New function.
32360 (grub_efidisk_get_device_name): Likewise.
32361
32362 * configure.ac (--enable-mm-debug): New option to enable the
32363 memory manager debugging feature. This makes the binary much
32364 bigger, so is disabled by default.
32365
32366 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
32367
32368 Use grub_abort instead of grub_stop, and grub_exit must be
32369 define in each architecture now. Also, this change adds support
32370 for EFI disks.
32371
32372 * util/i386/pc/grub-probefs.c: Include grub/term.h.
32373 (grub_getkey): New function.
32374 (grub_term_get_current): Likewise.
32375
32376 * util/i386/pc/grub-setup.c: Include grub/term.h.
32377 (grub_getkey): New function.
32378 (grub_term_get_current): Likewise.
32379
32380 * util/misc.c (grub_stop): Renamed to ...
32381 (grub_exit): ... this.
32382
32383 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
32384 (grub_exit): ... this.
32385 (grub_machine_init): Use grub_abort instead of abort.
32386 (grub_stop): Removed.
32387
32388 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
32389 abort.
32390
32391 * kern/i386/pc/startup.S (grub_exit): New function.
32392 (cold_reboot): New label.
32393
32394 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
32395 (grub_efi_init): Call grub_efidisk_init.
32396 (grub_efi_fini): Call grub_efidisk_fini.
32397
32398 * kern/efi/efi.c: Include grub/mm.h.
32399 (grub_efi_console_control_guid): Renamed to ...
32400 (console_control_guid): ... this.
32401 (grub_efi_loaded_image_guid): Renamed to ...
32402 (loaded_image_guid): ... this.
32403 (grub_efi_locate_handle): New function.
32404 (grub_efi_open_protocol): Likewise.
32405 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
32406 GRUB_EFI_CONSOLE_CONTROL_GUID.
32407 (grub_efi_exit): Removed.
32408 (grub_stop): Likewise.
32409 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
32410 (grub_exit): New function.
32411 (grub_print_device_path): Likewise.
32412
32413 * kern/rescue.c (grub_rescue_cmd_exit): New function.
32414 (grub_enter_rescue_mode): Register "exit".
32415
32416 * kern/misc.c (grub_real_dprintf): A cosmetic change.
32417 (grub_abort): New function.
32418
32419 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
32420
32421 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
32422
32423 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
32424
32425 * include/grub/efi/efi.h (grub_efi_exit): Removed.
32426 (grub_print_device_path): New prototype.
32427 (grub_efi_locate_handle): Likewise.
32428 (grub_efi_open_protocol): Likewise.
32429
32430 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
32431 * disk/efi/efidisk.c: Likewise.
32432
32433 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
32434
32435 * include/grub/efi/console_control.h
32436 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
32437
32438 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
32439 last 8 bytes as an array.
32440 (GRUB_EFI_DISK_IO_GUID): New macro.
32441 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
32442 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
32443 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
32444 grub_uint8_t.
32445 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
32446 (struct grub_efi_device_path): Rename the member "sub_type" to
32447 "subtype".
32448 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
32449 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
32450 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
32451 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
32452 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
32453 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
32454 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
32455 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
32456 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
32457 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
32458 (struct grub_efi_pci_device_path): New structure.
32459 (grub_efi_pci_device_path_t): New type.
32460 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
32461 (struct grub_efi_pccard_device_path): New structure.
32462 (grub_efi_pccard_device_path_t): New type.
32463 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
32464 (struct grub_efi_memory_mapped_device_path): New structure.
32465 (grub_efi_memory_mapped_device_path_t): New type.
32466 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
32467 (struct grub_efi_vendor_device_path): New structure.
32468 (grub_efi_vendor_device_path_t): New type.
32469 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
32470 (struct grub_efi_controller_device_path): New structure.
32471 (grub_efi_controller_device_path_t): New type.
32472 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
32473 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
32474 (struct grub_efi_acpi_device_path): New structure.
32475 (grub_efi_acpi_device_path_t): New type.
32476 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
32477 (struct grub_efi_expanded_acpi_device_path): New structure.
32478 (grub_efi_expanded_acpi_device_path_t): New type.
32479 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
32480 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
32481 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
32482 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
32483 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
32484 (struct grub_efi_atapi_device_path): New structure.
32485 (grub_efi_atapi_device_path_t): New type.
32486 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
32487 (struct grub_efi_fibre_channel_device_path): New structure.
32488 (grub_efi_fibre_channel_device_path_t): New type.
32489 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
32490 (struct grub_efi_1394_device_path): New structure.
32491 (grub_efi_1394_device_path_t): New type.
32492 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
32493 (struct grub_efi_usb_device_path): New structure.
32494 (grub_efi_usb_device_path_t): New type.
32495 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
32496 (struct grub_efi_usb_class_device_path): New structure.
32497 (grub_efi_usb_class_device_path_t): New type.
32498 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
32499 (struct grub_efi_i2o_device_path): New structure.
32500 (grub_efi_i2o_device_path_t): New type.
32501 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
32502 (struct grub_efi_mac_address_device_path): New structure.
32503 (grub_efi_mac_address_device_path_t): New type.
32504 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
32505 (struct grub_efi_ipv4_device_path): New structure.
32506 (grub_efi_ipv4_device_path_t): New type.
32507 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
32508 (struct grub_efi_ipv6_device_path): New structure.
32509 (grub_efi_ipv6_device_path_t): New type.
32510 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
32511 (struct grub_efi_infiniband_device_path): New structure.
32512 (grub_efi_infiniband_device_path_t): New type.
32513 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
32514 (struct grub_efi_uart_device_path): New structure.
32515 (grub_efi_uart_device_path_t): New type.
32516 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
32517 (struct grub_efi_vendor_messaging_device_path): New structure.
32518 (grub_efi_vendor_messaging_device_path_t): New type.
32519 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
32520 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
32521 (struct grub_efi_hard_drive_device_path): New structure.
32522 (grub_efi_hard_drive_device_path_t): New type.
32523 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
32524 (struct grub_efi_cdrom_device_path): New structure.
32525 (grub_efi_cdrom_device_path_t): New type.
32526 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
32527 (struct grub_efi_vendor_media_device_path): New structure.
32528 (grub_efi_vendor_media_device_path_t): New type.
32529 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
32530 (struct grub_efi_file_path_device_path): New structure.
32531 (grub_efi_file_path_device_path_t): New type.
32532 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
32533 (struct grub_efi_protocol_device_path): New structure.
32534 (grub_efi_protocol_device_path_t): New type.
32535 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
32536 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
32537 (struct grub_efi_bios_device_path): New structure.
32538 (grub_efi_bios_device_path_t): New type.
32539 (struct grub_efi_disk_io): New structure.
32540 (grub_efi_disk_io_t): New type.
32541 (struct grub_efi_block_io_media): New structure.
32542 (grub_efi_block_io_media_t): New type.
32543 (struct grub_efi_block_io): New structure.
32544 (grub_efi_block_io_t): New type.
32545
32546 * include/grub/misc.h (grub_stop): Removed.
32547 (grub_exit): New prototype.
32548 (grub_abort): Likewise.
32549
32550 * include/grub/disk.h (enum grub_disk_dev_id): Added
32551 GRUB_DISK_DEVICE_EFIDISK_ID.
32552
32553 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
32554 disk/efi/efidisk.c.
32555 (kernel_syms.lst): Remove the target if an error occurs.
32556
32557 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
32558
32559 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
32560 as it was simply too buggy.
32561
32562 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
32563
32564 * kern/misc.c (grub_lltoa): New function.
32565 (grub_vsprintf): Added support for the long long suffix,
32566 i.e. "ll".
32567
32568 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
32569
32570 * Makefile.in (LDFLAGS): Add variable.
32571 (LD): Remove variable.
32572 * configure.ac: Add -m32 to LDFLAGS.
32573 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
32574 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
32575 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
32576 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
32577 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
32578 variables.
32579 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
32580 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
32581 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
32582
32583 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
32584
32585 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
32586 length for unknown glyph.
32587
32588 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32589
32590 Add support for pre-loaded modules into the EFI port.
32591
32592 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
32593 completely. Accept one more argument DIR. The caller has changed.
32594
32595 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
32596
32597 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
32598 (grub_efi_loaded_image_guid): New variable.
32599 (grub_efi_get_loaded_image): New function.
32600 (grub_arch_modules_addr): Likewise.
32601
32602 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
32603 prototype.
32604
32605 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
32606 (struct grub_efi_loaded_image): New structure.
32607 (grub_efi_loaded_image_t): New type.
32608
32609 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32610
32611 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
32612 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
32613 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
32614
32615 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
32616
32617 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
32618
32619 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
32620
32621 * DISTLIST: Added include/grub/efi/console.h,
32622 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
32623 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32624
32625 * include/grub/efi/console.h: New file.
32626 * include/grub/efi/time.h: Likewise.
32627 * include/grub/i386/efi/kernel.h: Likewise.
32628 * kern/efi/init.c: Likewise.
32629 * kern/efi/mm.c: Likewise.
32630 * term/efi/console.c: Likewise.
32631
32632 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
32633 (grub_stop): Removed.
32634 (grub_get_rtc): Likewise.
32635 (grub_machine_init): Simply call grub_efi_init.
32636 (grub_machine_fini): Call grub_efi_fini.
32637
32638 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
32639 (grub_efi_output_string): Removed.
32640 (grub_efi_stall): New function.
32641 (grub_stop): Likewise.
32642 (grub_get_rtc): Likewise.
32643
32644 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
32645 (grub_efi_stall): New prototype.
32646 (grub_efi_allocate_pages): Likewise.
32647 (grub_efi_free_pages): Likewise.
32648 (grub_efi_get_memory_map): Likewise.
32649 (grub_efi_mm_init): Likewise.
32650 (grub_efi_mm_fini): Likewise.
32651 (grub_efi_init): Likewise.
32652 (grub_efi_fini): Likewise.
32653
32654 * include/grub/i386/efi/time.h: Do not include
32655 grub/symbol.h. Include grub/efi/time.h.
32656 (GRUB_TICKS_PER_SECOND): Removed.
32657 (grub_get_rtc): Likewise.
32658
32659 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
32660 Added padding. The EFI spec is buggy.
32661 (GRUB_EFI_BLACK): New macro.
32662 (GRUB_EFI_BLUE): Likewise.
32663 (GRUB_EFI_GREEN): Likewise.
32664 (GRUB_EFI_CYAN): Likewise.
32665 (GRUB_EFI_RED): Likewise.
32666 (GRUB_EFI_MAGENTA): Likewise.
32667 (GRUB_EFI_BROWN): Likewise.
32668 (GRUB_EFI_LIGHTGRAY): Likewise.
32669 (GRUB_EFI_BRIGHT): Likewise.
32670 (GRUB_EFI_DARKGRAY): Likewise.
32671 (GRUB_EFI_LIGHTBLUE): Likewise.
32672 (GRUB_EFI_LIGHTGREEN): Likewise.
32673 (GRUB_EFI_LIGHTCYAN): Likewise.
32674 (GRUB_EFI_LIGHTRED): Likewise.
32675 (GRUB_EFI_LIGHTMAGENTA): Likewise.
32676 (GRUB_EFI_YELLOW): Likewise.
32677 (GRUB_EFI_WHITE): Likewise.
32678 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
32679 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
32680 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
32681 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
32682 (GRUB_EFI_BACKGROUND_RED): Likewise.
32683 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
32684 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
32685 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
32686 (GRUB_EFI_TEXT_ATTR): Likewise.
32687
32688 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
32689 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32690 (kernel_mod_HEADERS): Added efi/time.h.
32691
32692 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
32693
32694 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
32695 include/grub/efi/api.h, include/grub/efi/console_control.h,
32696 include/grub/efi/efi.h, include/grub/efi/pe32.h,
32697 include/grub/i386/efi/time.h, kern/efi/efi.c,
32698 kern/i386/efi/init.c, kern/i386/efi/startup.S,
32699 and util/i386/efi/grub-mkimage.c.
32700
32701 * Makefile.in (RMKFILES): Added i386-efi.rmk.
32702
32703 * genmk.rb (PModule#rule): Do not export symbols if
32704 #{prefix}_EXPORTS is set to "no".
32705
32706 * conf/i386-efi.mk: New file.
32707 * conf/i386-efi.rmk: Likewise.
32708 * include/grub/efi/api.h: Likewise.
32709 * include/grub/efi/console_control.h: Likewise.
32710 * include/grub/efi/efi.h: Likewise.
32711 * include/grub/efi/pe32.h: Likewise.
32712 * include/grub/i386/efi/time.h: Likewise.
32713 * kern/efi/efi.c: Likewise.
32714 * kern/i386/efi/init.c: Likewise.
32715 * kern/i386/efi/startup.S: Likewise.
32716 * util/i386/efi/grub-mkimage.c: Likewise.
32717
32718 2006-04-17 Marco Gerards <marco@gnu.org>
32719
32720 * include/grub/script.h: Include <grub/parser.h> and
32721 "grub_script.tab.h".
32722 (struct grub_lexer_param): New struct.
32723 (struct grub_parser_param): Likewise.
32724 (grub_script_create_arglist): Pass the state in an argument.
32725 (grub_script_add_arglist): Likewise.
32726 (grub_script_create_cmdline): Likewise.
32727 (grub_script_create_cmdblock): Likewise.
32728 (grub_script_create_cmdif): Likewise.
32729 (grub_script_create_cmdmenu): Likewise.
32730 (grub_script_add_cmd): Likewise.
32731 (grub_script_arg_add): Likewise.
32732 (grub_script_lexer_ref): Likewise.
32733 (grub_script_lexer_deref): Likewise.
32734 (grub_script_lexer_record_start): Likewise.
32735 (grub_script_lexer_record_stop): Likewise.
32736 (grub_script_mem_record): Likewise.
32737 (grub_script_mem_record_stop): Likewise.
32738 (grub_script_malloc): Likewise.
32739 (grub_script_yylex): Likewise.
32740 (grub_script_yyparse): Likewise.
32741 (grub_script_yyerror): Likewise.
32742 (grub_script_yylex): Likewise.
32743 (grub_script_lexer_init): Return the state.
32744
32745 * normal/lexer.c (grub_script_lexer_state): Removed variable.
32746 (grub_script_lexer_done): Likewise.
32747 (grub_script_lexer_getline): Likewise.
32748 (grub_script_lexer_refs): Likewise.
32749 (script): Likewise.
32750 (newscript): Likewise.
32751 (record): Likewise.
32752 (recording): Likewise.
32753 (recordpos): Likewise.
32754 (recordlen): Likewise.
32755 (grub_script_lexer_init): Return the state instead of setting
32756 global variables.
32757 (grub_script_lexer_ref): Use the newly added argument for state
32758 instead of globals.
32759 (grub_script_lexer_deref): Likewise.
32760 (grub_script_lexer_record_start): Likewise.
32761 (grub_script_lexer_record_stop): Likewise.
32762 (recordchar): Likewise.
32763 (nextchar): Likewise.
32764 (grub_script_yylex2): Likewise.
32765 (grub_script_yylex): Likewise.
32766 (grub_script_yyerror): Likewise.
32767
32768 * normal/parser.y (func_mem): Removed variable.
32769 (menu_entry): Likewise.
32770 (err): Likewise.
32771 (%lex-param): New parser option.
32772 (%parse-param): Likewise.
32773 (script): Always return the AST.
32774 (argument): Pass the state around.
32775 (arguments): Likewise.
32776 (grubcmd): Likewise.
32777 (commands): Likewise.
32778 (function): Likewise.
32779 (menuentry): Likewise.
32780 (if_statement): Likewise.
32781 (if): Likewise.
32782
32783 * normal/script.c (grub_script_memused): Removed variable.
32784 (grub_script_parsed): Likewise.
32785 (grub_script_malloc): Added a state argument. Use that instead of
32786 global variables.
32787 (grub_script_mem_record): Likewise.
32788 (grub_script_mem_record_stop): Likewise.
32789 (grub_script_arg_add): Likewise.
32790 (grub_script_add_arglist): Likewise.
32791 (grub_script_create_cmdline): Likewise.
32792 (grub_script_create_cmdif): Likewise.
32793 (grub_script_create_cmdmenu): Likewise.
32794 (grub_script_add_cmd): Likewise.
32795 (grub_script_parse): Setup the state before calling the parser.
32796
32797 2006-04-16 Marco Gerards <marco@gnu.org>
32798
32799 * normal/command.c (grub_command_init): Remove the title command.
32800
32801 * normal/lexer.c (grub_script_yylex): Renamed from this...
32802 (grub_script_yylex2): ... to this.
32803 (grub_script_yylex): New function. Temporary
32804 introduced to filter some tokens.
32805 (grub_script_yyerror): Print a newline.
32806
32807 * normal/main.c (read_config_file): Output information about the
32808 lines that contain errors. Wait for a key after all lines have
32809 been processed. Don't return an empty menu.
32810
32811 * normal/parser.y (func_mem): Don't initialize.
32812 (menu_entry): Likewise.
32813 (err): New variable.
32814 (script): Don't return anything when an error was encountered.
32815 (ws, returns): Removed rules.
32816 (argument): Disabled concatenated variable support.
32817 (arguments): Remove explicit separators.
32818 (grubcmd): Likewise.
32819 (function): Likewise.
32820 (menuentry): Likewise.
32821 (if): Likewise.
32822 (commands): Likewise. Add error handling.
32823
32824 * normal/script.c (grub_script_create_cmdline): If
32825 `grub_script_parsed' is 0, assume the parser encountered an error.
32826
32827 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
32828
32829 * configure.ac: Add support for EFI. Fix the typo
32830 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
32831
32832 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
32833
32834 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
32835 foreign multibyte characters should be shown correctly.
32836
32837 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
32838
32839 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
32840 calculation.
32841 (read_config_file): Made it to close file before returning.
32842
32843 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
32844
32845 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
32846 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
32847 video/i386/pc/vbefill.c.
32848
32849 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
32850 video/i386/pc/vbefill.c.
32851
32852 * include/grub/video.h (grub_video_blit_format): New enum.
32853 (grub_video_mode_info): Added new member blit_format.
32854 (grub_video_get_blit_format): New function prototype.
32855
32856 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
32857 function prototype.
32858 (grub_video_vbe_map_rgb): Likewise.
32859 (grub_video_vbe_unmap_color): Likewise.
32860
32861 * include/grub/i386/pc/vbeblit.h: New file.
32862
32863 * include/grub/i386/pc/vbefill.h: New file.
32864
32865 * video/video.c (grub_video_get_blit_format): New function.
32866 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
32867 (grub_video_vbe_map_rgb): Likewise.
32868 (grub_video_vbe_unmap_color): Likewise.
32869
32870 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
32871 optimized fills.
32872 (grub_video_vbe_blit_render_target): Changed to use more optimized
32873 blits.
32874 (grub_video_vbe_setup): Added detection for optimized settings.
32875 (grub_video_vbe_create_render_target): Likewise.
32876
32877 * video/i386/pc/vbeblit.c: New file.
32878
32879 * video/i386/pc/vbefill.c: New file.
32880
32881 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
32882
32883 * font/manager.c (grub_font_get_glyph): Removed font fixup from
32884 here...
32885
32886 * util/unifont2pff.rb: ... and moved it to here. Improved argument
32887 parsing to support both hex and dec ranges. If filename was missing
32888 show usage information.
32889
32890 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
32891
32892 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
32893 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
32894
32895 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
32896 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
32897 (video_mod_SOURCES): Added.
32898 (video_mod_CFLAGS): Likewise.
32899 (video_mod_LDFLAGS): Likewise.
32900 (gfxterm_mod_SOURCES): Likewise.
32901 (gfxterm_mod_CFLAGS): Likewise.
32902 (gfxterm_mod_LDFLAGS): Likewise.
32903 (videotest_mod_SOURCES): Likewise.
32904 (videotest_mod_CFLAGS): Likewise.
32905 (videotest_mod_LDFLAGS): Likewise.
32906 (vesafb_mod_SOURCES): Removed.
32907 (vesafb_mod_CFLAGS): Likewise.
32908 (vesafb_mod_LDFLAGS): Likewise.
32909 (vga_mod_SOURCES): Likewise.
32910 (vga_mod_CFLAGS): Likewise.
32911 (vga_mod_LDFLAGS): Likewise.
32912
32913 * commands/videotest.c: New file.
32914
32915 * font/manager.c (fill_with_default_glyph): Modified to use
32916 grub_font_glyph.
32917 (grub_font_get_glyph): Likewise.
32918 (fontmanager): Renamed from this...
32919 (font_manager): ... to this.
32920
32921 * include/grub/font.h (grub_font_glyph): Added new structure.
32922 (grub_font_get_glyph): Modified to use grub_font_glyph.
32923
32924 * include/grub/misc.h (grub_abs): Added as inline function.
32925
32926 * include/grub/video.h: New file.
32927
32928 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
32929 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
32930 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
32931 (grub_vbe_get_controller_info): Renamed from this...
32932 (grub_vbe_bios_get_controller_info): ... to this.
32933 (grub_vbe_get_mode_info): Renamed from this...
32934 (grub_vbe_bios_get_mode_info): ... to this.
32935 (grub_vbe_set_mode): Renamed from this...
32936 (grub_vbe_bios_set_mode): ... to this.
32937 (grub_vbe_get_mode): Renamed from this...
32938 (grub_vbe_bios_get_mode): ... to this.
32939 (grub_vbe_set_memory_window): Renamed from this...
32940 (grub_vbe_bios_set_memory_window): ... to this.
32941 (grub_vbe_get_memory_window): Renamed from this...
32942 (grub_vbe_bios_get_memory_window): ... to this.
32943 (grub_vbe_set_scanline_length): Renamed from this...
32944 (grub_vbe_set_scanline_length): ... to this.
32945 (grub_vbe_get_scanline_length): Renamed from this...
32946 (grub_vbe_bios_get_scanline_length): ... to this.
32947 (grub_vbe_set_display_start): Renamed from this...
32948 (grub_vbe_bios_set_display_start): ... to this.
32949 (grub_vbe_get_display_start): Renamed from this...
32950 (grub_vbe_bios_get_display_start): ... to this.
32951 (grub_vbe_set_palette_data): Renamed from this...
32952 (grub_vbe_bios_set_palette_data): ... to this.
32953 (grub_vbe_set_pixel_rgb): Removed.
32954 (grub_vbe_set_pixel_index): Likewise.
32955
32956 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
32957 from this...
32958 (grub_vbe_bios_get_controller_info): ... to this.
32959 (grub_vbe_get_mode_info): Renamed from this...
32960 (grub_vbe_bios_get_mode_info): ... to this.
32961 (grub_vbe_set_mode): Renamed from this...
32962 (grub_vbe_bios_set_mode): ... to this.
32963 (grub_vbe_get_mode): Renamed from this...
32964 (grub_vbe_bios_get_mode): ... to this.
32965 (grub_vbe_set_memory_window): Renamed from this...
32966 (grub_vbe_bios_set_memory_window): ... to this.
32967 (grub_vbe_get_memory_window): Renamed from this...
32968 (grub_vbe_bios_get_memory_window): ... to this.
32969 (grub_vbe_set_scanline_length): Renamed from this...
32970 (grub_vbe_set_scanline_length): ... to this.
32971 (grub_vbe_get_scanline_length): Renamed from this...
32972 (grub_vbe_bios_get_scanline_length): ... to this.
32973 (grub_vbe_set_display_start): Renamed from this...
32974 (grub_vbe_bios_set_display_start): ... to this.
32975 (grub_vbe_get_display_start): Renamed from this...
32976 (grub_vbe_bios_get_display_start): ... to this.
32977 (grub_vbe_set_palette_data): Renamed from this...
32978 (grub_vbe_bios_set_palette_data): ... to this.
32979 (grub_vbe_bios_get_controller_info): Fixed problem with registers
32980 getting corrupted after calling it. Added more pushes and pops.
32981 (grub_vbe_bios_set_mode): Likewise.
32982 (grub_vbe_bios_get_mode): Likewise.
32983 (grub_vbe_bios_get_memory_window): Likewise.
32984 (grub_vbe_bios_set_scanline_length): Likewise.
32985 (grub_vbe_bios_get_scanline_length): Likewise.
32986 (grub_vbe_bios_get_display_start): Likewise.
32987 (grub_vbe_bios_set_palette_data): Likewise.
32988
32989 * normal/cmdline.c (cl_set_pos): Refresh the screen.
32990 (cl_insert): Likewise.
32991 (cl_delete): Likewise.
32992
32993 * term/gfxterm.c: New file.
32994
32995 * term/i386/pc/vesafb.c: Removed file.
32996
32997 * video/video.c: New file.
32998
32999 * video/i386/pc/vbe.c (real2pm): Added new function.
33000 (grub_video_vbe_draw_pixel): Likewise.
33001 (grub_video_vbe_get_video_ptr): Likewise.
33002 (grub_video_vbe_get_pixel): Likewise
33003 (grub_video_vbe_init): Likewise.
33004 (grub_video_vbe_fini): Likewise.
33005 (grub_video_vbe_setup): Likewise.
33006 (grub_video_vbe_get_info): Likewise.
33007 (grub_video_vbe_set_palette): Likewise.
33008 (grub_video_vbe_get_palette): Likewise.
33009 (grub_video_vbe_set_viewport): Likewise.
33010 (grub_video_vbe_get_viewport): Likewise.
33011 (grub_video_vbe_map_color): Likewise.
33012 (grub_video_vbe_map_rgb): Likewise.
33013 (grub_video_vbe_map_rgba): Likewise.
33014 (grub_video_vbe_unmap_color): Likewise.
33015 (grub_video_vbe_fill_rect): Likewise.
33016 (grub_video_vbe_blit_glyph): Likewise.
33017 (grub_video_vbe_blit_bitmap): Likewise.
33018 (grub_video_vbe_blit_render_target): Likewise.
33019 (grub_video_vbe_scroll): Likewise.
33020 (grub_video_vbe_swap_buffers): Likewise.
33021 (grub_video_vbe_create_render_target): Likewise.
33022 (grub_video_vbe_delete_render_target): Likewise.
33023 (grub_video_vbe_set_active_render_target): Likewise.
33024 (grub_vbe_set_pixel_rgb): Remove function.
33025 (grub_vbe_set_pixel_index): Likewise.
33026 (index_color_mode): Remove static variable.
33027 (active_mode): Likewise.
33028 (framebuffer): Likewise.
33029 (bytes_per_scan_line): Likewise.
33030 (grub_video_vbe_adapter): Added new static variable.
33031 (framebuffer): Likewise.
33032 (render_target): Likewise.
33033 (initial_mode): Likewise.
33034 (mode_in_use): Likewise.
33035 (mode_list): Likewise.
33036
33037 2006-03-10 Marco Gerards <marco@gnu.org>
33038
33039 * configure.ac (AC_INIT): Bumped to 1.93.
33040
33041 * DISTLIST: Added `include/grub/hfs.h'.
33042
33043 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
33044
33045 * boot/i386/pc/boot.S (general_error): Before looping, try INT
33046 18H, which might help the BIOS falling back to next boot media.
33047
33048 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
33049
33050 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
33051 Poe Chen <poe.poechen@gmail.com>.
33052
33053 2006-01-17 Marco Gerards <marco@gnu.org>
33054
33055 * include/grub/normal.h: Include <grub/script.h>.
33056 (grub_command_list): Removed struct.
33057 (grub_command_list_t): Removed type.
33058 (grub_menu_entry): Remove members `num' and `command_list'. Add
33059 members `commands' and `sourcecode'.
33060 * include/grub/script.h: Add inclusion guards.
33061 (grub_script_cmd_menuentry): New struct.
33062 (grub_script_execute_menuentry): New prototype.
33063 (grub_script_lexer_record_start): Likewise.
33064 (grub_script_lexer_record_stop): Likewise.
33065 * normal/execute.c (grub_script_execute_menuentry): New function.
33066 * normal/lexer.c (record, recording, recordpos, recordlen): New
33067 variables.
33068 (grub_script_lexer_record_start): New function.
33069 (grub_script_lexer_record_stop): Likewise.
33070 (recordchar): Likewise.
33071 (nextchar): Likewise.
33072 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
33073 2048 as the buffer size. Add the tokens `menuentry' and `@'.
33074 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
33075 (current_menu): New variable.
33076 (free_menu): Mainly rewritten.
33077 (grub_normal_menu_addentry): New function.
33078 (read_config_file): Rewritten.
33079 * normal/menu.c (run_menu_entry): Mainly rewritten.
33080 * normal/menu_entry.c (make_screen): Rewritten the code to insert
33081 the menu entry.
33082 (run): Mainly rewritten.
33083 * normal/parser.y (menu_entry): New variable.
33084 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
33085 (menuentry): New rule.
33086 (command): Add `menuentry'.
33087 (if_statement): Allow additional returns before `fi'.
33088 * normal/script.c (grub_script_create_cmdmenu): New function.
33089
33090 2006-01-03 Marco Gerards <marco@gnu.org>
33091
33092 * INSTALL: GNU Bison is required.
33093 * configure.ac: Rewritten the test to detect Bison.
33094 * Makefile.in (YACC): New variable. Reported by Xun Sun
33095 <xun.sun.cn@gmail.com>.
33096
33097 2006-01-03 Marco Gerards <marco@gnu.org>
33098
33099 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
33100 the HFS+ filesystem to filesystem blocks.
33101 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
33102 GCC warning is silenced.
33103
33104 2006-01-03 Marco Gerards <marco@gnu.org>
33105
33106 * partmap/apple.c (apple_partition_map_iterate): Convert the data
33107 read from disk from big endian to host byte order.
33108
33109 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
33110
33111 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
33112 documentation.
33113 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
33114 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
33115 embedded HFS+ filesystem.
33116 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
33117 (grub_hfs_sblock): Move from here...
33118 * include/grub/hfs.h: To here... New file.
33119 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
33120 documentation.
33121 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
33122 New macros.
33123 (grub_hfsplus_volheader): Change type of member `magic' to
33124 `grub_uint16_t'.
33125 (grub_hfsplus_data): Add new member `embedded_offset'.
33126 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
33127 returned block.
33128 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
33129 Calculate the offset.
33130
33131 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33132
33133 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
33134 Removed.
33135 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
33136
33137 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33138
33139 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
33140 ENV->NAME is NULL after allocating ENV->VALUE.
33141
33142 2005-12-25 Marco Gerards <marco@gnu.org>
33143
33144 * kern/env.c (grub_env_set): Rewritten the error handling code.
33145
33146 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33147
33148 * geninit.sh: Made more robust, and more portable.
33149
33150 2005-12-25 Marco Gerards <marco@gnu.org>
33151
33152 Add support for Apple HFS+ filesystems.
33153
33154 * fs/hfsplus.c: New file.
33155
33156 * DISTLIST: Added `fs/hfsplus.c'.
33157
33158 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
33159 (hfsplus_mod_SOURCES): New variable.
33160 (hfsplus_mod_CFLAGS): Likewise.
33161 (hfsplus_mod_LDFLAGS): Likewise.
33162 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
33163 (grub_setup_SOURCES): Likewise.
33164 (grub_mkdevicemap_SOURCES): Likewise.
33165 (grub_emu_SOURCES): Likewise.
33166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33167
33168 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
33169
33170 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
33171
33172 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33173
33174 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
33175 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
33176 include/grub/parser.h, include/grub/script.h, kern/parser.c,
33177 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
33178 normal/lexer.c, normal/parser.y, normal/script.c, and
33179 partmap/gpt.c.
33180 Removed kern/sparc64/cache.c.
33181
33182 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
33183 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
33184 grub_emu_init.c.
33185
33186 * configure.ac (AC_INIT): Bumped to 1.92.
33187
33188 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
33189
33190 * kern/err.c (grub_error_push): Added new function to support error
33191 stacks.
33192 (grub_error_pop): Likewise.
33193 (grub_error_stack_items): New local variable to support error stacks.
33194 (grub_error_stack_pos): Likewise.
33195 (grub_error_stack_assert): Likewise.
33196 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
33197 stack depth.
33198 (grub_print_error): Added support to print errors from error stack.
33199
33200 * include/grub/err.h (grub_error_push): Added function prototype.
33201 (grub_error_pop): Likewise.
33202
33203 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
33204
33205 * configure.ac: Accept `powerpc64' as host_cpu.
33206 (amd64): Rename to `biarch32'.
33207
33208 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
33209 non-cacheline-aligned addresses.
33210
33211 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
33212 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
33213 if `size' is non-zero.
33214
33215 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
33216
33217 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
33218 and `cd' to make sure the filename is not prefixed with a
33219 directory name.
33220 (pkgdata_MODULES): Add `gpt.mod'.
33221 (gpt_mod_SOURCES): New variable.
33222 (gpt_mod_CFLAGS): Likewise.
33223 (gpt_mod_LDFLAGS): Likewise.
33224
33225 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
33226
33227 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
33228 New macro.
33229
33230 * partmap/gpt.c: New file.
33231
33232 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
33233 GPT partition map is detected.
33234
33235 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
33236
33237 * commands/i386/pc/play.c: New file.
33238 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
33239 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
33240 macros.
33241
33242 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
33243
33244 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
33245 ((unused))' to silence gcc warning.
33246
33247 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
33248
33249 * configure.ac: Correct `AC_PROG_YACC' test.
33250
33251 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33252
33253 * util/powerpc/ieee1275/grub-install.in: Run the mount point
33254 check before installing files.
33255
33256 2005-11-22 Mike Small <smallm@panix.com>
33257
33258 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
33259 number regex so multidigit numbers are recognized correctly.
33260
33261 2005-11-22 Mike Small <smallm@panix.com>
33262
33263 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
33264 debugging message before attempting to claim memory.
33265 (grub_rescue_cmd_initrd): Add a claim debugging message and try
33266 multiple addresses in case of failure.
33267
33268 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33269
33270 * term/tparm.c (get_space): Remove empty `if' statement.
33271
33272 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
33273
33274 * kern/parser.c (check_varstate): Rename `state' to 's'.
33275
33276 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33277
33278 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
33279 variable definitions to the beginning of each function. Sort stack
33280 variables by size.
33281 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
33282 `buf' argument to `char *'.
33283
33284 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33285
33286 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
33287 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
33288 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
33289 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33290 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33291 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33292 configfile.mod, search.mod, gzio.mod and test.mod.
33293 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33294 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33295 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33296 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33297 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33298 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33299 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33300 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33301 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33302 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33303 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33304 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33305 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33306 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33307 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33308 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33309 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33310 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33311 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33312 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33313 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33314 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33315 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
33316
33317 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
33318 `grep --include'.
33319 (pkgdata_MODULES): Add test.mod.
33320
33321 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33322
33323 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
33324 appending to variables with "+=".
33325 (PModule): Use full pathname to generate *.lst filenames.
33326
33327 * Makefile.in: Fixed list rules moved from genmk.rb.
33328 (.DELETE_ON_ERROR): New special target.
33329 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
33330
33331 * conf/i386-pc.rmk: Include conf/common.mk.
33332 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
33333 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
33334 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33335 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33336 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33337 configfile.mod, search.mod, gzio.mod and test.mod.
33338 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33339 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33340 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33341 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33342 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33343 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33344 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33345 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33346 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33347 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33348 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33349 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33350 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33351 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33352 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33353 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33354 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33355 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33356 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33357 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33358 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33359 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33360 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
33361 here...
33362 * conf/common.rmk: ... to here. New file.
33363
33364 * conf/common.mk: New file.
33365
33366 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
33367
33368 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
33369 (grub_script.tab.c): ... here.
33370
33371 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
33372 (grub_script.tab.c): ... here.
33373
33374 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
33375 (grub_script.tab.c): ... here.
33376
33377 * normal/command.c (grub_command_find): Fixed a memory leak of
33378 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
33379
33380 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33381
33382 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
33383 "@" which marks the start of a comment on ARM.
33384 (VARIABLE): Likewise.
33385
33386 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33387
33388 Add support for Linux/ADFS partition tables.
33389
33390 * partmap/acorn.c: New file.
33391
33392 * include/grub/acorn_filecore.h: Likewise.
33393
33394 * DISTLIST: Added `partmap/acorn.c' and
33395 `include/grub/acorn_filecore.h'.
33396
33397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33398 `partmap/acorn.c'.
33399 (pkgdata_MODULES): Add `acorn.mod'.
33400 (acorn_mod_SOURCES): New variable.
33401 (acorn_mod_CFLAGS): Likewise.
33402
33403 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33404 `partmap/acorn.c'.
33405 (pkgdata_MODULES): Add `acorn.mod'.
33406 (acorn_mod_SOURCES): New variable.
33407 (acorn_mod_CFLAGS): Likewise.
33408
33409 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
33410 (pkgdata_MODULES): Add `acorn.mod'.
33411 (acorn_mod_SOURCES): New variable.
33412 (acorn_mod_CFLAGS): Likewise.
33413 (acorn_mod_LDFLAGS): Likewise.
33414
33415 * include/types.h (grub_disk_addr_t): New typedef.
33416
33417 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
33418
33419 * geninit.sh: New file.
33420
33421 * geninitheader.sh: Likewise.
33422
33423 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
33424 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
33425 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
33426 * commands/configfile.c (grub_configfile_init)
33427 (grub_configfile_fini): Likewise.
33428 * commands/default.c (grub_default_init, grub_default_fini):
33429 Likewise.
33430 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
33431 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
33432 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
33433 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
33434 Likewise.
33435 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
33436 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
33437 Likewise.
33438 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
33439 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
33440 Likewise.
33441 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
33442 Likewise.
33443 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
33444 Likewise.
33445 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
33446 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
33447 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
33448 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
33449 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
33450 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
33451 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
33452 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
33453 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
33454 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
33455 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
33456 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
33457 * partmap/amiga.c (grub_amiga_partition_map_init)
33458 (grub_amiga_partition_map_fini): Likewise.
33459 * partmap/apple.c (grub_apple_partition_map_init)
33460 (grub_apple_partition_map_fini): Likewise.
33461 * partmap/pc.c (grub_pc_partition_map_init)
33462 (grub_pc_partition_map_fini): Likewise.
33463 * partmap/sun.c (grub_sun_partition_map_init,
33464 grub_sun_partition_map_fini): Likewise.
33465 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
33466 Likewise.
33467
33468 * util/grub-emu.c: Include <grub_modules_init.h>.
33469 (main): Don't initialize and de-initialize any modules directly,
33470 use `grub_init_all' and `grub_fini_all' instead.
33471
33472 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
33473 `grub_vesafb_mod_init'.
33474 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
33475 all users.
33476 * term/i386/pc/vga.c (grub_vga_init): Renamed to
33477 `grub_vga_mod_init'. Updated all users.
33478 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
33479
33480 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
33481 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
33482 rules.
33483
33484 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
33485 Generate a function to initialize the module in utilities.
33486 Updated all callers.
33487 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
33488 initialize the module in utilities. Updated all callers.
33489
33490 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33491
33492 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
33493 escape sequence and a literal ^L to clear the screen.
33494
33495 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
33496 when returning from Open Firmware.
33497
33498 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33499
33500 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
33501 (grub_ofconsole_height): Likewise.
33502 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
33503 manually insert a '\n'.
33504 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
33505 `grub_ofconsole_height'. Return early if these are already set.
33506
33507 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
33508
33509 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33510 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
33511 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
33512 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
33513 and `normal/script.c'.
33514 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33515 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33516 (test_mod_SOURCES): New variable.
33517 (test_mod_CFLAGS): Likewise.
33518 (test_mod_LDFLAGS): Likewise.
33519 (pkgdata_MODULES): Add `test.mod'.
33520 (grub_script.tab.c): New rule.
33521 (grub_script.tab.h): Likewise.
33522
33523 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
33524
33525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33526 `commands/test.c', `normal/execute.c', `normal/lexer.c',
33527 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33528 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33529 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33530 (test_mod_SOURCES): New variable.
33531 (test_mod_CFLAGS): Likewise.
33532 (pkgdata_MODULES): Add `test.mod'.
33533 (grub_script.tab.c): New rule.
33534 (grub_script.tab.h): Likewise.
33535
33536 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
33537
33538 Add initial scripting support.
33539
33540 * commands/test.c: New file.
33541 * include/grub/script.h: Likewise.
33542 * normal/execute.c: Likewise.
33543 * normal/function.c: Likewise.
33544 * normal/lexer.c: Likewise.
33545 * normal/parser.y: Likewise.
33546 * normal/script.c: Likewise.
33547
33548 * configure.ac: Add `AC_PROG_YACC' test.
33549
33550 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
33551 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
33552 `normal/function.c' and `normal/script.c'.
33553 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33554 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33555 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
33556 variables.
33557 (pkgdata_MODULES): Add `test.mod'.
33558 (grub_script.tab.c): New rule.
33559 (grub_script.tab.h): Likewise.
33560
33561 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
33562
33563 * include/grub/normal.h (grub_test_init): New prototype.
33564 (grub_test_fini): Likewise.
33565
33566 * normal/command.c: Include <grub/script.h>.
33567 (grub_command_execute): Rewritten.
33568
33569 * util/grub-emu.c (main): Call `grub_test_init' and
33570 `grub_test_fini'.
33571
33572 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33573
33574 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
33575 to 0.
33576 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
33577 there are no pending characters.
33578
33579 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33580
33581 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
33582 `grub_strndup' to drop device arguments. Replace unnecessary
33583 `grub_strndup' with `grub_strdup'.
33584
33585 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33586
33587 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
33588 `debug' environment variable has been set.
33589
33590 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
33591
33592 * Makefile.in (install-local): Use $(DATA).
33593 (uninstall): Likewise.
33594 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
33595 (sbin_UTILITIES): ... to here.
33596 (sbin_SCRIPTS): New variable.
33597 (grub_install_SOURCES): New variable.
33598 * util/powerpc/ieee1275/grub-install.in: New file.
33599 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
33600 variable.
33601 (add_segments): Call `grub_util_get_path'.
33602
33603 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33604
33605 From Timothy Baldwin:
33606 * commands/ls.c (grub_ls_list_files): Close FILE with
33607 grub_file_close.
33608 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
33609
33610 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
33611
33612 * include/grub/parser.h: New file.
33613
33614 * kern/parser.c: Likewise.
33615
33616 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
33617 (grub_setup_SOURCES): Likewise.
33618 (grub_probefs_SOURCES): Likewise.
33619 (grub_emu_SOURCES): Likewise.
33620 (kernel_img_HEADERS): Add `parser.h'.
33621
33622 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33623 (grub_emu_SOURCES): Add `kern/parser.c'.
33624 (grubof_SOURCES): Likewise.
33625
33626 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33627 (grubof_SOURCES): Add `kern/parser.c'.
33628
33629 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
33630
33631 * kern/misc.c (grub_split_cmdline): Removed function.
33632
33633 * kern/rescue.c: Include <grub/parser.h>.
33634 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
33635 of `grub_split_cmdline'.
33636
33637 * normal/command.c: Include <grub/parser.h>.
33638 (grub_command_execute): Use `grub_parser_split_cmdline' instead
33639 of `grub_split_cmdline'.
33640
33641 * normal/completion.c: Include <grub/parser.h>.
33642 (cmdline_state): New variable.
33643 (iterate_dir): End the filename with a quote depending on the
33644 command line state.
33645 (get_state): new function.
33646 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
33647 split the arguments and determine the current argument. When the
33648 argument string is not quoted, escape all spaces.
33649
33650 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33651
33652 * normal/sparc64/setjmp.S: New file.
33653
33654 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33655
33656 * include/grub/sparc64/libgcc.h: New file.
33657 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
33658 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
33659 normal/sparc64/setjmp.c.
33660
33661 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33662
33663 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
33664 * kern/sparc64/cache.S: New file.
33665 * kern/sparc64/cache.c: Removed.
33666 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
33667 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
33668 -mtune=ultrasparc.
33669 (COMMON_LDFLAGS): Add -melf64_sparc.
33670 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
33671 (grubof_SOURCES): Use cache.S instead of cache.c.
33672 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
33673 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
33674 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
33675 commented though.
33676 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
33677 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
33678 (linux_mod_CFLAGS): Commented out.
33679 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
33680 out because module isn't built.
33681 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
33682 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
33683 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
33684 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
33685 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
33686 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
33687 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
33688 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
33689 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
33690 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
33691 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33692 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33693 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
33694 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
33695
33696 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
33697
33698 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
33699 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
33700 longer, because HFS should not be used on PC.
33701
33702 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33703
33704 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
33705 consistently within the loop.
33706
33707 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
33708
33709 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
33710 directory can not be read.
33711
33712 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33713
33714 * configure.ac (AC_INIT): Increase the version number to 1.91.
33715
33716 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
33717 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
33718 term/i386/pc/serial.c.
33719
33720 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33721
33722 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
33723 file size must be permitted.
33724
33725 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
33726 between %ah and %al.
33727
33728 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33729
33730 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
33731 grub_uint64_t.
33732 Call the hook with a NUL-terminated filename.
33733 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
33734 grub_cpu_to_be32.
33735
33736 * kern/term.c (cursor_state): New variable.
33737 (grub_term_set_current): Reset the cursor state on a new
33738 terminal.
33739 (grub_setcursor): Rewritten to use CURSOR_STATE.
33740 (grub_getcursor): New function.
33741
33742 * include/grub/term.h (grub_getcursor): New prototype.
33743
33744 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
33745 integers on ARM. Reported by Timothy Baldwin
33746 <T.E.Baldwin99@members.leeds.ac.uk>.
33747
33748 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
33749
33750 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
33751 allocated.
33752 (grub_sfs_dir): Likewise.
33753
33754 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
33755
33756 Add support for the SFS filesystem.
33757
33758 * fs/sfs.c: New file.
33759
33760 * DISTLIST: Added `fs/sfs.c'.
33761
33762 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
33763 (grub_probefs_SOURCES): Likewise.
33764 (grub_emu_SOURCES): Likewise.
33765 (pkgdata_MODULES): Add `sfs.mod'.
33766 (sfs_mod_SOURCES): New variable.
33767 (sfs_mod_CFLAGS): Likewise.
33768 (sfs_mod_LDFLAGS): Likewise.
33769
33770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
33771 (pkgdata_MODULES): Add `sfs.mod'.
33772 (sfs_mod_SOURCES): New variable.
33773 (sfs_mod_CFLAGS): Likewise.
33774
33775 * util/grub-emu.c (main): Call `grub_sfs_init' and
33776 `grub_sfs_fini'.
33777
33778 * include/grub/fs.h (grub_sfs_init): New prototype.
33779 (grub_sfs_fini): Likewise.
33780
33781 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
33782
33783 Add support for the AFFS filesystem.
33784
33785 * fs/affs.c: New file.
33786
33787 * DISTLIST: Added `fs/affs.c'.
33788
33789 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
33790 (grub_probefs_SOURCES): Likewise.
33791 (grub_emu_SOURCES): Likewise.
33792 (pkgdata_MODULES): Add `affs.mod'.
33793 (affs_mod_SOURCES): New variable.
33794 (affs_mod_CFLAGS): Likewise.
33795 (affs_mod_LDFLAGS): Likewise.
33796
33797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
33798 (pkgdata_MODULES): Add `affs.mod'.
33799 (affs_mod_SOURCES): New variable.
33800 (affs_mod_CFLAGS): Likewise.
33801
33802 * util/grub-emu.c (main): Call `grub_affs_init' and
33803 `grub_affs_fini'.
33804
33805 * include/grub/fs.h (grub_affs_init): New prototype.
33806 (grub_affs_fini): Likewise.
33807
33808 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
33809
33810 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
33811
33812 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
33813
33814 * configure.ac: Accept `x86_64' as host_cpu. In that case add
33815 `-m32' to CFLAGS.
33816
33817 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
33818 linking.
33819
33820 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
33821 (COMMON_LDFLAGS): New variable.
33822 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
33823 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
33824 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
33825 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
33826 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
33827 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
33828 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
33829 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
33830 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
33831 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
33832 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
33833 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
33834 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
33835 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
33836 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
33837 variables.
33838 (normal_mod_ASFLAGS): Add `-m32'.
33839
33840 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
33841 (grub_host_size_t, grub_host_ssize_t): New types.
33842 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
33843 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
33844 `GRUB_HOST_SIZEOF_VOID_P'.
33845
33846 * include/grub/kernel.h (struct grub_module_header): Type of
33847 member offset changed to `grub_host_off_t'. Type of member size
33848 changed to `grub_host_size_t'.
33849 (struct grub_module_info): Type of member offset changed to
33850 `grub_host_off_t'. Type of member size changed to
33851 `grub_host_size_t'.
33852
33853 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
33854
33855 Make GRUB's kernel compliant to Multiboot Specification.
33856
33857 * kern/i386/pc/startup.S (multiboot_header): New label.
33858 (multiboot_entry): Likewise.
33859 (multiboot_trampoline): Likewise.
33860
33861 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33862 Increased to 0x4A0.
33863
33864 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
33865 put parentheses after a question mark.
33866 [!GRUB_UTIL] (my_mod): New variable.
33867
33868 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
33869
33870 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
33871
33872 Adds support for the XFS filesystem. Btrees are not supported
33873 yet.
33874
33875 * fs/xfs.c: New file.
33876
33877 * DISTLIST: Added `fs/xfs.c'.
33878
33879 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
33880 (grub_probefs_SOURCES): Likewise.
33881 (grub_emu_SOURCES): Likewise.
33882 (pkgdata_MODULES): Add `xfs.mod'.
33883 (xfs_mod_SOURCES): New variable.
33884 (xfs_mod_CFLAGS): Likewise.
33885
33886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
33887 (pkgdata_MODULES): Add `xfs.mod'.
33888 (xfs_mod_SOURCES): New variable.
33889 (xfs_mod_CFLAGS): Likewise.
33890
33891 * util/grub-emu.c (main): Call `grub_xfs_init' and
33892 `grub_xfs_fini'.
33893
33894 * include/grub/fs.h (grub_xfs_init): New prototype.
33895 (grub_xfs_fini): Likewise.
33896
33897
33898 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
33899
33900 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
33901 color modes, allow greater than 16 colors to be configured as
33902 a default palette.
33903
33904 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33905
33906 * normal/completion.c (complete_arguments): Add the qualifier
33907 const into OPTIONS.
33908
33909 From Omniflux <omniflux+lists@omniflux.com>:
33910 * include/grub/terminfo.h: New file.
33911 * include/grub/tparm.h: Likewise.
33912 * include/grub/i386/pc/serial.h: Likewise.
33913 * term/terminfo.c: Likewise.
33914 * term/tparm.c: Likewise.
33915 * term/i386/pc/serial.c: Likewise.
33916 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
33917 serial.mod.
33918 (terminfo_mod_SOURCES): New variable.
33919 (terminfo_mod_CFLAGS): Likewise.
33920 (serial_mod_SOURCES): Likewise.
33921 (serial_mod_CFLAGS): Likewise.
33922
33923 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
33924
33925 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
33926 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
33927 and kern/powerpc/ieee1275/cmain.c, respectively.
33928
33929 * boot/powerpc/ieee1275/crt0.S: Moved to ...
33930 * kern/powerpc/ieee1275/crt0.S: ... here.
33931
33932 * boot/powerpc/ieee1275/cmain.c: Moved to ...
33933 * kern/powerpc/ieee1275/cmain.c: ... here.
33934
33935 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
33936 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
33937 instead of boot/powerpc/ieee1275/crt0.S and
33938 boot/powerpc/ieee1275/cmain.c, respectively.
33939
33940 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
33941 sectors. It was not used anyway.
33942
33943 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
33944
33945 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
33946 `unused parameter' warning.
33947
33948 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
33949
33950 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
33951 function.
33952 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
33953 getcharwidth.
33954
33955 2005-08-28 Marco Gerards <metgerards@student.han.nl>
33956
33957 * include/grub/normal.h (enum grub_completion_type): Added
33958 `GRUB_COMPLETION_TYPE_ARGUMENT'.
33959
33960 * normal/cmdline.c (print_completion): Handle
33961 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
33962 * normal/menu_entry.c (store_completion): Likewise.
33963
33964 * normal/completion.c (complete_arguments): New function.
33965 (grub_normal_do_completion): Call `complete_arguments' when the
33966 current words start with a dash.
33967
33968 2005-08-27 Marco Gerards <metgerards@student.han.nl>
33969
33970 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
33971 `gzio.mod' instead of `io.mod').
33972
33973 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
33974
33975 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
33976 (DISTDIRS): Added io and video.
33977 Rewrite the search routine to make an output consistently.
33978
33979 * DISTLIST: Added conf/sparc64-ieee1275.mk,
33980 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
33981 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
33982 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
33983 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
33984 util/powerpc/ieee1275/misc.c.
33985
33986 * include/grub/gzio.h: New file.
33987 * io/gzio.c: Likewise.
33988
33989 * kern/file.c (grub_file_close): Call grub_device_close only if
33990 FILE->DEVICE is not NULL.
33991
33992 * include/grub/mm.h [!NULL] (NULL): New macro.
33993
33994 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
33995
33996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
33997 (pkgdata_MODULES): Added gzio.mod.
33998 (gzio_mod_SOURCES): New variable.
33999 (gzio_mod_CFLAGS): Likewise.
34000
34001 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
34002 (pkgdata_MODULES): Added gzio.mod.
34003 (gzio_mod_SOURCES): New variable.
34004 (gzio_mod_CFLAGS): Likewise.
34005
34006 * commands/cat.c: Include grub/gzio.h.
34007 (grub_cmd_cat): Use grub_gzfile_open instead of
34008 grub_file_open.
34009
34010 * commands/cmp.c: Include grub/gzio.h.
34011 (grub_cmd_cmp): Use grub_gzfile_open instead of
34012 grub_file_open.
34013
34014 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
34015 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
34016 grub_file_open.
34017 (grub_rescue_cmd_module): Likewise.
34018
34019 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34020
34021 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
34022 kern/sparc64/ieee1275/init.c because it contains _start.
34023 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
34024
34025 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34026
34027 * configure.ac: Add support for sparc64 host with ieee1275
34028 firmware.
34029 * configure: Generated from configure.ac.
34030 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
34031 instead of int.
34032 (grub_ofdisk_read): Likewise.
34033 (grub_ofdisk_open): Use %p to print pointer values, and cast the
34034 pointers as (void *) to remove a warning.
34035 (grub_ofdisk_close): Likewise.
34036 (grub_ofdisk_read): Likewise.
34037 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
34038 returns, so make it return void to remove a warning.
34039 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
34040 Corresponding prototype change.
34041 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
34042 values, and cast the pointers as (void *) to remove a warning.
34043 (grub_mm_dump): Likewise.
34044 * conf/sparc64-ieee1275.mk: New file.
34045 * conf/sparc64-ieee1275.rmk: Likewise.
34046 * include/grub/sparc64/setjmp.h: Likewise.
34047 * include/grub/sparc64/types.h: Likewise.
34048 * include/grub/sparc64/ieee1275/console.h: Likewise.
34049 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34050 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34051 * include/grub/sparc64/ieee1275/time.h: Likewise.
34052 * kern/sparc64/cache.c: Likewise.
34053 * kern/sparc64/dl.c: Likewise.
34054 * kern/sparc64/ieee1275/init.c: Likewise.
34055 * kern/sparc64/ieee1275/openfw.c: Likewise.
34056
34057 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34058
34059 * util/console.c (grub_ncurses_putchar): If C is greater than
34060 0x7f, set C to a question mark.
34061 (grub_ncurses_getcharwidth): New function.
34062 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
34063 getcharwidth.
34064
34065 * normal/menu.c (print_entry): Made aware of Unicode. First,
34066 convert TITLE to UCS-4, and predict the cursor position by
34067 grub_getcharwidth.
34068
34069 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
34070 const to SRC.
34071 * kern/misc.c (grub_utf16_to_utf8): Likewise.
34072
34073 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34074
34075 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
34076 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34077 grub_strcat.
34078
34079 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
34080 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34081 grub_strcpy and grub_strlen. Take it into account that a space
34082 character is inserted as a delimiter.
34083
34084 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34085
34086 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
34087 invalid magic in the error.
34088
34089 * commands/search.c: New file.
34090
34091 * util/grub-emu.c (main): Call grub_search_init and
34092 grub_search_fini.
34093
34094 * kern/rescue.c (grub_rescue_print_disks): Removed.
34095 (grub_rescue_print_devices): New function.
34096 (grub_rescue_cmd_ls): Use grub_device_iterate with
34097 grub_rescue_print_devices instead of grub_disk_dev_iterate with
34098 grub_rescue_print_disks.
34099
34100 * kern/partition.c (grub_partition_iterate): Return the result of
34101 PARTMAP->ITERATE instead of GRUB_ERRNO.
34102
34103 * kern/device.c: Include grub/partition.h.
34104 (grub_device_iterate): New function.
34105
34106 * include/grub/partition.h (grub_partition_iterate): Return int
34107 instead of grub_err_t.
34108
34109 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
34110 prototype.
34111 [GRUB_UTIL] (grub_search_fini): Likewise.
34112
34113 * include/grub/device.h (grub_device_iterate): New prototype.
34114
34115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34116 commands/search.c.
34117 (pkgdata_MODULES): Added search.mod.
34118 (search_mod_SOURCES): New variable.
34119 (search_mod_CFLAGS): Likewise.
34120
34121 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
34122 (pkgdata_MODULES): Added search.mod.
34123 (search_mod_SOURCES): New variable.
34124 (search_mod_CFLAGS): Likewise.
34125
34126 * commands/ls.c (grub_ls_list_disks): Renamed to ...
34127 (grub_ls_list_devices): ... this, and use grub_device_iterate.
34128 All callers changed.
34129
34130 * DISTLIST: Added commands/search.c.
34131
34132 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34133
34134 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
34135 conversion.
34136 (grub_getcharwidth): New function.
34137
34138 * kern/misc.c (grub_utf8_to_ucs4): New function.
34139
34140 * include/grub/term.h (struct grub_term): Added a new member
34141 "getcharwidth".
34142 (grub_getcharwidth): New prototype.
34143
34144 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
34145
34146 * term/i386/pc/console.c (map_char): New function. Segregated from
34147 grub_console_putchar.
34148 (grub_console_putchar): Use map_char.
34149 (grub_console_getcharwidth): New function.
34150 (grub_console_term): Specified grub_console_getcharwidth as
34151 getcharwidth.
34152
34153 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
34154 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
34155
34156 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
34157 GRUB_ERRNO.
34158 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
34159 on grub_strtoul completely.
34160 (write_char): Declare local variables in the beginning of the
34161 function.
34162 (grub_vesafb_getcharwidth): New function.
34163 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
34164 getcharwidth.
34165
34166 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
34167
34168 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
34169 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
34170 commands/i386/pc/vbetest.c.
34171
34172 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
34173 call grub_vbe_get_controller_info again, because the returned
34174 information is volatile.
34175 (grub_vbe_set_video_mode): Mostly rewritten.
34176 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
34177 grub_vbe_status_t correctly.
34178 (grub_vbe_get_video_mode_info): Likewise.
34179 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
34180 several if statements.
34181
34182 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
34183 * commands/i386/pc/vbeinfo.c: ... this.
34184
34185 * commands/i386/pc/vbe_test.c: Renamed to ...
34186 * commands/i386/pc/vbetest.c: ... this.
34187
34188 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
34189 ...
34190 (grub_cmd_vbeinfo): ... this. Save video modes before
34191 iterating. Skip a video mode, if it is not available, not enough
34192 information is given or it is monochrome. Show the memory
34193 model. Leave the interpretation of MODEVAR to grub_strtoul
34194 completely.
34195 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
34196 (GRUB_MOD_FINI): Likewise.
34197
34198 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
34199 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
34200 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
34201 duplicated grub_env_get. Leave the interpretation of MODEVAR to
34202 grub_strtoul completely.
34203 (real2pm): Removed.
34204 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
34205 (GRUB_MOD_FINI): Likewise.
34206
34207 * normal/misc.c: Include grub/mm.h.
34208
34209 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
34210 vbe_list_modes with vbetest.mod and vbeinfo.mod.
34211 (vbe_list_modes_mod_SOURCES): Removed.
34212 (vbe_list_modes_mod_CFLAGS): Likewise.
34213 (vbe_test_mod_SOURCES): Likewise.
34214 (vbe_test_mod_CFLAGS): Likewise.
34215 (vbeinfo_mod_SOURCES): New variable.
34216 (vbeinfo_mod_CFLAGS): Likewise.
34217 (vbetest_mod_SOURCES): Likewise.
34218 (vbetest_mod_CFLAGS): Likewise.
34219
34220 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
34221
34222 * normal/misc.c: New file.
34223
34224 * DISTLIST: Added normal/misc.c.
34225
34226 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
34227 DISK to HOOK. Call HOOK with DISK.
34228 * partmap/apple.c (apple_partition_map_iterate): Likewise.
34229 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34230 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34231
34232 * normal/menu_entry.c (struct screen): Added a new member
34233 "completion_shown".
34234 (completion_buffer): New global variable.
34235 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
34236 (store_completion): New function.
34237 (complete): Likewise.
34238 (clear_completions): Likewise.
34239 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
34240 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
34241 a tab, call complete.
34242
34243 * normal/completion.c (disk_dev): Removed.
34244 (print_simple_completion): Likewise.
34245 (print_partition_completion): Likewise.
34246 (print_func): New global variable.
34247 (add_completion): Do not take the arguments WHAT or PRINT any
34248 longer. Added a new argument TYPE. Instead of printing directly,
34249 call PRINT_FUNC if not NULL.
34250 All callers changed.
34251 (complete_device): Use a local variable DEV instead of
34252 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
34253 (grub_normal_do_completion): Take a new argument HOOK. Do not
34254 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
34255 empty string, return NULL instead.
34256 All callers changed.
34257
34258 * normal/cmdline.c (print_completion): New function.
34259
34260 * kern/partition.c (grub_partition_iterate): Add an argument DISK
34261 to HOOK.
34262 All callers changed.
34263
34264 * kern/disk.c (grub_print_partinfo): Removed.
34265
34266 * include/grub/partition.h (struct grub_partition_map): Add a new
34267 argument DISK into HOOK of ITERATE.
34268 (grub_partition_iterate): Add a new argument DISK to HOOK.
34269
34270 * include/grub/normal.h (enum grub_completion_type): New enum.
34271 (grub_completion_type_t): New type.
34272 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
34273 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
34274 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
34275 (GRUB_COMPLETION_TYPE_FILE): Likewise.
34276 (grub_normal_do_completion): Added a new argument HOOK.
34277 (grub_normal_print_device_info): New prototype.
34278
34279 * include/grub/disk.h (grub_print_partinfo): Removed.
34280
34281 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
34282 (normal_mod_SOURCES): Likewise.
34283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34284 (normal_mod_SOURCES): Likewise.
34285
34286 * commands/ls.c (grub_ls_list_disks): Use
34287 grub_normal_print_device_info instead of grub_print_partinfo. Free
34288 PNAME.
34289 (grub_ls_list_files): Use grub_normal_print_device_info instead of
34290 duplicating the code.
34291
34292 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34293
34294 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
34295 follow GCS more precisely.
34296 * commands/i386/pc/vbe_test.c: Likewise.
34297 * include/grub/i386/pc/vbe.h: Likewise.
34298 * term/i386/pc/vesafb.c: Likewise.
34299 * video/i386/pc/vbe.c: Likewise.
34300
34301 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34302
34303 * DISTLIST: Added term/i386/pc/vesafb.c
34304 DISTLIST: Added video/i386/pc/vbe.c
34305 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
34306 DISTLIST: Added commands/i386/pc/vbe_test.c.
34307 * commands/i386/pc/vbe_list_modes.c: New file.
34308 * commands/i386/pc/vbe_test.c: Likewise.
34309 * term/i386/pc/vesafb.c: Likewise.
34310 * video/i386/pc/vbe.c: Likewise.
34311 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
34312 (grub_vbe_probe) Added prototype.
34313 (grub_vbe_set_video_mode) Likewise.
34314 (grub_vbe_get_video_mode) Likewise.
34315 (grub_vbe_get_video_mode_info) Likewise.
34316 (grub_vbe_set_pixel_rgb) Likewise.
34317 (grub_vbe_set_pixel_index) Likewise.
34318 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
34319 (pkgdata_MODULES): Added vesafb.mod.
34320 (pkgdata_MODULES): Added vbe_list_modes.mod.
34321 (pkgdata_MODULES): Added vbe_test.mod.
34322 (vbe_mod_SOURCES): Added.
34323 (vbe_mod_CFLAGS): Likewise.
34324 (vesafb_mod_SOURCES): Likewise.
34325 (vesafb_mod_CFLAGS): Likewise.
34326 (vbe_list_modes_mod_SOURCES): Likewise.
34327 (vbe_list_modes_mod_CFLAGS): Likewise.
34328 (vbe_test_mod_SOURCES): Likewise.
34329 (vbe_test_mod_CFLAGS): Likewise.
34330
34331 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
34332
34333 * normal/command.c (grub_command_execute): If INTERACTIVE is
34334 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
34335 CMDLINE. Disable the pager if INTERACTIVE is true.
34336 All callers are changed.
34337
34338 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
34339 before reading a config file.
34340 * normal/main.c (read_config_file): Even if a command is not
34341 found, register it if it is within an entry.
34342
34343 * util/grub-emu.c: Include sys/types.h and unistd.h.
34344 (options): Added --hold.
34345 (struct arguments): Added a new member "hold".
34346 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
34347 missing.
34348 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
34349 cleared by a debugger, if it is not zero.
34350
34351 * include/grub/normal.h (grub_command_execute): Add an argument
34352 INTERACTIVE.
34353
34354 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
34355
34356 * DISTLIST: Added include/grub/i386/pc/vbe.h.
34357
34358 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
34359
34360 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
34361 program with another one, because the old one didn't detect a bug
34362 in gcc-3.4. Always use regparm 2, because the new test is still
34363 not enough for gcc-4.0. Someone must investigate a simple test
34364 case which detects a bug in gcc-4.0.
34365
34366 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
34367
34368 * DISTLIST: Added normal/completion.c.
34369
34370 * normal/completion.c: New file.
34371
34372 * term/i386/pc/console.c (grub_console_getwh): New function.
34373 (grub_console_term): Assign grub_console_getwh to getwh.
34374
34375 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
34376 function is defined in normal/completion.c as
34377 grub_normal_do_completion.
34378 (grub_cmdline_get): Use grub_normal_do_completion instead of
34379 grub_tab_complete.
34380
34381 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
34382 returns non-zero, otherwise return 0.
34383 (grub_partition_iterate): First, probe the partition map. Then,
34384 call ITERATE only for this partition map.
34385
34386 * kern/misc.c (grub_strncmp): Rewritten.
34387
34388 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
34389 returns non-zero. Otherwise return 0.
34390
34391 * include/grub/partition.h (grub_partition_map_iterate): Return
34392 int instead of void.
34393
34394 * include/grub/normal.h (grub_normal_do_completion): New prototype.
34395
34396 * include/grub/misc.h (grub_strncmp): Change the type of N to
34397 grub_size_t.
34398
34399 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
34400 of void.
34401
34402 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
34403 unsigned explicitly before comparing it with I.
34404
34405 * kern/main.c (grub_env_write_root): Add the attribute unused into
34406 VAR.
34407
34408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34409 normal/completion.c.
34410 (normal_mod_SOURCES): Likewise.
34411 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34412 (normal_mod_SOURCES): Likewise.
34413
34414 * normal/command.c (grub_iterate_commands): If ITERATE returns
34415 non-zero, return one immediately.
34416
34417 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
34418
34419 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
34420 * kern/i386/pc/startup.S: Updated Global Descriptor table's
34421 descriptions.
34422 (grub_vbe_get_controller_info): New function.
34423 (grub_vbe_get_mode_info): Likewise.
34424 (grub_vbe_set_mode): Likewise.
34425 (grub_vbe_get_mode): Likewise.
34426 (grub_vbe_set_memory_window): Likewise.
34427 (grub_vbe_get_memory_window): Likewise.
34428 (grub_vbe_set_scanline_length): Likewise.
34429 (grub_vbe_get_scanline_length): Likewise.
34430 (grub_vbe_set_display_start): Likewise.
34431 (grub_vbe_get_display_start): Likewise.
34432 (grub_vbe_set_palette_data): Likewise.
34433 * include/grub/i386/pc/vbe.h: New file.
34434
34435 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34436
34437 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34438 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
34439 * DISTLIST: Likewise.
34440 * kern/ieee1275/of.c: Moved to ...
34441 * kern/ieee1275/ieee1275.c: ... here.
34442
34443 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34444
34445 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
34446 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
34447 Pass 0 as `end' parameter to grub_strtoul().
34448
34449 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34450
34451 * include/grub/powerpc/ieee1275/console.h: Do not include
34452 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
34453 ifdef.
34454 (grub_console_cur_color): Remove i386-specific prototype.
34455 (grub_console_real_putchar): Likewise.
34456 (grub_console_checkkey): Likewise.
34457 (grub_console_getkey): Likewise.
34458 (grub_console_getxy): Likewise.
34459 (grub_console_gotoxy): Likewise.
34460 (grub_console_cls): Likewise.
34461 (grub_console_setcursor): Likewise.
34462 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
34463 Include <grub/machine/console.h>.
34464 * term/ieee1275/ofconsole.c: Likewise.
34465
34466 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
34467
34468 * Makefile.in (LIBLZO): New variable.
34469
34470 * configure.ac: Check for LZO version 2.
34471
34472 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
34473 lzo/lzo1x.h instead of lzo1x.h.
34474
34475 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
34476 of -llzo.
34477
34478 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
34479 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
34480
34481 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
34482 copying the data from PARTITION to P.
34483
34484 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34485
34486 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
34487 negative, unload the module.
34488
34489 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
34490 map is "pc_partition_map" but not "pc".
34491 (usage): Fix the description. The options are --boot-image and
34492 --core-image but not --boot-file or --core-file.
34493 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
34494 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
34495 DEFAULT_DIRECTORY.
34496
34497 * util/i386/pc/grub-install.in: Do not specify --boot-file or
34498 --core-file. Specify INSTALL_DEVICE as an argument.
34499
34500 * util/console.c: Include config.h.
34501 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
34502 [HAVE_NCURSES_H]: Include ncurses.h.
34503 [HAVE_CURSES_H]: Include curses.h.
34504 [!A_NORMAL] (A_NORMAL): Defined as zero.
34505 [!A_STANDOUT] (A_STANDOUT): Likewise.
34506
34507 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
34508 -lncurses.
34509 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
34510
34511 * configure.ac: Check for curses libraries and headers.
34512
34513 * Makefile.in (LIBCURSES): New variable.
34514
34515 * genmk.rb (Script::rule): Set the executable bits.
34516
34517 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
34518 name of the PC partition map is "pc_partition_map" but not "pc".
34519
34520 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34521
34522 * util/i386/pc/grub-install.in (grub_probefs): New variable.
34523 (modules): Likewise.
34524 (usage): Added descriptions for --modules and --grub-probefs.
34525 Handle --modules and --grub-probefs. Save the arguments in MODULES
34526 and GRUB_PROBEFS, respectively.
34527 Auto-detect a filesystem module against GRUBDIR. If the result is
34528 empty and modules are not specified explicitly, abort the
34529 installation. Add the result to MODULES.
34530
34531 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
34532 disk/powerpc/ieee1275/ofdisk.c,
34533 include/grub/powerpc/ieee1275/init.h and
34534 term/powerpc/ieee1275/ofconsole.c.
34535 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
34536 term/ieee1275/ofconsole.c.
34537
34538 * include/grub/powerpc/ieee1275/console.h: Resurrected.
34539
34540 * COPYING: Upgraded to the latest version. Only the address of the
34541 FSF office has changed.
34542
34543 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34544
34545 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34546 kern/ieee1275.c with kern/ieee1275/of.c.
34547
34548 * kern/ieee1275.c: Moved to ...
34549 * kern/ieee1275/of.c: ... here.
34550
34551 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
34552
34553 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
34554 readability.
34555
34556 * config.guess: Updated to the latest version from gnulib.
34557 * config.sub: Likewise.
34558 * install.sh: Likewise.
34559 * mkinstalldirs: Likewise.
34560
34561 * include/grub/console.h: Removed. This file is arch-specific. Do
34562 not put this in include/grub.
34563
34564 * include/grub/i386/pc/console.h: Resurrected.
34565
34566 * util/console.c: Include grub/machine/console.h instead of
34567 grub/console.h.
34568 * util/grub-emu.c: Likewise.
34569
34570 2005-08-04 Marco Gerards <metgerards@student.han.nl>
34571
34572 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
34573 hardcoded value.
34574
34575 From Vincent Pelletier <subdino2004@yahoo.fr>
34576 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
34577 Redefined to use grub_getwh.
34578 (grub_term): New member named getwh.
34579 (grub_getwh): New prototype.
34580 * kern/term.c (grub_getwh): New function.
34581 * term/i386/pc/console.c (grub_console_getwh): New function.
34582 (grub_console_term): New member `getwh'.
34583 * term/i386/pc/vga.c (grub_vga_getwh): New function.
34584 (grub_vga_term): New member `getwh'.
34585 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
34586 grub_ssize_t.
34587 (grub_ofconsole_getw): New function.
34588 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
34589 (grub_ofconsole_term): New field named getwh and new initial
34590 value.
34591
34592 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
34593
34594 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
34595 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
34596 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
34597 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
34598 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
34599 of <grub/machine/ieee1275.h>.
34600 * commands/ieee1275/reboot.c: Likewise.
34601 * boot/powerpc/ieee1275/ieee1275.c: Move ...
34602 * kern/ieee1275.c: ... to here. All users updated. Change all
34603 parameter structs to use new type `grub_ieee1275_cell_t'.
34604 * term/powerpc/ieee1275/ofconsole.c: Move ...
34605 * term/ieee1275/ofconsole.c: ... to here. All users updated.
34606 * disk/powerpc/ieee1275/ofdisk.c: Move ...
34607 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
34608 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
34609 to return int.
34610 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
34611 Remove unused prototypes. All users updated.
34612 * include/grub/powerpc/ieee1275/console.h: Removed.
34613 * include/grub/powerpc/ieee1275/ieee1275.h: Define
34614 `grub_ieee1275_cell_t'.
34615 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
34616 Cast comparisons with -1 to the correct type.
34617 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
34618 type to match `grub_ieee1275_entry_fn'.
34619
34620 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
34621
34622 * DISTLIST: Added util/i386/pc/grub-probefs.c.
34623
34624 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
34625 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
34626 partmap/sun.c.
34627 (grub_probefs_SOURCES): New variable.
34628
34629 * util/i386/pc/grub-probefs.c: New file.
34630
34631 * util/i386/pc/grub-setup.c (main): Call
34632 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
34633 grub_hfs_init and grub_jfs_init to initialize the system. Call
34634 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
34635 grub_pc_partition_map_fini to finish the system.
34636
34637 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
34638
34639 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
34640 function.
34641 (grub_multiboot_load_elf32): Likewise.
34642 (grub_multiboot_is_elf64): Likewise.
34643 (grub_multiboot_load_elf64): Likewise.
34644 (grub_multiboot_load_elf): Likewise.
34645 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
34646 an ELF32 or ELF64 file.
34647 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
34648
34649 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
34650 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
34651 NULL before calling FS->LABEL.
34652 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
34653 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
34654 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
34655 before calling FS->LABEL.
34656
34657 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
34658
34659 * util/i386/pc/grub-install.in (datadir): New variable.
34660 (libdir): Removed.
34661 (pkgdatadir): New variable.
34662 (pkglibdir): Removed.
34663
34664 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
34665
34666 * DISTLIST: Added util/i386/pc/grub-install.in.
34667
34668 * util/i386/pc/grub-install.in: New file.
34669
34670 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
34671 (grub_install_SOURCES): Likewise.
34672
34673 * genmk.rb: Added support for scripts.
34674 (Script): New class.
34675 (scripts): New variable.
34676
34677 * Makefile.in (install-local): Install sbin_SCRIPTS by
34678 INSTALL_SCRIPT.
34679 (uninstall): Remove sbin_SCRIPTS.
34680
34681 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
34682 device, try to get a GRUB device by
34683 grub_util_biosdisk_get_grub_dev.
34684 Free DEST_DEV.
34685
34686 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
34687 description for --device-map.
34688
34689 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
34690
34691 Change the semantics of variable hooks. They now return strings
34692 instead of error values.
34693
34694 * util/i386/pc/grub-setup.c: Include grub/env.h.
34695 (setup): Use grub_device_set_root instead of grub_env_set.
34696
34697 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
34698 grub_env_get instead of grub_device_set_root and
34699 grub_device_get_root, respectively.
34700
34701 * kern/main.c (grub_env_write_root): New function.
34702 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
34703 grub_env_set instead of grub_device_set_root.
34704
34705 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
34706 many variables.
34707 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
34708 rather than calling ENV->WRITE_HOOK afterwards.
34709 (grub_env_get): Return the result of ENV->READ_HOOK rather than
34710 passing a pointer of a pointer.
34711 (grub_register_variable_hook): Change the types of "read_hook" and
34712 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
34713 respectively.
34714 Allocate the default empty string on the heap, because this string
34715 may be freed later.
34716
34717 * kern/device.c: Include grub/env.h.
34718 (grub_device_set_root): Removed.
34719 (grub_device_get_root): Likewise.
34720 (grub_device_open): Use grub_env_get instead of
34721 grub_device_get_root.
34722
34723 * include/grub/env.h (grub_env_read_hook_t): New type.
34724 (grub_env_write_hook_t): Likewise.
34725 (grub_env_var): Change the types of "read_hook" and "write_hook"
34726 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
34727 (grub_register_variable_hook): Likewise.
34728
34729 * include/grub/device.h (grub_device_set_root): Removed.
34730 (grub_device_set_root): Likewise.
34731
34732 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
34733 make sure that DIRNAME terminates with '/', so that
34734 grub_fat_find_dir will fail if PATH is not a directory.
34735
34736 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
34737 from DIRNAME.
34738 Use the qualifier auto for print_files and print_files_long.
34739 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
34740 as a regular file.
34741 Put a newline only if there is no error.
34742 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
34743 used.
34744
34745 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
34746
34747 * kern/partition.c (grub_partition_probe): Initialize PART to
34748 NULL. Otherwise, when no partition map is registered, this returns
34749 a garbage.
34750
34751 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
34752
34753 * partmap/apple.c (apple_partition_map_iterate): Check if POS
34754 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
34755 valid.
34756
34757 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
34758
34759 * commands/ls.c (grub_ls_list_disks): Print the filesystem
34760 information on each device, if it does not have partitions. Print
34761 "Device" instead of "Disk", because this function is not specific
34762 to disk devices.
34763
34764 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
34765 static to ensure that it is put on the memory rather than a
34766 register.
34767
34768 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
34769
34770 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
34771 (grub_cat_init): Likewise.
34772 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
34773 (options): Likewise.
34774 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
34775 (grub_configfile_init): Likewise.
34776 * font/manager.c (GRUB_MOD_INIT): Likewise.
34777 * commands/help.c (GRUB_MOD_INIT): Likewise.
34778 (grub_help_init): Likewise.
34779 * normal/command.c (grub_command_init): Likewise.
34780 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
34781 * disk/loopback.c (grub_loop_init): Likewise.
34782 (GRUB_MOD_INIT): Likewise.
34783 * commands/ls.c (grub_ls_init): Likewise.
34784 (GRUB_MOD_INIT): Likewise.
34785 (options): Likewise.
34786 * commands/boot.c (grub_boot_init): Likewise.
34787 (GRUB_MOD_INIT): Likewise.
34788 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
34789 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
34790 (GRUB_MOD_INIT): Likewise.
34791 * commands/cmp.c (grub_cmp_init): Likewise.
34792 (GRUB_MOD_INIT): Likewise.
34793
34794 * normal/arg.c: Use <> instead of "" to include header files.
34795 (SHORT_ARG_HELP): New macro.
34796 (SHORT_ARG_USAGE): Likewise.
34797 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
34798 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
34799 descriptions.
34800 (find_short): Check if C is 'h' or 'u' explicitly.
34801 (grub_arg_show_help): Use space characters instead of tabs. Treat
34802 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
34803 are shown with --help and --usage only if they are not used for
34804 the command itself.
34805 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
34806 'h' and 'u'.
34807
34808 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
34809 const into "longarg". Change the type of "shortarg" to int.
34810
34811 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
34812
34813 * boot/i386/pc/boot.S (boot_drive_check): New label.
34814
34815 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
34816 macro.
34817
34818 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
34819 which do not pass a boot drive correctly. Copied from GRUB Legacy.
34820
34821 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
34822
34823 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
34824 When turning off Gate A20, skip the check and return immediately,
34825 because this is not fatal usually.
34826
34827 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
34828
34829 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
34830 be 0x7C00 instead of 0x8000.
34831
34832 * boot/i386/pc/pxeboot.S: Rewritten.
34833
34834 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
34835 EXT_C.
34836 (gate_a20_check_state): Read a byte from 0x108000. Invert the
34837 result.
34838
34839 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
34840
34841 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
34842 robustness. This routine now supports a BIOS call and System
34843 Control Port A to modify the gate A20.
34844
34845 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34846 Increased to 0x440.
34847
34848 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
34849
34850 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
34851 device path and resulting ihandle.
34852 (grub_ofdisk_close): dprintf the ihandle being closed.
34853 (grub_ofdisk_read): dprintf function parameters.
34854 * kern/mm.c (grub_mm_init_region): Likewise.
34855 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
34856 (grub_linux_boot): dprintf the Linux entry point, initrd address and
34857 size, and boot arguments.
34858 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
34859 before loading into memory.
34860 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
34861 before loading into memory.
34862
34863 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
34864
34865 * kern/mm.c: Added much documentation.
34866 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
34867 8, set to 5 instead of 8.
34868
34869 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
34870
34871 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
34872
34873 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
34874 (grub_mkdevicemap_SOURCES): New variable.
34875
34876 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
34877 lib/device.c of GRUB Legacy.
34878
34879 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
34880
34881 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
34882 instead of PATH is NULL.
34883
34884 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
34885
34886 * commands/cmp.c (BUFFER_SIZE): New macro.
34887 (grub_cmd_cmp): Close the right file at the right time. Compare
34888 only data just read. Don't report files of different size as
34889 identical. Dynamically allocate buffers. Move variable
34890 declarations at the beginning of function.
34891
34892 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
34893
34894 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
34895 reverse.
34896
34897 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
34898
34899 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
34900 when backspace is pressed at beginning of line.
34901
34902 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
34903
34904 * DISTLIST: Added genfslist.sh.
34905
34906 * normal/main.c (fs_module_list): New variable.
34907 (autoload_fs_module): New function.
34908 (read_fs_list): Likewise.
34909 (grub_normal_execute): Call read_fs_list.
34910
34911 * kern/fs.c (grub_fs_autoload_hook): New variable.
34912 (grub_fs_probe): Added support for auto-loading.
34913
34914 * include/grub/normal.h (struct grub_fs_module_list): New struct.
34915 (grub_fs_module_list_t): New type.
34916
34917 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
34918 (grub_fs_autoload_hook): New prototype.
34919
34920 * genfslist.sh: New file.
34921
34922 * genmk.rb: Added a rule to generate a filesystem list.
34923
34924 2005-06-30 Marco Gerards <metgerards@student.han.nl>
34925
34926 * configure.ac: Fix the test for cross-compiling.
34927
34928 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
34929 define GRUB_UTIL anymore.
34930
34931 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
34932 so this function works on other systems than just big endian.
34933 (load_modules): Likewise.
34934 (add_segments): Likewise.
34935
34936 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
34937
34938 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
34939 contains `l' modifier, get a long from va_arg().
34940
34941 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
34942
34943 * kern/mm.c (grub_free): If the next free block which is being
34944 merged is the first free block, set the first block to the block
34945 being freed.
34946 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
34947
34948 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
34949
34950 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
34951 `grub_ieee1275_chosen'.
34952
34953 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
34954
34955 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
34956 (grub_ieee1275_chosen): New variable.
34957 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
34958 `chosen'.
34959 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
34960 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
34961 Rename first argument to `phandle' for consistency.
34962 (grub_ieee1275_get_property_length): Likewise.
34963 (grub_ieee1275_next_property): Likewise. Change type of first argument
34964 to grub_ieee1275_phandle_t.
34965 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
34966 Move export next to declaration.
34967 (grub_ieee1275_chosen): New variable.
34968 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
34969 Correct cosmetic typo.
34970 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
34971 `grub_ieee1275_chosen'.
34972 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
34973 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
34974 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
34975 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
34976 `grub_ieee1275_chosen'.
34977
34978 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
34979
34980 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
34981 /chosen/bootargs.
34982 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
34983 /chosen/bootargs as "variable=value" pairs.
34984
34985 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
34986
34987 * include/grub/misc.h (grub_dprintf): New macro.
34988 (grub_real_dprintf): New prototype.
34989 (grub_strword): Likewise.
34990 (grub_iswordseparator): Likewise.
34991 * kern/misc.c (grub_real_dprintf): New function.
34992 (grub_strword): Likewise.
34993 (grub_iswordseparator): Likewise.
34994
34995 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
34996
34997 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
34998 (roundup): Remove macro.
34999 (grub_ieee1275_flags): Make static.
35000 (grub_ieee1275_realmode): Remove.
35001 (grub_ieee1275_test_flag): New function.
35002 (grub_ieee1275_set_flag): Likewise.
35003 (find_options): Rename to `grub_ieee1275_find_options'; update
35004 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
35005 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
35006 (cmain): New prototype.
35007 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
35008 `grub_ieee1275_flags' directly.
35009 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
35010 machine/biosdisk.h.
35011 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
35012 Don't include grub/machine/init.h.
35013 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
35014 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
35015 Remove prototype.
35016 (grub_ieee1275_realmode): Likewise.
35017 (grub_ieee1275_flag): New enum.
35018 (grub_ieee1275_test_flag): New prototype.
35019 (grub_ieee1275_set_flag): New prototype.
35020 * include/grub/powerpc/ieee1275/init.h: Remove file.
35021 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
35022 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
35023 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
35024 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
35025 comment.
35026 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
35027 `grub_ieee1275_test_flag'.
35028 (grub_ieee1275_encode_devname): Likewise.
35029
35030 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
35031
35032 * include/grub/powerpc/ieee1275/ieee1275.h
35033 (grub_ieee1275_encode_devname): New prototype.
35034 (grub_ieee1275_get_filename): Likewise.
35035 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
35036 function.
35037 (grub_set_prefix): Likewise.
35038 (grub_machine_init): Call grub_set_prefix.
35039 * kern/powerpc/ieee1275/openfw.c: Fix typos.
35040 (grub_parse_type): New enum.
35041 (grub_ieee1275_get_devargs): New function.
35042 (grub_ieee1275_get_devname): Likewise.
35043 (grub_ieee1275_parse_args): Likewise.
35044 (grub_ieee1275_get_filename): Likewise.
35045 (grub_ieee1275_encode_devname): Likewise.
35046
35047 2005-03-30 Marco Gerards <metgerards@student.han.nl>
35048
35049 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
35050 `grub_loader_unset'.
35051
35052 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
35053
35054 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
35055 instead of grub_ieee1275_interpret.
35056 (grub_halt_init): New function.
35057 (grub_halt_fini): Likewise.
35058 (GRUB_MOD_INIT): Correct message grammar.
35059 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
35060 instead of grub_ieee1275_interpret.
35061 (grub_reboot_init): New function.
35062 (grub_reboot_fini): Likewise.
35063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
35064 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
35065 util/i386/pc/misc.c with commands/ieee1275/halt.c,
35066 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
35067 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
35068 function.
35069 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
35070 Add prototype.
35071 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
35072 prototype.
35073 (grub_halt): Likewise.
35074 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
35075 (cmain): Remove __attribute__((unused)).
35076 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
35077 (grub_heap_len): Likewise.
35078 (grub_machine_fini): New function.
35079 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
35080 (grub_halt): Likewise.
35081 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
35082 function.
35083 * util/powerpc/ieee1275/misc.c: New file.
35084
35085 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35086
35087 * DISTLIST: New file.
35088 * gendistlist.sh: Likewise.
35089
35090 * Makefile.in (COMMON_DISTFILES): Removed.
35091 (BOOT_DISTFILES): Likewise.
35092 (CONF_DISTFILES): Likewise.
35093 (DISK_DISTFILES): Likewise.
35094 (FS_DISTFILES): Likewise.
35095 (INCLUDE_DISTFILES): Likewise.
35096 (KERN_DISTFILES): Likewise.
35097 (LOADER_DISTFILES): Likewise.
35098 (TERM_DISTFILES): Likewise.
35099 (UTIL_DISTFILES): Likewise.
35100 (DISTFILES): Likewise.
35101 (uninstall): Uninstall files in $(pkgdata_DATA).
35102 (DISTLIST): New target.
35103 (distdir): Use the contents of the file DISTLIST to get a list of
35104 distributed files.
35105
35106 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35107
35108 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
35109 descriptor. This is ported from GRUB Legacy.
35110
35111 * gencmdlist.sh: Added an extra semicolon to make it work with
35112 old sed versions. Reported by Robert Bihlmeyer
35113 <robbe@orcus.priv.at>.
35114
35115 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
35116
35117 Automatic loading of commands is supported.
35118
35119 * normal/main.c (read_command_list): New function.
35120 (grub_normal_execute): Call read_command_list.
35121
35122 * normal/command.c (grub_register_command): Return zero or CMD.
35123 Allocate CMD->NAME from the heap.
35124 Initialize CMD->MODULE_NAME to zero.
35125 Find the same name as well. If the same command is found and it is
35126 a dummy command, overwrite members. If it is not a dummy command,
35127 return zero.
35128 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
35129 (grub_command_find): If a dummy command is found, load a module
35130 and retry to find a command only once.
35131
35132 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
35133 make sure that each command is loaded.
35134
35135 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
35136 macro.
35137 (struct grub_command): Remove const from the member `name'.
35138 Add a new member `module_name'.
35139 (grub_register_command): Return grub_command_t.
35140
35141 * commands/help.c (grub_cmd_help): Call grub_command_find to make
35142 sure that each command is loaded.
35143
35144 * genmk.rb (PModule::rule): Specify a module name without the
35145 suffix ".mod" to gencmdlist.sh.
35146
35147 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35148
35149 * gencmdlist.sh: New file.
35150
35151 * genmk.rb (PModule::rule): Generate a rule for a command list.
35152 Clean command.lst.
35153 Generate command.lst from $(COMMANDFILES).
35154
35155 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
35156 (DATA): Added $(pkgdata_DATA).
35157 (install-local): Install files in $(pkgdata_DATA).
35158
35159 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35160
35161 * term/i386/pc/vga.c (debug_command): Removed.
35162 (GRUB_MOD_INIT): Do not register the command "debug".
35163
35164 From Hollis Blanchard:
35165 * commands/configfile.c: New file.
35166 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35167 commands/configfile.c.
35168 (pkgdata_MODULES): Added configfile.mod.
35169 (configfile_mod_SOURCES): New variable.
35170 (configfile_mod_CFLAGS): Likewise.
35171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35172 commands/configfile.c.
35173 (pkgdata_MODULES): Added configfile.mod.
35174 (configfile_mod_SOURCES): New variable.
35175 (configfile_mod_CFLAGS): Likewise.
35176 * util/grub-emu.c (main): Call grub_configfile_init and
35177 grub_configfile_fini.
35178 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
35179 prototype.
35180 [GRUB_UTIL] (grub_configfile_fini): Likewise.
35181
35182 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35183
35184 * normal/arg.c (grub_arg_show_help): Do not show the bug report
35185 address.
35186
35187 * commands/help.c (grub_cmd_help): Do not print newlines after
35188 the last command in print_command_help.
35189
35190 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35191
35192 * commands/default.h: New file.
35193 * commands/timeout.h: Likewise.
35194 * normal/context.c: Likewise.
35195
35196 * util/misc.c: Do not include sys/times.h.
35197 Include sys/time.h and grub/machine/time.h.
35198 (grub_get_rtc): Rewritten with gettimeofday.
35199
35200 * util/grub-emu.c (main): Call grub_default_init and
35201 grub_timeout_init before grub_normal_init, and call
35202 grub_timeout_fini and grub_default_fini after grub_main.
35203
35204 * util/console.c (grub_ncurses_checkkey): Return the read
35205 character or -1.
35206
35207 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
35208 timeouts.
35209
35210 * normal/main.c (read_config_file): Push MENU. If this fails,
35211 print an error and wait for a user input.
35212 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
35213 If a menu is empty or an error occurs, pop MENU.
35214 (grub_normal_execute): Pop and free MENU after grub_menu_run
35215 returns.
35216
35217 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
35218
35219 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
35220 include time.h.
35221 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35222 without GRUB_UTIL.
35223 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
35224 time.h.
35225 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35226 without GRUB_UTIL.
35227
35228 * include/grub/normal.h (struct grub_menu_list): New struct.
35229 (grub_menu_list_t): New type.
35230 (struct grub_context): New struct.
35231 (grub_context_t): New type.
35232 (grub_register_command): Got rid of EXPORT_FUNC.
35233 (grub_unregister_command): Likewise.
35234 (grub_context_get): New prototype.
35235 (grub_context_get_current_menu): Likewise.
35236 (grub_context_push_menu): Likewise.
35237 (grub_context_pop_menu): Likewise.
35238 [GRUB_UTIL] (grub_default_init): Likewise.
35239 [GRUB_UTIL] (grub_default_fini): Likewise.
35240 [GRUB_UTIL] (grub_timeout_init): Likewise.
35241 [GRUB_UTIL] (grub_timeout_fini): Likewise.
35242
35243 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
35244 commands/timeout.c and normal/context.c.
35245 (pkgdata_MODULES): Added default.mod and timeout.mod.
35246 (normal_mod_SOURCES): Added normal/context.c.
35247 (default_mod_SOURCES): New variable.
35248 (default_mod_CFLAGS): Likewise.
35249 (timeout_mod_SOURCES): Likewise.
35250 (timeout_mod_CFLAGS): Likewise.
35251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
35252 conf/i386-pc.rmk.
35253 (pkgdata_MODULES): Added default.mod and timeout.mod.
35254 (normal_mod_SOURCES): Added normal/context.c.
35255 (default_mod_SOURCES): New variable.
35256 (default_mod_CFLAGS): Likewise.
35257 (timeout_mod_SOURCES): Likewise.
35258 (timeout_mod_CFLAGS): Likewise.
35259
35260 * Makefile.in (all-local): Added $(MKFILES).
35261
35262 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
35263
35264 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
35265 (grub_emu_SOURCES): Likewise.
35266 (pkgdata_MODULES): Add `sun.mod'.
35267 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35269 `partmap/sun.c'.
35270 (pkgdata_MODULES): Add `sun.mod'.
35271 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35272 * include/grub/partition.h (grub_sun_partition_map_init): New
35273 prototype.
35274 (grub_sun_partition_map_fini): Likewise.
35275 * partmap/sun.c: New file.
35276 * util/grub-emu.c (main): Initialize and de-initialize the sun
35277 partitionmap support.
35278
35279 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
35280
35281 This implements an Emacs-like menu entry editor.
35282
35283 * normal/menu_entry.c: New file.
35284
35285 * util/console.c (grub_ncurses_putchar): Translate some Unicode
35286 characters to ASCII.
35287 (saved_char): New variable.
35288 (grub_ncurses_checkkey): Rewritten completely.
35289 (grub_ncurses_getkey): Likewise.
35290 (grub_ncurses_init): Call raw instead of cbreak.
35291
35292 * normal/menu.c (print_entry): Do not put a space.
35293 (init_page): Renamed to ...
35294 (grub_menu_init_page): ... this. All callers changed.
35295 (edit_menu_entry): Removed.
35296 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
35297
35298 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
35299
35300 * kern/misc.c (grub_vprintf): Call grub_refresh.
35301
35302 * normal/menu.c (DISP_LEFT): Renamed to ...
35303 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
35304 * normal/menu.c (DISP_UP): Renamed to ...
35305 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
35306 * normal/menu.c (DISP_RIGHT): Renamed to ...
35307 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
35308 * normal/menu.c (DISP_DOWN): Renamed to ...
35309 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
35310 * normal/menu.c (DISP_HLINE): Renamed to ...
35311 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
35312 * normal/menu.c (DISP_VLINE): Renamed to ...
35313 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
35314 * normal/menu.c (DISP_UL): Renamed to ...
35315 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
35316 * normal/menu.c (DISP_UR): Renamed to ...
35317 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
35318 * normal/menu.c (DISP_LL): Renamed to ...
35319 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
35320 * normal/menu.c (DISP_LR): Renamed to ...
35321 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
35322 * normal/menu.c (TERM_WIDTH): Renamed to ...
35323 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
35324 * normal/menu.c (TERM_HEIGHT): Renamed to ...
35325 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
35326 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
35327 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
35328 * normal/menu.c (TERM_MARGIN): Renamed to ...
35329 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
35330 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
35331 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
35332 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
35333 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
35334 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
35335 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
35336 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
35337 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
35338 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
35339 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
35340 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
35341 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
35342 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
35343 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
35344 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
35345 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
35346 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
35347 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
35348 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
35349 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
35350 All callers changed.
35351
35352 * include/grub/normal.h: New prototype.
35353
35354 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35355 normal/menu_entry.c.
35356 (normal_mod_SOURCES): Likewise.
35357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35358 (normal_mod_SOURCES): Likewise.
35359
35360 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
35361
35362 * include/grub/normal.h (grub_halt_init): New prototype.
35363 (grub_halt_fini): Likewise.
35364 (grub_reboot_init): Likewise.
35365 (grub_reboot_fini): Likewise.
35366
35367 * util/grub-emu.c: Include signal.h.
35368 (main_env): New global variable.
35369 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
35370 catch C-c.
35371 (grub_machine_fini): New function.
35372 (main): Call grub_halt_init and grub_reboot_init before
35373 grub_main, and grub_reboot_fini and grub_halt_fini after it.
35374 Call setjmp with MAIN_ENV to go back afterwards.
35375 Call grub_machine_fini right before return.
35376
35377 * include/grub/util/misc.h: Include setjmp.h.
35378 (main_env): New prototype.
35379
35380 * include/grub/kernel.h (grub_machine_fini): New prototype.
35381 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
35382 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
35383
35384 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
35385 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
35386 * term/i386/pc/console.c (grub_console_fini): Likewise.
35387
35388 * util/i386/pc/misc.c: New file.
35389
35390 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35391 util/i386/pc/misc.c, commands/i386/pc/halt.c and
35392 commands/i386/pc/reboot.c.
35393
35394 2005-02-14 Guillem Jover <guillem@hadrons.org>
35395
35396 * include/grub/dl.h (grub_dl_check_header): New prototype.
35397 (grub_arch_dl_check_header): Change return type to grub_err_t,
35398 remove size parameter and export function. Update all callers.
35399 * kern/dl.c (grub_dl_check_header): New function.
35400 (grub_dl_load_core): Use `grub_dl_check_header' instead of
35401 `grub_arch_dl_check_header'. Check ELF type. Check if sections
35402 are inside the core.
35403 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
35404 independent ELF header checks.
35405 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35406 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
35407 `grub_dl_check_header' instead of explicit checks. Check for the
35408 ELF type.
35409 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
35410 `grub_dl_check_header' instead of explicit checks. Remove arch
35411 specific ELF header checks.
35412
35413 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
35414 argument SIZE.
35415
35416 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
35417
35418 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
35419 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
35420
35421 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
35422
35423 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
35424 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
35425 (part_map_iterate): Clear `grub_errno' and return 0 if
35426 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
35427 * partmap/amiga.c (amiga_partition_map_iterate): Return
35428 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
35429 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35430
35431 2005-02-01 Guillem Jover <guillem@hadrons.org>
35432
35433 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
35434 help info.
35435
35436 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35437
35438 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
35439 Removed prototype.
35440 (grub_rescue_cmd_linux): New prototype.
35441 (grub_rescue_cmd_initrd): Likewise.
35442 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
35443 `bi_rec'.
35444 (grub_linux_release_mem): Release the memory for the initrd.
35445 (grub_load_linux): Renamed from this...
35446 (grub_rescue_cmd_linux): ...To this. Changed all callers.
35447 Changed `entry' not to be static. Loop over memory regions to
35448 find another one when the default fails.
35449 (grub_rescue_cmd_initrd): New function.
35450 (grub_linux_init): Remove function.
35451 (grub_linux_fini): Likewise.
35452 (GRUB_MOD_INIT): Register `initrd'.
35453 (GRUB_MOD_FINI): Unregister `initrd'.
35454 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
35455 Function removed.
35456 (grub_linux_normal_fini): Likewise.
35457 (GRUB_MOD_INIT): Register `initrd'.
35458 (GRUB_MOD_FINI): Unregister `initrd'.
35459
35460 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35461
35462 * commands/help.c: New file.
35463 * normal/arg.c (show_help): Renamed to...
35464 (grub_arg_show_help): ... this.
35465 * commands/i386/pc/halt.c: New file.
35466 * commands/i386/pc/reboot.c: Likewise.
35467 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
35468 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
35469 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
35470 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
35471 variables.
35472 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35473 `commands/help.c'.
35474 (pkgdata_MODULES): Add `help.mod'.
35475 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
35476 * grub/i386/pc/init.h (grub_reboot): New prototype.
35477 (grub_halt): Likewise.
35478 * include/grub/normal.h (grub_arg_show_help): New prototype.
35479 (grub_help_init): Likewise.
35480 (grub_help_fini): Likewise.
35481 * util/grub-emu.c (main): Initialize and deinitialize the help
35482 command.
35483
35484 * normal/cmdline.c (grub_cmdline_get): Doc fix.
35485
35486 * normal/command.c (grub_command_init): Fixed the description of
35487 the `set' and `unset' commands.
35488
35489 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35490
35491 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
35492 function.
35493 * commands/ieee1275/halt.c: New file.
35494 * commands/ieee1275/reboot.c: Likewise.
35495 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
35496 `__attribute__ ((unused))'. Some GCS related fixed.
35497 (grub_suspend_init) [GRUB_UTIL]: Function removed.
35498 (grub_suspend_fini): Likewise.
35499 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
35500 and `halt.mod'.
35501 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
35502 (halt_mod_CFLAGS): New variables.
35503 * include/grub/powerpc/ieee1275/ieee1275.h
35504 (grub_ieee1275_interpret): New prototype.
35505
35506 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
35507
35508 * include/grub/misc.h (memmove): New prototype.
35509 (memcpy): Likewise.
35510
35511 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
35512
35513 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
35514 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
35515
35516 2005-01-22 Marco Gerards <metgerards@student.han.nl>
35517
35518 * kern/misc.c (grub_strndup): Function rewritten.
35519
35520 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
35521
35522 * normal/menu.c (TERM_WIDTH): Macro redefined.
35523 (TERM_TOP_BORDER_Y): Likewise.
35524 (draw_border): Replaced while-loop by a for-loop. Make the number
35525 of lines consistent with the number of lines displayed in
35526 print_entries. Added a margin below the rectangle.
35527 (print_entry): Make the entry fit in the rectangle.
35528 (print_entries): Display the scroll arrows next to the right
35529 border.
35530
35531 2005-01-21 Marco Gerards <metgerards@student.han.nl>
35532
35533 * fs/minix.c (grub_minix_find_file): Reserve more space for
35534 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
35535 `grub_strncpy' to copy `path' into it.
35536
35537 2005-01-21 Marco Gerards <metgerards@student.han.nl>
35538
35539 Add the loopback device, a device via which files can be accessed
35540 as devices.
35541
35542 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
35543 (pkgdata_MODULES): Add loopback.mod.
35544 (loopback_mod_SOURCES): New variable.
35545 (loopback_mod_CFLAGS): Likewise.
35546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35547 `disk/loopback.c'.
35548 (pkgdata_MODULES): Add loopback.mod.
35549 (loopback_mod_SOURCES): New variable.
35550 (loopback_mod_CFLAGS): Likewise.
35551 * disk/loopback.c: new file.
35552 * include/grub/normal.h (grub_loop_init): New prototype.
35553 (grub_loop_fini): New prototype.
35554 * util/grub-emu.c (main): Initialize and de-initialize loopback
35555 support.
35556 * include/grub/disk.h (grub_disk_dev_id): Add
35557 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
35558
35559 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
35560
35561 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
35562 function.
35563 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
35564 (suspend_mod_SOURCES): New variable.
35565 (suspend_mod_CFLAGS): Likewise.
35566 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
35567 New prototype.
35568 * commands/ieee1275/suspend.c: New file.
35569
35570 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35571
35572 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
35573 ((unused))' to `__attribute__ ((used))'.
35574 (GRUB_MOD_FINI): Likewise.
35575 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
35576 * genmk.rb (PModule): Assign space to common symbols when linking
35577 modules.
35578
35579 2005-01-20 Marco Gerards <metgerards@student.han.nl>
35580
35581 * include/grub/mm.h (grub_mm_init_region): Change the type of the
35582 `unsigned' arguments to `grub_size_t'.
35583 (grub_malloc): Likewise.
35584 (grub_realloc): Likewise.
35585 (grub_memalign): Likewise.
35586 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
35587 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35588 * util/misc.c (grub_malloc): Likewise.
35589 (grub_realloc): Likewise.
35590 * kern/mm.c (get_header_from_pointer): Change the casts to
35591 `unsigned' into a cast to `grub_size_t'.
35592
35593 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
35594 point to `currnode' when `currnode' is changed.
35595
35596 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
35597 Schottelius <nico-linux@schottelius.org>.
35598
35599 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
35600
35601 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
35602 (note_path): Remove variable.
35603 (GRUB_IEEE1275_NOTE_NAME): New macro.
35604 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
35605 (grub_ieee1275_note_hdr): New structure.
35606 (grub_ieee1275_note_desc): Likewise.
35607 (grub_ieee1275_note): Likewise.
35608 (load_note): Remove `dir' argument. All callers updated. Remove
35609 `note_img' and `path'. Do not load a file from `note_path'.
35610 Initialize a struct grub_ieee1275_note and write that to `out'.
35611 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
35612
35613 2005-01-05 Marco Gerards <metgerards@student.han.nl>
35614
35615 * util/misc.c (grub_util_read_image): Revert last change. It
35616 called `grub_util_read_at', which seeks from the beginning of the
35617 file.
35618
35619 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
35620
35621 * TODO: Add note about endianness in grub-mkimage.
35622 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
35623 section.
35624 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
35625 (grub_mkimage_SOURCES): New target.
35626 * include/grub/kernel.h (grub_start_addr): Remove variable.
35627 (grub_end_addr): Likewise.
35628 (grub_total_module_size): Likewise.
35629 (grub_kernel_image_size): Likewise.
35630 (GRUB_MODULE_MAGIC): New constant.
35631 (grub_module_info): New structure.
35632 (grub_arch_modules_addr): New prototype.
35633 (grub_get_end_addr): Remove prototype.
35634 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
35635 * include/grub/powerpc/ieee1275/kernel.h: New file.
35636 * include/grub/util/misc.h (grub_util_get_fp_size): New
35637 prototype.
35638 (grub_util_read_at): Likewise.
35639 (grub_util_write_image_at): Likewise.
35640 * kern/main.c (grub_get_end_addr): Remove function.
35641 (grub_load_modules): Call grub_arch_modules_addr instead of using
35642 grub_end_addr. Look for a grub_module_info struct in memory. Use
35643 the grub_module_info fields instead of calling grub_get_end_addr
35644 as loop conditions. Move grub_add_unused_region code here.
35645 (grub_add_unused_region): Remove function.
35646 * kern/i386/pc/init.c: Include grub/cache.h.
35647 (grub_machine_init): Remove call to grub_get_end_addr. Remove
35648 one call to add_mem_region.
35649 (grub_arch_modules_addr): New function.
35650 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
35651 (grub_total_module_size): Likewise.
35652 Include grub/machine/kernel.h.
35653 (grub_arch_modules_addr): New function.
35654 * util/grub-emu.c (grub_end_addr): Remove variable.
35655 (grub_total_module_size): Likewise.
35656 (grub_arch_modules_addr): New function.
35657 * util/misc.c: Include unistd.h.
35658 (grub_util_get_fp_size): New function.
35659 (grub_util_read_at): Likewise.
35660 (grub_util_write_image_at): Likewise.
35661 (grub_util_read_image): Call grub_util_read_at.
35662 (grub_util_write_image): Call grub_util_write_image_at.
35663 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
35664 additional memory in kernel_img for a struct grub_module_info.
35665 Fill in that grub_module_info.
35666 * util/powerpc/ieee1275/grub-mkimage.c: New file.
35667
35668 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
35669
35670 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
35671 New function.
35672 * include/grub/powerpc/ieee1275/ieee1275.h
35673 (grub_ieee1275_milliseconds): New prototype.
35674 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
35675 Change to 1000.
35676 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
35677 grub_ieee1275_milliseconds.
35678
35679 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
35680
35681 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
35682 variable.
35683 (find_options): New function.
35684 (cmain): Call find_options.
35685 * include/grub/powerpc/ieee1275/ieee1275.h
35686 (grub_ieee1275_realmode): New extern variable.
35687 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
35688 grub_map if grub_ieee1275_realmode is false.
35689
35690 2004-12-29 Marco Gerards <metgerards@student.han.nl>
35691
35692 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
35693 lines are inserted and make it work like readline. Reported by
35694 Vincent Pelletier <subdino2004@yahoo.fr>.
35695
35696 2004-12-28 Marco Gerards <metgerards@student.han.nl>
35697
35698 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
35699
35700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
35701 `kern/powerpc/cache.S'.
35702
35703 2004-12-27 Marco Gerards <metgerards@student.han.nl>
35704
35705 * genmk.rb: Handle the `Program' class in the main loop. Written
35706 by Johan Rydberg <jrydberg@gnu.org>.
35707 (Program): New class.
35708 (programs): New variable.
35709 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
35710 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
35711 instead of "grub/kernel.h". Include <grub/machine/init.h>.
35712 (help_arch): Function removed.
35713 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
35714 `powerpc/libgcc.h' and `loader.h'.
35715 (pkgdata_PROGRAMS): New variable.
35716 (sbin_UTILITIES): Variable removed.
35717 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
35718 (grubof_SOURCES): Variable re-defined so it only includes the
35719 core functionality.
35720 (grubof_CFLAGS): Remove `-DGRUBOF'.
35721 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
35722 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
35723 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
35724 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
35725 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
35726 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
35727 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
35728 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
35729 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
35730 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
35731 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35732 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
35733 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
35734 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
35735 (pc_mod_CFLAGS): New variables.
35736 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
35737 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
35738 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
35739 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
35740 Moved from here...
35741 * include/grub/i386/pc/init.h (grub_os_area_addr)
35742 (rub_os_area_size): ... to here.
35743 * include/grub/powerpc/ieee1275/ieee1275.h
35744 (grub_ieee1275_entry_fn): Export symbol.
35745 * include/grub/powerpc/ieee1275/init.h: New file.
35746 * include/grub/powerpc/libgcc.h: Likewise.
35747 * include/grub/cache.h: Likewise.
35748 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
35749 <hollis@penguinppc.org>.
35750 * kern/dl.c: Include <grub/cache.h>.
35751 (grub_dl_flush_cache): New function.
35752 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
35753 for this module.
35754 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
35755 (grub_console_init): Removed prototypes.
35756 (grub_machine_init): Don't initialize the modules anymore.
35757 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
35758 static.
35759 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
35760 Macro undef removed.
35761 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
35762 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
35763 relocation `R_PPC_REL32'. Return an error when the relocation is
35764 unknown.
35765 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
35766 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
35767 * util/misc.c (grub_arch_sync_caches): Likewise.
35768
35769 2004-12-19 Marco Gerards <metgerards@student.han.nl>
35770
35771 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
35772 `symlist.c', add `grubof_symlist.c'.
35773 (symlist.c): Variable removed.
35774 (grubof_HEADERS): Variable added.
35775 (grubof_symlist.c): New target.
35776 (kernel_syms.lst): Use `grubof_HEADERS' instead of
35777 `kernel_img_HEADERS'.
35778 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
35779 * kern/powerpc/dl.c: New file.
35780 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
35781 Function removed.
35782 (grub_arch_dl_relocate_symbols): Likewise.
35783 (grub_register_exported_symbols): Likewise.
35784
35785 2004-12-13 Marco Gerards <metgerards@student.han.nl>
35786
35787 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
35788 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
35789 to fail instead. Reported by Vincent Pelletier
35790 <subdino2004@yahoo.fr>.
35791
35792 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
35793 it is not allocated. Reported by Vincent Pelletier
35794 <subdino2004@yahoo.fr>.
35795
35796 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
35797 output so the output looks better.
35798
35799 2004-12-04 Marco Gerards <metgerards@student.han.nl>
35800
35801 Modulize the partition map support and add support for the amiga
35802 partition map.
35803
35804 * commands/ls.c: Include <grub/partition.h> instead of
35805 <grub/machine/partition.h>.
35806 * kern/disk.c: Likewise.
35807 * kern/rescue.c: Likewise.
35808 * loader/i386/pc/chainloader.c: Likewise.
35809 * normal/cmdline.c: Likewise.
35810 * kern/powerpc/ieee1275/init.c: Likewise.
35811 (grub_machine_init): Call `grub_pc_partition_map_init',
35812 `grub_amiga_partition_map_init' and
35813 `grub_apple_partition_map_init'.
35814 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
35815 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
35816 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
35817 `partition.h' and `pc_partition.h'.
35818 (grub_setup_SOURCES): Remove
35819 `disk/i386/pc/partition.c'. Add `kern/partition.c',
35820 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
35821 (grub_emu_SOURCES): Likewise.
35822 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
35823 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
35824 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
35825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
35826 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
35827 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
35828 (grubof_SOURCES): Likewise.
35829 * disk/i386/pc/partition.c: File removed.
35830 * disk/powerpc/ieee1275/partition.c: Likewise.
35831 * include/grub/powerpc/ieee1275/partition.h: Likewise.
35832 * include/grub/i386/pc/partition.h: Likewise.
35833 * kern/partition.c: New file.
35834 * partmap/amiga.c: Likewise.
35835 * partmap/apple.c: Likewise.
35836 * partmap/pc.c: Likewise.
35837 * include/grub/partition.h: Likewise..
35838 * include/grub/pc_partition.h: Likewise.
35839 * util/grub-emu.c: Include <grub/partition.h> instead of
35840 <grub/machine/partition.h>.
35841 (main): Call `grub_pc_partition_map_init',
35842 `grub_amiga_partition_map_init' and
35843 `grub_apple_partition_map_init' and deinitialize afterwards.
35844 * util/i386/pc/biosdisk.c: Include `#include
35845 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
35846 `<grub/machine/partition.h>'.
35847 * util/i386/pc/grub-setup.c: Likewise.
35848 * util/i386/pc/biosdisk.c: Likewise.
35849 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
35850 partition information in case of a PC partition.
35851 * util/i386/pc/grub-setup.c: Include `#include
35852 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
35853 `<grub/machine/partition.h>'.
35854 (setup): Only access the PC specific partition information in case
35855 of a PC partition.
35856
35857 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
35858
35859 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
35860 (grub_longjmp): Likewise.
35861 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
35862 20.
35863 * normal/powerpc/setjmp.S: New file.
35864 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
35865 `normal/powerpc/setjmp.S'.
35866 (grubof_CFLAGS): Add `-DGRUBOF'.
35867 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
35868 [GRUB_UTIL && !GRUBOF].
35869
35870 2004-11-16 Marco Gerards <metgerards@student.han.nl>
35871
35872 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
35873 property named `name'. Correctly handle the error returned by
35874 `grub_ieee1275_finddevice' if a device can not be opened.
35875
35876 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
35877
35878 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
35879 `actual' for negativity.
35880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
35881 kern/fshelp.c.
35882
35883 2004-11-01 Marco Gerards <metgerards@student.han.nl>
35884
35885 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
35886 (PAGE_OFFSET): New macro.
35887 (CRTC_ADDR_PORT): Likewise.
35888 (CRTC_DATA_PORT): Likewise.
35889 (START_ADDR_HIGH_REGISTER): Likewise.
35890 (START_ADDR_LOW_REGISTER): Likewise.
35891 (GRAPHICS_ADDR_PORT): Likewise.
35892 (GRAPHICS_DATA_PORT): Likewise.
35893 (READ_MAP_REGISTER): Likewise.
35894 (INPUT_STATUS1_REGISTER): Likewise.
35895 (INPUT_STATUS1_VERTR_BIT): Likewise.
35896 (page): New variable.
35897 (wait_vretrace): New function.
35898 (set_read_map): Likewise.
35899 (set_start_address): Likewise.
35900 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
35901 the right page.
35902 (check_vga_mem): Take the page into account.
35903 (write_char): Likewise.
35904 (write_cursor): Likewise.
35905 (scroll_up): Likewise. Copy the page to the page that is not
35906 shown and switch between both pages.
35907 (grub_vga_putchar): Fix off by one error.
35908 (grub_vga_cls): Wait for the vertical retrace. Take the page into
35909 account.
35910
35911 2004-11-01 Marco Gerards <metgerards@student.han.nl>
35912
35913 Add support for iso9660 (including rockridge).
35914
35915 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
35916 (iso9660_mod_SOURCES): New variable.
35917 (iso9660_mod_CFLAGS): Likewise.
35918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
35919 * include/grub/fs.h (grub_iso9660_init): New prototype.
35920 * util/grub-emu.c (main): Call `grub_iso9660_init'.
35921 * fs/iso9660.c: New file.
35922
35923 * include/grub/misc.h (grub_strncat): New prototype.
35924 * kern/misc.c (grub_strncat): New function.
35925
35926 * fs/hfs.c (grub_hfs_mount): Translate the error
35927 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
35928 * fs/jfs.c (grub_jfs_mount): Likewise.
35929 * fs/ufs.c (grub_ufs_mount): Likewise.
35930
35931 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
35932
35933 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
35934 which initialized BAT registers.
35935 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
35936 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
35937 Move from here...
35938 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
35939 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
35940 ... to here.
35941 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
35942 (grub_mapclaim): Likewise.
35943 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
35944 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
35945 hand.
35946
35947 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
35948
35949 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
35950 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
35951 -ffreestanding and -msoft-float.
35952
35953 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
35954
35955 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
35956 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
35957 set in grub_ieee1275_flags.
35958
35959 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
35960
35961 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
35962 prototype.
35963 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
35964 grub_console_init first.
35965 Change the memory range used for grub_ieee1275_claim and
35966 grub_mm_init_region.
35967 Print an error message if the claim fails.
35968 Include <grub/misc.h>.
35969
35970 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
35971
35972 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
35973 Call grub_children_iterate for device nodes of type `scsi',
35974 `ide', or `ata'.
35975 (grub_ofdisk_open): Remove manual device alias resolution.
35976 Fix memory leak when device cannot be opened.
35977 * include/grub/powerpc/ieee1275/ieee1275.h
35978 (grub_children_iterate): New prototype.
35979 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
35980 New function.
35981 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
35982 Return -1 if args.size was -1.
35983
35984 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
35985
35986 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
35987 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
35988 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
35989 Open Firmware's memory for it; claim memory from _start to _end.
35990 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
35991 (_end): New extern.
35992 (_start): Zero BSS from __bss_start to _end.
35993 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
35994 New extern.
35995 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
35996
35997 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
35998
35999 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
36000 -1 if args.base was -1.
36001
36002 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
36003
36004 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
36005 escape sequence instead of a literal ^L. Also call
36006 grub_ofconsole_gotoxy.
36007
36008 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
36009
36010 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
36011 void * arguments to grub_addr_t. All callers updated. Also make
36012 the `result' argument optional.
36013 (grub_ieee1275_release): change void * arguments to grub_addr_t.
36014 All callers updated.
36015
36016 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
36017
36018 * commands/ls.c (grub_ls_list_files): Use the string following the
36019 initial ')', if present, as the filesystem path.
36020 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
36021
36022 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
36023
36024 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
36025
36026 Make the source code of the menu interface more readable.
36027
36028 * normal/menu.c: Include grub/mm.h.
36029 (TERM_WIDTH): New macro.
36030 (TERM_HEIGHT): Likewise.
36031 (TERM_INFO_HEIGHT): Likewise.
36032 (TERM_MARGIN): Likewise.
36033 (TERM_SCROLL_WIDTH): Likewise.
36034 (TERM_TOP_BORDER_Y): Likewise.
36035 (TERM_LEFT_BORDER_X): Likewise.
36036 (TERM_BORDER_WIDTH): Likewise.
36037 (TERM_MESSAGE_HEIGHT): Likewise.
36038 (TERM_BORDER_HEIGHT): Likewise.
36039 (TERM_NUM_ENTRIES): Likewise.
36040 (TERM_FIRST_ENTRY_Y): Likewise.
36041 (TERM_ENTRY_WIDTH): Likewise.
36042 (TERM_CURSOR_X): Likewise.
36043 (draw_border): Use macros instead of magic numbers.
36044 (print_entry): Likewise.
36045 (print_entries): Likewise.
36046 (run_menu): Likewise. Also, handle the key 'e'.
36047 (run_menu_entry): Ignore empty command lines.
36048 (print_message): Added a new argument EDIT. If EDIT is true,
36049 print a different message.
36050 (init_page): Likewise.
36051 (edit_menu_entry): New function. Not implemented yet.
36052
36053 2004-09-17 Marco Gerards <metgerards@student.han.nl>
36054
36055 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
36056 can be loaded from normal mode.
36057
36058 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
36059 `multiboot.mod'.
36060 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
36061 (multiboot_mod_CFLAGS): New variables.
36062 * loader/i386/pc/linux_normal.c: New file.
36063 * loader/i386/pc/multiboot_normal.c: Likewise.
36064
36065 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
36066 attribute `unused'.
36067
36068 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
36069 `fdiro' to read the mode information from instead of `diro'.
36070
36071 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
36072 looking up a symlink.
36073
36074 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
36075 macro.
36076 * normal/command.c (grub_command_execute): Don't parse the
36077 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
36078 flags of the command.
36079
36080 * normal/menu.c (grub_menu_run): Fix typo.
36081
36082 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
36083
36084 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
36085
36086 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
36087 `y + 1' instead of `y - 1'.
36088
36089 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
36090
36091 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
36092
36093 From Hollis Blanchard <hollis@penguinppc.org>:
36094 * kern/misc.c (memmove): New alias for grub_memmove.
36095 (memcmp): New alias for grub_memcmp.
36096 (memset): New alias for grub_memset.
36097 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36098 Change "int handle" to "grub_ieee1275_phandle_t handle".
36099 * include/grub/powerpc/ieee1275/ieee1275.h
36100 (grub_ieee1275_get_property): Likewise.
36101
36102 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
36103
36104 Added normal mode command `chainloader' as module chain.mod, which
36105 depends on normal.mod and _chain.mod.
36106
36107 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
36108 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
36109 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
36110 Deleted prototype.
36111 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
36112 but arguments parsing moved to ...
36113 (grub_chainloader_cmd): ... here. New function.
36114 * include/grub/i386/pc/chainloader.h: New file.
36115 * loader/i386/pc/chainloader_normal.c: Likewise.
36116
36117 2004-09-11 Marco Gerards <metgerards@student.han.nl>
36118
36119 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
36120 (grub_mkimage_LDFLAGS): Likewise.
36121 (grub_emu_SOURCES): Likewise.
36122 (kernel_img_HEADERS): Added fshelp.h.
36123 * fs/ext2.c: Include <grub/fshelp.h>.
36124 (FILETYPE_REG): New macro.
36125 (FILETYPE_INO_REG): Likewise.
36126 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
36127 Changed all users.
36128 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
36129 all users.
36130 (grub_fshelp_node): New struct.
36131 (grub_ext2_data): Added member `diropen'. Changed member `inode'
36132 to a pointer.
36133 (grub_ext2_get_file_block): Removed function.
36134 (grub_ext2_read_block): New function.
36135 (grub_ext2_read_file): Replaced parameter `data' by `node'.
36136 This function was written.
36137 (grub_ext2_mount): Read the root inode. Create a diropen struct.
36138 (grub_ext2_find_file): Removed function.
36139 (grub_ext2_read_symlink): New function.
36140 (grub_ext2_iterate_dir): Likewise.
36141 (grub_ext2_open): Rewritten.
36142 (grub_ext2_dir): Rewritten.
36143 * include/grub/fshelp.h: New file.
36144 * fs/fshelp.c: Likewise.
36145
36146 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
36147
36148 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
36149 (print_message): Add a missing newline.
36150 (run_menu): Added timeout support.
36151 (run_menu_entry): New local function.
36152 (grub_menu_run): Added support for booting.
36153
36154 * kern/loader.c (grub_loader_is_loaded): New function.
36155
36156 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
36157 (grub_get_rtc): Exported.
36158
36159 * include/grub/i386/pc/time.h: Include grub/symbol.h.
36160 (grub_get_rtc): Exported.
36161
36162 * include/grub/normal.h (struct grub_command_list): Remove
36163 constant from the member `command'.
36164
36165 * include/grub/loader.h (grub_loader_is_loaded): Declared.
36166
36167 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
36168
36169 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
36170
36171 2004-08-28 Marco Gerards <metgerards@student.han.nl>
36172
36173 Add support for the JFS filesystem.
36174
36175 * fs/jfs.c: New file.
36176 * include/grub/fs.h (grub_jfs_init): New prototype.
36177 (grub_jfs_fini): New prototype.
36178 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
36179 (grub_emu_SOURCES): Likewise.
36180 (pkgdata_MODULES): Add jfs.mod.
36181 (jfs_mod_SOURCES): New variable.
36182 (jfs_mod_CFLAGS): Likewise.
36183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
36184 (grubof_SOURCES): Likewise.
36185 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
36186
36187 * fs/fat.c (grub_fat_find_dir): Convert the filename little
36188 endian to the host endian.
36189 (grub_fat_utf16_to_utf8): Move function from there...
36190 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
36191 the endianness of the source string anymore.
36192 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
36193
36194 2004-08-24 Marco Gerards <metgerards@student.han.nl>
36195
36196 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
36197 (grub_boot_fini) [GRUB_UTIL]: Likewise.
36198 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
36199 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
36200
36201 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
36202 (grub_hfs_iterate_dir): Make the function static. Add prototypes
36203 for `node_found' and `it_dir'.
36204 (grub_hfs_dir): Add prototype for `dir_hook'.
36205
36206 * fs/minix.c (grub_minix_get_file_block): Add prototype for
36207 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
36208 and `indir32' to silence a gcc warning.
36209
36210 * include/grub/fs.h (grub_hfs_init): New prototype.
36211 (grub_hfs_fini): Likewise.
36212
36213
36214 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36215
36216 Each disk device has its own id now. This is useful to make use
36217 of multiple disk devices.
36218
36219 * include/grub/disk.h (grub_disk_dev_id): New enum.
36220 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
36221 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
36222
36223 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
36224 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36225
36226 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
36227 GRUB_DISK_DEVICE_OFDISK_ID as an id.
36228
36229 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
36230 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36231
36232 * include/grub/disk.h (struct grub_disk_dev): Added a new member
36233 "id" which is used by the cache manager.
36234
36235 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
36236 of just "GRUB".
36237
36238 2004-08-18 Marco Gerards <metgerards@student.han.nl>
36239
36240 * fs/hfs.c: New file.
36241 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
36242 (grub_emu_SOURCES): Likewise.
36243 (pkgdata_MODULES): Add hfs.mod.
36244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
36245 (grubof_SOURCES): Likewise.
36246 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
36247
36248 * include/grub/misc.h (grub_strncasecmp): Add prototype.
36249 * kern/misc.c (grub_strncasecmp): Add function.
36250
36251 2004-08-14 Marco Gerards <metgerards@student.han.nl>
36252
36253 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
36254 with parentheses.
36255
36256 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
36257 (grub_ext2_dir): In case the directory entry type is unknown, read
36258 it from the inode.
36259
36260 2004-08-02 Peter Bruin <pjbruin@dds.nl>
36261
36262 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
36263 grub_load_linux instead of grub_rescue_cmd_linux as second
36264 argument of grub_rescue_register_command.
36265
36266 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
36267
36268 2004-07-27 Marco Gerards <metgerards@student.han.nl>
36269
36270 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
36271 function.
36272 * commands/boot.c: Remove the check for `GRUB_UTIL'.
36273 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
36274 `loader/powerpc/ieee1275/linux.c',
36275 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
36276 * include/grub/powerpc/ieee1275/ieee1275.h
36277 (grub_ieee1275_release): New prototype.
36278 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
36279 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
36280 normal, boot, linux and linux_normal.
36281 * loader/powerpc/ieee1275/linux.c: New file.
36282 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36283
36284 2004-07-12 Marco Gerards <metgerards@student.han.nl>
36285
36286 * normal/arg.c (grub_arg_parse): Correct error handling after
36287 reallocating the argumentlist (check if `argl' is not null instead
36288 of checking if `args' is not null).
36289 * kern/mm.c (grub_realloc): Return the same pointer when using the
36290 same region, instead of returning the header address.
36291
36292 2004-07-11 Marco Gerards <metgerards@student.han.nl>
36293
36294 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
36295 one block instead of two when looking for the initial partition.
36296 (grub_partition_probe): Initialize the local variable `p' with 0.
36297 Use base 10 for the grub_strtoul call.
36298 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
36299 need for one local variable.
36300 (grub_strtoul): Don't add the new value to `num', instead of that
36301 just assign it.
36302
36303 2004-07-11 Marco Gerards <metgerards@student.han.nl>
36304
36305 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
36306 (pxeboot_img_SOURCES): New variable.
36307 (pxeboot_img_ASFLAGS): Likewise.
36308 (pxeboot_img_LDFLAGS): Likewise.
36309 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
36310 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
36311 <lode_leroy@hotmail.com>.
36312
36313 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36314
36315 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
36316 there was no input.
36317
36318 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36319
36320 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
36321 the history buffer logic.
36322
36323 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36324
36325 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
36326 (FILETYPE_INO_SYMLINK): New macros.
36327 (grub_ext2_find_file): Check if the node is a directory using the
36328 inode stat information instead of using the filetype in the
36329 dirent. Exclude the first character of an absolute symlink.
36330 (grub_ext2_dir): Mask out the filetype part of the mode member of
36331 the inode.
36332
36333 2004-05-24 Marco Gerards <metgerards@student.han.nl>
36334
36335 Add support for UFS version 1 and 2. Add support for the minix
36336 filesystem version 1 and 2, both the variants with 14 and 30 long
36337 filenames.
36338
36339 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
36340 fs/minix.c.
36341 (grub_emu_SOURCES): Likewise.
36342 (pkgdata_MODULES): Add ufs.mod and minix.mod.
36343 (ufs_mod_SOURCES): New variable.
36344 (ufs_mod_CFLAGS): Likewise.
36345 (minix_mod_SOURCES): Likewise.
36346 (minix_mod_CFLAGS): Likewise.
36347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
36348 fs/minix.c.
36349 (grubof_SOURCES): Likewise.
36350 * fs/ufs.c: New file.
36351 * fs/minix.c: New file.
36352 * include/grub/fs.h (grub_ufs_init): New prototype.
36353 (grub_ufs_fini): Likewise.
36354 (grub_minix_init): Likewise.
36355 (grub_minix_fini): Likewise.
36356 * util/grub-emu.c (main): Initialize and deinitialize UFS and
36357 minix fs.
36358
36359 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
36360
36361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
36362 commands/ls.c, commands/terminal.c, commands/boot.c,
36363 commands/cmp.c and commands/cat.c.
36364 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
36365
36366 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
36367 "env.h"
36368
36369 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36370
36371 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
36372 and grub_, respectively. Because the conversion is trivial and
36373 mechanical, I omit the details here. Please refer to the CVS
36374 if you need more information.
36375
36376 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36377
36378 * include/pupa: Renamed to ...
36379 * include/grub: ... this.
36380 * util/i386/pc/pupa-mkimage.c: Renamed to ...
36381 * util/i386/pc/grub-mkimage.c: ... this.
36382 * util/i386/pc/pupa-setup.c: Renamed to ...
36383 * util/i386/pc/grub-setup.c: ... this.
36384 * util/pupa-emu.c: Renamed to ...
36385 * util/grub-emu.c: ... this.
36386
36387 2004-03-29 Marco Gerards <metgerards@student.han.nl>
36388
36389 Add support for the newworld apple macintosh (PPC). This has been
36390 tested on the powerbook 2000 only. It only adds support for
36391 generic ieee1275 functions, console and disk support. This should
36392 be easy to port to other architectures with support for Open
36393 Firmware.
36394
36395 * configure.ac: Accept the powerpc as host_cpu. In the case of
36396 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
36397 specific tests are only executed while building for the i386.
36398 Inverse test for crosscompile.
36399 * genmk.rb (Utility): Allow assembler files.
36400 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
36401 * conf/powerpc-ieee1275.rmk: New file.
36402 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
36403 * disk/powerpc/ieee1275/partition.c: Likewise.
36404 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
36405 * include/pupa/powerpc/ieee1275/console.h: Likewise.
36406 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
36407 * include/pupa/powerpc/ieee1275/time.h: Likewise.
36408 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
36409 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
36410 * include/pupa/powerpc/ieee1275/loader.h
36411 * include/pupa/powerpc/setjmp.h: Likewise.
36412 * include/pupa/powerpc/types.h: Likewise.
36413 * kern/powerpc/ieee1275/init.c: Likewise.
36414 * kern/powerpc/ieee1275/openfw.c: Likewise.
36415 * term/powerpc/ieee1275/ofconsole.c: Likewise.
36416
36417 These files were written by Johan Rydberg
36418 (jrydberg@night.trouble.net) and I only modified them slightly.
36419
36420 * boot/powerpc/ieee1275/cmain.c: New file.
36421 * boot/powerpc/ieee1275/crt0.S: Likewise.
36422 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
36423 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
36424
36425 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
36426
36427 * Makefile.in: Update copyright.
36428 * genmodsrc.sh: Likewise.
36429 * gensymlist.sh: Likewise.
36430 * term/i386/pc/vga.c: Indent correctly.
36431
36432 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
36433 bugreporting address.
36434 * util/i386/pc/pupa-setup.c (usage): Likewise,
36435 (main): Call pupa_ext2_init and pupa_ext2_fini.
36436
36437 * fs/fat.c (log2): Renamed to ...
36438 (fat_log2): ... this.
36439 All callers changed.
36440 * kern/misc.c (memcpy): Alias to pupa_memmove.
36441 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
36442 lvalue cast.
36443 * util/console.c (pupa_ncurses_fini): Return 0.
36444
36445 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
36446 Move fail label here.
36447 [__GNU__]: Don't warn when using stat.
36448 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
36449 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
36450 long int. Use strtol instead of strtoul.
36451
36452 2004-03-14 Marco Gerards <metgerards@student.han.nl>
36453
36454 * commands/boot.c: New file.
36455 * commands/cat.c: Likewise.
36456 * commands/cmp.c: Likewise.
36457 * commands/ls.c: Likewise.
36458 * commands/terminal.c: Likewise.
36459 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
36460 (pupa_register_command): Changed interface to match the new
36461 argument parser.
36462 (pupa_command_execute): Changed (almost rewritten) so it uses
36463 pupa_split_command. Added support for setting variables using the
36464 syntax `foo=bar'.
36465 (rescue_command): Changed to work with the new argument parser.
36466 (terminal_command): Moved from here to commands/terminal.c.
36467 (set_command): New function.
36468 (unset_command): New function.
36469 (insmod_command): New function.
36470 (rmmod_command): New function.
36471 (lsmod_command): New function.
36472 (pupa_command_init): Don't initialize the command terminal
36473 anymore. Initialize the commands set, unset, insmod, rmmod and
36474 lsmod.
36475 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
36476 (kernel_img_HEADERS): Add arg.h and env.h.
36477 (pupa_mkimage_LDFLAGS): Add kern/env.c.
36478 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
36479 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
36480 normal/arg.c.
36481 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
36482 terminal.mod.
36483 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
36484 (boot_mod_SOURCES): New variable.
36485 (terminal_mod_SOURCES): Likewise.
36486 (ls_mod_SOURCES): Likewise.
36487 (cmp_mod_SOURCES): Likewise.
36488 (cat_mod_SOURCES): Likewise.
36489
36490 * normal/arg.c: New file.
36491 * kern/env.c: Likewise.
36492 * include/pupa/arg.h: Likewise.
36493 * include/pupa/env.h: Likewise.
36494 * font/manager.c (font_command): Changed to match argument parsing
36495 interface changes.
36496 (PUPA_MOD_INIT): Likewise.
36497 * hello/hello.c (pupa_cmd_hello): Likewise.
36498 (PUPA_MOD_INIT): Likewise.
36499 * include/pupa/disk.h: Include <pupa/device.h>.
36500 (pupa_print_partinfo): New prototype.
36501 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
36502 (pupa_dl_get_prefix): Likewise.
36503 * include/pupa/misc.h: Include <pupa/err.h>.
36504 (pupa_isgraph): New prototype.
36505 (pupa_isdigit): Likewise.
36506 (pupa_split_cmdline): Likewise.
36507 * include/pupa/normal.h: Include <pupa/arg.h>.
36508 (pupa_command): Changed the prototype of the member `func' to
36509 match the argument parsing interface. Added member `options'.
36510 (pupa_register_command): Updated to match function.
36511 (pupa_arg_parse): New prototype.
36512 (pupa_hello_init) [PUPA_UTIL]: New prototype.
36513 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
36514 (pupa_ls_init) [PUPA_UTIL]: Likewise.
36515 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
36516 (pupa_cat_init) [PUPA_UTIL]: Likewise.
36517 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
36518 (pupa_boot_init) [PUPA_UTIL]: Likewise.
36519 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
36520 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
36521 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
36522 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
36523 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
36524 * kern/disk.c: Include <pupa/file.h>.
36525 (pupa_print_partinfo): New function.
36526 * kern/dl.c: Include <pupa/env.h>.
36527 (pupa_dl_dir): Variable removed.
36528 (pupa_dl_load): Use the environment variable `prefix' instead of
36529 the variable pupa_dl_dir.
36530 (pupa_dl_set_prefix): Function removed.
36531 (pupa_dl_get_prefix): Likewise.
36532 * kern/i386/pc/init.c: Include <pupa/env.h>.
36533 (pupa_machine_init): Use the environment variable `prefix' instead of
36534 using pupa_dl_set_prefix to set the prefix.
36535 * kern/main.c: Include <pupa/env.h>.
36536 (pupa_set_root_dev): Use the environment variable `prefix' instead of
36537 using pupa_dl_get_prefix to get the prefix.
36538 * kern/misc.c: Include <pupa/env.h>.
36539 (pupa_isdigit): New function.
36540 (pupa_isgraph): Likewise.
36541 (pupa_ftoa): Likewise.
36542 (pupa_vsprintf): Added support for printing values of the type
36543 `double'. Make it possible to format variable output when using
36544 formatting like `%1.2%f'.
36545 (pupa_split_cmdline): New function.
36546 * kern/rescue.c: Include <pupa/env.h>.
36547 (next_word): Removed function.
36548 (pupa_rescue_cmd_prefix): Likewise.
36549 (pupa_rescue_cmd_set): New function.
36550 (pupa_rescue_cmd_unset): New function.
36551 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
36552 split the command line instead of splitting it here. Added
36553 support for setting variables using the syntax `foo=bar'. Don't
36554 initialize the prefix command anymore. Initialized the set and
36555 unset commands.
36556 * normal/cmdline.c: Include <pupa/env.h>.
36557 (pupa_tab_complete): Added prototypes for print_simple_completion,
36558 print_partition_completion, add_completion, iterate_commands,
36559 iterate_dev, iterate_part and iterate_dir. Moved code to print
36560 partition information from here to kern/disk.c.
36561 (pupa_cmdline_run): Don't check if the function exists anymore.
36562 * normal/main.c: Include <pupa/env.h>.
36563 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
36564 instead of using pupa_dl_get_prefix to get the prefix.
36565 * term/i386/pc/vga.c: Include <pupa/arg.h>.
36566 (check_vga_mem): Cast pointers to `void *' to silence a gcc
36567 warning.
36568 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
36569 (pupa_vga_setcolor): Declare unused variables with `__attribute__
36570 ((unused))' to silence a gcc warning.
36571 (pupa_vga_setcolor): Likewise.
36572 (debug_command): Changed to match argument parsing
36573 interface changes.
36574 * util/pupa-emu.c: Include <pupa/env.h>.
36575 (options): Added 0's for unused fields to silence a gcc warning.
36576 (argp): Likewise.
36577 (main): Use the environment variable `prefix' instead of using
36578 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
36579 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
36580 and terminal.
36581
36582 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
36583 * util/misc.c: Include <malloc.h>.
36584 (pupa_malloc): Rewritten so errors are correctly reported.
36585 (pupa_realloc): Likewise.
36586 (pupa_memalign): Likewise.
36587 (pupa_mm_init_region): Declare unused variables with
36588 `__attribute__ ((unused))' to silence a gcc warning.
36589 * normal/i386/setjmp.S: Remove tab at the end of the file to
36590 silence a gcc warning.
36591 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
36592 variables with `__attribute__ ((unused))' to silence a gcc
36593 warning.
36594 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
36595 local variable i unsigned to silence a gcc warning.
36596
36597 * kern/term.c: Include <pupa/misc.h>.
36598 (pupa_more_lines): New variable.
36599 (pupa_more): Likewise.
36600 (pupa_putcode): When the pager is active pause at the end of every
36601 screen.
36602 (pupa_set_more): New function.
36603 * include/pupa/term.h (pupa_set_more): New prototype.
36604
36605
36606 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
36607
36608 Now this project is GRUB 2 rather than PUPA. The location of
36609 the CVS repository was moved to GRUB's.
36610
36611 * configure.ac: Use bug-grub as the reporting address.
36612 Use GRUB instead of PUPA.
36613 Change the version number to 1.90.
36614
36615 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
36616
36617 * genkernsyms.sh: Updated copyright information.
36618 * genmk.rb: Likewise.
36619 * genmodsrc.sh: Likewise.
36620 * gensymlist.sh: Likewise.
36621 * boot/i386/pc/boot.S: Likewise.
36622 * boot/i386/pc/diskboot.S: Likewise.
36623 * disk/i386/pc/biosdisk.c: Likewise.
36624 * disk/i386/pc/partition.c: Likewise.
36625 * font/manager.c: Likewise.
36626 * fs/ext2.c: Likewise.
36627 * fs/fat.c: Likewise.
36628 * include/pupa/boot.h: Likewise.
36629 * include/pupa/device.h: Likewise.
36630 * include/pupa/disk.h: Likewise.
36631 * include/pupa/dl.h: Likewise.
36632 * include/pupa/elf.h: Likewise.
36633 * include/pupa/err.h: Likewise.
36634 * include/pupa/file.h: Likewise.
36635 * include/pupa/font.h: Likewise.
36636 * include/pupa/fs.h: Likewise.
36637 * include/pupa/kernel.h: Likewise.
36638 * include/pupa/loader.h: Likewise.
36639 * include/pupa/misc.h: Likewise.
36640 * include/pupa/mm.h: Likewise.
36641 * include/pupa/net.h: Likewise.
36642 * include/pupa/normal.h: Likewise.
36643 * include/pupa/rescue.h: Likewise.
36644 * include/pupa/setjmp.h: Likewise.
36645 * include/pupa/symbol.h: Likewise.
36646 * include/pupa/term.h: Likewise.
36647 * include/pupa/types.h: Likewise.
36648 * include/pupa/i386/setjmp.h: Likewise.
36649 * include/pupa/i386/types.h: Likewise.
36650 * include/pupa/i386/pc/biosdisk.h: Likewise.
36651 * include/pupa/i386/pc/boot.h: Likewise.
36652 * include/pupa/i386/pc/console.h: Likewise.
36653 * include/pupa/i386/pc/init.h: Likewise.
36654 * include/pupa/i386/pc/kernel.h: Likewise.
36655 * include/pupa/i386/pc/linux.h: Likewise.
36656 * include/pupa/i386/pc/loader.h: Likewise.
36657 * include/pupa/i386/pc/memory.h: Likewise.
36658 * include/pupa/i386/pc/multiboot.h: Likewise.
36659 * include/pupa/i386/pc/partition.h: Likewise.
36660 * include/pupa/i386/pc/time.h: Likewise.
36661 * include/pupa/i386/pc/vga.h: Likewise.
36662 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
36663 * include/pupa/util/getroot.h: Likewise.
36664 * include/pupa/util/misc.h: Likewise.
36665 * include/pupa/util/resolve.h: Likewise.
36666 * kern/device.c: Likewise.
36667 * kern/disk.c: Likewise.
36668 * kern/dl.c: Likewise.
36669 * kern/err.c: Likewise.
36670 * kern/file.c: Likewise.
36671 * kern/fs.c: Likewise.
36672 * kern/loader.c: Likewise.
36673 * kern/main.c: Likewise.
36674 * kern/misc.c: Likewise.
36675 * kern/mm.c: Likewise.
36676 * kern/rescue.c: Likewise.
36677 * kern/term.c: Likewise.
36678 * kern/i386/dl.c: Likewise.
36679 * kern/i386/pc/init.c: Likewise.
36680 * kern/i386/pc/lzo1x.S: Likewise.
36681 * kern/i386/pc/startup.S: Likewise.
36682 * loader/i386/pc/chainloader.c: Likewise.
36683 * loader/i386/pc/linux.c: Likewise.
36684 * loader/i386/pc/multiboot.c: Likewise.
36685 * normal/cmdline.c: Likewise.
36686 * normal/command.c: Likewise.
36687 * normal/main.c: Likewise.
36688 * normal/menu.c: Likewise.
36689 * normal/i386/setjmp.S: Likewise.
36690 * term/i386/pc/console.c: Likewise.
36691 * term/i386/pc/vga.c: Likewise.
36692 * util/console.c: Likewise.
36693 * util/genmoddep.c: Likewise.
36694 * util/misc.c: Likewise.
36695 * util/pupa-emu.c: Likewise.
36696 * util/resolve.c: Likewise.
36697 * util/unifont2pff.rb: Likewise.
36698 * util/i386/pc/biosdisk.c: Likewise.
36699 * util/i386/pc/getroot.c: Likewise.
36700 * util/i386/pc/pupa-mkimage.c: Likewise.
36701 * util/i386/pc/pupa-setup.c: Likewise.
36702
36703 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
36704
36705 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
36706 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
36707 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
36708 reading and reset it after reading.
36709 (pupa_ext2_close): Return PUPA_ERR_NONE.
36710
36711 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
36712 Correct value.
36713 (struct linux_kernel_header): Add kernel_version and
36714 initrd_addr_max.
36715 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
36716 pupa_file_read succeeds.
36717 (pupa_rescue_cmd_initrd): Implement.
36718
36719 2003-12-03 Marco Gerards <metgerards@student.han.nl>
36720
36721 * fs/ext2.c (pupa_ext2_label): New function.
36722 (pupa_ext2_fs): Added label.
36723 * fs/fat.c (pupa_fat_label): New function.
36724 (pupa_fat_fs): Added label.
36725 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
36726
36727 * kern/misc.c (pupa_strndup): New function.
36728 * include/pupa/misc.h (pupa_strndup): New prototype.
36729
36730 * include/pupa/normal.h: Include <pupa/err.h>.
36731 (pupa_set_history): New prototype.
36732 (pupa_iterate_commands): New prototype.
36733 * normal/cmdline.c: Include <pupa/machine/partition.h>,
36734 <pupa/disk.h>, <pupa/file.h>.
36735 (hist_size): New variable.
36736 (hist_lines): Likewise.
36737 (hist_end): Likewise.
36738 (hist_used): Likewise.
36739 (pupa_set_history): New function.
36740 (pupa_history_get): Likewise.
36741 (pupa_history_add): Likewise.
36742 (pupa_history_replace): Likewise.
36743 (pupa_tab_complete): Likewise.
36744 (pupa_cmdline_run): Added tab completion and history buffer. Tab
36745 completion shows partitionnames while completing partitions, this
36746 feature was suggested by Jeff Bailey.
36747 * normal/command.c (pupa_iterate_commands): New function.
36748 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
36749 (pupa_normal_init): Initialize history buffer.
36750 (PUPA_MOD_INIT): Likewise.
36751 (pupa_normal_fini): Free the history buffer.
36752 (PUPA_MOD_FINI): Likewise.
36753
36754 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
36755 key.
36756
36757 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
36758 * configure.ac [i386]: Check for regparam bug.
36759 (NESTED_FUNC_ATTR) [! i386]: Defined.
36760
36761 2003-11-17 Marco Gerards <metgerards@student.han.nl>
36762
36763 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
36764 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
36765 (pupa_emu_SOURCES): New variable.
36766 (pupa_emu_LDFLAGS): Likewise.
36767 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
36768 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
36769 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
36770 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
36771 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
36772 (pupa_jmp_buf): New typedef.
36773 (pupa_setjmp) [PUPA_UTIL]: New macro.
36774 (pupa_longjmp) [PUPA_UTIL]: Likewise.
36775 * include/pupa/term.h (struct pupa_term): New member `refresh'.
36776 (pupa_refresh): New prototype.
36777 * include/pupa/util/getroot.h: New file.
36778 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
36779 it.
36780 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
36781 (pupa_rescue_cmd_cat): Likewise.
36782 (pupa_rescue_cmd_ls): Likewise.
36783 (pupa_rescue_cmd_testload): Likewise.
36784 (pupa_rescue_cmd_lsmod): Likewise.
36785 * normal/cmdline.c (pupa_cmdline_get): Likewise.
36786 * normal/menu.c (run_menu): Likewise.
36787 * kern/term.c (pupa_cls): Likewise.
36788 (pupa_refresh): New function.
36789 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
36790 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
36791 * util/console.c: New file.
36792
36793 * util/i386/pc/getroot.c: New file.
36794 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
36795 (pupa_putchar): New function.
36796 (pupa_refresh): Likewise.
36797 (xgetcwd): Function moved to ...
36798 (strip_extra_slashes): Likewise.
36799 (get_prefix): Likewise.
36800 * util/i386/pc/getroot.c: ... here.
36801 (find_root_device): Function moved and renamed to...
36802 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
36803 Changed all callers.
36804 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
36805 and renamed to...
36806 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
36807 Changed all callers.
36808 * util/misc.c (pupa_memalign): New function.
36809 (pupa_mm_init_region): Likewise.
36810 (pupa_register_exported_symbols): Likewise.
36811 (pupa_putchar): Function removed.
36812 * util/pupa-emu.c: New file.
36813
36814 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
36815
36816 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
36817 (_multiboot_mod_SOURCES): New variable.
36818 (_multiboot_mod_CFLAGS): Likewise.
36819 * loader/i386/pc/multiboot.c: New file.
36820 * include/pupa/i386/pc/multiboot.h: Likewise.
36821 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
36822 (pupa_multiboot_real_boot): New function.
36823 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
36824 (pupa_multiboot_real_boot): New prototype.
36825 (pupa_rescue_cmd_multiboot): Likewise
36826 (pupa_rescue_cmd_module): Likewise.
36827
36828 * kern/loader.c (pupa_loader_set): Continue when
36829 pupa_loader_unload_func() fails.
36830 (pupa_loader_unset): New function.
36831 * include/pupa/loader.h (pupa_loader_unset): New prototype.
36832
36833 * kern/misc.c (pupa_stpcpy): New function.
36834 * include/pupa/misc.h (pupa_stpcpy): New prototype.
36835
36836 2003-11-12 Marco Gerards <metgerards@student.han.nl>
36837
36838 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
36839 for available extensions.
36840
36841 * include/pupa/i386/pc/time.h: New file.
36842 * kern/disk.c: Include <pupa/machine/time.h>.
36843 (PUPA_CACHE_TIMEOUT): New macro.
36844 (pupa_last_time): New variable.
36845 (pupa_disk_open): Flush the cache when there was a timeout.
36846 (pupa_disk_close): Reset the timer.
36847 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
36848 pupa_currticks.
36849 * util/misc.c: Include <sys/times.h>
36850 (pupa_get_rtc): New function.
36851
36852 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
36853
36854 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
36855 as blocks.
36856 (pupa_ext2_get_file_block): Use blocks member.
36857
36858 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
36859 first block. Return -1 instead of pupa_errno on error.
36860
36861 2003-10-27 Marco Gerards <metgerards@student.han.nl>
36862
36863 * README: In the pupa-mkimage example use _chain instead of chain
36864 and ext2 instead of fat.
36865 * TODO: Replace ext2fs with jfs as an example. Add an item for
36866 adding journal playback for ext2fs.
36867 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
36868 (pkgdata_MODULES): Added ext2.mod.
36869 (ext2_mod_SOURCES): New variable.
36870 (ext2_mod_CFLAGS): Likewise.
36871 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
36872 * include/pupa/misc.h (pupa_strncpy): New prototype.
36873 (pupa_strcat): Likewise.
36874 (pupa_strncmp): Likewise.
36875 * kern/misc.c (pupa_strcat): Enable function.
36876 (pupa_strncpy): New function.
36877 (pupa_strncmp): Likewise.
36878 * fs/ext2.c: New file.
36879
36880 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
36881 when the read failed before retrying.
36882 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
36883 (_FILE_OFFSET_BITS): Likewise.
36884 * configure.ac: Added AC_SYS_LARGEFILE.
36885
36886 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
36887
36888 * genmk.rb (PModule#rule): Make sure to get only symbol names
36889 from the output of nm.
36890 Reported by Robert Millan <rmh.grub@aybabtu.com>.
36891
36892 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
36893
36894 I forgot to check in these changes for a long time. This adds
36895 incomplete support for VGA console, and this is still very
36896 buggy. Also, a lot of consideration is required for I18N,
36897 UNICODE, and VGA font issues. Therefore, assume that this is
36898 such that "better than nothing".
36899
36900 * font/manager.c: New file.
36901 * include/pupa/font.h: Likewise.
36902 * include/pupa/i386/pc/vga.h: Likewise.
36903 * term/i386/pc/vga.c: Likewise.
36904 * util/unifont2pff.rb: Likewise.
36905
36906 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
36907 (pkgdata_MODULES): Added vga.mod and font.mod.
36908 (vga_mod_SOURCES): New variables.
36909 (vga_mod_CFLAGS): Likewise.
36910 (font_mod_SOURCES): Likewise.
36911 (font_mod_CFLAGS): Likewise.
36912
36913 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
36914
36915 * include/pupa/term.h: Include pupa/err.h.
36916 (struct pupa_term): Added init and fini.
36917 Changed the argument of putchar to pupa_uint32_t.
36918
36919 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
36920 (pupa_console_real_putchar): New prototype.
36921 (pupa_console_putchar): Removed.
36922 (pupa_console_checkkey): Exported.
36923 (pupa_console_getkey): Likewise.
36924
36925 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
36926 characters.
36927
36928 * kern/term.c (pupa_term_set_current): Rewritten.
36929 (pupa_putchar): Likewise.
36930 (pupa_putcode): New function.
36931
36932 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
36933 (pupa_console_real_putchar): ... this.
36934 (pupa_vga_set_mode): New function.
36935 (pupa_vga_get_font): Likewise.
36936
36937 * normal/command.c: Include pupa/term.h.
36938 (terminal_command): New function.
36939 (pupa_command_init): Register the command "terminal".
36940
36941 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
36942 (DISP_UP): Likewise.
36943 (DISP_RIGHT): Likewise.
36944 (DISP_DOWN): Likewise.
36945 (DISP_HLINE): Likewise.
36946 (DISP_VLINE): Likewise.
36947 (DISP_UL): Likewise.
36948 (DISP_UR): Likewise.
36949 (DISP_LL): Likewise.
36950 (DISP_LR): Likewise.
36951
36952 * term/i386/pc/console.c (pupa_console_putchar): New function.
36953
36954 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
36955
36956 * util/resolve.c (pupa_util_resolve_dependencies): BUG
36957 FIX. Reverse the path_list.
36958
36959 * include/pupa/normal.h: Export pupa_register_command and
36960 pupa_unregister_command.
36961
36962 * hello/hello.c (pupa_cmd_hello): New module.
36963 * conf/i386-pc.rmk: Added hello.mod.
36964
36965 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
36966
36967 * kern/i386/pc/lzo1x.S: New file.
36968
36969 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
36970 (compress_kernel): New variable.
36971 (generate_image): Heavily modified to support compressing a
36972 large part of the core image.
36973
36974 * util/misc.c (pupa_util_read_image): Fix a file descriptor
36975 leak.
36976 (pupa_util_load_image): New function.
36977
36978 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
36979 (pupa_compressed_size): New variable.
36980 (codestart): Enable Gate A20 here.
36981 Decompress the compressed part of the core image.
36982 Rearrange the code to put functions and variables which are
36983 required for initialization in the non-compressed part.
36984 Include lzo1x.S.
36985
36986 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
36987 here.
36988
36989 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
36990
36991 * include/pupa/i386/pc/kernel.h
36992 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
36993 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
36994 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
36995 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
36996 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
36997
36998 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
36999
37000 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
37001 (Utility#rule): Likewise.
37002
37003 * configure.ac: Check if LZO is available.
37004
37005 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
37006
37007 * include/pupa/normal.h: New file.
37008 * include/pupa/setjmp.h: Likewise.
37009 * include/pupa/i386/setjmp.h: Likewise.
37010 * normal/cmdline.c: Likewise.
37011 * normal/command.c: Likewise.
37012 * normal/main.c: Likewise.
37013 * normal/menu.c: Likewise.
37014 * normal/i386/setjmp.S: Likewise.
37015
37016 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
37017 (pupa_rescue_cmd_initrd): Likewise.
37018
37019 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
37020 Likewise.
37021
37022 * kern/i386/pc/startup.S (translation_table): New variable.
37023 (translate_keycode): New function.
37024 (pupa_console_getkey): Call translate_keycode.
37025
37026 * kern/rescue.c (attempt_normal_mode): New function.
37027 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
37028 it failed, print a message.
37029
37030 * kern/mm.c (pupa_real_malloc): Print more information when a
37031 free magic is broken.
37032 (pupa_free): If the first free header is not free actually, set
37033 it to P.
37034
37035 * kern/main.c (pupa_load_normal_mode): Just load the module
37036 "normal".
37037 (pupa_main): Don't print the message
37038 "Entering into rescue mode..." here.
37039
37040 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
37041 Declared.
37042 (pupa_rescue_cmd_initrd): Likewise.
37043 (pupa_rescue_cmd_initrd): Likewise.
37044
37045 * include/pupa/symbol.h (FUNCTION): Specify the type.
37046 (VARIABLE): Likewise.
37047
37048 * include/pupa/err.h (pupa_err_t): Added
37049 PUPA_ERR_UNKNOWN_COMMAND.
37050
37051 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
37052 (pupa_dl_get_prefix): Likewise.
37053
37054 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
37055 Added _chain.mod and _linux.mod instead of chain.mod and
37056 linux.mod.
37057 (chain_mod_SOURCES): Renamed to ...
37058 (_chain_mod_SOURCES): ... this.
37059 (chain_mod_CFLAGS): Renamed to ...
37060 (_chain_mod_CFLAGS): ... this.
37061 (linux_mod_SOURCES): Renamed to ...
37062 (_linux_mod_SOURCES): ... this.
37063 (linux_mod_CFLAGS): Renamed to ...
37064 (_linux_mod_CFLAGS): ... this.
37065 (normal_mod_SOURCES): New variable.
37066 (normal_mod_CFLAGS): Likewise.
37067 (normal_mod_ASFLAGS): Likewise.
37068
37069 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
37070
37071 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
37072 possible.
37073
37074 * kern/dl.c (pupa_dl_ref): Refer depending modules
37075 recursively.
37076 (pupa_dl_unref): Unrefer depending modules recursively.
37077 Don't call pupa_dl_unload implicitly, because PUPA can crash if
37078 a module is unloaded before one depending on that module is
37079 unloaded.
37080 (pupa_dl_unload): Unload depending modules explicitly,
37081 if possible.
37082
37083 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
37084
37085 * include/pupa/i386/pc/linux.h: New file.
37086 * loader/i386/pc/linux.c: Likewise.
37087
37088 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
37089 Removed.
37090 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
37091 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
37092 of PUPA_CHAINLOADER_BOOT_SECTOR.
37093
37094 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
37095 (pupa_linux_prot_size): New variable.
37096 (pupa_linux_tmp_addr): Likewise.
37097 (pupa_linux_real_addr): Likewise.
37098 (pupa_linux_boot_zimage): New function.
37099 (pupa_linux_boot_bzimage): Likewise.
37100
37101 * kern/i386/pc/init.c (struct mem_region): New structure.
37102 (MAX_REGIONS): New macro.
37103 (mem_regions): New variable.
37104 (num_regions): Likewise.
37105 (pupa_os_area_addr): Likewise.
37106 (pupa_os_area_size): Likewise.
37107 (pupa_lower_mem): Likewise.
37108 (pupa_upper_mem): Likewise.
37109 (add_mem_region): New function.
37110 (compact_mem_regions): Likewise.
37111 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
37112 the size of the conventional memory and that of so-called upper
37113 memory (before the first memory hole).
37114 Instead of adding each found region to free memory, use
37115 add_mem_region and add them after removing overlaps.
37116 Also, add only 1/4 of the upper memory to free memory. The rest
37117 is used for loading OS images. Maybe this is ad hoc, but this
37118 makes it much easier to relocate OS images when booting.
37119
37120 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
37121 (pupa_enter_rescue_mode): Don't register initrd and module.
37122
37123 * kern/mm.c: Include pupa/dl.h.
37124
37125 * kern/main.c: Include pupa/file.h and pupa/device.h.
37126
37127 * kern/loader.c (pupa_loader_load_module_func): Removed.
37128 (pupa_loader_load_module): Likewise.
37129
37130 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
37131 ``.o''.
37132
37133 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
37134 (pupa_linux_tmp_addr): Likewise.
37135 (pupa_linux_real_addr): Likewise.
37136 (pupa_linux_boot_zimage): Likewise.
37137 (pupa_linux_boot_bzimage): Likewise.
37138
37139 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
37140 (pupa_upper_mem): Likewise.
37141 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
37142 module is too dangerous.
37143
37144 * include/pupa/loader.h (pupa_os_area_addr): Declared.
37145 (pupa_os_area_size): Likewise.
37146 (pupa_loader_set): Remove the first argument. Loader doesn't
37147 manage modules or initrd any longer.
37148 (pupa_loader_load_module): Removed.
37149
37150 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
37151 (linux_mod_SOURCES): New variable.
37152 (linux_mod_CFLAGS): Likewise.
37153
37154 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
37155
37156 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
37157 the length of a blocklist correctly.
37158
37159 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
37160 Use ioctl only if the OS file is a block device.
37161 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
37162 not very useful for normal files.
37163
37164 * kern/main.c (pupa_set_root_dev): New function.
37165 (pupa_load_normal_mode): Likewise.
37166 (pupa_main): Call those above.
37167
37168 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
37169 pupa_uint16_t.
37170
37171 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
37172
37173 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37174
37175 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
37176 (setup): Configure the installed partition information and the
37177 dl prefix.
37178
37179 * loader/i386/pc/chainloader.c (my_mod): New variable.
37180 (pupa_chainloader_unload): New function.
37181 (pupa_rescue_cmd_chainloader): Refer itself.
37182 (PUPA_MOD_INIT): Save its own module in MY_MOD.
37183
37184 * kern/i386/pc/startup.S (install_partition): Removed.
37185 (version_string): Likewise.
37186 (config_file): Likewise.
37187 (pupa_install_dos_part): New variable.
37188 (pupa_install_bsd_part): Likewise.
37189 (pupa_prefix): Likewise.
37190 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
37191
37192 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
37193 and pupa/misc.h.
37194 (make_install_device): New function.
37195 (pupa_machine_init): Set the dl prefix.
37196
37197 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
37198 (buf): Renamed to ...
37199 (linebuf): ... this.
37200 (pupa_rescue_cmd_prefix): New function.
37201 (pupa_rescue_cmd_insmod): Likewise.
37202 (pupa_rescue_cmd_rmmod): Likewise.
37203 (pupa_rescue_cmd_lsmod): Likewise.
37204 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
37205 rmmod and lsmod.
37206
37207 * kern/mm.c (pupa_memalign): If failed even after invalidating
37208 disk caches, unload unneeded modules and retry.
37209
37210 * kern/misc.c (pupa_memmove): New function.
37211 (pupa_memcpy): Removed.
37212 (pupa_strcpy): New function.
37213 (pupa_itoa): Made static.
37214
37215 * kern/dl.c (pupa_dl_iterate): New function.
37216 (pupa_dl_ref): Likewise.
37217 (pupa_dl_unref): Likewise.
37218 (pupa_dl_unload): Return if succeeded or not.
37219 (pupa_dl_unload_unneeded): New function.
37220 (pupa_dl_unload_all): Likewise.
37221 (pupa_dl_init): Renamed to ...
37222 (pupa_dl_set_prefix): ... this.
37223 (pupa_dl_get_prefix): New function.
37224
37225 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
37226 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
37227 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
37228 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
37229 (pupa_install_dos_part): Declared.
37230 (pupa_install_bsd_part): Likewise.
37231 (pupa_prefix): Likewise.
37232 (pupa_boot_drive): Likewise.
37233
37234 * include/pupa/types.h: Fix a typo.
37235
37236 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
37237 pupa_memmove.
37238 (pupa_memmove): Declared.
37239 (pupa_strcpy): Likewise.
37240
37241 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
37242 pupa_mod_init takes one argument, its own module.
37243 (pupa_dl_unload_unneeded): Declared.
37244 (pupa_dl_unload_all): Likewise.
37245 (pupa_dl_ref): Likewise.
37246 (pupa_dl_unref): Likewise.
37247 (pupa_dl_iterate): Likewise.
37248 (pupa_dl_init): Renamed to ...
37249 (pupa_dl_set_prefix): ... this.
37250 (pupa_dl_get_prefix): Declared.
37251
37252 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
37253 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
37254 unloaded.
37255 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
37256 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
37257
37258 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
37259 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
37260
37261 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37262
37263 * util/i386/pc/pupa-setup.c (setup): Define the internal
37264 function find_first_partition_start at the top level, because GCC
37265 3.0.x cannot compile internal functions in deeper scopes
37266 correctly.
37267 (find_root_device): Use lstat instead of stat.
37268 Don't follow symbolic links.
37269 Fix the path-constructing code.
37270
37271 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
37272 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
37273 by a BLKGETSIZE ioctl first, because block devices don't fill
37274 the member st_mode of the structure stat on Linux.
37275 [__linux__] (linux_find_partition): Use a temporary buffer
37276 REAL_DEV for the working space. Copy it to DEV before returning.
37277 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
37278 buffer cache consistent.
37279 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
37280 strncmp. The previous value was merely wrong.
37281 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
37282
37283 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
37284 FAT size is 12. The previous value was merely wrong.
37285
37286 * kern/main.c (pupa_main): Don't split the starting message from
37287 newlines.
37288
37289 * kern/term.c (pupa_putchar): Put CR after LF instead of before
37290 LF, because BIOS goes crazy about character attributes in this
37291 case.
37292
37293 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37294
37295 * include/i386/pc/util/biosdisk.h: New file.
37296 * util/i386/pc/biosdisk.c: Likewise.
37297 * util/i386/pc/pupa-setup.c: Likewise.
37298
37299 * Makefile.in (INCLUDE_DISTFILES): Added
37300 include/pupa/i386/pc/util/biosdisk.h.
37301 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
37302 directory util/i386/pc.
37303 (install-local): Added a rule for sbin_UTILITIES.
37304 (uninstall): Likewise.
37305
37306 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
37307
37308 * util/misc.c (xrealloc): New function.
37309 (pupa_malloc): Likewise.
37310 (pupa_free): Likewise.
37311 (pupa_realloc): Likewise.
37312 (pupa_stop): Likewise.
37313 (pupa_putchar): Likewise.
37314
37315 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
37316
37317 * include/pupa/util/misc.h (xrealloc): Declared.
37318
37319 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
37320 macro.
37321 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
37322 (PUPA_BOOT_MACHINE_BPB_END): ... this.
37323
37324 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
37325 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37326
37327 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
37328 way should be implemented.
37329 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37330
37331 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
37332 the size of NAME for safety.
37333 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
37334 0x88.
37335
37336 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
37337 (pupa_setup_SOURCES): Likewise.
37338
37339 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
37340
37341 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37342
37343 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
37344 bunch of pushl's from pusha, because this destroys the return
37345 value.
37346
37347 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37348
37349 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
37350 This means that any missing prototypes could be fatal. Also, you
37351 must take care when writing assembly code. See the comments at
37352 the beginning of startup.S, for more details.
37353
37354 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
37355 compilation mechanism.
37356 (pupa_chainloader_real_boot): Likewise.
37357 (pupa_biosdisk_rw_int13_extensions): Likewise.
37358 (pupa_biosdisk_rw_standard): Likewise.
37359 (pupa_biosdisk_check_int13_extensions): Likewise.
37360 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
37361 (pupa_biosdisk_get_diskinfo_standard): Likewise.
37362 (pupa_get_memsize): Likewise.
37363 (pupa_get_mmap_entry): Likewise.
37364 (pupa_console_putchar): Likewise.
37365 (pupa_console_setcursor): Likewise.
37366 (pupa_getrtsecs): Use pushl instead of push.
37367
37368 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
37369 memory instead of the stack for a mmap entry, because some
37370 BIOSes may ignore the maximum size and overflow.
37371
37372 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
37373
37374 * genmk.rb (PModule#rule): Compile automatically generated
37375 sources with module-specific CFLAGS as well as other sources.
37376
37377 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37378
37379 * configure.ac: Check ld.
37380 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
37381 respectively, before checking endianness and sizes.
37382
37383 * Makefile.in (LD): New variable.
37384
37385 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37386
37387 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
37388
37389 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37390
37391 * Changelog: New file.
37392