]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/commands/efi/lsefisystab.c: New file.
[grub2.git] / ChangeLog
1 2010-09-13 Tristan Gingold <gingold@free.fr>
2 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
3 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4
5 * grub-core/commands/efi/lsefisystab.c: New file.
6 * grub-core/commands/efi/lssal.c: Likewise.
7 * grub-core/Makefile.core.def (lsacpi): New module.
8 (lsefisystab): Likewise.
9 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
10 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
11 (grub_efi_sal_system_table): New struct.
12 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
13 (grub_efi_sal_system_table_memory_descriptor): Likewise.
14 (grub_efi_sal_system_table_platform_features): Likewise.
15 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
16 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
17 (grub_efi_sal_system_table_ap_wakeup): Likewise.
18 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
19
20 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21
22 Support explicit user claim that a device is BIOS-visible.
23
24 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
25 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
26 * grub-core/kern/emu/hostdisk.c
27 (convert_system_partition_to_system_disk): Support mdX.
28 (find_system_device): New parameter add. All users updated.
29 (grub_util_biosdisk_is_present): New function.
30 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
31 proto.
32
33 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
34
35 Search hints support.
36
37 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
38 All users updated.
39
40 2010-09-13 Yves Blusseau <blusseau@zetam.org>
41
42 Bash completion script for util commands
43
44 * Makefile.am: Add util/bash-completion.d directory
45 * configure.ac: Likewise.
46 * util/bash-completion.d/Makefile.am: New file.
47 * util/bash-completion.d/grub-completion.bash.in: Likewise.
48
49 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
52 (print_backlog): set backlog_ucs4 and backlog_glyphs.
53 Reported by: Yves Blusseau.
54
55 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
58 partition size and offset.
59
60 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
63
64 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
67
68 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
71 (grub_xvasprintf): Likewise.
72
73 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
76
77 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
80 args ending with NULL.
81
82 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
85 pointer.
86
87 2010-09-11 Szymon Janc <szymon@janc.net.pl>
88
89 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
90
91 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
92
93 Shutdown using ACPI.
94
95 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
96 * grub-core/commands/acpihalt.c: New file.
97 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
98 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
99 (grub_acpi_halt): New proto.
100 (GRUB_ACPI_SLP_EN): New const.
101 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
102 (GRUB_ACPI_OPCODE_*): New enum.
103 (GRUB_ACPI_EXTOPCODE_*): Likewise.
104
105 2010-09-11 Tristan Gingold <gingold@free.fr>
106 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
107 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * commands/lsacpi.c: New file.
110 * grub-core/Makefile.core.def (lsacpi): New module.
111 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
112 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
113 (grub_acpi_madt_entry_header): New struct.
114 (grub_acpi_madt): Likewise.
115 (grub_acpi_madt_entry_interrupt_override): Likewise.
116 (grub_acpi_madt_entry_sapic): Likewise.
117 (grub_acpi_madt_entry_lsapic): Likewise.
118 (grub_acpi_madt_entry_platform_int_source): Likewise.
119 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
120 (PRIuGRUB_UINT32_T): Likewise.
121 (PRIxGRUB_UINT64_T): Likewise.
122
123 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
124
125 Implement loading palette on ieee1275_fb.
126
127 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
128 (have_setcolors): Likewise.
129 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
130 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
131 (grub_video_ieee1275_set_palette): Implement.
132
133 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
134 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
135
136 * util/grub-install.in (grub_partition): New variable.
137 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
138 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
139 Fixes a bug reported by Yves Blusseau.
140
141 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
142
143 Fix emu on mipsel.
144
145 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
146 =grub_cpu_flush_cache on all mips and not only yeeloong.
147 * configure.ac (COND_mips): New conditional.
148 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
149 platforms.
150 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
151 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
152 [GRUB_LINKER_HAVE_INIT]: New function.
153 (grub_emu_post_init): Likewise.
154 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
155 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
156 * include/grub/cache.h (_mips): Include mips/cache.h.
157 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
158 LVM and RAID prototypes.
159 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
160 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
161 function.
162
163 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
164
165 * util/grub-install.in: Don't try to verify core.img until after
166 running grub-mkimage to create it.
167
168 2010-09-10 Robert Millan <rmh@gnu.org>
169
170 * util/grub.d/10_hurd.in: Add misc readability checks.
171 * util/grub.d/10_kfreebsd.in: Likewise.
172 * util/grub.d/10_linux.in: Likewise.
173
174 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
175
176 * util/grub-install.in: ${imgext} won't be defined here until the
177 install branch is merged. For the meantime, only verify core.img on
178 i386-pc and sparc64-ieee1275 platforms.
179
180 2010-09-10 Robert Millan <rmh@gnu.org>
181
182 Solaris support in grub_find_zpool_from_dir(). Thanks
183 Seth Goldberg for referring to getextmntent() facility.
184
185 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
186 `sys/mkdev.h'.
187 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
188 `<sys/mnttab.h>'.
189 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
190 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
191 method for finding zpool name.
192
193 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
194
195 grub-fstest needs the host and hostfs modules while other utilities
196 actively require those modules to be absent, so grub-fstest needs
197 its own initialisation and finalisation code.
198
199 * Makefile.am (grub_fstest.pp): New target.
200 (grub_fstest_init.lst): Likewise.
201 (grub_fstest_init.c): Likewise.
202 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
203
204 2010-09-10 Robert Millan <rmh@gnu.org>
205
206 * configure.ac: Check for `struct statfs.f_fstypename' and
207 `struct statfs.f_mntfromname'.
208
209 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
210 kFreeBSD-specific code.
211
212 2010-09-10 Robert Millan <rmh@gnu.org>
213
214 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
215 on ZFS. Now non-main filesystems are supported as / too.
216
217 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
218
219 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
220 and grub-core/disk/host.c to ...
221 (grub-fstest): ... here. Having the host disk implementation
222 present confuses grub-probe and other utility programs.
223
224 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
225 when writing to a file, not when writing to stdout.
226
227 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
228
229 * tests/partmap_test.in: New test for partitions.
230 * Makefile.util.def: Rules for new test.
231
232 2010-09-09 Robert Millan <rmh@gnu.org>
233
234 * util/grub-probe.c (probe): Fix a pair of unhandled error
235 conditions.
236
237 2010-09-09 Robert Millan <rmh@gnu.org>
238
239 Basic Btrfs support (detection and UUID).
240
241 * grub-core/fs/btrfs.c: New file.
242 * Makefile.util.def (library): Register btrfs.c.
243 * grub-core/Makefile.core.def: Likewise.
244
245 2010-09-08 Robert Millan <rmh@gnu.org>
246
247 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
248 with (optional) parameters to specify device and relative path.
249 * util/grub-install.in: Use is_path_readable_by_grub() to
250 verify readability of a few critical files.
251 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
252 verify readability of grub.cfg.new.
253
254 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
255
256 Split minix.mod into minix.mod and minix2.mod.
257
258 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
259 * grub-core/Makefile.core.def (minix2): New module.
260 * grub-core/fs/minix.c: Use definitions instead of runtime version
261 checking.
262 * grub-core/fs/minix2.c: New file.
263
264 2010-09-08 Yves Blusseau <blusseau@zetam.org>
265
266 Add new --boot-directory option to replace --root-directory
267
268 * util/grub-install.in: Add new --boot-directory option
269 * util/grub-reboot.in: Likewise.
270 * util/grub-set-default.in: Likewise.
271
272 2010-09-08 Yves Blusseau <blusseau@zetam.org>
273
274 * util/grub-mkconfig.in: Use new variable.
275
276 2010-09-08 Yves Blusseau <blusseau@zetam.org>
277
278 * configure.ac: Define some useful variables.
279
280 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
283 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
284 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
285 Use terminfo and don't use cursor-on/cursor-off unless it's known
286 to work.
287 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
288 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
289
290 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
291
292 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
293 starts with "(,", fill the drive containing the loaded image in
294 between those two characters, but expect that a full partition
295 specification including partition map names will follow.
296
297 2010-09-08 Robert Millan <rmh@gnu.org>
298
299 * configure.ac: Remove `--enable-grub-fstest' option.
300 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
301
302 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
303 `grub-fstest' instead of `grub-probe' for readability verification.
304 * util/grub-probe.c (probe): Remove readability verification kludge.
305
306 2010-09-08 Robert Millan <rmh@gnu.org>
307
308 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
309 initializing `GRUB_FS'.
310
311 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
312
313 Not command (!) support to GRUB script.
314
315 * tests/grub_script_not.in: New test.
316 * Makefile.util.def: Rules for new test.
317
318 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
319 ! command as a special case.
320 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
321
322 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
323
324 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
325 grub_free.
326
327 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
328
329 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
330
331 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
332
333 * docs/grub.texi (Shell-like scripting): Documentation for break,
334 continue, shift and return commands.
335
336 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
337
338 Rename CD-ROM to cd on BIOS.
339
340 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
341 "cd".
342 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
343
344 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
347 * util/grub-probe.c (main): Likewise.
348 * util/i386/pc/grub-setup.c (main): Likewise.
349 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
350 Reported and debugged by: alexxy
351
352 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
355 diagnostic info.
356
357 2010-09-05 Jo Shields <directhex@apebox.org>
358
359 * util/grub.d/30_os-prober.in: Add missing classes.
360
361 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * docs/grub.texi (Theme file format): Document new position format.
364
365 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
368 a table. Use @code instead of @verbatim.
369
370 2010-09-05 Colin D Bennett <colin@gibibit.com>
371
372 Gfxmenu documentation.
373
374 * docs/grub.texi (Theme file format): New chapter.
375
376 2010-09-05 Szymon Janc <szymon@janc.net.pl>
377
378 * grub-core/Makefile.core.def (xzio): New module.
379 * grub-core/io/xzio.c: New file.
380 * grub-core/lib/xzembed/xz.h: New file (from xembed).
381 * grub-core/lib/xzembed/xz_config.h: Likewise.
382 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
383 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
384 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
385 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
386 * grub-core/lib/xzembed/xz_private.h: Likewise.
387 * grub-core/lib/xzembed/xz_stream.h: Likewise.
388 * include/grub/file.h (grub_file_filter_id): New compression filter
389 GRUB_FILE_FILTER_XZIO.
390
391 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
392
393 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
394 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
395 size.
396
397 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
400 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
401
402 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
403
404 Uncompressed checksum support.
405
406 * grub-core/commands/hashsum.c (options): Add option --uncompress.
407 (check_list): New parameter uncompress.
408 (grub_cmd_hashsum): Handle --uncompress.
409
410 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
411
412 Reintroduce testload.
413
414 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
415 from here ...
416 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
417 (GRUB_MOD_INIT): New function.
418 (GRUB_MOD_FINI): Likewise.
419 * grub-core/Makefile.core.def (testload): New module.
420
421 2010-09-05 Szymon Janc <szymon@janc.net.pl>
422
423 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
424 (uint8_t): New type.
425 (uint16_t): Likewise.
426 (uint32_t): Likewise.
427 (uint64_t): Likewise.
428
429 2010-09-05 Szymon Janc <szymon@janc.net.pl>
430
431 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
432
433 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
436 Made static.
437 (grub_gzfile_open): Removed. All users updated.
438 (GRUB_MOD_INIT): New function.
439 (GRUB_MOD_FINI): Likewise.
440 * grub-core/kern/file.c (grub_file_filters_all): New variable.
441 (grub_file_filters_enabled): Likewise.
442 (grub_file_open): Handle filters.
443 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
444 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
445 * include/grub/file.h (grub_file_filter_id_t): New type.
446 (grub_file_filter_t): Likewise.
447 (grub_file_filters_all): New extern variable.
448 (grub_file_filters_enabled): Likewise.
449 (grub_file_filter_register): New inline function.
450 (grub_file_filter_unregister): Likewise.
451 (grub_file_filter_disable): Likewise.
452 (grub_file_filter_disable_compression): Likewise.
453 * include/grub/gzio.h: Removed.
454
455 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
456
457 Filename expansion support for wildcards in GRUB script.
458
459 * tests/grub_script_expansion.in: New test.
460 * Makefile.util.def: Rule for new test.
461
462 * grub-core/commands/wildcard.c: New file, implements filename
463 expansion support for GRUB script.
464 * grub-core/Makefile.core.def: Rule update for regexp.mod.
465 * grub-core/script/argv.c: Cosmetic changes.
466 * grub-core/script/execute.c (grub_script_arglist_to_argv):
467 Refactored to perform wildcard expansion on arguments.
468 * include/grub/script_sh.h (grub_script_wildcard_translator): New
469 struct.
470
471 * tests/util/grub-shell.in: Fix quoting for read input.
472
473 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
474
475 Support for updating environment variables with matched substrings
476 of regexp.
477
478 * tests/grub_cmd_regexp.in: New test.
479 * Makefile.util.def: Rule for new test.
480
481 * grub-core/commands/regexp.c: New option -s to update environment
482 variables with regexp matches.
483
484 2010-09-04 Szymon Janc <szymon@janc.net.pl>
485
486 * include/grub/file.h (grub_file): New member not_easly_seekable.
487 (grub_file_seekable): New inline function.
488 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
489 easily seekable.
490 (grub_gzio_open): Set not_easly_seekable.
491 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
492 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
493
494 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
495
496 Support for options to appear multiple times on cmdline.
497
498 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
499 * grub-core/commands/extcmd.c: Support for repeatable option.
500 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
501 repeatable option support.
502
503 Refactor menuentry into a regular command.
504
505 * grub-core/commands/menuentry.c: New file, menuentry command
506 implementation.
507 * grub-core/Makefile.core.def: Rule update for normal.mod.
508 * grub-core/normal/main.c: Moved menuentry creation to
509 grub-core/commands/menuentry.c.
510 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
511 (grub_menu_execute_entry_real): Removed.
512 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
513 function.
514 (grub_script_execute_menuentry): Removed.
515 * grub-core/script/parser.y (menuentry): Removed.
516 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
517 * grub-core/script/yylex.l (menuentry): Removed.
518 * include/grub/menu.h (grub_menu_init): New prototype.
519 (grub_menu_fini): New prototype.
520 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
521 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
522 (grub_script_execute_sourcecode): New prototype.
523
524 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
525
526 "return" command for GRUB script functions.
527
528 * tests/grub_script_return.in: New test.
529 * Makefile.util.def: Rules for new test.
530
531 * grub-core/script/execute.c (grub_script_return): New function.
532 * grub-core/script/main.c: Register/unregister return commaond.
533 * include/grub/script_sh.h (grub_script_return): New prototype.
534
535 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
536
537 "setparams" command to update positional parameters.
538
539 * tests/grub_script_setparams.in: New test.
540 * Makefile.util.def: Rules for new test.
541
542 * grub-core/script/argv.c (grub_script_argv_make): New function.
543 * grub-core/script/execute.c (replace_scope): New function.
544 (grub_script_setparams): New function.
545 * grub-core/script/lexer.c: Remove unused variables.
546 * grub-core/script/main.c: Register/unregister setparams command.
547 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
548 (grub_script_setparams): New prototype.
549
550 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
551
552 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
553 grub_free order.
554
555 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
556
557 Support for passing block of commands as an argument to extcmds.
558
559 * Makefile.util.def: Rules for new test.
560 * tests/grub_script_blockarg.in: New test.
561 * grub-core/tests/test_blockarg.c: New file, block argument
562 command used in the test.
563
564 * include/grub/extcmd.h (grub_extcmd_context): New struct.
565 (grub_register_extcmd_prio): New function prototype.
566 (grub_extcmd_dispatcher): New function prototype.
567 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
568 type.
569 * include/grub/script_sh.h (struct grub_script): New members
570 `children', `next_siblings' and `refcnt' for block arguments and
571 reference counting.
572 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
573 (grub_script_arg): New member `script' for block argument.
574 (grub_script_argv): New member `script' for block argument.
575 (grub_parser_param): New member `scripts' for block argument.
576 (grub_script_mem_free): New extern function prototype.
577 (grub_script_ref): New function prototype.
578 (grub_script_unref): New function prototype.
579
580 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
581 extcmd form to support block arguments.
582 * grub-core/script/argv.c: Block arguments support.
583 * grub-core/script/execute.c: Likewise.
584 * grub-core/script/lexer.c: Likewise.
585 * grub-core/script/main.c: Likewise.
586 * grub-core/script/script.c: Likewise.
587 * grub-core/script/parser.y: Likewise. New `block' and `block0'
588 non-terminals.
589
590 * grub-core/commands/acpi.c: Update extcmd implementations with
591 grub_extcmd_context_t.
592 * grub-core/commands/cat.c: Likewise.
593 * grub-core/commands/echo.c: Likewise.
594 * grub-core/commands/extcmd.c: Likewise.
595 * grub-core/commands/hashsum.c: Likewise.
596 * grub-core/commands/hdparm.c: Likewise.
597 * grub-core/commands/help.c: Likewise.
598 * grub-core/commands/hexdump.c: Likewise.
599 * grub-core/commands/i386/cpuid.c: Likewise.
600 * grub-core/commands/i386/pc/drivemap.c: Likewise.
601 * grub-core/commands/i386/pc/halt.c: Likewise.
602 * grub-core/commands/i386/pc/sendkey.c: Likewise.
603 * grub-core/commands/iorw.c: Likewise.
604 * grub-core/commands/keystatus.c: Likewise.
605 * grub-core/commands/loadenv.c: Likewise.
606 * grub-core/commands/ls.c: Likewise.
607 * grub-core/commands/lspci.c: Likewise.
608 * grub-core/commands/memrw.c: Likewise.
609 * grub-core/commands/probe.c: Likewise.
610 * grub-core/commands/search_wrap.c: Likewise.
611 * grub-core/commands/setpci.c: Likewise.
612 * grub-core/commands/sleep.c: Likewise.
613 * grub-core/disk/loopback.c: Likewise.
614 * grub-core/hello/hello.c: Likewise.
615 * grub-core/loader/i386/bsd.c: Likewise.
616 * grub-core/loader/xnu.c: Likewise.
617 * grub-core/term/gfxterm.c: Likewise.
618 * grub-core/term/serial.c: Likewise.
619 * grub-core/tests/lib/functional_test.c: Likewise.
620
621 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
622
623 Multi-line quoted strings support.
624
625 * grub-core/script/lexer.c (append_newline): Removed.
626 (grub_script_lexer_yywrap): Refactored.
627 (grub_script_lexer_init): Refactored.
628 * grub-core/script/yylex.l (yywrap): New function.
629 (grub_lexer_resplit): New function.
630 (grub_lexer_unput): New function.
631 * include/grub/script_sh.h (grub_lexer_param): New members, unput
632 and resplit.
633 * tests/grub_script_echo1.in: Added few more testcases.
634
635 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * grub-core/kern/misc.c: Don't add abort alias in utils.
638 Reported by: echoline.
639
640 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
641
642 Add missing files into "make dist" tarball for other platforms.
643
644 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
645 * conf/Makefile.common (dist_noinst_DATA): New variable.
646 * conf/Makefile.extra-dist: Added missing make dist files.
647 * grub-core/Makefile.core.def: Likewise.
648
649 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
650
651 Compress grub_prefix.
652
653 * grub-core/boot/i386/pc/lnxboot.S: Use
654 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
655 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
656 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
657 GRUB_MACHINE_PREFIX_END. All users updated.
658 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
659 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
660 + 0x40.
661 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
662 * util/grub-mkimage.c (image_target_desc): Change data_end to
663 prefix_end. All users updated.
664
665 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
668 value.
669 (grub_openbsd_boot): Likewise.
670 (grub_netbsd_boot): Likewise.
671 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
672 (grub_xnu_boot): Likewise.
673
674 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * configure.ac: Clean LIBS variable after tests.
677
678 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
679
680 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
681
682 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
685 echo if libdevmapper will be used.
686
687 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
688
689 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
690 constant for the same file.
691
692 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
695
696 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
697
698 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
699 grub-core/*.pp.
700
701 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
702
703 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
704 required by the boot protocol.
705
706 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
707 ebp and edi members.
708 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
709 state.ebp and state.edi.
710 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
711 %ebp and %edi according to grub_relocator32_ebp and
712 grub_relocator32_edi respectively.
713 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
714 and state.edi.
715
716 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
717
718 Add i386-pc-pxe image target.
719
720 * util/grub-mkimage.c (image_target_desc): New enum value
721 IMAGE_I386_PC_PXE.
722 (image_targets): New target i386-pc-pxe.
723 (generate_image): Handle i386-pc-pxe image.
724
725 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
726
727 Fix grub_pxe_scan.
728
729 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
730 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
731 All users updated.
732 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
733 (grub_pxe_pxenv): Correct type.
734
735 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
736
737 * NEWS: Document most of the important changes since 1.98.
738
739 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
740
741 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
742 generated manual page) a little.
743
744 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
745
746 * docs/grub.texi: Add myself as an author.
747
748 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * Makefile.util.def (libgrub.a): Add missing sunpc.
751 Reported by: Seth Goldberg.
752
753 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
754
755 Interrupt wrapping and code simplifications.
756
757 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
758 x86_noieee1275 which are functionaly equivalent in this case.
759 (grub-install): Make source on each platform explicit. Enable on
760 all noemu.
761 * gentpl.py (x86_efi_pc): Removed group.
762 (x86_noefi): Likewise.
763 (i386_noefi): Likewise.
764 (x86_noieee1275): Likewise.
765 (i386_noieee1275): Likewise.
766 (i386_noefi_noieee1275): Likewise.
767 (i386_pc_qemu_coreboot): Likewise.
768 (i386_coreboot_multiboot): Likewise.
769 (i386_pc_coreboot_multiboot_qemu): Likewise.
770 (x86_noefi_mips): Likewise.
771 (noieee1275): Likewise.
772 (ieee1275_mips): Likewise.
773 (noemu_noieee1275): Likewise.
774 (cmos): New group.
775 (usb): Likewise.
776 (videoinkernel): Likewise.
777 (videomodules): Likewise.
778 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
779 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
780 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
781 include/grub/loader.h, include/grub/msdos_partition.h,
782 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
783 include/grub/machine/console.h, include/grub/machine/vga.h,
784 include/grub/machine/vbe.h, include/grub/machine/init.h,
785 include/grub/machine/kernel.h, include/grub/cpu/time.h,
786 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
787 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
788 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
789 * grub-core/Makefile.core.def (kernel): Explicit the source for
790 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
791 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
792 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
793 Use videoinkernel tag.
794 (usb): Enable on all usb.
795 (usbserial_common): Likewise.
796 (usbserial_pl2303): Likewise.
797 (usbserial_ftdi): Likewise.
798 (uhci): Enable on all x86.
799 (ohci): Enable on all pci.
800 (cmostest): Enable on all CMOS.
801 (acpi): Include commands/acpi.c on all platforms.
802 (halt): Add relevant lib/*/halt.c.
803 (hdparm): Enable on all pci.
804 (lspci): Likewise.
805 (usbtest): Enable on all usb.
806 (ata): Enable on all pci.
807 (ata_pthru): Likewise.
808 (usbms): Enable on all usb.
809 (usb_keyboard): Likewise.
810 (font): Use tag videomodules.
811 (bufio): Likewise.
812 (datetime): Use tag cmos. Enable on all noemu.
813 (mmap): Use tags common and x86.
814 (gfxterm): Use tag videomodules.
815 (bitmap): Likewise.
816 (bitmap_scale): Likewise.
817 (video_fb): Likewise.
818 (video): Likewise.
819 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
820 adjust padding accordingly. All users updated.
821 (grub_ohci_transaction): Fix bad format specification.
822 (GRUB_MOD_INIT): Add asserts for struct size.
823 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
824 (grub_alloc_td): Likewise.
825 (grub_free_queue): Likewise.
826 (grub_uhci_transfer): Likewise.
827 (grub_uhci_transaction): Fix bad format specification.
828 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
829 (grub_usb_bulk_readwrite): Likewise.
830 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
831 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
832 Made static.
833 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
834 Made static.
835 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
836 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
837 Transformed into C.
838 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
839 Moved from here ...
840 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
841 ... here. Transformed into C. Made static.
842 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
843 Moved from here ...
844 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
845 ... here. Transformed into C. Made static.
846 * grub-core/kern/i386/pc/startup.S
847 (grub_biosdisk_check_int13_extensions): Moved from here ...
848 * grub-core/disk/i386/pc/biosdisk.c
849 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
850 Made static.
851 * grub-core/kern/i386/pc/startup.S
852 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
853 * grub-core/disk/i386/pc/biosdisk.c
854 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
855 Transformed into C. Made static.
856 * grub-core/kern/i386/pc/startup.S
857 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
858 * grub-core/disk/i386/pc/biosdisk.c
859 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
860 Transformed into C. Made static.
861 * grub-core/kern/i386/pc/startup.S
862 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
863 * grub-core/disk/i386/pc/biosdisk.c
864 (grub_biosdisk_get_diskinfo_standard): ... here.
865 Transformed into C. Made static.
866 * grub-core/kern/i386/pc/startup.S
867 (grub_biosdisk_get_num_floppies): Moved from here ...
868 * grub-core/disk/i386/pc/biosdisk.c
869 (grub_biosdisk_get_num_floppies): ... here.
870 Transformed into C. Made static.
871 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
872 New function.
873 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
874 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
875 Transformed into C. Made static.
876 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
877 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
878 Transformed into C. Made static.
879 * grub-core/kern/i386/ieee1275/init.c: Removed.
880 * grub-core/kern/i386/misc.S: Likewise.
881 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
882 Splitted from here ...
883 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
884 Transformed into C. Made static. All users updated.
885 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
886 Transformed into C. Made static. All users updated.
887 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
888 Moved from here...
889 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
890 Transformed into C. Made static. All users updated.
891 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
892 Moved from here...
893 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
894 Transformed into C. Made static. All users updated.
895 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
896 Removed (replaced by C version).
897 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
898 Moved from here...
899 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
900 Transformed into C. Made static.
901 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
902 Moved from here...
903 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
904 ... here. Transformed into C.
905 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
906 Moved from here...
907 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
908 ... here. Transformed into C.
909 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
910 Moved from here...
911 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
912 ... here. Transformed into C. Made static.
913 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
914 Moved from here...
915 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
916 ... here. Transformed into C.
917 * grub-core/kern/i386/pc/startup.S
918 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
919 * grub-core/video/i386/pc/vbe.c
920 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
921 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
922 Moved from here...
923 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
924 ... here. Transformed into C.
925 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
926 Moved from here...
927 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
928 ... here. Transformed into C.
929 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
930 Moved from here...
931 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
932 ... here. Transformed into C.
933 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
934 Moved from here...
935 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
936 ... here. Transformed into C.
937 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
938 Moved from here...
939 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
940 ... here. Transformed into C. Made static.
941 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
942 Moved from here...
943 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
944 ... here. Transformed into C. Made static.
945 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
946 Moved from here...
947 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
948 ... here. Transformed into C. Made static.
949 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
950 pxe_rm_entry as third argument.
951 (grub_bios_interrupt): New function.
952 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
953 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
954 of calling grub_stop.
955 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
956 * grub-core/lib/efi/halt.c (grub_halt): ...here.
957 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
958 * grub-core/lib/emu/halt.c (grub_halt): ... here.
959 * grub-core/lib/i386/halt.c: Moved from here ...
960 * grub-core/lib/i386/halt.c: ... here.
961 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
962 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
963 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
964 grub_stop_floppy.
965 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
966 * include/grub/i386/coreboot/init.h: Removed.
967 * include/grub/i386/multiboot/init.h: Likewise.
968 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
969 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
970 * include/grub/i386/pc/int.h: New file.
971 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
972 (grub_pxe_scan): Removed.
973 (grub_pxe_call): Update prototype.
974 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
975 prototypes.
976 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
977 * include/grub/i386/qemu/init.h: Removed.
978 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
979 noreturn.
980 (grub_halt): Likewise.
981 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
982 (grub_reboot): Likewise.
983 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
984 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
985 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
986
987 2010-08-30 Robert Millan <rmh@gnu.org>
988
989 * NEWS: Document addition of ZFS support in `grub-install' and
990 `grub-mkconfig'.
991
992 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
993
994 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
995 dprintf output.
996
997 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
998
999 Remove leftover embedding of font objects.
1000
1001 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
1002 * util/grub-install.in (font): Removed.
1003 * util/grub-mkimage.c (generate_image): Remove font support. All users
1004 updated.
1005
1006 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * docs/grub.texi (Network): Fix reference to pxe_blksize.
1009 Reported by: Ian Turner
1010
1011 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
1014 timeout to avoid indefinite boot stalling.
1015
1016 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
1019 (grub_env_write_color_highlight): Likewise.
1020
1021 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/normal/term.c (print_more): Return to normal and not
1024 to standard state after printing "---MORE---".
1025
1026 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
1029 Mask out the bit 0x80 since it has other meaning that specifiing color.
1030
1031 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 New relocator. Allows for more kernel support and more straightforward
1034 loader writing.
1035
1036 * Makefile.am (BOOTTARGET): New variable.
1037 (QEMU32): Likewise.
1038 (linux.init.x86_64): New target.
1039 (linux.init.i386): Likewise.
1040 (multiboot.elf): Likewise.
1041 (kfreebsd.elf): Likewise.
1042 (kfreebsd.aout): Likewise.
1043 (pc-chainloader.elf): Likewise.
1044 (pc-chainloader.bin): Likewise.
1045 (ntldr.elf): Likewise.
1046 (ntldr.bin): Likewise.
1047 (multiboot2.elf): Likewise.
1048 (kfreebsd.init.x86_64): Likewise.
1049 (kfreebsd.init.i386): Likewise.
1050 (knetbsd.init.i386): Likewise.
1051 (kopenbsd.init.i386): Likewise.
1052 (knetbsd.init.x86_64): Likewise.
1053 (kopenbsd.init.x86_64): Likewise.
1054 (linux-initramfs.i386): Likewise.
1055 (linux-initramfs.x86_64): Likewise.
1056 (kfreebsd-mfsroot.i386.img): Likewise.
1057 (knetbsd.image.i386): Likewise.
1058 (kopenbsd.image.i386): Likewise.
1059 (kopenbsd.image.x86_64): Likewise.
1060 (knetbsd.miniroot-image.i386.img): Likewise.
1061 (kfreebsd-mfsroot.x86_64.img): Likewise.
1062 (knetbsd.image.x86_64): Likewise.
1063 (knetbsd.miniroot-image.x86_64.img): Likewise.
1064 (kfreebsd-mfsroot.i386.gz): Likewise.
1065 (bootcheck-kfreebsd-i386): Likewise.
1066 (kfreebsd-mfsroot.x86_64.gz): Likewise.
1067 (bootcheck-kfreebsd-x86_64): Likewise.
1068 (knetbsd.miniroot-image.i386.gz): Likewise.
1069 (bootcheck-knetbsd-i386): Likewise.
1070 (bootcheck-kopenbsd-i386): Likewise.
1071 (bootcheck-kopenbsd-x86_64): Likewise.
1072 (knetbsd.miniroot-image.x86_64.gz): Likewise.
1073 (bootcheck-knetbsd-x86_64): Likewise.
1074 (bootcheck-linux-i386): Likewise.
1075 (bootcheck-linux-x86_64): Likewise.
1076 (bootcheck-linux16-i386): Likewise.
1077 (bootcheck-linux16-x86_64): Likewise.
1078 (bootcheck-multiboot): Likewise.
1079 (bootcheck-multiboot2): Likewise.
1080 (bootcheck-kfreebsd-aout): Likewise.
1081 (bootcheck-pc-chainloader): Likewise.
1082 (bootcheck-ntldr): Likewise.
1083 (CLEANFILES): Add new targets.
1084 (BOOTCHECKS): New variable.
1085 (.PHONY): Add bootchecks.
1086 (SUCCESSFUL_BOOT_STRING): New variable.
1087 (BOOTCHECK_TIMEOUT): Likewise.
1088 (bootcheck): New target
1089 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
1090 * configure.ac: Correct efiemu excuse.
1091 * docs/grub.texi (Supported kernels): New chapter.
1092 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
1093 include/grub/mm_private.h. Simplify inclusion of
1094 include/grub/boot.h, include/grub/loader.h
1095 and include/grub/msdos_partition.h
1096 (KERNEL_HEADER_FILES) [i386_coreboot]:
1097 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
1098 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
1099 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
1100 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
1101 include/grub/machine/loader.h.
1102 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
1103 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
1104 extra_dist.
1105 (pci.mod): Enable on i386-multiboot.
1106 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
1107 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
1108 i386-qemu.
1109 (relocator.mod): Rewritten.
1110 (aout.mod): Enable on all x86.
1111 (bsd.mod): Likewise.
1112 (ntldr.mod): New module.
1113 (linux.mod): Use loader/i386/linux.c on all x86.
1114 (xnu.mod): Enable on all x86.
1115 (vga_text.mod): disable on EFI and QEMU.
1116 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
1117 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
1118 * grub-core/efiemu/loadcore.c: Likewise.
1119 * grub-core/efiemu/main.c: Likewise.
1120 (grub_efiemu_exit_boot_services): Removed.
1121 (grub_efiemu_finish_boot_services): Likewise.
1122 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
1123 function.
1124 * grub-core/efiemu/i386/nocfgtables.c: New file.
1125 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
1126 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
1127 (grub_efi_finish_boot_services): Moved from here ...
1128 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
1129 Fille finish memory map and related data.
1130 (finish_mmap_buf): New variable.
1131 (grub_efi_uintn_t finish_mmap_size): Likewise.
1132 (grub_efi_uintn_t finish_key): Likewise.
1133 (grub_efi_uintn_t finish_desc_size): Likewise.
1134 (grub_efi_uint32_t finish_desc_version): Likewise.
1135 (grub_efi_is_finished): Likewise.
1136 (grub_efi_get_memory_map): Use saved memory map if EFI is already
1137 finished.
1138 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
1139 (grub_elf64_phdr_iterate): Likewise.
1140 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
1141 (grub_os_area_size): Likewise.
1142 (grub_machine_init): Don't reserve os area.
1143 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
1144 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
1145 * grub-core/kern/i386/loader.S: Removed.
1146 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
1147 (grub_os_area_size): Likewise.
1148 (grub_machine_init): Don't reserve os area.
1149 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1150 Don't call grub_dl_unload_all.
1151 Don't include loader.S.
1152 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
1153 Declare the memory after _end as available.
1154 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1155 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
1156 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1157 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
1158 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
1159 * include/grub/mm_private.h (grub_mm_header): ... here.
1160 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
1161 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
1162 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
1163 (grub_mm_region): ..here. Removed addr. Added pre_size.
1164 All users updated.
1165 * grub-core/kern/mm.c (base): Renamed to ...
1166 (grub_mm_base): ... this. Made global.
1167 (grub_real_malloc): Alloc from end of region.
1168 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
1169 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
1170 * grub-core/kern/powerpc/cache_flush.S: ... here.
1171 * grub-core/lib/efi/relocator.c: New file.
1172 * grub-core/lib/i386/relocator.c: Rewritten.
1173 * grub-core/lib/i386/relocator16.S: New file.
1174 * grub-core/lib/i386/relocator32.S: Likewise.
1175 * grub-core/lib/i386/relocator64.S: Likewise.
1176 * grub-core/lib/i386/relocator_asm.S: Rewritten.
1177 * grub-core/lib/i386/relocator_common.S: New file.
1178 * grub-core/lib/ieee1275/relocator.c: Likewise.
1179 * grub-core/lib/mips/relocator.c: Rewritten.
1180 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
1181 stylistic adjustments.
1182 * grub-core/lib/powerpc/relocator.c: New file.
1183 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
1184 * grub-core/lib/relocator.c: Rewritten.
1185 * grub-core/lib/x86_64/relocator_asm.S: New file.
1186 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
1187 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
1188 (bsd_tag): New struct.
1189 (tags): New variable.
1190 (tags_last): Likewise.
1191 (netbsd_module): New struct.
1192 (netbsd_mods): New variable.
1193 (netbsd_mods_last): Likewise.
1194 (openbsd_opts): New parameter "serial".
1195 (OPENBSD_SERIAL_ARG): New definition.
1196 (netbsd_opts): New parameter "serial".
1197 (NETBSD_SERIAL_ARG): New definition.
1198 (grub_freebsd_add_meta): Reorganised into ...
1199 (grub_bsd_add_meta): ...this. All users updated.
1200 (grub_freebsd_add_mmap): Reorganised into ...
1201 (generate_e820_mmap): ...this...
1202 (grub_bsd_add_mmap): ...and this. All users updated.
1203 (grub_freebsd_list_modules): Use tags.
1204 (grub_netbsd_add_meta_module): New function.
1205 (grub_netbsd_list_modules): Likewise.
1206 (grub_freebsd_boot): Use relocator and finish EFI.
1207 (grub_openbsd_boot): Likewise.
1208 (grub_netbsd_setup_video): New function.
1209 (grub_netbsd_add_modules): Likewise.
1210 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
1211 and finish EFI.
1212 (grub_bsd_unload): Unload tags.
1213 (grub_bsd_load_aout): Use relocator.
1214 (grub_bsd_elf32_size_hook): New function.
1215 (grub_bsd_elf32_hook): Use relocator.
1216 (grub_bsd_elf64_size_hook): New function.
1217 (grub_bsd_elf64_hook): Use relocator.
1218 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
1219 (grub_bsd_load): Zero-out openbsd_ramdisk.
1220 (grub_bsd_load): Use relocator.
1221 (grub_cmd_openbsd): Support serial.
1222 (grub_cmd_netbsd): Support modules.
1223 (grub_cmd_freebsd_module): Use relocator.
1224 (grub_netbsd_module_load): New function.
1225 (grub_cmd_netbsd_module): Likewise.
1226 (grub_cmd_openbsd_ramdisk): Likewise.
1227 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
1228 kopenbsd_ramdisk.
1229 (GRUB_MOD_FINI): Unregister new commands.
1230 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
1231 (grub_freebsd_load_elfmodule_obj): Use relocator.
1232 (grub_freebsd_load_elfmodule): Likewise.
1233 (grub_freebsd_load_elf_meta): Likewise.
1234 (grub_netbsd_load_elf_meta): New function.
1235 (grub_openbsd_find_ramdisk): Likewise.
1236 * grub-core/loader/i386/bsd_helper.S: Removed.
1237 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
1238 * grub-core/loader/i386/bsd_trampoline.S: Removed.
1239 * grub-core/loader/i386/efi/linux.c: Likewise.
1240 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
1241 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
1242 (DEFAULT_VIDEO_MODE): Likewise.
1243 (real_mode_target): New variable.
1244 (prot_mode_target): Likewise.
1245 (initrd_mem_target): Likewise.
1246 (relocator): Likewise.
1247 (efi_mmap_buf): Likewise.
1248 (efi_mmap_size): Likewise.
1249 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
1250 (free_pages): Use relocator.
1251 (allocate_pages): Account for efi_mmap and use relocator. Return error.
1252 (grub_linux_setup_video): Return error.
1253 (grub_linux_trampoline_start): Removed.
1254 (grub_linux_trampoline_end): Likewise.
1255 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
1256 andd video parameters depending on firmware.
1257 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
1258 [GRUB_MACHINE_EFI]: Pass EFI parameters.
1259 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
1260 (grub_cmd_initrd): Use relocator.
1261 * grub-core/loader/i386/linux_trampoline.S: Removed.
1262 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
1263 (elf_sec_entsize): Likewise.
1264 (elf_sec_shstrndx): Likewise.
1265 (elf_sections): Likewise.
1266 (grub_multiboot_load): Use relocator.
1267 (grub_multiboot_get_mbi_size): Account for sections.
1268 (grub_multiboot_make_mbi): Use relocator and support sections.
1269 (grub_multiboot_add_elfsyms): New function.
1270 (grub_multiboot_free_mbi): Free sections.
1271 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
1272 (grub_linux_real_target): Likewise.
1273 (grub_linux_real_chunk): Likewise.
1274 (grub_linux16_prot_size): Likewise.
1275 (grub_linux16_boot): Use relocator.
1276 (grub_linux_unload): Unload relocator.
1277 (grub_cmd_linux): Use relocator.
1278 (grub_cmd_initrd): Likewise.
1279 * grub-core/loader/i386/pc/ntldr.c: New file.
1280 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
1281 Don't try to guess CPU frequency.
1282 (grub_xnu_set_video): Stretch bitmap.
1283 (grub_xnu_boot): Use relocator.
1284 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
1285 (grub_linux_unload): Free relocator.
1286 (grub_linux_load32): Use relocator.
1287 (grub_linux_load64): Likewise.
1288 (grub_cmd_initrd): Likewise.
1289 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
1290 (grub_multiboot_unload): Unload relocator.
1291 (grub_cmd_multiboot): Use relocator.
1292 (grub_cmd_module): Likewise.
1293 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
1294 Use relocator and support sections.
1295 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
1296 (elf_sec_entsize): Likewise.
1297 (elf_sec_shstrndx): Likewise.
1298 (elf_sections): Likewise.
1299 (grub_multiboot_load): Use relocator.
1300 (grub_multiboot_get_mbi_size): Account for sections.
1301 (grub_multiboot_make_mbi): Use relocator and support sections.
1302 (grub_multiboot_add_elfsyms): New function.
1303 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
1304 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
1305 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
1306 Prototype changed. All users updated.
1307 (grub_xnu_align_heap): Simplified.
1308 (grub_xnu_writetree_toheap): Likewise.
1309 (grub_xnu_unload): Unload relocator.
1310 (grub_cmd_xnu_kernel): Use relocator.
1311 (grub_cmd_xnu_kernel64): Likewise.
1312 (grub_xnu_register_memory): Simplified.
1313 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1314 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
1315 EFI is finished.
1316 (grub_console_checkkey): Likewise.
1317 (grub_console_getkey): Likewise.
1318 (grub_console_getwh): Likewise.
1319 (grub_console_getxy): Likewise.
1320 (grub_console_gotoxy): Likewise.
1321 (grub_console_cls): Likewise.
1322 (grub_console_setcolorstate): Likewise.
1323 (grub_console_setcursor): Likewise.
1324 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
1325 * grub-core/tests/boot/kbsd.init-i386.S: New file.
1326 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
1327 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
1328 * grub-core/tests/boot/kernel-8086.S: Likewise.
1329 * grub-core/tests/boot/kernel-i386.S: Likewise.
1330 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
1331 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
1332 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
1333 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
1334 * grub-core/tests/boot/knetbsd.cfg: Likewise.
1335 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
1336 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
1337 * grub-core/tests/boot/linux.cfg: Likewise.
1338 * grub-core/tests/boot/linux.init-i386.S: Likewise.
1339 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
1340 * grub-core/tests/boot/linux16.cfg: Likewise.
1341 * grub-core/tests/boot/multiboot.cfg: Likewise.
1342 * grub-core/tests/boot/multiboot2.cfg: Likewise.
1343 * grub-core/tests/boot/ntldr.cfg: Likewise.
1344 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
1345 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
1346 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
1347 New definition.
1348 * include/grub/dl.h (grub_dl_unload_all): Removed.
1349 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
1350 (grub_efi_finish_boot_services): Change prototype.
1351 (grub_efi_is_finished): New variable.
1352 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
1353 Changed prototype.
1354 (grub_efiemu_finish_boot_services): Removed.
1355 (grub_machine_efiemu_init_tables): New prototype.
1356 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
1357 (grub_elf64_phdr_iterate): Likewise.
1358 * include/grub/i386/bsd.h: Include relocator.h.
1359 (freebsd_tag_header): New struct.
1360 (grub_openbsd_bios_mmap): Removed.
1361 (grub_unix_real_boot): Removed.
1362 (grub_freebsd_load_elfmodule32): Changed prototype.
1363 (grub_freebsd_load_elfmodule_obj64): Likewise.
1364 (grub_freebsd_load_elf_meta32): Likewise.
1365 (grub_freebsd_load_elf_meta64): Likewise.
1366 (grub_freebsd_add_meta): Removed.
1367 (grub_netbsd_load_elf_meta32): New prototype.
1368 (grub_netbsd_load_elf_meta64): Likewise.
1369 (grub_bsd_add_meta): Likewise.
1370 (grub_openbsd_ramdisk_descriptor): New struct.
1371 (grub_openbsd_find_ramdisk32): New prototype.
1372 (grub_openbsd_find_ramdisk64): Likewise.
1373 * include/grub/i386/coreboot/loader.h: Removed.
1374 * include/grub/i386/efi/loader.h: Likewise.
1375 * include/grub/i386/ieee1275/loader.h: Likewise.
1376 * include/grub/i386/linux.h (linux_kernel_header): Change void *
1377 to grub_uint32_t.
1378 * include/grub/i386/loader.h: Removed.
1379 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
1380 value.
1381 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
1382 (grub_phys_addr_t): New type.
1383 (grub_vtop): New inline function.
1384 (grub_map_memory): Likewise.
1385 (grub_unmap_memory): Likewise.
1386 * include/grub/i386/multiboot/loader.h: Removed.
1387 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
1388 (NETBSD_BTINFO_CONSOLE): New definition.
1389 (NETBSD_BTINFO_SYMTAB): Likewise.
1390 (NETBSD_BTINFO_MODULES): Likewise.
1391 (NETBSD_BTINFO_FRAMEBUF): Likewise.
1392 (grub_netbsd_bootinfo): New struct.
1393 (grub_netbsd_btinfo_common): Use explicit bitsize.
1394 (grub_netbsd_btinfo_mmap_entry): Removed.
1395 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
1396 (grub_netbsd_btinfo_bootdisk): New struct.
1397 (grub_netbsd_btinfo_symtab): Likewise.
1398 (grub_netbsd_btinfo_serial): Likewise.
1399 (grub_netbsd_btinfo_modules): Likewise.
1400 (grub_netbsd_btinfo_framebuf): Likewise.
1401 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
1402 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
1403 Likewise.
1404 (grub_openbsd_bootargs): Use explicit bitsize.
1405 (grub_openbsd_bootarg_console): New struct.
1406 (GRUB_OPENBSD_COM_MAJOR): New definition.
1407 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
1408 * include/grub/i386/pc/efiemu.h: Removed.
1409 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
1410 * include/grub/i386/qemu/loader.h: Removed.
1411 * include/grub/i386/relocator.h: Rewritten.
1412 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
1413 * include/grub/mips/memory.h: New file.
1414 * include/grub/mips/multiboot.h: Rewritten.
1415 * include/grub/mips/relocator.h: Rewritten.
1416 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
1417 (grub_vtop): New function.
1418 (grub_map_memory): Likewise.
1419 (grub_unmap_memory): Likewise.
1420 * include/grub/misc.h (ALIGN_DOWN): New definition.
1421 * include/grub/mm.h (grub_mm_check_real): New proto.
1422 (GRUB_MM_CHECK): New definition.
1423 * include/grub/mm_private.h: New file.
1424 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
1425 (grub_multiboot_get_mbi_size): Removed.
1426 (grub_multiboot_make_mbi): Change prottype.
1427 (grub_multiboot_set_accepts_video): New proto.
1428 (grub_multiboot_add_elfsyms): Likewise.
1429 (grub_multiboot_payload_eip): New variable.
1430 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
1431 New prototype.
1432 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
1433 New definition.
1434 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
1435 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
1436 * include/grub/powerpc/ieee1275/loader.h: Removed.
1437 * include/grub/powerpc/memory.h: New file.
1438 * include/grub/powerpc/relocator.h: Likewise.
1439 * include/grub/relocator.h: Likewise.
1440 * include/grub/relocator_private.h: Likewise.
1441 * include/grub/sparc64/ieee1275/loader.h: Removed.
1442 * include/grub/x86_64/memory.h: New file.
1443 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
1444 (grub_xnu_heap_malloc): Likewise.
1445 (grub_xnu_heap_real_start): Removed.
1446 (grub_xnu_heap_start): Likewise.
1447 (grub_xnu_relocator): New variable.
1448 (grub_xnu_heap_target_start): Likewise.
1449 * tests/util/grub-shell.in: Support non-pc.
1450 * util/grub-mkimage.c (image_targets): Fix multiboot target.
1451
1452 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
1455 on malloc error.
1456 (grub_bidi_logical_to_visual): Check that malloc succeded.
1457 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
1458 puts.
1459 (grub_xputs_normal): Likewise.
1460
1461 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
1464 extra_dist.
1465
1466 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/efiemu/runtime/efiemu.sh: Removed.
1469
1470 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
1473
1474 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
1477 dprintf.
1478
1479 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
1480
1481 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
1482
1483 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * grub-core/normal/term.c (print_more): Fix a memory leak.
1486 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
1487 (grub_xputs_normal): Likewise.
1488
1489 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
1492 the begining of the string
1493
1494 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * grub-core/script/script.c (grub_script_parse): Free parsed on
1497 failure.
1498
1499 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
1502 on failure.
1503
1504 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
1507 return.
1508
1509 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
1512 (scroll_up): Fix a memory leak.
1513
1514 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1515
1516 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
1517 errors.
1518
1519 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 Handle USB pendrives exposed as floppies.
1522
1523 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
1524 floppy.
1525 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
1526 Check for partitions on all devices.
1527
1528 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
1531 (readkey): Likewise.
1532
1533 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1534
1535 Multiple variable names support to "export" command.
1536
1537 * normal/context.c (grub_cmd_export): "export" command supports
1538 multiple variable names.
1539
1540 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
1541
1542 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
1543 --target=drive output to Mach device name.
1544
1545 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
1546
1547 New Automake based build system for GRUB.
1548
1549 * ABOUT-NLS: New file.
1550 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
1551 in Makefile.util.def file.
1552 * Makefile.util.def: New file. Autogen build definitions file for
1553 GRUB host utils.
1554 * conf/Makefile.common: New file. Common variables for GRUB host
1555 utils and target modules.
1556 * conf/Makefile.extra-dist: New file. Extra files for make dist.
1557 * docs/Makefile.am: New file. Automake file for docs.
1558 * gentpl.py: New file. Python script to generate Autogen
1559 template.
1560 * grub-core/Makefile.am: New file. GRUB target modules' rules
1561 that doesn't fit in Makefile.core.def file.
1562 * grub-core/Makefile.core.def: New file. Autogen build
1563 definitions file for GRUB target modules.
1564 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
1565 specific setjmp.S file.
1566 * po/Makefile.am: New file.
1567
1568 * .bzrignore: New ignores.
1569 * INSTALL: New requirements, without Ruby.
1570 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
1571 * autogen.sh: Updated to invoke autogen as necessary.
1572 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
1573 and defines for Automake conditionals.
1574 * geninit.sh: Refactoring.
1575
1576 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
1577 necessary.
1578 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
1579 New prototype.
1580
1581 * include/grub/test.h: Fix functional test modules' naming.
1582 * grub-core/tests/example_functional_test.c: Fix test module name.
1583
1584 * util/misc.c: Hosted versions' of grub functions for libgrub.a
1585 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
1586 * util/grub-editenv.c: Likewise.
1587 * util/grub-fstest.c: Likewise.
1588 * util/grub-mkdevicemap.c: Likewise.
1589 * util/grub-mkfont.c: Likewise.
1590 * util/grub-mkimage.c: Likewise.
1591 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1592 * util/grub-probe.c: Likewise.
1593 * util/grub-script-check.c: Likewise.
1594 * util/i386/pc/grub-setup.c: Likewise.
1595 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1596
1597 * tests/util/grub-shell.in: Fix override directory path.
1598 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
1599 * util/import_gcry.py: Create Makefile.gcry.def file instead.
1600
1601 * util/lvm.c: Update #includes.
1602 * util/raid.c: Likewise.
1603 * util/resolve.c: Likewise.
1604 * grub-core/bus/emu/pci.c: Likewise.
1605 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
1606 * grub-core/lib/posix_wrap/string.h: Likewise.
1607 * grub-core/kern/emu/main.c: Likewise.
1608
1609 * grub-core/gensymlist.sh: New file. Script for generating kernel
1610 symbols file.
1611 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
1612
1613 * grub-core/gentrigtables.c: Fix unused variable warnings.
1614
1615 * Makefile.in: Removed.
1616 * conf/any-emu.rmk: Removed.
1617 * conf/common.rmk: Removed.
1618 * conf/i386-coreboot.rmk: Removed.
1619 * conf/i386-efi.rmk: Removed.
1620 * conf/i386-ieee1275.rmk: Removed.
1621 * conf/i386-multiboot.rmk: Removed.
1622 * conf/i386-pc.rmk: Removed.
1623 * conf/i386-qemu.rmk: Removed.
1624 * conf/i386.rmk: Removed.
1625 * conf/mips-yeeloong.rmk: Removed.
1626 * conf/mips.rmk: Removed.
1627 * conf/powerpc-ieee1275.rmk: Removed.
1628 * conf/sparc64-ieee1275.rmk: Removed.
1629 * conf/tests.rmk: Removed.
1630 * conf/x86-efi.rmk: Removed.
1631 * conf/x86_64-efi.rmk: Removed.
1632 * gendistlist.sh: Removed.
1633 * geninitheader.sh: Removed.
1634 * genkernsyms.sh.in: Removed.
1635 * genmk.rb: Removed.
1636 * gensymlist.sh.in: Removed.
1637 * mkinstalldirs: Removed.
1638 * boot: Moved ...
1639 * grub-core/boot: ... to here.
1640 * bus: Moved ...
1641 * grub-core/bus: ... to here.
1642 * commands: Moved ...
1643 * grub-core/commands: ... to here.
1644 * disk: Moved ...
1645 * grub-core/disk: ... to here.
1646 * efiemu: Moved ...
1647 * grub-core/efiemu: ... to here.
1648 * font: Moved ...
1649 * grub-core/font: ... to here.
1650 * fs: Moved ...
1651 * grub-core/fs: ... to here.
1652 * gencmdlist.sh: Moved ...
1653 * grub-core/gencmdlist.sh: ... to here.
1654 * genemuinit.sh: Moved ...
1655 * grub-core/genemuinit.sh: ... to here.
1656 * genemuinitheader.sh: Moved ...
1657 * grub-core/genemuinitheader.sh: ... to here.
1658 * genfslist.sh: Moved ...
1659 * grub-core/genfslist.sh: ... to here.
1660 * genhandlerlist.sh: Moved ...
1661 * grub-core/genhandlerlist.sh: ... to here.
1662 * genmoddep.awk: Moved ...
1663 * grub-core/genmoddep.awk: ... to here.
1664 * genmodsrc.sh: Moved ...
1665 * grub-core/genmodsrc.sh: ... to here.
1666 * genpartmaplist.sh: Moved ...
1667 * grub-core/genpartmaplist.sh: ... to here.
1668 * genparttoollist.sh: Moved ...
1669 * grub-core/genparttoollist.sh: ... to here.
1670 * genterminallist.sh: Moved ...
1671 * grub-core/genterminallist.sh: ... to here.
1672 * gentrigtables.c: Moved ...
1673 * grub-core/gentrigtables.c: ... to here.
1674 * genvideolist.sh: Moved ...
1675 * grub-core/genvideolist.sh: ... to here.
1676 * gettext: Moved ...
1677 * grub-core/gettext: ... to here.
1678 * gfxmenu: Moved ...
1679 * grub-core/gfxmenu: ... to here.
1680 * gnulib: Moved ...
1681 * grub-core/gnulib: ... to here.
1682 * hello: Moved ...
1683 * grub-core/hello: ... to here.
1684 * hook: Moved ...
1685 * grub-core/hook: ... to here.
1686 * io: Moved ...
1687 * grub-core/io: ... to here.
1688 * kern: Moved ...
1689 * grub-core/kern: ... to here.
1690 * lib: Moved ...
1691 * grub-core/lib: ... to here.
1692 * loader: Moved ...
1693 * grub-core/loader: ... to here.
1694 * mmap: Moved ...
1695 * grub-core/mmap: ... to here.
1696 * normal: Moved ...
1697 * grub-core/normal: ... to here.
1698 * partmap: Moved ...
1699 * grub-core/partmap: ... to here.
1700 * parttool: Moved ...
1701 * grub-core/parttool: ... to here.
1702 * script: Moved ...
1703 * grub-core/script: ... to here.
1704 * term: Moved ...
1705 * grub-core/term: ... to here
1706 * tests/example_functional_test.c: Moved ...
1707 * grub-core/tests/example_functional_test.c: ... to here.
1708 * tests/lib/functional_test.c: Moved ...
1709 * grub-core/tests/lib/functional_test.c: ... to here.
1710 * tests/lib/test.c: Moved ...
1711 * grub-core/tests/lib/test.c: ... to here.
1712 * video: Moved ...
1713 * grub-core/video: ... to here.
1714
1715 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
1716
1717 Replace --enable-grub-emu-modules with grub-emu-lite.
1718
1719 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
1720 cache.S.
1721
1722 * include/grub/emu/misc.h (grub_emu_init): New prototype.
1723 * kern/emu/full.c: New file. For grub-emu specific initialization.
1724 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
1725 * kern/emu/main.c: Call initialization function grub_emu_init.
1726
1727 * Makefile.in: Include grub-emu-lite in install.
1728 * commands/parttool.c: Use grub_no_autoload to differentiate
1729 between grub-emu and grub-emu-lite.
1730 * include/grub/misc.h: New variable grub_no_autoload.
1731
1732 * conf/any-emu.rmk: New rules for grub-emu-lite.
1733 * configure.ac: Remove --enable-grub-emu-modules.
1734 * genmk.rb: Cleanup unnecessary rules.
1735 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
1736
1737 * normal/main.c: Don't load list files on grub-emu-lite.
1738 * util/misc.c (grub_arch_sync_caches): Removed.
1739
1740 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
1741
1742 * kern/mips/startup.S (grub_prefix): Update comment to refer to
1743 grub-mkimage rather than grub-mkelfimage.
1744 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
1745
1746 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
1749 a key after CapsLock or NumLock. It's just a qemu bug.
1750
1751 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
1754 needed by libusb wrapper.
1755
1756 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
1757
1758 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
1759
1760 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
1763 --nounzip is passed.
1764
1765 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 USB hotunplugging and USB serial support.
1768
1769 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
1770 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
1771 (grub_uhci_transfer): Respect timeout and set *actual.
1772 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
1773 non-standard length.
1774 (grub_usb_device_attach): Autoload modules.
1775 (GRUB_MOD_INIT): Set grub_term_poll_usb.
1776 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
1777 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
1778 users updated.
1779 (grub_usb_add_hub): Fill nports and children.
1780 (attach_root_port): Receive hub instead of controller.
1781 All users updated. Fill hub->devices.
1782 (grub_usb_root_hub): Allocate hub->devices.
1783 (detach_device): New function.
1784 (poll_nonroot_hub): Fill children and detach devices.
1785 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
1786 actual arguments. All users updated.
1787 (grub_usb_bulk_read_extended): New function.
1788 * bus/usb/serial/common.c: New file.
1789 * bus/usb/serial/ftdi.c: Likewise.
1790 * bus/usb/serial/pl2303.c: Likewise.
1791 * commands/terminal.c (handle_command): Support wildcard.
1792 * commands/usbtest.c: Output "Unknown" instead of empty string.
1793 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
1794 (usbserial_common_mod_SOURCES): New variable.
1795 (usbserial_common_mod_CFLAGS): Likewise.
1796 (usbserial_common_mod_LDFLAGS): Likewise.
1797 (pkglib_MODULES): Add usbserial_pl2303.mod.
1798 (usbserial_pl2303_mod_SOURCES): New variable.
1799 (usbserial_pl2303_mod_CFLAGS): Likewise.
1800 (usbserial_pl2303_mod_LDFLAGS): Likewise.
1801 (pkglib_MODULES): Add usbserial_ftdi.mod.
1802 (usbserial_ftdi_mod_SOURCES): New variable.
1803 (usbserial_ftdi_mod_CFLAGS): Likewise.
1804 (usbserial_ftdi_mod_LDFLAGS): Likewise.
1805 (pkglib_MODULES): Add serial.mod.
1806 (serial_mod_SOURCES): New variable.
1807 (serial_mod_CFLAGS): Likewise.
1808 (serial_mod_LDFLAGS): Likewise.
1809 * conf/i386-pc.rmk: Likewise.
1810 * conf/mips-yeeloong.rmk: Likewise.
1811 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
1812 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1813 * disk/usbms.c (first_available_slot): New variable.
1814 (grub_usbms_attach): Don't reuse free slots due to potential cache
1815 problems.
1816 * include/grub/serial.h: Moved to ..
1817 * include/grub/ns8250.h: ...this.
1818 * include/grub/serial.h: New file.
1819 * include/grub/term.h (grub_term_poll_usb): New variable.
1820 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
1821 readkey. All users updated.
1822 (grub_terminfo_output_state): Pass term to put.
1823 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
1824 (grub_usb_controller_dev): Add timeout and actual arguments to
1825 transfer. All users updated.
1826 (grub_usb_interface): New field detach_data.
1827 (grub_usb_device): New fields children and nports.
1828 (grub_usb_ep_type_t): New type.
1829 (grub_usb_get_ep_type): New function.
1830 (grub_usb_bulk_read_extended): Likewise.
1831 * include/grub/usbdesc.h (grub_usb_desc): New type.
1832 * include/grub/usbserial.h: New file.
1833 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
1834 * kern/term.c (grub_term_poll_usb): New variable.
1835 (grub_getkey): Call grub_term_poll_usb if set.
1836 (grub_checkkey): Likewise.
1837 (grub_getkeystatus): Likewise.
1838 * term/serial.c: Moved controller-specific parts to ...
1839 * term/ns8250.c: ... here.
1840 * term/serial.c: Mostly rewritten.
1841 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
1842 according to spec.
1843
1844 2010-08-20 Robert Millan <rmh@gnu.org>
1845
1846 Make kFreeBSD code more generic to support ext2fs as root, ufs as
1847 a separate module and maybe other interesting combinations.
1848
1849 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
1850 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
1851 (kfreebsd_entry): Add generic filesystem module load routine.
1852 Map GRUB `ext2' to kFreeBSD `ext2fs'.
1853
1854 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
1855
1856 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
1857 "numcenter" (I misunderstood the purpose of this entry).
1858 * docs/grub.texi (sendkey): Likewise.
1859
1860 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
1861
1862 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
1863 status flag options; simply omitting the option is equivalent and
1864 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
1865 (keysym_table): Rename "num5numlock" to "numlock".
1866 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
1867 can uniformly say that only the last of multiple `sendkey'
1868 invocations has any effect.
1869 * docs/grub.texi (sendkey): New section.
1870
1871 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
1872
1873 * commands/i386/pc/sendkey.c (options): Fix three typos.
1874
1875 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 Implement sendkey support.
1878
1879 * commands/i386/pc/sendkey.c: New file.
1880 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
1881 (sendkey_mod_SOURCES): New variable.
1882 (sendkey_mod_CFLAGS): Likewise.
1883 (sendkey_mod_LDFLAGS): Likewise.
1884
1885 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
1886
1887 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
1888 fix warnings from Autoconf.
1889
1890 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
1891
1892 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
1893 to avoid false positives with some assemblers that output things
1894 like "someprefix_func" as part of their output.
1895
1896 2010-08-15 Robert Millan <rmh@gnu.org>
1897
1898 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
1899 errors.
1900 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
1901 grub_get_libzfs_handle() errors.
1902
1903 2010-08-14 Robert Millan <rmh@gnu.org>
1904
1905 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
1906 filesystem is not ZFS.
1907
1908 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1909
1910 Fix for misspelled color names defaulting to black/black (bug
1911 reported by Doug Nazar)
1912
1913 * include/grub/normal.h (grub_parse_color_name_pair): Add return
1914 status to prototype.
1915 * normal/color.c (grub_parse_color_name_pair): Return failure
1916 status.
1917 (grub_env_write_color_normal): Ignore bad color names.
1918 (grub_env_write_color_highlight): Likewise.
1919 * normal/main.c (GRUB_MOD_INIT): Set default color names.
1920
1921 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1922
1923 "shift" command support to GRUB script.
1924
1925 * include/grub/script_sh.h (grub_script_shift): New prototype.
1926 * script/execute.c (grub_script_shift): New function.
1927 * script/main.c (grub_script_init): Register shift command.
1928 (grub_script_fini): Unregister shift command.
1929 * util/grub-script-check.c (grub_script_cmd_shift): New function.
1930
1931 * tests/grub_script_shift.in: New testcase.
1932 * conf/tests.rmk: Rules for new testcase.
1933
1934 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1935
1936 "continue" command support to GRUB script.
1937
1938 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
1939 (grub_script_break): Continue support.
1940 * script/main.c (grub_script_init): Register continue command.
1941 (grub_script_fini): Unregister continue command.
1942
1943 * tests/grub_script_continue.in: New testcase.
1944 * conf/tests.rmk: Rules for new testcase.
1945
1946 2010-08-12 BVK Chaitanya <bvk@dbook>
1947
1948 "break" command support to GRUB script.
1949
1950 * conf/common.rmk: Rule updates to grub-script-check.
1951 * include/grub/misc.h (grub_min): New function.
1952 * include/grub/script_sh.h (grub_script_init): New prototype.
1953 (grub_script_fini): New prototype.
1954 (grub_script_break): New prototype.
1955 * script/main.c (grub_script_init): New function.
1956 (grub_script_fini): New function.
1957 * script/execute.c (grub_script_break): New function.
1958 * normal/main.c: Calls to grub_script_{init,fini}.
1959 * util/grub-script-check.c (grub_script_break): New function.
1960
1961 * tests/grub_script_break.in: New testcase.
1962 * conf/tests.rmk: Rules for new test case.
1963
1964 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1965
1966 Function parameters support to GRUB script.
1967
1968 * script/yylex.l (VARIABLE): Regular expression update.
1969 * script/function.c (grub_script_function_call): Moved ...
1970 * script/execute.c (grub_script_function_call): ... to here.
1971 (grub_script_execute_arglist_to_argv): Removed.
1972 (grub_script_arglist_to_argv): New function.
1973 * script/argv.c: New file.
1974 (grub_script_argv_free): New function.
1975 (grub_script_argv_next): Likewise.
1976 (grub_script_argv_append): Likewise.
1977 (grub_script_argv_split_append): Likewise.
1978 * include/grub/script_sh.h (grub_script_argv): New struct.
1979 (grub_script_argv_free): New function.
1980 (grub_script_argv_next): Likewise.
1981 (grub_script_argv_append): Likewise.
1982 (grub_script_argv_split_append): Likewise.
1983
1984 * conf/common.rmk (normal.mod): New source script/argv.c.
1985
1986 * tests/grub_script_echo1.in: More tests.
1987 * tests/grub_script_vars1.in: Likewise.
1988 * tests/grub_script_functions.in: New test case.
1989 * conf/tests.rmk: Rules for new testcase.
1990
1991 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1992
1993 Remove grub_script_cmdblock struct.
1994
1995 * include/grub/script_sh.h: Remove grub_script_cmdblock.
1996 * script/parser.y: Likewise.
1997 * script/execute.c: Rename cmdblock suffix to cmdlist.
1998 * script/script.c: Likewise.
1999 * util/grub-script-check.c: Likewise.
2000
2001 2010-08-11 Yves Blusseau <blusseau@zetam.org>
2002
2003 * .bzrignore: add grub-macho2img
2004
2005 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
2008
2009 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 Remove the dump of sm712 initialisation sequence.
2012
2013 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
2014 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
2015 (GRUB_VGA_IO_MISC_WRITE): Likewise.
2016 (GRUB_VGA_CR_*): Added many registers.
2017 (GRUB_VGA_SR_*): Likewise.
2018 (GRUB_VGA_GR_*): Likewise.
2019 (grub_vga_write_arx): New function.
2020 (grub_video_hw_config): New struct.
2021 (grub_vga_set_geometry): New function.
2022 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
2023 GRUB_PCI_CLASS_SUBCLASS_VGA.
2024 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
2025 * video/sm712.c (grub_sm712_write_reg): New function
2026 (grub_sm712_read_reg): Likewise.
2027 (grub_sm712_sr_write): Likewise.
2028 (grub_sm712_gr_write): Likewise.
2029 (grub_sm712_cr_write): Likewise.
2030 (grub_sm712_write_arx): Likewise.
2031 (grub_sm712_cr_shadow_write): Likewise.
2032 (grub_sm712_write_dda_lookup): Likewise.
2033 (grub_video_sm712_setup): Initialise the video rather then
2034 blindly replay the dump.
2035 (main) [TEST]: Add a routine to be able to compile as standalone for
2036 tests.
2037 * video/sm712_init.c (sm712_init): Removed.
2038 (sm712_sr_seq1): New array.
2039 (sm712_sr_seq2): Likewise.
2040
2041 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * include/grub/vga.h: Add missing grub/pci.h include.
2044
2045 2010-08-10 Yves Blusseau <blusseau@zetam.org>
2046
2047 * util/grub-macho2img.c (main): fix typo
2048
2049 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
2052 (grub_vga_gr_read): Likewise.
2053 (grub_vga_cr_write): Likewise.
2054 (grub_vga_cr_read): Likewise.
2055 (grub_vga_sr_write): Likewise.
2056 (grub_vga_sr_read): Likewise.
2057 (grub_vga_palette_read): Likewise.
2058 (grub_vga_palette_write): Likewise.
2059 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
2060 (grub_sm712_sr_read): New function.
2061 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
2062 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
2063
2064 2010-08-09 Robert Millan <rmh@gnu.org>
2065
2066 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
2067 out unused variables on non-ZFS build.
2068
2069 2010-08-08 Robert Millan <rmh@gnu.org>
2070
2071 Fix path generation for sub-filesystems in ZFS.
2072
2073 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
2074 missing slash.
2075
2076 2010-08-08 Robert Millan <rmh@gnu.org>
2077
2078 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
2079
2080 2010-08-08 Robert Millan <rmh@gnu.org>
2081
2082 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
2083 exist, issue a proper error message (rely on `ls' for translated
2084 strings).
2085
2086 2010-08-08 Robert Millan <rmh@gnu.org>
2087
2088 Fix grub-probe invocation.
2089
2090 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
2091
2092 2010-08-04 Robert Millan <rmh@gnu.org>
2093
2094 * configure.ac: Remove checks for getfsstat() and getmntany().
2095 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
2096 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
2097 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
2098 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
2099 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
2100 function.
2101 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
2102 via find_mount_point_from_dir() and getfsstat() / getmntany().
2103
2104 2010-08-04 Robert Millan <rmh@gnu.org>
2105
2106 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
2107 (grub_find_zpool_from_mount_point): Merge into ...
2108 (grub_find_zpool_from_dir): ... this.
2109 * kern/emu/misc.c: Likewise.
2110
2111 * kern/emu/misc.c
2112 (grub_make_system_path_relative_to_its_root): Replace
2113 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
2114 with grub_find_zpool_from_dir().
2115 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
2116
2117 2010-08-04 Robert Millan <rmh@gnu.org>
2118
2119 Support OpenSolaris in ZFS device resolution.
2120
2121 * configure.ac: Check for getmntany().
2122 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
2123 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
2124 support.
2125
2126 2010-08-03 Robert Millan <rmh@gnu.org>
2127
2128 Fix grub-emu build.
2129
2130 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
2131 * include/grub/emu/misc.h: ... here.
2132
2133 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
2134 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
2135
2136 * util/misc.c: Remove `<grub/util/libzfs.h>'.
2137 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
2138 (grub_get_libzfs_handle): Move to ...
2139 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
2140 (grub_get_libzfs_handle): ... here.
2141
2142 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
2143
2144 * script/execute.c (grub_script_execute_cmdline): Check for NULL
2145 as command name case.
2146
2147 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
2148
2149 * disk/raid.c (insert_array): Select unique numbers for named arrays
2150 as well, for use as keys in the disk cache.
2151
2152 2010-08-01 Robert Millan <rmh@gnu.org>
2153
2154 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
2155 kFreeBSD device name, except on ZFS where the filesystem label is
2156 used.
2157 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
2158 `/boot/zfs/zpool.cache'.
2159 Set mountfrom kernel variable using ${kfreebsd_device}.
2160
2161 2010-08-01 Robert Millan <rmh@gnu.org>
2162
2163 Make it even harder to use uninitialized `libzfs_handle' (and
2164 make the interface a bit simpler).
2165
2166 * include/grub/util/misc.h (grub_util_init_libzfs)
2167 (libzfs_handle): Remove.
2168 (grub_get_libzfs_handle): New prototype.
2169
2170 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
2171 attribute.
2172 (grub_util_init_libzfs): Remove.
2173 (grub_get_libzfs_handle): New function.
2174
2175 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
2176 grub_get_libzfs_handle() to obtain a libzfs handle instead of
2177 accessing `libzfs_handle' directly.
2178
2179 2010-08-01 Robert Millan <rmh@gnu.org>
2180
2181 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
2182 (grub_find_zpool_from_mount_point): New function prototypes.
2183
2184 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
2185 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
2186
2187 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
2188 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
2189 `static' attribute.
2190
2191 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
2192 finding zpool from mount point into ...
2193 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
2194
2195 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
2196 requested path is part of a ZFS pool, use
2197 grub_find_zpool_from_mount_point() to detect its filesystem name,
2198 and generate a path with `/fsname@path' syntax.
2199
2200 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
2201
2202 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
2203 (void) rather than () so that this is a proper prototype.
2204
2205 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
2206
2207 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
2208
2209 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
2212 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
2213
2214 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
2215
2216 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
2217
2218 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
2219
2220 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
2221
2222 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
2223
2224 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
2225 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
2226 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
2227 disable gfxpayload.
2228 (Shell-like scripting): Add real content.
2229 (Serial terminal): Suggest `terminal_input serial; terminal_output
2230 serial' rather than putting the two commands on separate lines,
2231 since console input will be inoperative after the first command.
2232 (menuentry): Document --class, --users, and --hotkey options.
2233 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
2234 Vladimir Serbinenko).
2235
2236 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
2237 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
2238
2239 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
2240
2241 2010-08-01 Robert Millan <rmh@gnu.org>
2242
2243 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
2244 (grub_find_zpool_from_mount_point): New function prototypes.
2245
2246 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
2247 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
2248
2249 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
2250 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
2251 `static' attribute.
2252
2253 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
2254 finding zpool from mount point into ...
2255 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
2256
2257 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
2258 requested path is part of a ZFS pool, use
2259 grub_find_zpool_from_mount_point() to detect its filesystem name,
2260 and generate a path with `/fsname@path' syntax.
2261
2262 2010-08-01 Robert Millan <rmh@gnu.org>
2263
2264 Prevent accidental use of uninitialized libzfs_handle.
2265
2266 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
2267 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
2268 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
2269
2270 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
2271
2272 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
2273 util/grub.d/10_linux.in). Fixes Debian bug #591093.
2274
2275 2010-08-01 Robert Millan <rmh@gnu.org>
2276
2277 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
2278
2279 2010-07-31 Robert Millan <rmh@gnu.org>
2280
2281 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
2282
2283 2010-07-31 Robert Millan <rmh@gnu.org>
2284
2285 * kern/emu/misc.c: Add missing license header.
2286
2287 2010-07-31 Robert Millan <rmh@gnu.org>
2288
2289 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
2290
2291 * include/grub/util/libnvpair.h: Include `<config.h>'.
2292 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
2293 declaring libnvpair prototypes ourselves.
2294 * include/grub/util/libzfs.h: Include `<config.h>'.
2295 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
2296 declaring libzfs prototypes ourselves.
2297
2298 (libzfs_handle): Moved to ...
2299 * include/grub/util/misc.h (libzfs_handle): ... here.
2300 Include `<grub/util/libzfs.h>'.
2301
2302 2010-07-30 Robert Millan <rmh@gnu.org>
2303
2304 * include/grub/emu/misc.h: Add missing license header.
2305
2306 2010-07-30 Robert Millan <rmh@gnu.org>
2307
2308 Enable `grub-probe -t device' resolution on ZFS.
2309
2310 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
2311 * include/grub/util/libnvpair.h: New file.
2312 * include/grub/util/libzfs.h: New file.
2313
2314 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
2315 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
2316 `<grub/util/libnvpair.h>'.
2317 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
2318
2319 (find_mount_point_from_dir): New static function.
2320 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
2321 function.
2322 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
2323 find_root_device_from_libzfs() before ressorting to find_root_device().
2324
2325 * include/grub/util/misc.h (grub_util_init_libzfs): New function
2326 prototype.
2327 * util/misc.c: Include `<grub/util/libzfs.h>'.
2328 (grub_util_init_libzfs): New function.
2329 [HAVE_LIBZFS] (libzfs_handle): New global variable.
2330 [HAVE_LIBZFS] (fini_libzfs): New static function.
2331 (grub_util_init_libzfs): New function.
2332 * util/grub-probe.c (main): Call grub_util_init_libzfs().
2333
2334 2010-07-30 Robert Millan <rmh@gnu.org>
2335
2336 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
2337 (xmalloc, xrealloc, xstrdup, xasprintf): Add
2338 `warn_unused_result' attribute.
2339 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
2340 (grub_xasprintf, grub_xvasprintf): Likewise.
2341 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
2342
2343 2010-07-29 Robert Millan <rmh@gnu.org>
2344
2345 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
2346 (probe): Handle `PRINT_FS_LABEL'.
2347 (main): Handle `-t fs_label'.
2348
2349 2010-07-29 Robert Millan <rmh@gnu.org>
2350
2351 * configure.ac: Remove grub-mkisofs checks.
2352
2353 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * util/ieee1275/grub-install.in: Don't use empty grub_device.
2356 Reported by: Lennart Sorensen.
2357
2358 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
2361 prior to terminal_input/terminal_output separation. It's been over 1.5
2362 years and those versions weren't widely deployed.
2363
2364 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
2365
2366 * disk/raid.c (insert_array): Don't count named arrays when looking
2367 for unused array numbers.
2368 Reported and tested by: Michael Guntsche.
2369
2370 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2371
2372 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
2373 implementation of this so that grub-emu links again, with a note
2374 that this should support hotplugging in the future.
2375
2376 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2377
2378 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
2379
2380 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2381
2382 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
2383 handle on failure.
2384 (grub_loopback_close): Remove empty function.
2385 (grub_loopback_dev): Remove close method.
2386
2387 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2388
2389 Disable EFI cursor when the EFI console becomes inactive.
2390
2391 * term/efi/console.c (grub_efi_console_init): New function.
2392 (grub_efi_console_fini): New function.
2393 (grub_console_term_output): Register init and fini methods.
2394
2395 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * tests/util/grub-shell-tester.in: Remove bashism and declare as
2398 sh script.
2399
2400 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * disk/loopback.c (grub_loopback): Replace filename with file.
2403 (delete_loopback): Handle new semantics.
2404 (grub_cmd_loopback): Likewise.
2405 (grub_loopback_iterate): Likewise.
2406 (grub_loopback_close): Likewise.
2407
2408 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
2411 with -p "".
2412 Reported by: Tito Keitel.
2413
2414 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * docs/grub.texi (Naming convention): Document new naming convention.
2417
2418 2010-07-20 Vadim Solomin <vadic052@gmail.com>
2419 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2420
2421 Generate device.map in something closer to the old ordering.
2422
2423 * util/deviceiter.c (struct device): New declaration.
2424 (compare_file_names): Rename to ...
2425 (compare_devices): ... this. Sort by kernel name in preference to
2426 the stable by-id name, but keep the latter as a fallback comparison.
2427 Update header comment.
2428 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
2429 of `struct device' rather than of plain file names.
2430
2431 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
2432
2433 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
2434 on i386.
2435
2436 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * commands/acpi.c (setup_common_tables): Use sizeof instead of
2439 hardcoding size.
2440 (setv1table): Likewise.
2441
2442 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2443
2444 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
2445 removing the homehost if present.
2446 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
2447 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
2448 removing the homehost if present.
2449 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
2450 if possible.
2451 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
2452
2453 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
2454 parameter. Set its pointer target to 0.
2455 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
2456 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
2457 `data_offset' value from the superblock for 1.x metadata.
2458 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
2459 data on the device.
2460 (insert_array): Record the start sector of data on the device.
2461 (grub_raid_register): Pass start_sector parameters to
2462 grub_raid_list->detect and insert_array.
2463 * include/grub/raid.h (struct grub_raid_array): Add start_sector
2464 member.
2465 (struct grub_raid): Add start_sector parameter to `detect'.
2466
2467 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
2468 __attribute__ ((packed)), leaving a comment.
2469 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
2470 (grub_mdraid_detect_09): ... here and ...
2471 (grub_mdraid_detect_1x): ... here.
2472
2473 2010-07-20 Peter Henn <peter.henn@web.de>
2474
2475 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
2476 chunk size and disk size, which are already given as sector counts
2477 as distinct from the 0.90 units. Fetch the correct device number
2478 from the role table instead of using the table index.
2479
2480 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
2481
2482 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
2483 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
2484 (WriteMostly1): New macro.
2485 Set array->name to NULL for metadata format 0.90. Add support for
2486 metadata 1.x. Fix some comments.
2487 * disk/raid.c (): Add support for name based RAID arrays. Fix a
2488 few comments.
2489 * util/getroot.c (grub_util_get_grub_dev): Add support for
2490 /dev/md/name style devices.
2491
2492 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2493
2494 * .bzrignore: Ignore 20_linux_xen.
2495
2496 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
2497
2498 * util/import_unicode.py: Remove unnecessary imports.
2499
2500 2010-07-17 Aleš Nesrsta <starous@volny.cz>
2501
2502 Hotplugging and USB hub support.
2503
2504 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
2505 (grub_ohci): Likewise.
2506 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
2507 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
2508 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
2509 (GRUB_OHCI_CTRL_EDS): Likewise.
2510 (GRUB_OHCI_BULK_EDS): Likewise.
2511 (GRUB_OHCI_TDS): Likewise.
2512 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
2513 (grub_ohci_ed_phys2virt): New function.
2514 (grub_ohci_virt_to_phys): Likewise.
2515 (grub_ohci_td_phys2virt): Likewise.
2516 (grub_ohci_td_virt2phys): Likewise.
2517 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
2518 attachment.
2519 (grub_ohci_find_ed): New function.
2520 (grub_ohci_alloc_td): Likewise.
2521 (grub_ohci_free_td): Likewise.
2522 (grub_ohci_free_tds): Likewise.
2523 (grub_ohci_transfer): Use previously allocated memory.
2524 (grub_ohci_portstatus): Reset status changed bit.
2525 (grub_ohci_detect_dev): Supply status changed.
2526 (grub_ohci_fini_hw): Free memory.
2527 (grub_ohci_restore_hw): Reallocate memory.
2528 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
2529 Reset status change.
2530 (grub_uhci_detect_dev): Supply status_change.
2531 * bus/usb/usb.c (attach_hooks): New var.
2532 (grub_usb_device_attach): New function.
2533 (grub_usb_register_attach_hook_class): Likewise.
2534 (grub_usb_unregister_attach_hook_class): Likewise.
2535 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
2536 (grub_usb_add_hub): Reset connection changed bit.
2537 (attach_root_port): New function.
2538 (grub_usb_root_hub): Likewise.
2539 (poll_nonroot_hub): Likewise.
2540 (grub_usb_poll_devices): Likewise.
2541 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
2542 * disk/usbms.c (grub_usbms_open): Use device hooks.
2543 (grub_usbms_iterate) :Poll devices.
2544 (grub_usbms_finddevs): Split into ...
2545 (grub_usbms_attach): ... this ...
2546 (grub_usbms_attach): ... and this.
2547 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
2548 in detect_dev.
2549 (grub_usb_interface): New fields attached and detach_hook.
2550 (grub_usb_attach_hook_class): New type.
2551 (grub_usb_attach_desc): New struct.
2552 (grub_usb_register_attach_hook_class): New function.
2553 (grub_usb_unregister_attach_hook_class): Likewise.
2554 (grub_usb_poll_devices): Likewise.
2555 (grub_usb_device_attach): Likewise.
2556 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
2557 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
2558
2559 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
2562 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
2563 delta determination style. Works with most NetBSD partitions too.
2564
2565 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
2568 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
2569
2570 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
2573
2574 2010-07-14 Anton Blanchard <anton@samba.org>
2575
2576 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
2577 ET_DYN files.
2578
2579 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2580
2581 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
2582
2583 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2584
2585 * kern/partition.c (grub_partition_check_containment): New function to
2586 check that a partition is physically contained in a parent. Since
2587 offsets are relative (and non-negative), this reduces to checking that
2588 the partition ends before its parent.
2589 (grub_partition_map_probe): Discard out-of-range sub-partitions.
2590 (grub_partition_iterate): Likewise.
2591 * include/grub/partition.h (grub_partition_map): Slightly more detailed
2592 comments.
2593 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
2594 partitions that start before their parent, and add debug printfs.
2595
2596 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
2597
2598 * Makefile.in (.SUFFIX): Spell correctly, as ...
2599 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
2600 bare module name without `.mod', e.g. `test') tried to invoke a
2601 Modula-2 compiler.
2602
2603 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
2604
2605 * README: Point to the Info manual.
2606
2607 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
2608
2609 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
2610 2nd superblock position from partition size.
2611
2612 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
2613
2614 * Makefile.in (MAINTAINER_CLEANFILES): Remove
2615 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
2616 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
2617 outputs.
2618
2619 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 Restructure SCSI .id handling.
2622 Reported and tested by: Aleš Nesrsta.
2623
2624 * disk/ata.c (grub_atapi_close): Removed. All users updated.
2625 (grub_atapi_dev): Changed .name to "ata". New field .id.
2626 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
2627 (grub_usbms_dev): New field .id.
2628 * disk/scsi.c (grub_scsi_iterate): Generate name.
2629 (grub_scsi_open): Parse name.
2630 * include/grub/scsi.h (grub_make_scsi_id): New function.
2631 (grub_scsi_dev): Change iterate and open to number instead of naming
2632 busses. All users updated.
2633 (grub_scsi): Remove name. Add .bus.
2634
2635 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * commands/help.c (grub_cmd_help): Fix a typo.
2638
2639 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
2642 Reported and tested by: Colin Watson.
2643
2644 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
2647 in this context.
2648
2649 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
2652
2653 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
2654
2655 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
2656 indentation.
2657
2658 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
2659
2660 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
2661 and disk/raid6_recover.c.
2662 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2663 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2664
2665 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
2666
2667 * term/gfxterm.c (repaint_schedulded): Rename to ...
2668 (repaint_scheduled): ... this. Update all callers.
2669 (repaint_was_schedulded): Rename to ...
2670 (repaint_was_scheduled): ... this. Update all callers.
2671
2672 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
2673
2674 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
2675 which we expect to be handled by upper layers.
2676
2677 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
2678
2679 * bus/usb/usbhub.c: #include time.h header.
2680
2681 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
2682
2683 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
2684 entry_name also for entries without stat blocks (e.g. ".."); fixes
2685 corruption of the first entry in a directory.
2686
2687 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
2688
2689 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
2690 after setting gfxterm as the active terminal. GRUB_BACKGROUND
2691 doesn't work otherwise.
2692
2693 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
2694
2695 * docs/grub.texi (Features): Update list of supported file systems.
2696 (GNU/Linux): Update for GRUB 2.
2697 (Serial terminal): Remove mention of --disable-serial, which was a
2698 GRUB Legacy configure option. Update instructions to use
2699 `terminal_input' and `terminal_output' rather than `terminal'.
2700 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
2701 configuration' and `Installing GRUB using grub-install'.
2702 (Menu entry editor): Update for GRUB 2.
2703 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
2704 Document new -a, -u, and -v options.
2705 (initrd): New section.
2706 (initrd16): New section.
2707 (linux): New section.
2708 (linux16): New section.
2709 (search): The `var' argument to `--set' is optional.
2710 (GRUB only offers a rescue shell): Go into a little more detail on
2711 drive ordering.
2712
2713 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
2714
2715 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
2716
2717 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
2718
2719 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
2720 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
2721
2722 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
2723
2724 * util/i386/pc/grub-setup.c (setup): Rename prefix to
2725 install_prefix, in line with install_dos_part and install_bsd_part.
2726 Add new prefix variable, which is copied to install_prefix after
2727 comparing core.img in memory with the one read from disk in the
2728 no-embedding case, and use that rather than overwriting
2729 install_prefix immediately when installing to a partition.
2730 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
2731 Bicakci.
2732
2733 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
2734
2735 * configure.ac: Avoid == in test command, it's not portable.
2736 * util/grub.d/30_os-prober.in: Likewise.
2737
2738 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
2739
2740 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
2741
2742 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
2743
2744 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
2745 multiple (top-level) partmaps.
2746
2747 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * util/i386/efi/grub-install.in: Don't use empty grub_device.
2750 Reported by: Tino Keitel.
2751
2752 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 Bidi and diacritics support.
2755
2756 * Makefile.in (widthspec.bin): New target.
2757 (widthspec.h): Likewise.
2758 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
2759 * autogen.sh: Generate unidata.c.
2760 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
2761 * commands/ls.c (grub_ls_list_devices): Likewise.
2762 (grub_ls_list_files): Likewise.
2763 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
2764 (grub_mini_cmd_lsmod): Likewise.
2765 * commands/read.c: Likewise.
2766 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
2767 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
2768 * lib/arg.c (grub_arg_show_help): Likewise.
2769 * lib/crypto.c (grub_password_get): Likewise.
2770 * normal/auth.c (grub_username_get): Likewise.
2771 * normal/misc.c (grub_normal_print_device_info): Likewise.
2772 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
2773 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
2774 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
2775 (normal/charset.c_DEPENDENCIES): New variable.
2776 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
2777 (pkglib_MODULES): Remove charset.mod.
2778 (charset_mod_SOURCES): Removed.
2779 (charset_mod_CFLAGS): Likewise.
2780 (charset_mod_LDFLAGS): Likewise.
2781 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
2782 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
2783 and term/tparm.c.
2784 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2785 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2786 (kernel_img_HEADERS): Add terminfo.h.
2787 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
2788 Fill ->font. Reverse ascii bitmaps.
2789 (grub_font_get_xheight): New function.
2790 * font/font.c (grub_font_get_string_width): Moved from here ...
2791 * gfxmenu/font.c (grub_font_get_string_width): ... here.
2792 * font/font.c (grub_font_draw_string): Moved from here ...
2793 * gfxmenu/font.c (grub_font_draw_string): ... here.
2794 * font/font.c (grub_font_dup_glyph): New function.
2795 (grub_font_blit_glyph): Likewise.
2796 (grub_font_blit_glyph_mirror): Likewise.
2797 (blit_comb): Likewise.
2798 (grub_font_construct_dry_run): Likewise.
2799 (grub_font_get_constructed_device_width): Likewise.
2800 (grub_font_construct_glyph): Likewise.
2801 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
2802 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
2803 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
2804 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
2805 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
2806 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
2807 (grub_font_get_xheight): New proto.
2808 (grub_font_get_constructed_device_width): Likewise.
2809 (grub_font_construct_glyph): Likewise.
2810 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
2811 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
2812 * include/grub/font.h (grub_font_draw_string): Moved from here ...
2813 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
2814 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
2815 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
2816 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
2817 (grub_console_getcharwidth): Likewise.
2818 * include/grub/misc.h (grub_xputs): New proto.
2819 (grub_puts): Inlined.
2820 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
2821 (grub_normal_get_line_counter): Removed.
2822 (grub_install_newline_hook): Likewise.
2823 (grub_normal_get_char_counter): New proto.
2824 (grub_normal_reset_more): Likewise.
2825 (grub_xputs_normal): Likewise.
2826 * include/grub/powerpc/ieee1275/console.h: Removed.
2827 * include/grub/sparc64/ieee1275/console.h: Likewise.
2828 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
2829 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
2830 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
2831 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
2832 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
2833 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
2834 (grub_term_input): Pass reference to self. All users updated.
2835 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
2836 Pass reference to self. New fields normal_color, highlight_color and
2837 data. All users updated.
2838 (grub_putchar): Removed.
2839 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
2840 (grub_unicode_estimate_width): New function.
2841 (grub_term_getcharwidth): Add defaults.
2842 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
2843 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
2844 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
2845 (grub_cls): Remove EXPORT_FUNC.
2846 (grub_setcolorstate): Inline.
2847 (grub_newline_hook): Removed.
2848 * include/grub/terminfo.h: Rewritten. All users updated.
2849 * include/grub/unicode.h: New file.
2850 * include/grub/video.h (grub_video_signed_rect): New type.
2851 * kern/emu/console.c (grub_console_highlight_color): Removed.
2852 (grub_console_normal_color): Likewise.
2853 (grub_console_standard_color): Made static.
2854 (grub_ncurses_putchar): Remove mapping.
2855 (grub_ncurses_getcharwidth): Removed.
2856 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
2857 (grub_ncurses_setcolor): Removed.
2858 (grub_ncurses_getcolor): Likewise.
2859 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
2860 (grub_console_putchar): ... this.
2861 (grub_console_putchar): Handle argument difference.
2862 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
2863 console_init_early and console_init_lately.
2864 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
2865 * kern/misc.c (grub_puts): Removed.
2866 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
2867 (grub_vsnprintf_real): Remove str = NULL support.
2868 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
2869 * normal/charset.c (grub_utf8_to_ucs4): ... here.
2870 * kern/term.c (grub_putcode): Renamed to ...
2871 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
2872 (grub_putchar): Removed.
2873 (grub_xputs_dumb): New function.
2874 (grub_xputs): New variable.
2875 * lib/charset.c: Move from here ...
2876 * normal/charset.c: ... to here.
2877 (grub_ucs4_to_utf8): New function.
2878 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
2879 (join_types): New variable.
2880 (unpack_join): New function.
2881 (bidi_types): New variable.
2882 (unpack_bidi): New function.
2883 (get_bidi_type): Likewise.
2884 (get_join_type): Likewise.
2885 (is_mirrored): Likewise.
2886 (grub_unicode_get_comb_type): Likewise.
2887 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
2888 (is_type_after): Likewise.
2889 (grub_unicode_aglomerate_comb): Likewise.
2890 (bidi_line_wrap): Likewise.
2891 (grub_bidi_line_logical_to_visual): Likewise.
2892 (grub_bidi_logical_to_visual): Likewise.
2893 (grub_unicode_mirror_code): Likewise.
2894 (grub_unicode_shape_code): Likewise.
2895 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
2896 Don't use grub_putchar.
2897 * normal/main.c (grub_normal_init_page): Use grub_putcode.
2898 (grub_normal_reader_init): Likewise.
2899 (grub_xputs_saved): New variable.
2900 (GRUB_MOD_INIT): Set grub_xputs.
2901 (GRUB_MOD_FINI): Restore grub_xputs.
2902 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
2903 (menu_init): Avoid printing gfxmenu error.
2904 (show_menu): Use grub_normal_get_char_counter.
2905 * normal/menu_entry.c (update_screen): Fix out-of-array.
2906 (complete): Avoid NULL dereferencing.
2907 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
2908 * normal/menu_text.c (print_spaces): Removed.
2909 (grub_print_ucs4): Likewise.
2910 (grub_print_message_indented): Use grub_print_ucs4.
2911 (print_message): Use grub_putcode.
2912 (print_entry): Hanlde diacritics.
2913 * normal/term.c (term_state): New type.
2914 (grub_more_lines): Removed.
2915 (term_states): New variable.
2916 (grub_normal_line_counter): Renamed to ..
2917 (grub_normal_char_counter): ...this. All users updated.
2918 (grub_normal_get_line_counter): Renamed to ...
2919 (grub_normal_get_char_counter): ... this.
2920 (grub_normal_reset_more): New function.
2921 (process_newline): Removed.
2922 (print_more): New function.
2923 (grub_install_newline_hook): Removed.
2924 (map_code): New function.
2925 (grub_puts_terminal): Use grub_print_ucs4.
2926 (putglyph): New function.
2927 (putcode_real): Likewise.
2928 (grub_putcode): Use putcode_real.
2929 (get_maxwidth): New function.
2930 (get_startwidth): Likewise.
2931 (print_ucs4_terminal): Likewise.
2932 (find_term_state): Likewise.
2933 (put_glyphs_terminal): Likewise.
2934 (print_backlog): Likewise.
2935 (print_ucs4_real): Likewise.
2936 (grub_print_ucs4): Likewise.
2937 (grub_xputs_normal): Likewise.
2938 * term/efi/console.c (grub_console_putchar): Output diacritics.
2939 (grub_console_getcharwidth): Removed.
2940 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
2941 * term/gfxterm.c (clear_char): Free chars.
2942 (scroll_up): Avoid leaking memory.
2943 (grub_gfxterm_putchar): Support diacritics.
2944 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
2945 * term/i386/pc/console.c (grub_console_term_output): Declare as
2946 GRUB_TERM_CODE_TYPE_VGA.
2947 * term/i386/pc/vga.c (grub_vga_term): Declare as
2948 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
2949 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
2950 GRUB_TERM_CODE_TYPE_VGA.
2951 * term/i386/vga_common.c (map_char): Removed.
2952 (grub_console_putchar): Likewise.
2953 (grub_console_getcharwidth): Likewise.
2954 * term/ieee1275/ofconsole.c: Simplify using terminfo.
2955 (colors): Reordered to match terminfo.
2956 (grub_ofconsole_normal_color): Removed.
2957 (grub_ofconsole_writeesc): Likewise.
2958 (grub_ofconsole_highlight_color): Likewise.
2959 (grub_ofconsole_getcharwidth): Likewise.
2960 (grub_ofconsole_setcolorstate): Likewise.
2961 (grub_ofconsole_setcolor): Likewise.
2962 (grub_ofconsole_getcolor): Likewise.
2963 (grub_ofconsole_readkey): Renamed to ...
2964 (readkey): ... this. Remove escape sequence handling. Return -1 on no
2965 key.
2966 (grub_ofconsole_checkkey): Removed.
2967 (grub_ofconsole_getkey): Likewise.
2968 (grub_ofconsole_getxy): Likewise.
2969 (grub_ofconsole_gotoxy): Likewise.
2970 (grub_ofconsole_cls): Likewise.
2971 (grub_ofconsole_refresh): Likewise.
2972 (grub_ofconsole_terminfo_input): New struct.
2973 (grub_ofconsole_terminfo_output): Likewise.
2974 (grub_ofconsole_term_input): Use terminfo.
2975 (grub_ofconsole_term_output): Likewise.
2976 (grub_console_init): Split into ...
2977 (grub_console_init_early): ...this and ...
2978 (grub_console_init_lately): ...this. Use terminfo.
2979 (grub_ofconsole_putchar): Renamed to ...
2980 (put): ... this. Remove mapping.
2981 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
2982 * term/serial.c: Simplify using terminfo.
2983 (xpos): Removed.
2984 (ypos): Likewise.
2985 (keep_track): Likewise.
2986 (registered): Likewise.
2987 (input_buf): Likewise.
2988 (npending): Likewise.
2989 (serial_translate_key_sequence): Likewise.
2990 (fill_input_buf): Likewise.
2991 (grub_serial_checkkey): Likewise.
2992 (grub_serial_getkey): Likewise.
2993 (grub_serial_getxy): Likewise.
2994 (grub_serial_gotoxy): Likewise.
2995 (grub_serial_putchar): Likewise.
2996 (grub_serial_cls): Likewise.
2997 (grub_serial_setcolorstate): Likewise.
2998 (grub_serial_setcursor): Likewise.
2999 (serial_hw_init): Use serial_hw_fetch.
3000 (grub_serial_terminfo_input): New variable.
3001 (grub_serial_terminfo_output): Likewise.
3002 (grub_serial_term_input): Use terminfo.
3003 (grub_serial_term_output): Likewise.
3004 * term/terminfo.c (putstr): Use put.
3005 (grub_terminfo_all_free): New function
3006 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
3007 (grub_terminfo_output_register): New function.
3008 (grub_terminfo_output_unregister): Likewise.
3009 (grub_terminfo_getxy): Likewise.
3010 (grub_terminfo_readkey): Likewise.
3011 (grub_terminfo_checkkey): Likewise.
3012 (grub_terminfo_getkey): Likewise.
3013 (grub_terminfo_input_init): Likewise.
3014 (print_terminfo): Likewise.
3015 (grub_cmd_terminfo): Handle encoding.
3016 (grub_terminfo_gotoxy): Track position.
3017 (grub_terminfo_cls): Likewise.
3018 (grub_terminfo_putchar): Likewise.
3019 (grub_terminfo_setcolorstate): Handle colors
3020 (grub_terminfo_cursor_on): This ...
3021 (grub_terminfo_cursor_off): ... and this merged into ...
3022 (grub_terminfo_setcursor): ... this.
3023 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
3024 * unicode/ArabicShaping.txt: New file (imported from Unicode).
3025 * unicode/BidiMirroring.txt: Likewise.
3026 * unicode/UnicodeData.txt: Likewise.
3027 * unicode/COPYING: Likewise.
3028 * util/grub-editenv.c (grub_putchar): Removed.
3029 (grub_xputs_real): New function.
3030 (grub_xputs): New variable.
3031 * util/grub-fstest.c (grub_putchar): Removed.
3032 (grub_xputs_real): New function.
3033 (grub_xputs): New variable.
3034 * util/grub-mkdevicemap.c (grub_putchar): Removed.
3035 (grub_xputs_real): New function.
3036 (grub_xputs): New variable.
3037 * util/grub-probe.c (grub_putchar): Removed.
3038 (grub_xputs_real): New function.
3039 (grub_xputs): New variable.
3040 * util/grub-script-check.c (grub_putchar): Removed.
3041 (grub_xputs_real): New function.
3042 (grub_xputs): New variable.
3043 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
3044 (grub_xputs_real): New function.
3045 (grub_xputs): New variable.
3046 * util/import_unicode.py: New file.
3047 * util/grub-mkfont.c (ft_errmsgs): New array.
3048 (grub_glyph_info): Make bitmap a pointer.
3049 (file_formats): New type WIDTH_SPEC.
3050 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
3051 (options): Add width-spec.
3052 (help): Likewise.
3053 (add_char): Renamed to ...
3054 (add_glyph): ... this.
3055 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
3056 (glyph_replace): New type.
3057 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
3058 (add_char): New function.
3059 (add_subst): Likewise.
3060 (process_cursive): Likewise.
3061 (add_font): Handle GSUB.
3062 (write_font_width_spec): New function.
3063 (main): Sort glyphs.
3064 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
3065 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
3066 * kern/term.c (grub_cls): Moved from here...
3067 * normal/term.c (grub_cls): ... here.
3068
3069 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
3070
3071 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
3072 suitable for using within the format argument of printf when
3073 converting grub_size_t.
3074 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
3075 "x" to convert grub_size_t arguments.
3076
3077 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
3080 too long captions.
3081 (list_get_minimal_size): Take selection box into account.
3082
3083 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
3086 NULL font.
3087
3088 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
3089
3090 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
3091 devices when iterating over /dev/disk/by-id; they will be handled
3092 later if appropriate, which they aren't always (e.g. LVM).
3093
3094 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
3095
3096 * include/grub/misc.h (grub_reboot): Declare as noreturn.
3097 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
3098 fails.
3099 (grub_halt): Likewise.
3100 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
3101 reset-all fails.
3102 (grub_halt): Don't return, even if all of shut-down, power-off, and
3103 poweroff fail.
3104
3105 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
3106
3107 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
3108 arguments, not three.
3109
3110 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
3111
3112 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
3113 * util/grub.d/10_linux.in: Use it to check for LVM, so that
3114 LVM-on-RAID is handled correctly.
3115
3116 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
3117
3118 * docs/grub.texi (Changes from GRUB Legacy): New section.
3119 (Future): Fix typo.
3120
3121 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
3122
3123 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
3124 grub.d/README accidentally ends up executable for one reason or
3125 another. Ignore it.
3126
3127 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
3130 (gpt_partition_map_iterate): Support non-512B sectors.
3131
3132 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * kern/efi/init.c (grub_efi_init): Disable watchdog.
3135 Tested by: Seth Goldberg.
3136
3137 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
3140 Properly align mbi.
3141 Reported by: Seth Goldberg.
3142
3143 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * util/grub-mkrescue.in: Avoid module duplication.
3146
3147 2010-07-01 Sean Finney <seanius@seanius.net>
3148
3149 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
3150
3151 2010-07-01 Sean Finney <seanius@seanius.net>
3152
3153 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
3154
3155 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * disk/lvm.c (grub_lvm_checkvalue): New function.
3158 (grub_lvm_check_flag): Likewise.
3159
3160 2010-07-01 Robert Millan <rmh@gnu.org>
3161
3162 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
3163 Support 'p' as partition separator on kernel of FreeBSD (used
3164 with GPT labels).
3165 (grub_util_biosdisk_get_grub_dev): Likewise.
3166
3167 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 Yeeloong firmware port.
3170
3171 * boot/mips/yeeloong/fwstart.S: New file.
3172 * bus/cs5536.c (gpiodump): New const.
3173 (set_io_space): New function.
3174 (set_iod): Likewise.
3175 (set_p2d): Likewise.
3176 (grub_cs5536_init_geode): Likewise.
3177 * commands/mips/yeeloong/lsspd.c: New file.
3178 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
3179 (serial_mod_SOURCES): New variable.
3180 (serial_mod_CFLAGS): Likewise.
3181 (serial_mod_LDFLAGS): Likewise.
3182 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
3183 term/terminfo.c and term/tparm.c.
3184 (pkglib_IMAGES): Add fwstart.img.
3185 (fwstart_img_SOURCES): New variable.
3186 (fwstart_img_CFLAGS): Likewise.
3187 (fwstart_img_ASFLAGS): Likewise.
3188 (fwstart_img_LDFLAGS): Likewise.
3189 (fwstart_img_FORMAT): Likewise.
3190 (pkglib_MODULES): Add lsspd.mod.
3191 (lsspd_mod_SOURCES): New variable.
3192 (lsspd_mod_CFLAGS): Likewise.
3193 (lsspd_mod_LDFLAGS): Likewise.
3194 (pkglib_MODULES): Add halt.mod.
3195 (halt_mod_SOURCES): New variable.
3196 (halt_mod_CFLAGS): Likewise.
3197 (halt_mod_LDFLAGS): Likewise.
3198 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
3199 (serial_mod_SOURCES): Removed.
3200 (serial_mod_CFLAGS): Likewise.
3201 (serial_mod_LDFLAGS): Likewise.
3202 * disk/ata.c (check_device): New function.
3203 (grub_ata_device_initialize): Use check_device.
3204 (grub_ata_iterate): Recheck devices.
3205 (grub_ata_open): Likewise.
3206 (grub_atapi_iterate): Likewise.
3207 (grub_atapi_open): Likewise.
3208 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
3209 (GRUB_ATA_CH1_PORT1): Likewise.
3210 (GRUB_ATA_CH0_PORT2): Likewise.
3211 (GRUB_ATA_CH1_PORT2): Likewise.
3212 * include/grub/mips/loongson.h: New file.
3213 * include/grub/mips/yeeloong/ec.h: Likewise.
3214 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
3215 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
3216 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
3217 * include/grub/misc.h (grub_halt): Declare as noreturn.
3218 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
3219 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
3220 (UART_ENABLE_FIFO_TRIGGER1): New definition.
3221 (UART_ENABLE_DTRRTS): Likewise.
3222 (UART_ENABLE_MODEM): Removed.
3223 (UART_ENABLE_OUT2): New const.
3224 * include/grub/term.h (grub_term_register_input_active): New function.
3225 (grub_term_register_output_active): Likewise.
3226 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
3227 argument.
3228 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
3229 (init_pci): New function.
3230 (grub_machine_init): Execute platform init when firmware. Init serial.
3231 (grub_halt): Implement.
3232 (grub_exit): Likewise.
3233 (grub_reboot): Likewise.
3234 * term/serial.c (serial_hw_init): Update macros.
3235 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
3236 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
3237 (image_targets): New target mipsel-yeeloong-flash.
3238 (generate_image): Support IMAGE_YEELOONG_FLASH.
3239 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
3240 (grub_video_sm712_setup): Init card.
3241 (grub_video_sm712_set_palette): Removed.
3242 * video/sm712_init.c: New file.
3243
3244 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
3245
3246 * Makefile.in (install-local): Temporarily prepend $(builddir) to
3247 PATH when running help2man and then run it on the unadorned
3248 executable names, rather than passing $(builddir)/* paths to
3249 help2man. This avoids the build directory ending up in generated
3250 manual pages.
3251
3252 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
3253
3254 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
3255 to avoid accidents when debugging with 'sh -x'.
3256 * util/grub-mkrescue.in: Likewise.
3257 * util/grub.d/00_header.in: Likewise.
3258 * util/grub.d/10_hurd.in: Likewise.
3259 * util/grub.d/10_kfreebsd.in: Likewise.
3260 * util/grub.d/10_linux.in: Likewise.
3261 * util/grub.d/10_netbsd.in: Likewise.
3262 * util/grub.d/10_windows.in: Likewise.
3263 * util/grub.d/20_linux_xen.in: Likewise.
3264 * util/grub.d/30_os-prober.in: Likewise.
3265 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3266
3267 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
3268
3269 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
3270 last character in the buffer.
3271 Reported by: Vladimir Serbinenko.
3272
3273 2010-06-29 Robert Millan <rmh@gnu.org>
3274
3275 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
3276 (Command-line and menu entry commands): Document `badram' command.
3277
3278 2010-06-28 Robert Millan <rmh@gnu.org>
3279
3280 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
3281 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
3282 command using ${GRUB_BADRAM} as parameter.
3283
3284 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
3285
3286 * docs/grub.texi (Device map): New section.
3287 (Themes): New section (stub).
3288 * Makefile.in (docs/grub.info): The info documentation now builds
3289 without errors. Make sure it stays that way.
3290
3291 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 Use normal parser for menu entries.
3294 Reported by: Thomas Frauendorfer
3295
3296 * include/grub/parser.h (grub_parser_execute): Don't export.
3297 * normal/menu.c (grub_menu_execute_entry_real): New function.
3298 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
3299
3300 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
3301
3302 * docs/grub.texi (Embedded configuration): New section (replacing
3303 old "Preset Menu" stub).
3304 (Images): New section.
3305 (configfile): Note that any menu entries defined in `file' are shown
3306 immediately.
3307
3308 2010-06-28 Josh Triplett <josh@joshtriplett.org>
3309
3310 * mmap/i386/pc/mmap_helper.S: Set CF on return.
3311
3312 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
3313
3314 * util/grub-install.in: Add --debug-image= option.
3315
3316 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
3317
3318 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
3319 possible on Linux.
3320
3321 * util/deviceiter.c (check_device): Rename to ...
3322 (check_device_readable_unique): ... this. Update all callers.
3323 Maintain and check a list of which devices (by canonicalized name)
3324 have already been seen.
3325 (clear_seen_devices): New function.
3326 (compare_file_names) [__linux__]: New function.
3327 (grub_util_iterate_devices): Clear the list of seen devices on exit
3328 and (just in case) on entry.
3329 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
3330 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
3331 seen-devices list, superseded by general code in check_device.
3332
3333 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
3334
3335 * commands/cat.c (options): New variable.
3336 (grub_cmd_cat): Parse options. If the --dos option is given, print
3337 DOS-style "\r\n" line endings as simple newlines (Debian bug
3338 #586358).
3339 (GRUB_MOD_INIT): Use extcmd.
3340 (GRUB_MOD_FINI): Likewise.
3341 * docs/grub.texi (cat): Document --dos.
3342
3343 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 XEN with Linux grub-mkconfig support.
3346
3347 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
3348 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
3349 GRUB_CMDLINE_XEN_DEFAULT.
3350 * util/grub.d/20_linux_xen.in: New file.
3351
3352 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 Initialise VGA video on qemu ourselves.
3355
3356 * boot/i386/qemu/boot.S: Don't call 0xc000.
3357 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
3358 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
3359 (kernel_img_HEADERS): Add pci.h.
3360 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
3361 * configure.ac: Force unifont on qemu and yeeloong.
3362 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
3363 (grub_vga_palette_write): Use correct register.
3364 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
3365 Call grub_qemu_init_cirrus.
3366 * kern/i386/qemu/init.c: New file.
3367 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
3368
3369 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
3370
3371 2010-06-26 Pavel Roskin <proski@gnu.org>
3372
3373 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
3374 13.
3375
3376 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
3377
3378 * docs/grub.texi (Simple configuration): Explain that
3379 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
3380 set to `true' to disable their respective recovery entries, not
3381 merely set.
3382
3383 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
3384
3385 Make the `source' command slightly faster.
3386
3387 * normal/main.c (grub_normal_execute): Don't re-read list files when
3388 nested.
3389
3390 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
3391
3392 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
3393 field position and mask size to red fields from mode_info, not
3394 green.
3395 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
3396 Remove redundant tag->common.framebuffer_type assignment.
3397 Reported by: Seth Goldberg.
3398
3399 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
3400
3401 Sync up other versions of the Linux loader with Robert Millan's
3402 change of 2010-01-09, "Make loader output a bit more user-friendly".
3403
3404 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
3405 grub_dprintf().
3406 (grub_cmd_linux): Likewise.
3407 (grub_cmd_initrd): Likewise.
3408 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
3409 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3410
3411 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
3412
3413 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
3414 larger than MEMORY_MAP_SIZE.
3415
3416 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
3417
3418 Fix parallel build.
3419
3420 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
3421 dependency.
3422 * script/parser.y: #include grub_script.tab.h header.
3423
3424 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 Support >3GiB and <16MiB RAM in i386-qemu.
3427
3428 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
3429 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
3430 (grub_lower_mem): Removed.
3431 (grub_upper_mem): Likewise.
3432 (mem_size): Made static.
3433 (above_4g): New variable.
3434 (grub_machine_mmap_init): Detect small mem_size and above_4g.
3435 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
3436 support.
3437
3438 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 Cirrus 5446 and Bochs video cards support.
3441
3442 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
3443 video_bochs.mod
3444 (video_cirrus_mod_SOURCES): New variable.
3445 (video_cirrus_mod_CFLAGS): Likewise.
3446 (video_cirrus_mod_LDFLAGS): Likewise.
3447 (video_bochs_mod_SOURCES): Likewise.
3448 (video_bochs_mod_CFLAGS): Likewise.
3449 (video_bochs_mod_LDFLAGS): Likewise.
3450 * include/grub/vga.h: New file.
3451 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
3452 (grub_video_fb_set_page_t): New type.
3453 (grub_video_fb_setup): New prototype.
3454 (grub_video_fb_swap_buffers): Likewise.
3455 (grub_video_fb_get_info_and_fini): Likewise.
3456 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
3457 (CRTC_DATA_PORT): Likewise.
3458 (CRTC_CURSOR): Likewise.
3459 (CRTC_CURSOR_ADDR_HIGH): Likewise.
3460 (CRTC_CURSOR_ADDR_LOW): Likewise.
3461 (CRTC_CURSOR_DISABLE): Likewise.
3462 (update_cursor): Use grub_vga_cr_write.
3463 (grub_vga_text_setcursor): Likewise.
3464 * video/bochs.c: New file.
3465 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
3466 (palette): Likewise.
3467 (palette_size): Likewise.
3468 (framebuffer): New variable.
3469 (grub_video_fb_init): Use 'framebuffer'.
3470 (grub_video_fb_fini): Likewise.
3471 (grub_video_fb_get_info): Likewise.
3472 (grub_video_fb_get_palette): Likewise.
3473 (grub_video_fb_set_palette): Likewise.
3474 (grub_video_fb_set_viewport): Likewise.
3475 (grub_video_fb_get_viewport): Likewise.
3476 (grub_video_fb_map_color): Likewise.
3477 (grub_video_fb_map_rgb): Likewise.
3478 (grub_video_fb_map_rgba): Likewise.
3479 (grub_video_fb_unmap_color): Likewise.
3480 (grub_video_fb_unmap_color_int): Likewise.
3481 (grub_video_fb_fill_rect): Likewise.
3482 (grub_video_fb_blit_bitmap): Likewise.
3483 (grub_video_fb_blit_render_target): Likewise.
3484 (grub_video_fb_scroll): Likewise.
3485 (grub_video_fb_create_render_target): Likewise.
3486 (grub_video_fb_doublebuf_blit_init): Likewise.
3487 (grub_video_fb_set_active_render_target): Handle doublebuffering.
3488 (doublebuf_pageflipping_update_screen): New function.
3489 (doublebuf_pageflipping_init): Likewise.
3490 (grub_video_fb_setup): Likewise.
3491 (grub_video_fb_swap_buffers): Likewise.
3492 (grub_video_fb_get_info_and_fini): Likewise.
3493 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
3494 All users updated.
3495 (doublebuf_pageflipping_commit): Restructured into ...
3496 (doublebuf_pageflipping_set_page): ... this.
3497 (doublebuf_pageflipping_update_screen): Removed.
3498 (doublebuf_pageflipping_init): Likewise.
3499 (double_buffering_init): Likewise.
3500 (grub_video_vbe_setup): Use grub_video_fb_setup.
3501 (grub_video_vbe_swap_buffers): Removed.
3502 (grub_video_vbe_set_active_render_target): Likewise.
3503 (grub_video_vbe_get_active_render_target): Likewise.
3504 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
3505 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
3506 grub_video_fb_set_active_render_target and
3507 grub_video_fb_get_active_render_target.
3508 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
3509 (SEQUENCER_DATA_PORT): Likewise.
3510 (MAP_MASK_REGISTER): Likewise.
3511 (CRTC_ADDR_PORT): Likewise.
3512 (CRTC_DATA_PORT): Likewise.
3513 (START_ADDR_HIGH_REGISTER): Likewise.
3514 (START_ADDR_LOW_REGISTER): Likewise.
3515 (GRAPHICS_ADDR_PORT): Likewise.
3516 (GRAPHICS_DATA_PORT): Likewise.
3517 (READ_MAP_REGISTER): Likewise.
3518 (INPUT_STATUS1_REGISTER): Likewise.
3519 (INPUT_STATUS1_VERTR_BIT): Likewise.
3520 (get_map_mask): Use grub_vga_sr_read.
3521 (set_map_mask): Use grub_vga_sr_write.
3522 (set_read_map): Use grub_vga_gr_write.
3523 (set_start_address): Use grub_vga_cr_write.
3524 * video/sm712.c (framebuffer): Remove leftover fields.
3525
3526 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
3527
3528 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
3529 setting GRUB_VIDEO_BACKEND. Make it available as a user override
3530 instead. Replace the gfxterm backend check with a check that
3531 ${GRUB_PREFIX}/video.lst is non-empty.
3532 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
3533 again.
3534 (load_video): New generated function. Call it before loading
3535 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
3536 * util/grub.d/10_linux.in (linux_entry): Call load_video.
3537 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
3538 * docs/grub.texi (Simple configuration): Document
3539 GRUB_VIDEO_BACKEND.
3540
3541 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 Use video functions in linux and xnu loaders.
3544
3545 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
3546 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
3547 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
3548 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
3549 loader/i386/pc/linux.c.
3550 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
3551 (find_line_len): Removed.
3552 (find_framebuf): Likewise.
3553 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
3554 * loader/i386/efi/xnu.c: Removed.
3555 * loader/i386/pc/xnu.c: Moved from here...
3556 * loader/i386/xnu.c: ...here.
3557
3558 Enable priorities in video drivers.
3559
3560 * include/grub/video.h (grub_video_adapter_prio_t): New type.
3561 (grub_video_adapter): New field prio.
3562 (grub_video_register): Respect prio when inserting.
3563 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
3564 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
3565 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
3566 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
3567 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
3568 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
3569 * video/sm712.c (grub_video_sm712_adapter): Likewise.
3570
3571 Fix SDL driver ID.
3572
3573 * include/grub/video.h (grub_video_driver_id_t): New value
3574 GRUB_VIDEO_DRIVER_SDL.
3575 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
3576
3577 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
3578
3579 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
3580 argument to printf.
3581 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3582
3583 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
3584
3585 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
3586 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3587
3588 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
3589
3590 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
3591 directly, and recommend grub-install instead.
3592 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3593
3594 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
3595
3596 Fix i386-pc prefix handling with nested partitions (Debian bug
3597 #585068). Note that the case where the core image is booted using
3598 multiboot and relocated from its original location still requires
3599 more work.
3600
3601 * kern/i386/pc/init.c (make_install_device): If the prefix starts
3602 with "(,", fill the boot drive in between those two characters, but
3603 expect that a full partition specification including partition map
3604 names will follow.
3605 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
3606 specified, write a prefix without the drive name but including a
3607 full partition specification.
3608
3609 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
3610
3611 * util/grub-mkconfig.in: Ignore non-option arguments, for
3612 compatibility with older versions (before 2010-06-12) which did the
3613 same. In particular, this makes it easier to ship an update-grub
3614 wrapper which is compatible with that used with GRUB Legacy (Debian
3615 bug #586056).
3616
3617 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3618
3619 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
3620 for manual page generation.
3621
3622 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3623
3624 * po/POTFILES: Remove leftover commands/handler.c.
3625
3626 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
3627
3628 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
3629 left this script non-functional.
3630
3631 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
3632
3633 * docs/man/grub-emu.h2m: New file.
3634
3635 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
3636
3637 * docs/grub.texi (Commands): Document reduced command set in rescue
3638 mode.
3639 (cpuid): New section.
3640
3641 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
3642
3643 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
3644 new partition naming style.
3645 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
3646
3647 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
3648
3649 Add "-o grub.iso" like cmdline options support.
3650
3651 * util/grub-install.in: Improve cmdline option parsing.
3652 * util/grub-mkconfig.in: Likewise.
3653 * util/grub-mkrescue.in: Likewise.
3654 * util/grub-reboot.in: Likewise.
3655 * util/grub-set-default.in: Likewise.
3656 * util/i386/efi/grub-install.in: Likewise.
3657 * util/ieee1275/grub-install.in: Likewise.
3658 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3659
3660 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
3661
3662 * .bzrignore: Ignore 41_custom.
3663
3664 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
3665
3666 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
3667
3668 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
3669
3670 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
3671 prototype declarations.
3672
3673 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
3674 generating fs, partmap, and video lists.
3675 * include/grub/fs.h (grub_fs_register): Omit prototype if
3676 GRUB_LST_GENERATOR is defined.
3677 * include/grub/partition.h (grub_partition_map_register): Likewise.
3678 * include/grub/video.h (grub_video_register): Likewise.
3679
3680 2010-06-12 Javier Martín <lordhabbit@gmail.com>
3681
3682 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
3683
3684 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
3685
3686 * util/grub-mkrescue.in: Support --xorriso argument.
3687
3688 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
3691 Suggested by: Thomas Schmitt.
3692
3693 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
3696 Suggested by: Thomas Schmitt.
3697
3698 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 custom.cfg support.
3701
3702 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
3703 * util/grub.d/41_custom.in: New file.
3704
3705 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
3706
3707 * util/grub-mkrescue.in (make_image): Remove sh module, which has
3708 been merged back into normal.
3709
3710 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
3711
3712 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
3713 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
3714
3715 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
3716
3717 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
3718 when generating manual pages.
3719 * docs/man/grub-bin2h.h2m: New file.
3720 * docs/man/grub-editenv.h2m: New file.
3721 * docs/man/grub-fstest.h2m: New file.
3722 * docs/man/grub-install.h2m: New file.
3723 * docs/man/grub-macho2img.h2m: New file.
3724 * docs/man/grub-mkconfig.h2m: New file.
3725 * docs/man/grub-mkdevicemap.h2m: New file.
3726 * docs/man/grub-mkfont.h2m: New file.
3727 * docs/man/grub-mkimage.h2m: New file.
3728 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
3729 * docs/man/grub-mkrelpath.h2m: New file.
3730 * docs/man/grub-mkrescue.h2m: New file.
3731 * docs/man/grub-ofpathname.h2m: New file.
3732 * docs/man/grub-pe2elf.h2m: New file.
3733 * docs/man/grub-probe.h2m: New file.
3734 * docs/man/grub-reboot.h2m: New file.
3735 * docs/man/grub-script-check.h2m: New file.
3736 * docs/man/grub-set-default.h2m: New file.
3737 * docs/man/grub-setup.h2m: New file.
3738
3739 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 Use FOR_* macros instead of *_iterate whenever possible.
3742
3743 * commands/handler.c: Removed.
3744 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
3745 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
3746 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
3747 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
3748 (grub_probe_SOURCES): Remove kern/parser.c.
3749 (util/grub-script-check.c_DEPENDENCIES): Removed.
3750 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
3751 and grub_script_check_init.c.
3752 (grub_script_check_init.lst): Removed.
3753 (grub_script_check_init.h): Likewise.
3754 (grub_script_check_init.c): Likewise.
3755 (pkglib_MODULES): Remove handler.mod and sh.mod.
3756 (handler_mod_SOURCES): Removed.
3757 (handler_mod_CFLAGS): Likewise.
3758 (handler_mod_LDFLAGS): Likewise.
3759 (normal_mod_SOURCES): Remove normal/handler.c.
3760 Add script/main.c, script/script.c, script/execute.c,
3761 script/function.c, script/lexer.c, grub_script.tab.c
3762 and grub_script.yy.c.
3763 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
3764 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3765 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
3766 (grub_setup_SOURCES): Remove kern/parser.c.
3767 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
3768 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
3769 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3770 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3771 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3772 (grub_setup_SOURCES): Remove kern/parser.c.
3773 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
3774 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
3775 * include/grub/command.h (grub_command_iterate): Removed.
3776 (FOR_COMMANDS): New macro.
3777 * include/grub/dl.h (grub_dl): New member next.
3778 (grub_dl_iterate): Removed.
3779 (grub_dl_head): New variable declaration.
3780 (FOR_DL_MODULES): New macro.
3781 * include/grub/fs.h: Include list.h.
3782 (grub_fs): Make next first element.
3783 (grub_fs_list): New variable declaration.
3784 (grub_fs_register): Make inline.
3785 (grub_fs_unregister): Likewise.
3786 (grub_fs_iterate): Removed.
3787 (FOR_FILESYSTEMS): New macro.
3788 * include/grub/handler.h: Removed.
3789 * include/grub/list.h (grub_list_hook_t): Removed.
3790 (grub_list_test_t): Likewise.
3791 (grub_list_pop): Likewise.
3792 (grub_list_iterate): Likewise.
3793 (grub_list_insert): Likewise.
3794 (FOR_LIST_ELEMENTS): New macro.
3795 * include/grub/parser.h (grub_parser_class): Removed.
3796 (grub_parser_register): Likewise.
3797 (grub_parser_unregister): Likewise.
3798 (grub_parser_get_current): Likewise.
3799 (grub_parser_set_current): Likewise.
3800 (grub_register_rescue_parser): Likewise.
3801 (grub_rescue_parse_line): New function.
3802 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
3803 * include/grub/script_sh.h (grub_script_function_list): New variable
3804 declaration.
3805 (FOR_SCRIPT_FUNCTIONS): New macro.
3806 (grub_script_function_iterate): Removed.
3807 (grub_normal_parse_line): New prototype.
3808 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
3809 (FOR_DISABLED_TERM_INPUTS): Likewise.
3810 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
3811 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
3812 * include/grub/video.h (grub_video_adapter): Move 'next' to first
3813 element.
3814 (grub_video_register): Inline.
3815 (grub_video_unregister): Likewise.
3816 (grub_video_adapter_list): New variable declaration.
3817 (grub_video_iterate): Removed.
3818 (FOR_VIDEO_ADAPTERS): New macro.
3819 * kern/dl.c (grub_dl_list): Removed. All users updated.
3820 (grub_dl_iterate): Removed.
3821 * kern/fs.c (grub_fs_list): Make global.
3822 (grub_fs_register): Removed.
3823 (grub_fs_unregister): Likewise.
3824 (grub_fs_iterate): Likewise.
3825 * kern/handler.c: Removed.
3826 * kern/list.c (grub_list_pop): Removed.
3827 (grub_list_iterate): Likewise.
3828 (grub_list_insert): Likewise.
3829 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
3830 (grub_prio_list_insert): Don't use grub_list_insert.
3831 * kern/main.c (grub_register_rescue_parser): Don't call
3832 grub_register_rescue_parser.
3833 * kern/parser.c (grub_parser_class): Removed.
3834 (grub_parser_execute): Use grub_rescue_parse_line.
3835 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
3836 (grub_rescue_parser): Removed.
3837 (grub_register_rescue_parser): Likewise.
3838 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
3839 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
3840 (grub_auth_check_authentication): Likewise.
3841 * normal/completion.c (iterate_command): Removed.
3842 (grub_normal_do_completion): Use FOR_COMMANDS.
3843 * normal/handler.c: Removed.
3844 * normal/main.c (read_config_file): Remove parser changing.
3845 (grub_normal_execute): Don't call read_handler_list.
3846 (grub_normal_read_line_real): Statically allocate prompt.
3847 (grub_cmdline_run): Use grub_normal_parse_line.
3848 (GRUB_MOD_FINI): Don't call free_handler_list.
3849 * normal/menu_entry.c (run): Likewise.
3850 * script/function.c (grub_script_function_list): Make global.
3851 (grub_script_function_iterate): Removed.
3852 * script/main.c (grub_normal_parse_line): Make global.
3853 (grub_sh_parser): Removed.
3854 (GRUB_MOD_INIT): Likewise.
3855 (GRUB_MOD_FINI): Likewise.
3856 * tests/lib/functional_test.c (grub_functional_test): Use
3857 FOR_LIST_ELEMENTS.
3858 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
3859 (grub_test_run): Use FOR_LIST_ELEMENTS.
3860 * tests/lib/unit_test.c (main): Likewise.
3861 * util/deviceiter.c (grub_util_iterate_devices): Don't use
3862 grub_list_pop.
3863 * util/grub-fstest.c (grub_term_input_class): Removed.
3864 (grub_term_output_class): Likewise.
3865 * util/grub-probe.c: Likewise.
3866 * util/i386/pc/grub-setup.c: Likewise.
3867 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3868 * util/grub-script-check.c (main): Don't call grub_init_all and
3869 grub_fini_all.
3870 * video/video.c (grub_video_adapter_list): Make global.
3871 (grub_video_register): Removed.
3872 (grub_video_unregister): Likewise.
3873 (grub_video_iterate): Likewise.
3874
3875 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
3878 reported by Henrique Ferreiro.
3879
3880 2010-06-09 Robert Millan <rmh@gnu.org>
3881
3882 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
3883 ones, when both are available.
3884
3885 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3886
3887 Make --version uniform and avoid hard-coded program name.
3888
3889 * util/grub-mkimage.c (main): Use `program_name' instead of
3890 hard-coded string.
3891 * util/i386/pc/grub-setup.c (main): Likewise.
3892 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
3893 * util/grub-install.in: Save the basename of $0 in $self, and use the
3894 latter in informational messages. Use the same format for --version
3895 as the binary programs.
3896 * util/grub-mkconfig.in: Likewise.
3897 * util/grub-mkrescue.in: Likewise.
3898 * util/grub-reboot.in: Likewise.
3899 * util/grub-set-default.in: Likewise.
3900 * util/i386/efi/grub-install.in: Likewise.
3901 * util/ieee1275/grub-install.in: Likewise.
3902 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3903
3904 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3905
3906 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
3907 embedding area. Use <= instead of == when checking for non-emptiness.
3908
3909 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3910
3911 * configure.ac: Add `.' to the directories searched for unifont.
3912
3913 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
3914
3915 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
3916 grub_script.yy.h.
3917
3918 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
3919
3920 * docs/grub.texi (History): Expand to cover GRUB 2.
3921 (Serial terminal): Refer to `terminal_input' and `terminal_output'
3922 commands, not `terminal'.
3923 (serial): Likewise.
3924 (terminal_input): New section.
3925 (terminal_output): New section.
3926 (uppermem): New section (stub).
3927 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
3928
3929 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
3930
3931 * docs/grub.texi (Security): Menu entries are unrestricted by
3932 default, not restricted to superusers as I had previously thought.
3933 Reword to account for this.
3934
3935 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3936
3937 * kern/emu/misc.c (device_mapper_null_log): New function.
3938 (grub_device_mapper_supported): New function.
3939 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
3940 prototype.
3941 * kern/emu/hostdisk.c (find_partition_start): Check whether
3942 device-mapper is supported before trying to use it.
3943 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
3944
3945 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3946
3947 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
3948 (File name syntax): Likewise.
3949 (help): --all is no longer supported in GRUB 2. Be more precise
3950 about pattern matching.
3951
3952 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3953
3954 * normal/completion.c (grub_normal_do_completion): When completing
3955 arguments to "set" and the current word contains an equals sign,
3956 skip to after the equals sign before starting completion.
3957
3958 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3959
3960 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
3961
3962 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3963
3964 * docs/grub.texi (Network): New section.
3965 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
3966 `(nd)' as in GRUB Legacy.
3967 (pxe_unload): New section.
3968
3969 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3970
3971 * docs/grub.texi (Troubleshooting): `echo' is not usually available
3972 in the rescue shell, so recommend using `set' instead. Thanks,
3973 Jordan Uggla.
3974
3975 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3976
3977 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
3978 (password): New section.
3979 (password_pbkdf2): New section.
3980 (search): New section.
3981 (Security): New section.
3982 (Troubleshooting): New section, currently very incomplete.
3983 (Invoking grub-mkpasswd-pbkdf2): New section.
3984 (Internals): New section, currently very incomplete.
3985
3986 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3987
3988 * util/grub.d/00_header.in: Add some more quoting (of
3989 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
3990 work again.
3991 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
3992
3993 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3994
3995 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
3996 to `count', fixing variable shadowing that broke the -c option.
3997
3998 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
3999
4000 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
4001 in case they contain spaces.
4002
4003 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
4004
4005 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
4006 "part_" to partmap module names, in line with grub-install.
4007 Reported by: Jindřich Makovička (Debian bug #584426).
4008
4009 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
4010
4011 * util/grub-mkimage.c: Make target-related error messages slightly
4012 more helpful; -O talks about "format". Explicitly point to the use
4013 of -O if no target is specified.
4014 Reported by: Didier Raboud (Debian bug #584415).
4015
4016 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
4017
4018 * INSTALL: Document several build requirements for optional features
4019 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
4020
4021 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4022
4023 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
4024 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
4025 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
4026
4027 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
4028
4029 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
4030 Thanks to Jordan Uggla for spotting this.
4031
4032 2010-06-02 Aleš Nesrsta <starous@volny.cz>
4033
4034 Finally make USB usable.
4035
4036 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
4037 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
4038 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
4039 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
4040 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
4041 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
4042 (GRUB_OHCI_FSMPS): Likewise.
4043 (GRUB_OHCI_PERIODIC_START): Likewise.
4044 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
4045 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
4046 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
4047 (GRUB_OHCI_SET_PORT_RESET): Likewise.
4048 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
4049 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
4050 (grub_ohci_transaction): Likewise.
4051 (grub_ohci_transfer): Improve condition detection algorithms.
4052 Handle toggle property. Program the transactions correctly.
4053 Improve error handling. Various important fixups.
4054 (grub_ohci_portstatus): Put register writes in right order.
4055 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
4056 (grub_uhci_transfer): Don't show "failed" message on success.
4057 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
4058 array.
4059 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
4060 determine its size.
4061 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
4062 before initialization is completed. Use IN direction for empty
4063 transfers. Use last_trans and compute toggle.
4064 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
4065 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
4066 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
4067 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
4068 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
4069 (grub_usb_device): Increase toggle to 256.
4070 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
4071 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
4072 GRUB_USBMS_SUBCLASS_SFF8070.
4073 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
4074 (grub_scsi_inquiry): New member page and alloc_length.
4075 (grub_scsi_request_sense): New structure.
4076 (grub_scsi_request_sense_data): Likewise.
4077 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
4078 control.
4079 * disk/scsi.c (grub_scsi_request_sense): New function.
4080 (grub_scsi_test_unit_ready): Likewise.
4081 (grub_scsi_inquiry): Fill new fields.
4082 (grub_scsi_read_capacity): Likewise.
4083 (grub_scsi_read10): Add request sense at the end.
4084 (grub_scsi_read12): Likewise.
4085 (grub_scsi_write10): Likewise.
4086 (grub_scsi_write12): Likewise.
4087 (grub_scsi_open): Add Test Unit Ready.
4088 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
4089 Support additional subclasses. Con't clear halt yet. Activate the
4090 proper config. Calculate LUNs correctly.
4091 (grub_usbms_transfer): Various important fixups.
4092
4093 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
4096 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
4097 (grub_ohci_fini_hw): New function.
4098 (grub_ohci_restore_hw): Likewise.
4099 (GRUB_MOD_INIT(ohci)): Register preboot hook.
4100 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
4101 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
4102
4103 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 Dedicated DMA allocations.
4106
4107 * bus/pci.c (grub_memalign_dma32): New function
4108 (grub_dma_free): Likewise.
4109 (grub_dma_get_virt): Likewise.
4110 (grub_dma_get_phys): Likewise.
4111 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
4112 (grub_ohci_pci_iter): Use dma32_alloc.
4113 (grub_ohci_transfer): Likewise.
4114 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4115 (grub_usb_bulk_readwrite): Likewise.
4116 * include/grub/pci.h: Add declarations.
4117
4118 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 CS5536 support.
4121
4122 * bus/cs5536.c: New file.
4123 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
4124 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
4125 (cs5536_mod_SOURCES): New variable.
4126 (cs5536_mod_CFLAGS): Likewise.
4127 (cs5536_mod_LDFLAGS): Likewise.
4128 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
4129 machine/pci.h.
4130 (kernel_img_SOURCES): Add bus/cs5536.c.
4131 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
4132 usb_keyboard.mod.
4133 (usb_mod_SOURCES): New variable.
4134 (usb_mod_CFLAGS): New variable.
4135 (usb_mod_LDFLAGS): New variable.
4136 (usbtest_mod_SOURCES): New variable.
4137 (usbtest_mod_CFLAGS): New variable.
4138 (usbtest_mod_LDFLAGS): New variable.
4139 (ohci_mod_SOURCES): New variable.
4140 (ohci_mod_CFLAGS): New variable.
4141 (ohci_mod_LDFLAGS): New variable.
4142 (usbms_mod_SOURCES): New variable.
4143 (usbms_mod_CFLAGS): New variable.
4144 (usbms_mod_LDFLAGS): New variable.
4145 (usb_keyboard_mod_SOURCES): New variable.
4146 (usb_keyboard_mod_CFLAGS): New variable.
4147 (usb_keyboard_mod_LDFLAGS): New variable.
4148 * include/grub/smbus.h: New file.
4149 * include/grub/cs5536.h: New file.
4150
4151 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
4152
4153 * util/grub.d/00_header.in: Add safety check to make sure that
4154 ${locale_dir} exists before trying to probe it.
4155
4156 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
4157
4158 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
4159 per the GNU Coding Standards; this is now too obscure to be worth
4160 documenting.
4161 (QNX): Likewise.
4162 (chainloader): Remove cross-reference to `SCO UnixWare'.
4163
4164 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
4165
4166 * docs/grub.texi (Chain-loading): New section.
4167 (DOS/Windows): New section, borrowed from GRUB Legacy with details
4168 adjusted for GRUB 2.
4169 (SCO UnixWare): Likewise.
4170 (QNX): Likewise.
4171 (chainloader): Add reference to `Block list syntax'.
4172 (drivemap): New section.
4173 (parttool): New section.
4174
4175 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
4176
4177 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
4178 the grub shell'.
4179 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
4180 (Installing GRUB using grub-install): Remove reference to the grub
4181 shell; mention `grub-mkimage' and `grub-setup' instead.
4182 (Invoking grub-install): Likewise.
4183 (Interface): Add reference to `Menu entry editor'.
4184 (serial): Remove `--device' option.
4185
4186 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
4187
4188 * docs/grub.texi (Configuration): New section, documenting
4189 configuration file generation using grub-mkconfig. I've left a slot
4190 for documenting the full shell scripting format but have not yet
4191 started on writing that up.
4192 (Invoking grub-mkconfig): New section.
4193
4194 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
4195
4196 * docs/grub.texi (direntry): Remove grub-terminfo reference.
4197 (GNU GRUB manual): Likewise.
4198 (General commands): Update description of `terminfo' for GRUB 2.
4199
4200 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
4201
4202 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
4203 (GRUB_MOD_INIT): Fix capitalisation.
4204 * docs/grub.texi (Command-line and menu entry commands): Document
4205 gettext and gptsync commands.
4206
4207 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
4208
4209 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
4210 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
4211
4212 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
4213
4214 Add btrfs probing support, currently only in the single-device case.
4215
4216 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
4217 function.
4218 (grub_guess_root_device): Call find_root_device_from_mountinfo
4219 before looking in /dev.
4220
4221 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
4224 GRUB_DISK_SIZE_UNKNOWN.
4225 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
4226
4227 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
4228
4229 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
4230 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
4231 corrupted or not synced properly.
4232
4233 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
4236 Reported by: Seth Goldberg.
4237
4238 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
4241 addition of dest.
4242 Reported by: Seth Goldberg.
4243
4244 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
4247 Reported by: Seth Goldberg.
4248
4249 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
4252 64-bit address as signed on MIPS.
4253
4254 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
4255
4256 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
4257 to the empty string.
4258
4259 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
4260
4261 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
4262
4263 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
4264 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
4265 * kern/misc.c (__enable_execute_stack): Disable on
4266 GRUB_MACHINE_EMU.
4267
4268 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
4269
4270 Make grub-probe work with symbolic links under /dev/mapper as well
4271 as with real block devices. The Linux world seems to be (at best)
4272 in transition here, and GRUB shouldn't get caught in the middle.
4273
4274 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
4275 /dev/mapper.
4276
4277 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
4278
4279 * util/grub-script-check.c (main): Ensure defined behaviour on empty
4280 input files (in which case exit zero).
4281
4282 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
4283
4284 * kern/emu/misc.c (canonicalize_file_name): realpath can still
4285 return NULL for various reasons even if it has a maximum-length
4286 buffer: for example, there might be a symlink loop, or the path
4287 might exceed PATH_MAX. If this happens, return NULL.
4288
4289 2010-05-27 Robert Millan <rmh@gnu.org>
4290
4291 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
4292 partmap module to handle cross-partmap setups.
4293 Reported by Orestes Mas. Gràcies!
4294
4295 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
4296
4297 * util/grub-mkrescue.in: Initialise override_dir rather than
4298 assuming that it's unset or empty in the environment.
4299
4300 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
4301
4302 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
4303 variable index into p_index to suppress a warning with -Wshadow.
4304
4305 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
4306
4307 * INSTALL: Added flex >= 2.5.35 requirement.
4308
4309 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
4312
4313 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 cmostest support.
4316
4317 * commands/i386/cmostest.c: New file.
4318 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
4319 (cmostest_mod_SOURCES): New variable.
4320 (cmostest_mod_CFLAGS): Likewise.
4321 (cmostest_mod_LDFLAGS): Likewise.
4322 * conf/i386-pc.rmk: Likewise.
4323 * docs/grub.texi (Vendor power-on keys): New section.
4324 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
4325 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
4326 and GRUB_BUTTON_CMOS_ADDRESS.
4327 * util/grub.d/00_header.in: Handle powering-on by separate button.
4328
4329 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
4332 Removed drawing_scrollbar argument. All users updated
4333 Fixes #29792.
4334 Reported by Jo Shields
4335
4336 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
4339 buffer since gfxterm handles double repaint.
4340
4341 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
4344 * term/gfxterm.c (real_scroll): Likewise.
4345
4346 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
4349 before calling BIOS.
4350
4351 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 * include/grub/i18n.h: Always enable grub_gettext.
4354
4355 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
4358 partition naming style.
4359
4360 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
4361
4362 * util/grub-mkconfig.in: Fix handling of -o so that it works when
4363 not the first option.
4364
4365 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
4366
4367 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
4368
4369 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
4370
4371 * util/misc.c: Move inclusion of <limits.h> to ...
4372 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
4373
4374 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4375
4376 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
4377 Fix merge error in NetBSD code.
4378 (find_partition_start) [__NetBSD__]: Likewise.
4379
4380 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
4381
4382 Fix grub-mkrescue usage unit testing.
4383
4384 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
4385
4386 2010-05-18 Christian Franke <franke@computer.org>
4387
4388 * util/grub.d/10_windows.in: Use path names instead of
4389 drive letters to prevent warning from Cygwin 1.7.
4390 Add drivemap command to menuentry if needed.
4391
4392 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
4393
4394 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
4395 gnumach and gnumach.gz.
4396
4397 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * include/grub/i18n.h (gettext): Inline instead of using #define.
4400 (grub_gettext): Likewise.
4401 (_): Likewise.
4402
4403 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
4406 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
4407 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
4408 (main): Add a slash after pkglibdirroot.
4409
4410 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * util/grub-install.in: Add missing "in" keyword.
4413
4414 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
4417 Reported by: Seth Goldberg.
4418
4419 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
4422
4423 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
4424
4425 * configure.ac: Check for Linux device-mapper support.
4426
4427 * util/hostdisk.c (device_is_mapped): New function.
4428 (find_partition_start): New function, partly broken out from
4429 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
4430 device-mapper support added.
4431 (linux_find_partition): Use find_partition_start.
4432 (convert_system_partition_to_system_disk): Add `st' argument.
4433 Support Linux /dev/mapper/* devices if device-mapper support is
4434 available; only DM-RAID devices are understood at present.
4435 (find_system_device): Add `st' argument. Pass it to
4436 convert_system_partition_to_system_disk.
4437 (grub_util_biosdisk_get_grub_dev): Pass stat result to
4438 find_system_device and convert_system_partition_to_system_disk. Use
4439 find_partition_start.
4440
4441 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
4442 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
4443 * util/deviceiter.c [__linux__]: Define MINOR.
4444 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
4445 * util/mkdevicemap.c (grub_putchar): New function.
4446 (grub_getkey): New function.
4447 (grub_refresh): New function.
4448 (main): Set debug=all if -v -v is used.
4449
4450 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
4451
4452 Fix build with non-GNU libcs.
4453
4454 * util/misc.c (canonicalize_file_name): Move to ...
4455 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
4456 grub_make_system_path_relative_to_its_root.
4457
4458 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
4459
4460 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
4461 we handle finding grub-mkimage. Default to finding grub-mkimage in
4462 ${bindir} with program_transform_name applied, and provide a
4463 --grub-mkimage option to override this.
4464
4465 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 Remove grub-mkisofs.
4468
4469 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
4470 (grub_mkisofs_SOURCES): Removed.
4471 (grub_mkisofs_CFLAGS): Removed.
4472 * util/mkisofs/defaults.h: Removed.
4473 * util/mkisofs/eltorito.c: Likewise.
4474 * util/mkisofs/exclude.h: Likewise.
4475 * util/mkisofs/hash.c: Likewise.
4476 * util/mkisofs/include/: Likewise.
4477 * util/mkisofs/include/fctldefs.h: Likewise.
4478 * util/mkisofs/include/mconfig.h: Likewise.
4479 * util/mkisofs/include/prototyp.h: Likewise.
4480 * util/mkisofs/include/statdefs.h: Likewise.
4481 * util/mkisofs/iso9660.h: Likewise.
4482 * util/mkisofs/joliet.c: Likewise.
4483 * util/mkisofs/match.c: Likewise.
4484 * util/mkisofs/match.h: Likewise.
4485 * util/mkisofs/mkisofs.c: Likewise.
4486 * util/mkisofs/mkisofs.h: Likewise.
4487 * util/mkisofs/msdos_partition.h: Likewise.
4488 * util/mkisofs/multi.c: Likewise.
4489 * util/mkisofs/name.c: Likewise.
4490 * util/mkisofs/rock.c: Likewise.
4491 * util/mkisofs/tree.c: Likewise.
4492 * util/mkisofs/write.c: Likewise.
4493
4494 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 Unify grub-mkimage accross platforms.
4497
4498 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
4499 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
4500 (grub_mkelfimage_SOURCES): Removed.
4501 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
4502 (util/grub-mkimage.c_DEPENDENCIES): .. this.
4503 (bin_UTILITIES): Add grub-mkimage.
4504 (grub_mkimage_SOURCES): New variable.
4505 (kernel_img_HEADERS): Remove machine/kernel.h.
4506 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
4507 (pkglib_PROGRAMS): Add kernel.img.
4508 (kernel_img_HEADERS): Add machine/kernel.h.
4509 (kernel_img_FORMAT): Removed.
4510 (bin_UTILITIES): Remove grub-mkimage.
4511 (grub_mkimage_SOURCES): Removed.
4512 (grub_mkimage_CFLAGS): Likewise.
4513 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4514 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
4515 (pkglib_PROGRAMS): Add kernel.img.
4516 (bin_UTILITIES): Remove grub-mkimage.
4517 (grub_mkimage_SOURCES): Removed.
4518 (grub_mkimage_CFLAGS): Likewise.
4519 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4520 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
4521 (pkglib_PROGRAMS): Add kernel.img.
4522 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
4523 (pkglib_PROGRAMS): Add kernel.img.
4524 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
4525 (grub_mkimage_SOURCES): Removed.
4526 (grub_mkimage_CFLAGS): Likewise.
4527 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4528 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
4529 (pkglib_PROGRAMS): Add kernel.img.
4530 (bin_UTILITIES): Remove grub-mkimage.
4531 (grub_mkimage_SOURCES): Removed.
4532 (grub_mkimage_CFLAGS): Likewise.
4533 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4534 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
4535 (grub_mkimage_SOURCES): Removed.
4536 (grub_mkimage_CFLAGS): Likewise.
4537 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4538 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
4539 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
4540 (grub_pe32_optional_header): ... this.
4541 (grub_pe64_optional_header): ... and this. All users updated.
4542 (GRUB_PE32_PE32_MAGIC): Split into ..
4543 (GRUB_PE32_PE32_MAGIC): .. this.
4544 (GRUB_PE32_PE64_MAGIC): .. and this.
4545 (GRUB_PE32_SIGNATURE_SIZE): New definition.
4546 * include/grub/elf.h (PT_GNU_STACK): New definition.
4547 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
4548 * include/grub/i386/efi/kernel.h: Likewise.
4549 * include/grub/i386/kernel.h: Likewise.
4550 * include/grub/i386/pc/kernel.h: Likewise.
4551 * include/grub/i386/qemu/boot.h: Likewise.
4552 * include/grub/mips/kernel.h: Likewise.
4553 * include/grub/mips/qemu-mips/kernel.h: Likewise.
4554 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
4555 * include/grub/powerpc/kernel.h: Likewise.
4556 * include/grub/sparc64/ieee1275/boot.h: Likewise.
4557 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
4558 * include/grub/sparc64/kernel.h: Likewise.
4559 * include/grub/x86_64/efi/kernel.h: Likewise.
4560 * include/grub/x86_64/kernel.h: Likewise.
4561 * include/grub/offsets.h: New file.
4562 * include/grub/kernel.h (grub_module_info): Split into ...
4563 (grub_module_info32): ... this.
4564 (grub_module_info64): ... and this.
4565 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
4566 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
4567 (grub_boot_blocklist): Moved from here ...
4568 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
4569 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
4570 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
4571 * include/grub/types.h (grub_target_to_host16): Removed.
4572 (grub_target_to_host32): Likewise.
4573 (grub_target_to_host64): Likewise.
4574 (grub_host_to_target16): Likewise.
4575 (grub_host_to_target32): Likewise.
4576 (grub_host_to_target64): Likewise.
4577 (grub_host_to_target_addr): Likewise.
4578
4579 Support grub-mkrescue for efi, coreboot and qemu.
4580
4581 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
4582 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
4583 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
4584 * util/grub-mkrawimage.c: Moved from here ...
4585 * util/grub-mkimage.c: ... here. All users updated.
4586 (ALIGN_ADDR): Use image_target.
4587 (TARGET_NO_FIELD): New const.
4588 (image_target_desc): New type.
4589 (image_targets): New array.
4590 (grub_target_to_host64): Use image_target.
4591 (grub_target_to_host32): Likewise.
4592 (grub_target_to_host16): Likewise.
4593 (grub_host_to_target64): Likewise.
4594 (grub_host_to_target32): Likewise.
4595 (grub_host_to_target16): Likewise.
4596 (grub_host_to_target_addr): Likewise.
4597 (generate_image): Handle multiimage.
4598 (main): Require -O parameter. All users updated.
4599 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
4600 util/efi/grub-mkimage.c
4601 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
4602 New option --rom-directory.
4603 Use xorriso.
4604 * util/i386/efi/grub-mkimage.c: Removed.
4605 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
4606 (grub_target_to_host32): Likewise.
4607 (grub_target_to_host64): Likewise.
4608 (grub_host_to_target16): Likewise.
4609 (grub_host_to_target32): Likewise.
4610 (grub_host_to_target64): Likewise.
4611 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
4612 (grub_target_to_host32): Likewise.
4613 (grub_target_to_host64): Likewise.
4614 (grub_host_to_target16): Likewise.
4615 (grub_host_to_target32): Likewise.
4616 (grub_host_to_target64): Likewise.
4617
4618 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
4619
4620 Source tree is reorganized for emu build.
4621
4622 * include/grub/util/console.h: Move from here...
4623 * include/grub/emu/console.h: ...to here.
4624 * include/grub/util/getroot.h: Move from here...
4625 * include/grub/emu/getroot.h: ...to here.
4626 * include/grub/util/hostdisk.h: Move from here...
4627 * include/grub/emu/hostdisk.h: ...to here.
4628 * util/console.c: Move from here...
4629 * kern/emu/console.c: ...to here.
4630 * util/getroot.c: Move from here...
4631 * kern/emu/getroot.c: ...to here.
4632 * util/grub-emu.c: Move from here...
4633 * kern/emu/main.c: ...to here.
4634 * util/hostdisk.c: Move from here...
4635 * kern/emu/hostdisk.c: ...to here.
4636 * util/hostfs.c: Move from here...
4637 * kern/emu/hostfs.c: ...to here.
4638 * util/mm.c: Move from here...
4639 * kern/emu/mm.c: ...to here.
4640 * util/pci.c: Move from here...
4641 * bus/emu/pci.c: ...to here.
4642 * util/sdl.c: Move from here...
4643 * video/emu/sdl.c: ...to here.
4644 * util/time.c: Move from here...
4645 * kern/emu/time.c: ...to here.
4646 * util/usb.c: Move from here...
4647 * bus/usb/emu/usb.c: ...to here.
4648
4649 * include/grub/emu/misc.h: New header for grub-emu functions.
4650 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
4651
4652 * conf/any-emu.rmk: Rule updates for above renames.
4653 * conf/common.rmk: Likewise.
4654 * conf/i386-pc.rmk: Likewise.
4655 * conf/i386-qemu.rmk: Likewise.
4656 * conf/mips.rmk: Likewise.
4657 * conf/sparc64-ieee1275.rmk: Likewise.
4658 * conf/x86-efi.rmk: Likewise.
4659
4660 * disk/lvm.h: #include updates for above renames.
4661 * util/grub-mkrelpath.c: Likewise.
4662 * util/grub-probe.c: Likewise.
4663 * util/i386/pc/grub-setup.c: Likewise.
4664 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4665 * kern/emu/console.c: Likewise.
4666 * kern/emu/getroot.c: Likewise.
4667 * kern/emu/hostdisk.c: Likewise.
4668 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
4669
4670 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
4671 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
4672 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
4673 * util/misc.c: Remove grub-emu functions.
4674
4675 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 Fix gfxmenu crash.
4678 Reported by: Thorsten Grützmacher.
4679
4680 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
4681 timeout hook.
4682 (circprog_set_property): Register and unregister timeout hook.
4683 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
4684 (label_destroy): Free template. and unregister hook.
4685 (label_set_state): New function.
4686 (label_set_property): Handle templates and hooks.
4687 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
4688 timeout hook.
4689 (progress_bar_set_property): Register and unregister timeout hook.
4690 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
4691 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
4692 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
4693 (update_timeout_visit): Removed.
4694 (update_timeouts): New function.
4695 (redraw_timeouts): Likewise.
4696 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
4697 (grub_gfxmenu_clear_timeout): Likewise.
4698 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
4699 (grub_gfxmenu_timeout_notify): Likewise.
4700 (grub_gfxmenu_timeout_notifications): New external variable.
4701 (grub_gfxmenu_timeout_register): New function.
4702 (grub_gfxmenu_timeout_unregister): Likewise.
4703
4704 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 Transform (broken) vga terminal into (working) vga video driver.
4707
4708 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
4709 video/i386/pc/vga.c.
4710 * include/grub/video.h (grub_video_driver_id):
4711 Add GRUB_VIDEO_DRIVER_VGA.
4712 * term/i386/pc/vga.c: Renamed to ...
4713 * video/i386/pc/vga.c: ...this
4714 (DEBUG_VGA): Removed.
4715 (CHAR_WIDTH): Likewise.
4716 (CHAR_HEIGHT): Likewise.
4717 (TEXT_WIDTH): Likewise.
4718 (TEXT_HEIGHT): Likewise.
4719 (DEFAULT_FG_COLOR): Likewise.
4720 (DEFAULT_BG_COLOR): Likewise.
4721 (colored_char): Likewise.
4722 (xpos): Likewise.
4723 (ypos): Likewise.
4724 (cursor_state): Likewise.
4725 (fg_color): Likewise.
4726 (bg_color): Likewise.
4727 (text_buf): Likewise.
4728 (page): Likewise.
4729 (font): Likewise.
4730 (framebuffer): New variable.
4731 (set_read_map): Disabled.
4732 (setup): New variable.
4733 (is_target): Likewise.
4734 (grub_vga_mod_init): Likewise.
4735 (grub_vga_mod_fini): Likewise.
4736 (check_vga_mem): Likewise.
4737 (write_char): Likewise.
4738 (write_cursor): Likewise.
4739 (scroll_up): Likewise.
4740 (grub_vga_putchar): Likewise.
4741 (grub_vga_getcharwidth): Likewise.
4742 (grub_vga_getwh): Likewise.
4743 (grub_vga_getxy): Likewise.
4744 (grub_vga_gotoxy): Likewise.
4745 (grub_vga_cls): Likewise.
4746 (grub_vga_setcolorstate): Likewise.
4747 (grub_vga_setcursor): Likewise.
4748 (grub_video_vga_init): New function.
4749 (grub_video_vga_setup): Likewise.
4750 (grub_video_vga_fini): Likewise.
4751 (update_target): Likewise.
4752 (grub_video_vga_blit_bitmap): Likewise.
4753 (grub_video_vga_blit_render_target): Likewise.
4754 (grub_video_vga_set_active_render_target): Likewise.
4755 (grub_video_vga_get_active_render_target): Likewise.
4756 (grub_video_vga_swap_buffers): Likewise.
4757 (grub_video_vga_set_palette): Likewise.
4758 (grub_video_vga_get_info_and_fini): Likewise.
4759 (grub_vga_term): Removed.
4760 (grub_video_vga_adapter): New variable.
4761 (GRUB_MOD_INIT): Register a video driver instead of terminal.
4762 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
4763
4764 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * video/readers/jpeg.c: Indented.
4767
4768 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 Various jpeg cleanups.
4771
4772 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
4773 (grub_jpeg_decode_quan_table): Use sizeof.
4774 (grub_jpeg_decode_du): Use ARRAY_SIZE.
4775
4776 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
4777
4778 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
4779 tables. Ignore non-last ac bit.
4780 (grub_jpeg_decode_quan_table): Likewise.
4781
4782 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4785 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
4786 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4787 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
4788 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
4789 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
4790
4791 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
4794 error.
4795
4796 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
4799
4800 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
4803 condition.
4804
4805 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
4808 part.
4809
4810 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
4813 pointers.
4814
4815 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
4818
4819 2010-05-01 Christian Franke <franke@computer.org>
4820
4821 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
4822 Remove broken Cygwin path conversion.
4823 * util/misc.c: [__CYGWIN__] Add include and define.
4824 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
4825 for Cygwin 1.7.
4826 (make_system_path_relative_to_its_root): Simplify loop, replace early
4827 return by break.
4828 [__CYGWIN__] Add conversion to win32 path.
4829 Include "/" case in trailing slash removal.
4830
4831 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * kern/main.c (grub_load_config): Fix copy-pasted comment.
4834 Reported by: Seth Goldberg
4835
4836 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * commands/help.c (grub_cmd_help): Fix a typo.
4839 Reported by: Seth Goldberg
4840
4841 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
4844 name and add N_.
4845 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
4846 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
4847 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
4848 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
4849 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
4850 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
4851 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
4852 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
4853 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
4854 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
4855 * normal/context.c (GRUB_MOD_INIT): Likewise.
4856 * normal/main.c (GRUB_MOD_INIT): Likewise.
4857 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
4858 * term/serial.c (GRUB_MOD_INIT): Likewise.
4859 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
4860
4861 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
4864 extra == 0.
4865
4866 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * commands/iorw.c: New file.
4869 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
4870 (iorw_mod_SOURCES): New variable.
4871 (iorw_mod_CFLAGS): Likewise.
4872 (iorw_mod_LDFLAGS): Likewise.
4873
4874 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 Hotkey support
4877
4878 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
4879 * normal/main.c (hotkey_aliases): New variable.
4880 (grub_normal_add_menu_entry): Parse "--hotkey".
4881 * normal/menu_text.c (run_menu): Handle hotkeys.
4882
4883 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * kern/i386/coreboot/init.c (grub_machine_init): Call
4886 grub_machine_mmap_init on qemu.
4887
4888 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * boot/i386/qemu/boot.S: Add a missing .code16.
4891
4892 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 Use LBIO on coreboot.
4895
4896 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
4897 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
4898 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
4899 New declaration.
4900 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
4901 grub_machine_mmap_init on coreboot.
4902 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
4903 GRUB_LINUXBIOS_MEMBER_LINK.
4904 (grub_machine_mmap_iterate): Fix declaration.
4905 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
4906
4907 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 Split coreboot and multiboot ports.
4910
4911 * conf/i386-multiboot.rmk: New file.
4912 * configure.ac: Add multiboot port.
4913 * include/grub/i386/multiboot/boot.h: New file.
4914 * include/grub/i386/multiboot/console.h: Likewise.
4915 * include/grub/i386/multiboot/init.h: Likewise.
4916 * include/grub/i386/multiboot/kernel.h: Likewise.
4917 * include/grub/i386/multiboot/loader.h: Likewise.
4918 * include/grub/i386/multiboot/memory.h: Likewise.
4919 * include/grub/i386/multiboot/serial.h: Likewise.
4920 * include/grub/i386/multiboot/time.h: Likewise.
4921 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
4922 * loader/multiboot.c: Likewise.
4923 * loader/multiboot_mbi2.c: Likewise.
4924 * util/grub-mkrescue.in: Generate multiboot rescue.
4925
4926 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * kern/parser.c (grub_parser_execute): Cope with read-only config.
4929
4930 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 Merge handling of input and output terminals. Fix a hang.
4933
4934 * commands/terminal.c (abstract_terminal): New struct.
4935 (handle_command): New function. Based on grub_cmd_terminal_input.
4936 (grub_cmd_terminal_input): Use handle_command.
4937 (grub_cmd_terminal_output): Use handle_command.
4938
4939 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
4940
4941 Fix comment handling.
4942
4943 * tests/grub_script_comments.in: New testcase.
4944 * conf/tests.rmk: Rules for new testcase.
4945 * script/yylex.l: Updated flex rules.
4946
4947 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
4948
4949 * docs/grub.texi (play): Document that zero pitches produce rests.
4950 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
4951 if argc is 1.
4952
4953 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
4956 autogen issues.
4957
4958 2010-04-26 Christian Franke <franke@computer.org>
4959
4960 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
4961 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
4962 (grub_get_prefix): Remove function.
4963 * util/grub-emu.c (main): Replace grub_get_prefix () call by
4964 make_system_path_relative_to_its_root ().
4965 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4966
4967 2010-04-24 Christian Franke <franke@computer.org>
4968
4969 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
4970 (kernel_img_LDFLAGS): Remove -static-libgcc.
4971
4972 2010-04-24 Christian Franke <franke@computer.org>
4973
4974 * configure.ac: Do not CHECK_BSS_START_SYMBOL
4975 and CHECK_END_SYMBOL if grub-emu is built.
4976 Unset TARGET_OBJ2ELF if grub-emu is built
4977 without module support.
4978
4979 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
4980
4981 Nilfs2 support.
4982
4983 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
4984 (grub_fstest_SOURCES): Likewise.
4985 (pkglib_MODULES): Add nilfs2.mod.
4986 (nilfs2_mod_SOURCES): New variable.
4987 (nilfs2_mod_CFLAGS): Likewise.
4988 (nilfs2_mod_LDFLAGS): Likewise.
4989 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
4990 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
4991 * fs/nilfs2.c: New file.
4992
4993 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
4996 is not supported.
4997
4998 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
4999
5000 Add grub-mkconfig support for NetBSD.
5001
5002 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
5003 * util/grub-mkconfig.in: export new NetBSD specific variables.
5004 * po/POTFILES-shell: added 10_netbsd.in.
5005 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
5006
5007 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
5008
5009 Fix emu build with grub-emu-pci and grub-emu-modules.
5010
5011 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
5012 functions.
5013 * include/grub/libpciaccess.h: New file.
5014 * conf/any-emu.rmk: Update kernel headers for emu build.
5015
5016 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
5019
5020 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
5023
5024 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
5027 Retrieve chosen/bootpath if bootpath isn't hardcoded.
5028 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
5029 util/ieee1275/ofpath.c.
5030 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
5031 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
5032 * include/grub/sparc64/ieee1275/boot.h
5033 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
5034 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
5035 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
5036 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
5037 const char *.
5038 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
5039 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
5040 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
5041 install.
5042
5043 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
5044
5045 * util/grub-mkconfig.in: Corrected two == equality tests.
5046 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
5047 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
5048 expect a number appended to it.
5049 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
5050 expects a number appended to it.
5051
5052 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
5055
5056 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * util/hostdisk.c (make_device_name): Change to new partition naming.
5059
5060 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
5063
5064 2010-04-17 Christian Franke <franke@computer.org>
5065
5066 * Makefile.in: Add missing localedir setting.
5067
5068 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
5069
5070 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
5071 mistake in r2156. Noticed by Anthony Fok.
5072
5073 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
5074 @localedir@.
5075 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
5076
5077 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
5078
5079 Fix a spurious, uninitialized variable warning.
5080
5081 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
5082 Initialize variable, shdr.
5083 (grub_freebsd_load_elfmodule): Likewise.
5084 (grub_freebsd_load_elf_meta): Likewise.
5085
5086 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
5087
5088 Fix for escaped dollar in double quoted strings.
5089
5090 * script/yylex.l: Updated flex rules.
5091 * conf/tests.rmk: Rule for new testcase.
5092 * tests/grub_script_dollar.in: New testcase.
5093
5094 2010-04-13 Carles Pina i Estany <carles@pina.cat>
5095 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
5096
5097 Enclose all translated strings in grub.cfg in single quotes, and
5098 escape them appropriately (Ubuntu bug #552921).
5099
5100 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
5101 * util/grub.d/10_hurd.in: Use it.
5102 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
5103 * util/grub.d/10_linux.in (linux_entry): Likewise.
5104
5105 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 Fix cygwin compilation.
5108
5109 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
5110 * include/grub/misc.h (__register_frame_info)
5111 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
5112 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
5113 * kern/misc.c (__register_frame_info)
5114 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
5115 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
5116
5117 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
5120
5121 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 Unify libgcc processing.
5124
5125 * Makefile.in (kernel_img_LDFLAGS): New variable.
5126 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
5127 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
5128 overwriting.
5129 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
5130 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
5131 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
5132 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
5133 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
5134 overwriting. Remove -lgcc and -static-libgcc
5135 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
5136 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
5137 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
5138 (kernel_img_LDFLAGS): Append instead of overwriting.
5139 Remove -lgcc and -static-libgcc
5140 * conf/sparc64-ieee1275.rmk: Likewise.
5141 * include/grub/powerpc/libgcc.h: Move to ...
5142 * include/grub/libgcc.h: .. this.
5143 * include/grub/libgcc.h: Don't export most of the function on x86.
5144 (__bswapsi2): New export.
5145 (__bswapdi2): Likewise.
5146 * include/grub/mips/libgcc.h: Removed.
5147 * include/grub/sparc64/libgcc.h: Likewise.
5148
5149 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
5152 disk_info_msg (conflicts with gettexting into languages with cases).
5153
5154 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
5155
5156 Add grub-probe support for NetBSD.
5157
5158 * util/getroot.c (find_root_device): Convert block device to
5159 character device on NetBSD.
5160 * util/probe.c (probe): Require character device on NetBSD.
5161 * util/hostdisk.c: NetBSD specific headers.
5162 (configure_device_driver): new function to tune device driver
5163 parameters (currently only for NetBSD floppy driver).
5164 (grub_util_biosdisk_open): NetBSD specific code (get disk size
5165 via disklabel ioctl).
5166 (open_device): call configure_device_driver on NetBSD.
5167 (convert_system_partition_to_system_disk): NetBSD specific code.
5168 (device_is_wholedisk): Likewise.
5169 (grub_util_biosdisk_get_grub_dev): Likewise.
5170 (make_device_name): Fixed a typo in bsd_part_str.
5171 * configure.ac: check for opendisk() and getrawpartition() on
5172 NetBSD and set LIBUTIL.
5173 * Makefile.in: add LIBUTIL to LIBS.
5174
5175 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
5176
5177 Documentation fix.
5178
5179 * util/grub-script-check.c: Better help message.
5180
5181 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
5182
5183 Fix FreeBSD build.
5184
5185 * configure.ac: Flex version check.
5186 * conf/common.rmk: Add -Wno-error to sh.mod.
5187 * script/yylex.l: Remove all #pragma.
5188
5189 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * include/grub/util/misc.h (canonicalise_file_name): Add missing
5192 prototype.
5193 Reported by: Seth Goldberg.
5194
5195 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
5198 Rename "module" to "module2".
5199 Reported by: Seth Goldberg.
5200
5201 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
5204 EXPORT_FUNC.
5205 Reported by: Seth Goldberg.
5206
5207 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 * lib/posix_wrap/locale.h: Add missing file.
5210 Reported by: Seth Goldberg.
5211
5212 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 grub-emu module load support.
5215
5216 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
5217 NO_DYNAMIC_MODULES switched to this.
5218 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
5219 (CFLAGS): Likewise.
5220 * conf/any-emu.rmk: Generate symlist.
5221 (kernel_img_HEADERS): Add util/datetime.h.
5222 (kernel_img_HEADERS) [sdl]: Add sdl.h.
5223 (kernel_img_HEADERS) [libusb]: Add libusb.h.
5224 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
5225 kern/$(target_cpu)/cache.S.
5226 * configure.ac (grub-emu-modules): New option.
5227 * genmk.rb: Handle multiple source lists.
5228 * include/grub/sdl.h: New file.
5229 * include/grub/libusb.h: Likewise.
5230 * util/grub-emu.c (main): Hanle (host) root.
5231 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
5232 GRUB_ERR_UNKNOWN_DEVICE.
5233 * util/misc.c: Move mm functions to ...
5234 * util/mm.c: ... here. All users updated.
5235
5236 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
5239 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
5240 missing files.
5241 (maintainer-clean): Remove libgcrypt-grub.
5242
5243 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
5246
5247 2010-04-09 EFI Coder <eficoder@hotmail.com>
5248
5249 * normal/menu_text.c (print_message): Clean up the message and show
5250 the Fn information when on EFI
5251 * term/efi/console.c (grub_console_checkkey): Add F4 support.
5252
5253 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
5256 All users updated.
5257 * normal/crypto.c (read_crypto_list): Likewise.
5258 * normal/dyncmd.c (read_command_list): Likewise.
5259 * normal/term.c (read_terminal_list): Likewise.
5260 * normal/main.c (read_lists): Use explicit prefix.
5261 (read_lists_hook): Use read_lists.
5262 (grub_normal_execute): Likewise.
5263
5264 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
5267 Reported by: Thomas Schmitt.
5268 Add -no-emul-boot to grub-mkisofs parameters.
5269
5270 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * font/font.c: Indented.
5273
5274 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
5275
5276 Elif support to GRUB script (by Deepak Vankadaru).
5277
5278 * tests/grub_script_if.in: New testcase.
5279 * conf/tests.rmk: Rule for new testcase.
5280 * script/parser.y: Grammar rules for elif.
5281
5282 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
5283
5284 While and until loops support to GRUB script.
5285
5286 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
5287 (grub_script_create_cmdwhile): New function prototype.
5288 (grub_script_execute_cmdwhile): New function prototype.
5289 * script/execute.c (grub_script_execute_cmdwhile): New function.
5290 * script/parser.y (command): New commands.
5291 (whilecmd): New grammar rule.
5292 (untilcmd): New grammar rule.
5293 * script/script.c (grub_script_create_cmdwhile): New function.
5294 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
5295 function.
5296
5297 * tests/grub_script_while1.in: New testcase.
5298 * conf/tests.rmk: Rule for new testcase.
5299
5300 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
5303 as *.jpg.
5304
5305 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
5306
5307 GRUB_BACKGROUND support.
5308
5309 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
5310 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
5311
5312 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 Load fonts and modules for gfxmenu in grub-mkconfig.
5315 Idea by: Mario Vazquez
5316
5317 * util/grub.d/00_header.in: Load pf2 and image modules.
5318
5319 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 grub-mkconfig multiple terminal support.
5322
5323 * util/grub-mkconfig.in: Handle multiple terminals correctly.
5324 * util/grub.d/00_header.in: Likewise.
5325
5326 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * Makefile.in: Specify files explicitly instead of using $< and $@ since
5329 we use cd $(srcdir).
5330
5331 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
5332
5333 * util/grub.d/10_linux.in: Only use the first word of
5334 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
5335 spaces in GRUB_DISTRIBUTOR.
5336 * util/grub.d/10_kfreebsd.in: Likewise.
5337 * util/grub.d/10_hurd.in: Likewise.
5338
5339 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
5340
5341 Fix unit testing framework for Qemu 0.12.
5342
5343 * tests/util/grub-shell.in: Remove -serial stdio option.
5344
5345 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 POSIX header file wrappers.
5348
5349 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
5350 equivalents.
5351 * lib/posix_wrap/ctype.h: Likewise.
5352 * lib/posix_wrap/errno.h: Likewise.
5353 * lib/posix_wrap/langinfo.h: Likewise.
5354 * lib/posix_wrap/limits.h: Likewise.
5355 * lib/posix_wrap/localcharset.h: Likewise.
5356 * lib/posix_wrap/stdint.h: Likewise.
5357 * lib/posix_wrap/stdio.h: Likewise.
5358 * lib/posix_wrap/stdlib.h: Likewise.
5359 * lib/posix_wrap/string.h: Likewise.
5360 * lib/posix_wrap/sys/types.h: Likewise.
5361 * lib/posix_wrap/unistd.h: Likewise.
5362 * lib/posix_wrap/wchar.h: Likewise.
5363 * lib/posix_wrap/wctype.h: Likewise.
5364 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
5365 (grub_script.yy.h): Likewise.
5366 * script/yylex.l: Remove POSIX emulation #defines.
5367 * Makefile.in (POSIX_CFLAGS): New variable.
5368 (GNULIB_UTIL_CFLAGS): Likewise.
5369
5370 Regexp support.
5371
5372 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
5373 (regexp_mod_SOURCES): New variable.
5374 (regexp_mod_CFLAGS): Likewise.
5375 (regexp_mod_LDFLAGS): Likewise.
5376 * commands/regexp.c: New file.
5377 * gnulib/regcomp.c: New file. Imported from gnulib.
5378 * gnulib/regex.c: Likewise.
5379 * gnulib/regex_internal.c: Likewise.
5380 * gnulib/regex_internal.h: Likewise.
5381 * gnulib/regexec.c: Likewise.
5382 * gnulib/regex.h: Likewise.
5383
5384 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
5387 unsupported video mode types.
5388
5389 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
5392
5393 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
5396 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
5397
5398 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 Remove unused grub_vga_get_font.
5401
5402 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
5403 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
5404
5405 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5406
5407 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
5408 * include/grub/misc.h: Likewise.
5409
5410 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5411
5412 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
5413 for which failure is fatal.
5414
5415 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5416
5417 * util/grub-install.in: Use mkdir -p to create grub directory.
5418 * util/i386/efi/grub-install.in: Likewise.
5419 * util/ieee1275/grub-install.in: Likewise.
5420
5421 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5422
5423 * Makefile.in (LEX): new variable.
5424
5425 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5426
5427 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
5428 `=' and added double quotes on operands of this equality test.
5429
5430 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * Makefile.in (uninstall): Remove a leftover debug echo.
5433 Reported by: Grégoire Sutre
5434
5435 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 MIPS multiboot2 support.
5438
5439 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
5440 (multiboot2_mod_SOURCES): New variable.
5441 (multiboot2_mod_CFLAGS): Likewise.
5442 (multiboot2_mod_LDFLAGS): Likewise.
5443 (multiboot2_mod_ASFLAGS): Likewise.
5444 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
5445 definition.
5446 (MULTIBOOT_ENTRY_REGISTER): Likewise.
5447 (MULTIBOOT_MBI_REGISTER): Likewise.
5448 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
5449 (MULTIBOOT_ELF32_MACHINE): Likewise.
5450 (MULTIBOOT_ELF64_MACHINE): Likewise.
5451 * include/grub/mips/multiboot.h: New file.
5452 * include/grub/video.h (grub_video_driver_id): New type
5453 GRUB_VIDEO_DRIVER_SM712.
5454 (grub_video_get_info_and_fini): Export.
5455 (grub_video_get_palette): Likewise.
5456 (grub_video_get_driver_id): Likewise.
5457 * include/multiboot2.h: Resynced with spec.
5458 * loader/i386/multiboot.c: Moved from here ...
5459 * loader/multiboot.c: ... here. All users updated.
5460 (grub_multiboot_boot): Use platform-specific macros.
5461 * loader/i386/multiboot_elfxx.c: Moved from here ...
5462 * loader/multiboot_elfxx.c: ... here. All users updated.
5463 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
5464 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
5465 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
5466
5467 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 Import gnulib argp module.
5470
5471 * gnulib/argp-ba.c: New file.
5472 * gnulib/argp-eexst.c: Likewise.
5473 * gnulib/argp-fmtstream.c: Likewise.
5474 * gnulib/argp-fmtstream.h: Likewise.
5475 * gnulib/argp-fs-xinl.c: Likewise.
5476 * gnulib/argp-help.c: Likewise.
5477 * gnulib/argp-namefrob.h: Likewise.
5478 * gnulib/argp-parse.c: Likewise.
5479 * gnulib/argp-pin.c: Likewise.
5480 * gnulib/argp-pv.c: Likewise.
5481 * gnulib/argp-pvh.c: Likewise.
5482 * gnulib/argp-version-etc.c: Likewise.
5483 * gnulib/argp-version-etc.h: Likewise.
5484 * gnulib/argp-xinl.c: Likewise.
5485 * gnulib/argp.h: Likewise.
5486
5487 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * kern/device.c (grub_device_iterate): Clear errors after failed
5490 opening device.
5491
5492 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
5495 returned by firmware.
5496
5497 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
5500 compilation on coreboot and qemu
5501
5502 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * include/multiboot2.h: Resync with spec.
5505
5506 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 Multiboot2 tag support
5509
5510 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
5511 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
5512 Remove loader/multiboot_loader.c.
5513 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
5514 (grub_multiboot2_real_boot): Likewise.
5515 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
5516 (grub_get_multiboot_mmap_count): New proto.
5517 (grub_fill_multiboot_mmap): Likewise.
5518 (grub_multiboot_set_video_mode): Likewise.
5519 (grub_multiboot_set_console): Likewise.
5520 (grub_multiboot_load): Likewise.
5521 (grub_multiboot_load_elf): Likewise.
5522 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
5523 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
5524 * include/multiboot.h: Resynced with specification.
5525 * include/multiboot2.h: Resynced with specification.
5526 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
5527 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
5528 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
5529 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
5530 users updated.
5531 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
5532 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
5533 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
5534 Removed.
5535 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
5536 Moved from here...
5537 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
5538 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
5539 Moved from here...
5540 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
5541 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
5542 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
5543 All users updated.
5544 * loader/i386/multiboot_mbi2.c: New file.
5545
5546 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 Resync with gnulib.
5549
5550 * Makefile.in (GNULIB_CFLAGS): New variable.
5551 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
5552 (grub_script_check_CFLAGS): New variable.
5553 * gnulib/alloca.h: Resync with gnulib.
5554 * gnulib/error.c: Likewise.
5555 * gnulib/error.h: Likewise.
5556 * gnulib/fnmatch.c: Likewise.
5557 * gnulib/fnmatch_loop.c: Likewise.
5558 * gnulib/getdelim.c: Likewise.
5559 * gnulib/getline.c: Likewise.
5560 * gnulib/getopt.c: Likewise.
5561 * gnulib/getopt1.c: Likewise.
5562 * gnulib/getopt_int.h: Likewise.
5563 * gnulib/gettext.h: Likewise.
5564 * gnulib/progname.c: Likewise.
5565 * gnulib/progname.h: Likewise.
5566
5567 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
5568
5569 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
5570 which is the case with --disabled-nls.
5571
5572 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
5573 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
5574 * util/misc.c: Likewise.
5575 * util/mkisofs/mkisofs.c: Likewise.
5576 * util/mkisofs/mkisofs.h: Likewise.
5577
5578 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 Simplify Apple CC support.
5581
5582 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
5583 Add 0 byte at the end not to have a symbol with empty target.
5584 * mmap/i386/pc/mmap_helper.S: Likewise.
5585 * genmk.rb: Ignore errors 2030 and 2050.
5586 * kern/i386/pc/startup.S: Use LOCAL when possible.
5587
5588 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
5589
5590 Testcase and the fix for final semicolon on cmdline.
5591
5592 * tests/grub_script_final_semicolon.in: New testcase.
5593 * conf/tests.rmk: Rules for the new testcase.
5594 * script/parser.y: Grammar fix.
5595
5596 2010-03-26 BVK Chaitanya <bvk@localhost>
5597
5598 Blank lines testcase for GRUB script.
5599
5600 * tests/grub_script_blanklines.in: New testcase.
5601 * conf/tests.rmk: Rules for the new testcase.
5602
5603 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 Don't use __FILE__.
5606
5607 * genmk.rb: Add -DGRUB_FILE to all C targets.
5608 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
5609 * include/grub/list.h: Likewise.
5610 * include/grub/misc.h: Likewise.
5611 * include/grub/mm.h: Likewise.
5612 * include/grub/test.h: Likewise.
5613 * kern/mm.c: Likewise.
5614 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5615
5616 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 Sunpc partitions support.
5619
5620 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
5621 (grub_fstest_SOURCES): Likewise.
5622 (pkglib_MODULES): Add part_sunpc.mod.
5623 (part_sunpc_mod_SOURCES): New variable.
5624 (part_sunpc_mod_CFLAGS): Likewise.
5625 (part_sunpc_mod_LDFLAGS): Likewise.
5626 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
5627 * partmap/sunpc.c: New file.
5628
5629 2010-03-26 BVK Chaitanya <bvk@localhost>
5630
5631 For loop support to GRUB script.
5632
5633 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
5634 (grub_script_create_cmdfor): New function prototype.
5635 (grub_script_execute_cmdfor): New function prototype.
5636 * script/execute.c (grub_script_execute_cmdfor): New function.
5637 * script/parser.y (command): New for command.
5638 (forcmd): New grammar rule.
5639 * script/script.c (grub_script_create_cmdfor): New function.
5640 * util/grub-script-check.c (grub_script_execute_cmdfor): New
5641 function.
5642 * tests/grub_script_for1.in: New testcase.
5643 * conf/tests.rmk: Rules for new testcase.
5644
5645 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 Nested partitions
5648
5649 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
5650 'partition' is NULL, grub_partition_get_start already does that.
5651 * commands/loadenv.c (check_blocklists): Likewise.
5652 (write_blocklists): Likewise.
5653 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
5654 (grub_fstest_SOURCES): Likewise.
5655 (pkglib_MODULES): Add part_bsd.mod.
5656 (part_bsd_mod_SOURCES): New variable.
5657 (part_bsd_mod_CFLAGS): Likewise.
5658 (part_bsd_mod_LDFLAGS): Likewise.
5659 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
5660 (grub_emu_SOURCES): Likewise.
5661 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5662 * include/grub/bsdlabel.h: New file.
5663 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
5664 'get_name'.
5665 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
5666 (grub_partition_map_list): New variable.
5667 (grub_partition_map_register): Inline.
5668 (grub_partition_map_unregister): Likewise.
5669 (FOR_PARTITION_MAPS): New macro.
5670 (grub_partition_map_iterate): Removed.
5671 (grub_partition_get_start): Handle nested partitions.
5672 * include/grub/msdos_partition.h: Remove bsd-related entries.
5673 (grub_pc_partition): Remove.
5674 * kern/disk.c (grub_disk_close): Free partition data.
5675 (grub_disk_adjust_range): Handle nested partitions.
5676 * kern/partition.c (grub_partition_map_probe): New function.
5677 (grub_partition_probe): Parse name to number, handle subpartitions.
5678 (get_partmap): New function.
5679 (grub_partition_iterate): Handle subpartitions.
5680 (grub_partition_get_name): Likewise.
5681 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
5682 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
5683 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
5684 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
5685 Set 'number'.
5686 (acorn_partition_map_probe): Remove.
5687 (acorn_partition_map_get_name): Likewise.
5688 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
5689 Set 'number'.
5690 Set 'index' to 0 since there can be only one partition entry per sector.
5691 (amiga_partition_map_probe): Remove.
5692 (amiga_partition_map_get_name): Likewise.
5693 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
5694 Set 'number'.
5695 Set 'offset' and 'index' to real positions of partitions.
5696 (apple_partition_map_probe): Remove.
5697 (apple_partition_map_get_name): Likewise.
5698 * partmap/bsdlabel.c: New file.
5699 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
5700 Set 'number'.
5701 Allocate 'data' so it can be correctly freed.
5702 Set 'index' to offset inside sector.
5703 (gpt_partition_map_probe): Remove.
5704 (gpt_partition_map_get_name): Likewise.
5705 * partmap/msdos.c (grub_partition_parse): Remove.
5706 (pc_partition_map_iterate): Don't force raw access.
5707 Set 'number'.
5708 Make 'ext_offset' a local variable.
5709 (pc_partition_map_probe): Remove.
5710 (pc_partition_map_get_name): Remove.
5711 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
5712 Set 'number'.
5713 (sun_partition_map_probe): Remove.
5714 (sun_partition_map_get_name): Likewise.
5715 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
5716 (grub_pcpart_type): Likewise.
5717 * util/hostdisk.c (open_device): Handle new numbering scheme.
5718 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
5719 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
5720 * util/grub-probe.c (probe_partmap): Handle nested paritions.
5721 * util/grub-install.in: Insert all subpartition modules.
5722 * util/ieee1275/grub-install.in: Likewise.
5723
5724 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
5725
5726 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
5727 grammar.
5728
5729 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
5730
5731 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
5732
5733 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
5734
5735 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
5736 match where 'make install' puts them.
5737 * util/i386/efi/grub-install.in: Likewise.
5738
5739 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
5740
5741 * .bzrignore: Add gentrigtables, grub-script-check,
5742 grub_script_check_init.c, grub_script_check_init.h, and
5743 trigtables.c.
5744
5745 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * kern/parser.c: Indented.
5748
5749 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
5752
5753 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
5756 alpha_mask_size == 0 case.
5757
5758 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
5759
5760 GRUB shell lexer and parser improvements.
5761
5762 * conf/any-emu.rmk: Build rule updates.
5763 * conf/common.rmk: Likewise.
5764 * conf/i386-coreboot.rmk: Likewise.
5765 * conf/i386-efi.rmk: Likewise.
5766 * conf/i386-ieee1275.rmk: Likewise.
5767 * conf/i386-pc.rmk: Likewise.
5768 * conf/powerpc-ieee1275.rmk: Likewise.
5769 * conf/x86_64-efi.rmk: Likewise.
5770
5771 * configure.ac: Configure check for flex.
5772
5773 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
5774 types.
5775 (grub_lexer_param): Struct member updates.
5776 (grub_parser_param): Likewise.
5777 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
5778 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
5779 (grub_script_lexer_init): Prototype update.
5780 (grub_script_lexer_record_start): Likewise.
5781 (grub_script_lexer_record_stop): Likewise.
5782 (grub_script_lexer_yywrap): New function prototype.
5783 (grub_script_lexer_fini): Likewise.
5784 (grub_script_execute_argument_to_string): Removed by...
5785 (grub_script_execute_argument_to_argv): ...better version.
5786
5787 * script/execute.c (ROUND_UPTO): New macro.
5788 (grub_script_execute_cmdline): Out of memory fixes.
5789 (grub_script_execute_menuentry): Likewise.
5790 (grub_script_execute_argument_to_string): Removed. Update all
5791 users by...
5792 (grub_script_execute_argument_to_argv): ...better version.
5793 * script/function.c (grub_script_function_create): Use
5794 grub_script_execute_argument_to_argv instead of
5795 grub_script_execute_argument_to_string.
5796
5797 * script/lexer.c (check_varstate): Removed.
5798 (check_textstate): Removed.
5799 (grub_script_lexer_record_start): Likewise.
5800 (grub_script_lexer_record_stop): Likewise.
5801 (recordchar): Replaced with...
5802 (grub_script_lexer_record): ...new function.
5803 (nextchar): Removed.
5804 (grub_script_lexer_init): Rewritten.
5805 (grub_script_yylex): Rewritten.
5806 (append_newline): New function.
5807 (grub_script_lexer_yywrap): New function.
5808 (grub_script_lexer_fini): New function.
5809 (grub_script_yyerror): Sets error flag.
5810
5811 * script/yylex.l: New file.
5812 (grub_lexer_yyfree): Wrapper for flex yyffre.
5813 (grub_lexer_yyalloc): Likewise.
5814 (grub_lexer_yyrealloc): Likewise.
5815 * script/parser.y: Refactored.
5816
5817 * script/script.c (grub_script_arg_add): Out of memory fixes.
5818 (grub_script_add_arglist): Likewise.
5819 (grub_script_create_cmdline): Likewise.
5820 (grub_script_create_cmdmenu): Likewise.
5821 (grub_script_add_cmd): Likewise.
5822 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
5823 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
5824 unnecessary code.
5825
5826 * tests/grub_script_echo1.in: New testcase.
5827 * tests/grub_script_vars1.in: New testcase.
5828 * tests/grub_script_echo_keywords.in: New testcase.
5829
5830 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 Remove some redundancy in build system.
5833
5834 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
5835 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
5836 (TARGET_LDFLAGS): Add -nostdlib.
5837 (TARGET_IMG_LDFLAGS): Likewise.
5838 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
5839 anything since mmap isn't available.
5840 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
5841 Add util/time.c.
5842 (pkglib_MODULES): Remove reboot.mod.
5843 (reboot_mod_SOURCES): Removed.
5844 (reboot_mod_CFLAGS): Likewise.
5845 (reboot_mod_LDFLAGS): Likewise.
5846 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
5847 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
5848 (DEFSYMFILES): Add kernel_syms.lst.
5849 (kernel_img_HEADERS): Add common headers.
5850 (symlist.c): New target.
5851 (kernel_syms.lst): Likewise.
5852 (pkglib_MODULES): Add memdisk.mod.
5853 (memdisk_mod_SOURCES): New variable.
5854 (memdisk_mod_CFLAGS): Likewise.
5855 (memdisk_mod_LDFLAGS): Likewise.
5856 (pkglib_MODULES): Add reboot.mod.
5857 (reboot_mod_SOURCES): New variable.
5858 (reboot_mod_CFLAGS): Likewise.
5859 (reboot_mod_LDFLAGS): Likewise.
5860 (pkglib_MODULES): Add date.mod.
5861 (date_mod_SOURCES): New variable.
5862 (date_mod_CFLAGS): Likewise.
5863 (date_mod_LDFLAGS): Likewise.
5864 (pkglib_MODULES): Add datehook.mod.
5865 (datehook_mod_SOURCES): New variable.
5866 (datehook_mod_CFLAGS): Likewise.
5867 (datehook_mod_LDFLAGS): Likewise.
5868 (pkglib_MODULES): Add lsmmap.mod.
5869 (lsmmap_mod_SOURCES): New variable.
5870 (lsmmap_mod_CFLAGS): Likewise.
5871 (lsmmap_mod_LDFLAGS): Likewise.
5872 (pkglib_MODULES): Add boot.mod.
5873 (boot_mod_SOURCES): New variable.
5874 (boot_mod_CFLAGS): Likewise.
5875 (boot_mod_LDFLAGS): Likewise.
5876 * conf/i386-coreboot.rmk: Removed redundant parts.
5877 * conf/i386-ieee1275.rmk: Likewise.
5878 * conf/i386-pc.rmk: Likewise.
5879 * conf/mips-yeeloong.rmk: Likewise.
5880 * conf/mips.rmk: Likewise.
5881 * conf/powerpc-ieee1275.rmk: Likewise.
5882 * conf/sparc64-ieee1275.rmk: Likewise.
5883 * conf/x86_64-efi.rmk: Likewise.
5884 * conf/i386-coreboot.rmk: Moved qemu parts ..
5885 * conf/i386-qemu.rmk: ... here
5886 * conf/i386-efi.rmk: Moved common parts to...
5887 * conf/x86-efi.rmk: ... here.
5888 * conf/i386.rmk: Added modules common to all x86 variants.
5889 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
5890 * disk/memdisk.c: Remove grub/machine/kernel.h.
5891 * gensymlist.sh.in: Include symbol.h.
5892 * hook/datehook.c: Correct module name.
5893 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
5894 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
5895 * include/grub/i386/efi/serial.h: New file.
5896 * include/grub/x86_64/efi/serial.h: Likewise.
5897 * util/time.c: Likewise.
5898 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
5899
5900 2010-03-14 Colin King <colin.king@ubuntu.com>
5901 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
5902
5903 Shrink the pre-partition-table part of boot.img by eight bytes.
5904
5905 * boot/i386/pc/boot.S (ERR): New macro.
5906 (chs_mode): Use ERR.
5907 (geometry_error): Likewise.
5908 (hd_probe_error): Remove. This is only used once, so we wrwite
5909 it inline instead.
5910 (read_error): Instead of printing read_error_string, just set up
5911 %si and fall through to ...
5912 (error_message): ... this new function, also used by ERR.
5913
5914 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
5915
5916 Speed up consecutive hostdisk operations on the same device.
5917
5918 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
5919 (grub_util_biosdisk_open): Initialise disk->data.
5920 (struct linux_partition_cache): New structure.
5921 (linux_find_partition): Cache partition start positions; these are
5922 expensive to compute on every read and write.
5923 (open_device): Cache open file descriptor in disk->data, so that we
5924 don't have to reopen it and flush the buffer cache for consecutive
5925 operations on the same device.
5926 (grub_util_biosdisk_close): New function.
5927 (grub_util_biosdisk_dev): Set `close' member.
5928
5929 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
5930 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
5931 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5932 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
5933 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
5934
5935 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 Compile parts of grub-emu as modules.
5938
5939 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
5940 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
5941 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
5942 (all-local): Add $(GRUB_EMU).
5943 (install-local): Install $(GRUB_EMU).
5944 (uninstall): Uninstall $(GRUB_EMU).
5945 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
5946 * kern/dl.c: Likewise.
5947 * commands/sleep.c: Not include machine/time.h.
5948 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
5949 (COMMON_CFLAGS): Likewise.
5950 (sbin_UTILITIES): Remove grub-emu.
5951 (grub_emu_SOURCES): Removed.
5952 (kernel_img_RELOCATABLE): New variable.
5953 (pkglib_PROGRAMS): Add kernel.img.
5954 (kernel_img_SOURCES): New variable
5955 (kernel_img_CFLAGS): Likewise.
5956 (kernel_img_LDFLAGS): Likewise.
5957 (TARGET_NO_STRIP): Likewise.
5958 (TARGET_NO_DYNAMIC_MODULES): Likewise.
5959 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
5960 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
5961 (grub-emu): New target.
5962 (GRUB_EMU): New variable.
5963 * configure.ac: Whitelist -emu as possible x86_64 architecture.
5964 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
5965 * loader/xnu.c: Likewise.
5966 * include/grub/pci.h: Likewise.
5967 * genemuinit.sh: New file.
5968 * genemuinitheader.sh: Likewise.
5969 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
5970 Support TARGET_NO_DYNAMIC_MODULES.
5971 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
5972 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
5973 * disk/loopback.c: Likewise.
5974 * font/font_cmd.c: Likewise.
5975 * partmap/acorn.c: Likewise.
5976 * partmap/amiga.c: Likewise.
5977 * partmap/apple.c: Likewise.
5978 * partmap/gpt.c: Likewise.
5979 * partmap/msdos.c: Likewise.
5980 * partmap/sun.c: Likewise.
5981 * parttool/msdospart.c: Likewise.
5982 * term/gfxterm.c: Likewise.
5983 * video/bitmap.c: Likewise.
5984 * video/readers/jpeg.c: Likewise.
5985 * video/readers/png.c: Likewise.
5986 * video/readers/tga.c: Likewise.
5987 * video/video.c: Likewise.
5988 * util/grub-emu.c (read_command_list): Removed.
5989 (main): Don't call util_init_nls.
5990 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
5991 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
5992
5993 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
5996 date.mod, datehook.mod.
5997 (datetime_mod_SOURCES): New variable.
5998 (datetime_mod_CFLAGS): Likewise.
5999 (datetime_mod_LDFLAGS): Likewise.
6000 (date_mod_SOURCES): Likewise.
6001 (date_mod_CFLAGS): Likewise.
6002 (date_mod_LDFLAGS): Likewise.
6003 (datehook_mod_SOURCES): Likewise.
6004 (datehook_mod_CFLAGS): Likewise.
6005 (datehook_mod_LDFLAGS): Likewise.
6006 * conf/sparc64-ieee1275.rmk: Likewise.
6007 * lib/ieee1275/datetime.c: New file.
6008
6009 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
6012 (ieee1275_fb_mod_SOURCES): New variable.
6013 (ieee1275_fb_mod_CFLAGS): Likewise.
6014 (ieee1275_fb_mod_LDFLAGS): Likewise.
6015 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
6016 New proto.
6017 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
6018 (HEAP_MAX_ADDR): Likewise.
6019 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
6020 type.
6021 Correct stop condition.
6022 (grub_ieee1275_devices_iterate): New function.
6023 * video/ieee1275.c: New file.
6024
6025 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
6028
6029 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
6030 as scratch.
6031 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
6032 SCRATCH_PAD_DISKBOOT as scratch.
6033 (bootit): Pass Openfirmware pointer in %o4.
6034 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
6035 of 0x200000.
6036 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
6037 with util/grub-mkrawimage.c.
6038 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
6039 * include/grub/aout.h (AOUT_MID_SUN): New definition.
6040 (grub_aout_get_type) [GRUB_UTIL]: Removed.
6041 (grub_aout_load) [GRUB_UTIL]: Likewise.
6042 * include/grub/kernel.h (grub_modules_get_end): New proto.
6043 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
6044 (SCRATCH_PAD_BOOT): New definition.
6045 (SCRATCH_PAD_DISKBOOT): Likewise.
6046 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
6047 * include/grub/sparc64/ieee1275/ieee1275.h
6048 (grub_ieee1275_original_stack): New variable
6049 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
6050 New definition
6051 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
6052 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
6053 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
6054 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
6055 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
6056 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
6057 (grub_platform_image_format_t): New type.
6058 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
6059 * kern/main.c (grub_modules_get_end)
6060 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
6061 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
6062 (codestart): Switch stacks.
6063 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
6064 variable.
6065 (grub_heap_init): Use grub_modules_get_end.
6066 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
6067 stack.
6068 * util/grub-mkrawimage.c (generate_image): Support sparc64.
6069 (main): Likewise.
6070 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
6071
6072 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
6073
6074 * util/grub-mkrescue.in: Base ISO UUID on UTC.
6075
6076 2010-03-08 Matt Kraai <kraai@ftbfs.org>
6077
6078 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
6079 bug #559005).
6080
6081 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * genmoddep.awk: Output all missing symbols and not only first.
6084
6085 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * NEWS: Put the date of 1.98 release.
6088
6089 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
6092 ft2build.h.
6093
6094 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
6097 completition in the middle of string.
6098
6099 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * util/grub-mkrescue.in: Use mktemp with explicit template.
6102
6103 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
6106
6107 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
6110 right pointer.
6111
6112 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 Fix FreeBSD compilation.
6115
6116 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
6117 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
6118
6119 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
6122
6123 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
6126
6127 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
6130
6131 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
6132
6133 Support relative image path in theme file.
6134
6135 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
6136 (image_set_property): Handle theme_dir and relative path.
6137
6138 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6139
6140 * configure.ac: Alias amd64 to x86_64.
6141
6142 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * NEWS: mention multiboot on EFI.
6145
6146 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * kern/main.c (grub_load_modules): Handle errors from init functions of
6149 embeded modules.
6150
6151 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * normal/autofs.c (autoload_fs_module): Handle errors.
6154
6155 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 Disable linux.mod on qemu-mips since it's not functional and leads
6158 to compilation failure.
6159
6160 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
6161 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
6162 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
6163 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
6164 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
6165 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
6166 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
6167 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
6168 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
6169 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
6170 Reported by: BVK Chaitanya
6171
6172 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
6173
6174 * INSTALL: Add gettext as a dependency and add qemu to a new section
6175 "Prerequisites for make-check".
6176
6177 2010-03-04 Christian Franke <franke@computer.org>
6178
6179 * util/grub-pe2elf.c: Add missing include "progname.h".
6180
6181 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * normal/crypto.c (read_crypto_list): Fix a typo.
6184 Reported by: Seth Goldberg.
6185
6186 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
6189 Reported by: Seth Goldberg.
6190
6191 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
6194 ascii.bitmaps.
6195
6196 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * genmk.rb: Remove terminal*.lst in make clean.
6199 Reported by: Seth Goldberg.
6200
6201 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * util/i386/efi/grub-install.in: Copy gettext files.
6204
6205 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
6208
6209 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 Wait for user entry basing on presence of output rather than on errors.
6212
6213 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
6214 (grub_install_newline_hook): Likewise.
6215 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
6216 * normal/menu.c (show_menu): Check line_counter to determine presence
6217 of output.
6218 * normal/term.c (grub_normal_line_counter): New variable.
6219 (grub_normal_get_line_counter): New function.
6220 (grub_install_newline_hook): Likewise.
6221
6222 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
6225
6226 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * configure.ac: Update version to 1.98.
6229
6230 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * util/grub.d/10_linux.in (linux_entry): Don't default to
6233 gfxpayload=keep if Linux doesn't support video handover.
6234
6235 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 Don't compile video modules on yeeloong since video subsystem is part
6238 of kernel.
6239
6240 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
6241 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
6242 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
6243 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
6244 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
6245 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
6246 * include/grub/bitmap_scale.h: Likewise.
6247 * include/grub/bufio.h: Likewise.
6248 * include/grub/font.h: Likewise.
6249 * include/grub/gfxterm.h: Likewise.
6250 * include/grub/video.h: Likewise.
6251 * include/grub/vbe.h: Don't include video_fb.h.
6252 * video/i386/pc/vbe.c: Include video_fb.h.
6253 * commands/i386/pc/vbetest.c: Include video.h.
6254
6255 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
6256
6257 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
6258 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
6259 default entry if GRUB_SAVEDEFAULT=true. This allows using
6260 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
6261 saving a new default on every boot.
6262
6263 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * normal/crypto.c (read_crypto_list): Fix a memory leak.
6266 * normal/term.c (read_terminal_list): Likewise.
6267 * normal/main.c (grub_normal_init_page): Likewise.
6268 (grub_normal_read_line_real): Likewise.
6269
6270 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
6273 memory leak.
6274 Reported by: Seth Goldberg.
6275
6276 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
6277
6278 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
6279 duplicate declaration of `start'.
6280
6281 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
6284 filename.
6285 Reported by: Georgy Buranov
6286
6287 2010-02-20 Carles Pina i Estany <carles@pina.cat>
6288
6289 * util/grub-mkrawimage.c (usage): Change string formatting to
6290 improve gettext.
6291
6292 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
6293
6294 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
6295 backspace keys.
6296
6297 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
6300 Reported by: Michael Suchanek.
6301
6302 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
6303
6304 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
6305 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
6306
6307 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 Remove any reference to non-free fonts.
6310
6311 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
6312 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
6313 uses non-free components.
6314 * font/font.c (grub_font_get_name): Remove example name.
6315 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
6316 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
6317 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
6318 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
6319
6320 2010-02-16 Georgy Buranov <gburanov@gmail.com>
6321
6322 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
6323
6324 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
6327 Double divisor.
6328 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
6329 features.
6330 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
6331
6332 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * gensymlist.sh.in: Use TARGET_CC instead of CC.
6335
6336 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6337
6338 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
6339 * docs/grub.texi (Command-line and menu entry commands): Document play
6340 command.
6341
6342 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6343
6344 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
6345 parse arguments as inline tempo and notes. Move code for playing notes
6346 to...
6347 (play): ... new function.
6348
6349 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6350
6351 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
6352 grub_uint16_t instead of short.
6353 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
6354 disk from little endian to cpu endianness.
6355
6356 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
6357
6358 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
6359 GRUB_TICKS_PER_SECOND instead of 120.
6360
6361 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
6364 escape sequence after \e.
6365
6366 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
6369 non-ASCII characters.
6370
6371 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
6374 set root in single quotes to prevent \, from being unescaped.
6375
6376 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 Prevent unknown commands from stopping menuentry execution.
6379
6380 * script/execute.c (grub_script_execute_cmdline): Print error after
6381 unknown command.
6382
6383 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
6386 Reported by: Pavel Pisa.
6387
6388 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
6391
6392 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 Merge grub_ieee1275_map_physical into grub_map and rename to
6395 grub_ieee1275_map
6396
6397 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
6398 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
6399 Remove.
6400 * kern/ieee1275/openfw.c (grub_map): Rename to ...
6401 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
6402 necessary.
6403 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
6404
6405 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
6408 opening and not after.
6409
6410 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
6413 constants.
6414
6415 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
6418 (alloc_phys): Use ALIGN_UP instead of align_addr.
6419
6420 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
6423
6424 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
6427
6428 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
6431 verbose dprintf.
6432
6433 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 Fix over-4GiB seek on sparc64.
6436
6437 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
6438 Replace pos_i and pos_lo with pos. All users updated.
6439 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
6440 New constant.
6441 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
6442 Likewise.
6443 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
6444 and pos_lo.
6445
6446 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * util/grub-mkrawimage.c (main): Call set_program_name.
6449
6450 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 Properly align 64-bit targets.
6453
6454 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
6455 (generate_image): Use ALIGN_ADDR.
6456
6457 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 Properly create cross-endian images.
6460
6461 * include/grub/types.h (grub_host_to_target_addr): New macro
6462 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
6463
6464 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
6467
6468 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
6471
6472 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
6473 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
6474 (grub_linux_boot): Divide by 64K when on VESA.
6475
6476 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 Support GRUB_GFXPAYLOAD_LINUX.
6479
6480 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
6481 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
6482
6483 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
6486 to show messages instead of discarding them.
6487 Process errors after executing command and not before. Keep old method
6488 too as precaution.
6489
6490 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6491
6492 * configure.ac: Check for ft2build.h.
6493
6494 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
6497
6498 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * genkernsyms.sh.in: Use TARGET_CC.
6501
6502 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
6503
6504 * NEWS: Update.
6505
6506 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * include/grub/multiboot2.h: Remove leftover file.
6509 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
6510 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6511
6512 2010-02-07 Yves Blusseau <blusseau@zetam.org>
6513
6514 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
6515
6516 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 Fix warnings in grub-emu when compiling with maximum warning options.
6519
6520 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
6521 (grub_arch_modules_addr): Return 0 and not NULL.
6522 * util/misc.c (ENABLE_RELOCATABLE): New definition.
6523 (xstrdup): Use newstr instead of dup.
6524 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
6525 of disk to dsk to avoid shadowing.
6526 (find_free_slot): Fix prototype.
6527 * util/getroot.c (grub_util_is_dmraid): Make static.
6528 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
6529 Add missing prototype.
6530 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
6531
6532 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * loader/i386/linux.c (grub_linux_setup_video): Handle error
6535 appropriately.
6536
6537 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6538
6539 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
6540 code out.
6541
6542 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6543
6544 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
6545 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
6546 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
6547 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
6548 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
6549 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
6550
6551 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * include/grub/err.h (grub_err_printf): Don't export.
6554
6555 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
6558
6559 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * include/grub/i18n.h (grub_gettext_dummy): Removed.
6562 * kern/misc.c (grub_gettext_dummy): Make static.
6563
6564 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
6567 by non-valid ones.
6568 * kern/term.c (grub_putchar): Likewise.
6569
6570 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
6573 buggy hook call and memory leak.
6574
6575 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
6578
6579 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
6582
6583 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
6586 modevar.
6587 Return grub_errno on allocation error.
6588
6589 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
6592
6593 2010-02-06 Yves Blusseau <blusseau@zetam.org>
6594
6595 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
6596 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
6597
6598 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
6601 non-pxe disk.
6602 (grub_pxefs_open): Likewise.
6603
6604 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
6605
6606 * util/grub.d/10_hurd.in: Add --class information to menuentries.
6607 * util/grub.d/10_kfreebsd.in: Likewise.
6608 * util/grub.d/10_linux.in: Likewise.
6609
6610 2010-02-06 Colin D Bennett <colin@gibibit.com>
6611
6612 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
6613 (gfxmenu_mod_SOURCES): New variable.
6614 (gfxmenu_mod_CFLAGS): Likewise.
6615 (gfxmenu_mod_LDFLAGS): Likewise.
6616 * include/grub/term.h (grub_term_set_current_output): Declare
6617 argument as const.
6618 * docs/gfxmenu-theme-example.txt: New file.
6619 * gfxmenu/gfxmenu.c: Likewise.
6620 * gfxmenu/gui_box.c: Likewise.
6621 * gfxmenu/gui_canvas.c: Likewise.
6622 * gfxmenu/gui_circular_progress.c: Likewise.
6623 * gfxmenu/gui_image.c: Likewise.
6624 * gfxmenu/gui_label.c: Likewise.
6625 * gfxmenu/gui_list.c: Likewise.
6626 * gfxmenu/gui_progress_bar.c: Likewise.
6627 * gfxmenu/gui_string_util.c: Likewise.
6628 * gfxmenu/gui_util.c: Likewise.
6629 * gfxmenu/icon_manager.c: Likewise.
6630 * gfxmenu/model.c: Likewise.
6631 * gfxmenu/named_colors.c: Likewise.
6632 * gfxmenu/theme_loader.c: Likewise.
6633 * gfxmenu/view.c: Likewise.
6634 * gfxmenu/widget-box.c: Likewise.
6635 * include/grub/gfxmenu_model.h: Likewise.
6636 * include/grub/gfxmenu_view.h: Likewise.
6637 * include/grub/gfxwidgets.h: Likewise.
6638 * include/grub/gui.h: Likewise.
6639 * include/grub/gui_string_util.h: Likewise.
6640 * include/grub/icon_manager.h: Likewise.
6641
6642 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 Agglomerate scrolling in gfxterm.
6645
6646 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
6647 (grub_virtual_screen_setup): Initialise 'total_screen'.
6648 (write_char): Split to ...
6649 (paint_char): ... this ...
6650 (write_char): ... and this.
6651 (paint_char): Handle delayed scrolling.
6652 (draw_cursor): Likewise.
6653 (scroll_up): Split to ...
6654 (real_scroll): ... this ...
6655 (scroll_up): ... and this.
6656 (real_scroll): Handle multi-line scroll and draw below-the-bottom
6657 characters.
6658 (grub_gfxterm_refresh): Call real_scroll.
6659
6660 2010-02-06 Colin D Bennett <colin@gibibit.com>
6661
6662 * include/grub/misc.h (grub_iscntrl): New inline function.
6663 (grub_isalnum): Likewise.
6664 (grub_strtol): Likewise.
6665
6666 2010-02-06 Colin D Bennett <colin@gibibit.com>
6667
6668 * normal/menu_text.c (get_entry_number): Move from here ...
6669 * normal/menu.c (get_entry_number): ... moved here.
6670 * include/grub/menu.h (grub_menu_get_default_entry_index):
6671 New prototype.
6672 * normal/menu.c (grub_menu_get_default_entry_index): New function.
6673 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
6674 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
6675 (grub_menu_viewer_should_return): Likewise.
6676 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
6677 * normal/menu_text.c (run_menu): Enable menu switching.
6678 * normal/menu_viewer.c (should_return): New variable.
6679 (menu_viewer_changed): Likewise.
6680 (grub_menu_viewer_show_menu): Handle menu viewer changes.
6681 (grub_menu_viewer_should_return): New function.
6682 (menuviewer_write_hook): Likewise.
6683 (grub_menu_viewer_init): Likewise.
6684
6685 2010-02-06 Colin D Bennet <colin@gibibit.com>
6686 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 Support for gfxterm in a window.
6689
6690 * include/grub/gfxterm.h: New file.
6691 * include/grub/video.h (struct grub_video_rect): New declaration.
6692 (grub_video_rect_t): Likewise.
6693 * term/gfxterm.c (struct grub_gfxterm_window): New type.
6694 (refcount): New variable.
6695 (render_target): Likewise.
6696 (window): Likewise.
6697 (repaint_callback): Likewise.
6698 (grub_virtual_screen_setup): Use 'render_target'.
6699 (init_window): New function.
6700 (grub_gfxterm_init_window): Likewise.
6701 (grub_gfxterm_init): Check reference counter.
6702 Use init_window.
6703 (destroy_window): New function.
6704 (grub_gfxterm_destroy_window): Likewise.
6705 (grub_gfxterm_fini): Check reference counter.
6706 Use destroy_window.
6707 (redraw_screen_rect): Restore viewport.
6708 Use 'render_target' and 'window'.
6709 Call 'repaint_callback'.
6710 (write_char): Use 'render_target'.
6711 (draw_cursor): Likewise.
6712 (scroll_up): Restore viewport.
6713 Use 'render_target' and 'window'.
6714 Call 'repaint_callback'.
6715 (grub_gfxterm_cls): Likewise.
6716 (grub_gfxterm_refresh): Use 'window'.
6717 (grub_gfxterm_set_repaint_callback): New function.
6718 (grub_gfxterm_background_image_cmd): Use 'window'.
6719 (grub_gfxterm_get_term): New function.
6720 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
6721
6722 2010-02-06 Colin D Bennett <colin@gibibit.com>
6723
6724 Bitmap scaling support.
6725
6726 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
6727 (bitmap_scale_mod_SOURCES): New variable.
6728 (bitmap_scale_mod_CFLAGS): Likewise.
6729 (bitmap_scale_mod_LDFLAGS): Likewise.
6730 * include/grub/bitmap_scale.h: New file.
6731 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
6732 (background_image_cmd_options): New variable.
6733 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
6734 (cmd): Rename and change type to ...
6735 (background_image_cmd_handle): ... this. All users updated.
6736 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
6737 * video/bitmap_scale.c: New file.
6738
6739 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6740
6741 SDL support.
6742
6743 * Makefile.in (LIBSDL): New variable.
6744 (enable_grub_emu_sdl): Likewise.
6745 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
6746 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
6747 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
6748 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
6749 * util/sdl.c: New file.
6750
6751 2010-02-06 Colin D Bennett <colin@gibibit.com>
6752 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 Double buffering support.
6755
6756 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
6757 * include/grub/video.h: Update comment.
6758 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
6759 New type.
6760 (grub_video_fb_doublebuf_blit_init): New prototype.
6761 * term/gfxterm.c (scroll_up): Support double buffering.
6762 (grub_gfxterm_refresh): Likewise.
6763 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
6764 (grub_video_fb_doublebuf_blit_init): Likewise.
6765 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
6766 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
6767 'displayed_page', 'render_page' and 'update_screen'.
6768 (grub_video_vbe_fini): Free offscreen buffer.
6769 (doublebuf_pageflipping_commit): New function.
6770 (doublebuf_pageflipping_update_screen): Likewise.
6771 (doublebuf_pageflipping_init): Likewise.
6772 (double_buffering_init): Likewise.
6773 (grub_video_vbe_setup): Enable doublebuffering.
6774 (grub_video_vbe_swap_buffers): Implement.
6775 (grub_video_vbe_set_active_render_target): Handle double buffering.
6776 (grub_video_vbe_get_active_render_target): Likewise.
6777 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
6778 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
6779 (grub_video_vbe_enable_double_buffering): Likewise.
6780 (grub_video_vbe_swap_buffers): Use update_screen.
6781 (grub_video_set_mode): Use double buffering.
6782
6783 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
6784
6785 * maintainance/gentrigtables.py: Remove.
6786 * lib/trig.c: Likewise.
6787
6788 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
6789
6790 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
6791 `trigtables.c'.
6792 (trigtables.c): New rule.
6793 (gentrigtables): Likewise.
6794 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
6795
6796 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
6797
6798 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
6799 integer constants.
6800
6801 2010-02-06 Colin D Bennet <colin@gibibit.com>
6802
6803 Trigonometry support.
6804
6805 * include/grub/trig.h: New file.
6806 * lib/trig.c: Likewise.
6807 * maintainance/gentrigtables.py: Likewise.
6808 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
6809 (trig_mod_SOURCES): New variable.
6810 (trig_mod_CFLAGS): Likewise.
6811 (trig_mod_LDFLAGS): Likewise.
6812
6813 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
6816 disk devices.
6817
6818 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
6821 error.
6822
6823 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * util/hostdisk.c (open_device): Don't use partition device when reading
6826 before the partition.
6827 (grub_util_biosdisk_read): Don't read from partition and before the
6828 partition in single operation.
6829 (grub_util_biosdisk_write): Don't write to partition and before the
6830 partition in single operation.
6831
6832 2010-02-03 Torsten Landschoff <torsten@debian.org>
6833
6834 * kern/disk.c (grub_disk_read): Fix offset computation when reading
6835 last sectors.
6836
6837 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6838
6839 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
6840 CDROM reads.
6841 (grub_biosdisk_write): Refuse to write to CDROM.
6842
6843 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
6846
6847 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * font/font.c (find_glyph): Check that bmp_idx is available before
6850 using it.
6851 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
6852 with (font == NULL).
6853
6854 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
6855
6856 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
6857
6858 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
6859
6860 * include/grub/script_sh.h (sourcecode): Add const qualifier.
6861 * util/grub-script-check.c (getline): Fix empty lines case.
6862
6863 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
6864
6865 * Makefile.in (check): Exit with fail status when one of the tests
6866 fails.
6867 * tests/example_functional_test.c (example_test): Fix reversed assert.
6868 * tests/example_unit_test.c (example_test): Likewise.
6869
6870 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
6871
6872 * util/grub.d/10_linux.in: This script does not use any of the
6873 contents of gettext.sh, only the external command `gettext', so stop
6874 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
6875 the same prefix as GRUB.)
6876 * util/grub.d/10_kfreebsd.in: Likewise.
6877
6878 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
6881 of the line.
6882
6883 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * kern/disk.c (grub_disk_read): Fix offset computation when reading
6886 last sectors.
6887
6888 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
6891 having a 4KiB and not 32KiB buffer size.
6892
6893 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6894
6895 * util/hostfs.c: Include `<errno.h>'.
6896 (grub_hostfs_read): Handle errors from fseeko() and fread().
6897
6898 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6899
6900 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
6901 loop when using read hooks on files whose size isn't sector-aligned.
6902
6903 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6904
6905 Remove unused parameter.
6906
6907 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
6908 (grub_iso9660_open): Remove initialization of `data->length'.
6909
6910 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6911
6912 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
6913 memleak conditions.
6914
6915 2010-01-27 Carles Pina i Estany <carles@pina.cat>
6916
6917 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
6918 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
6919
6920 2010-01-26 Carles Pina i Estany <carles@pina.cat>
6921
6922 * util/bin2h.c (usage): Fix warning (space after backslash).
6923
6924 2010-01-26 Carles Pina i Estany <carles@pina.cat>
6925
6926 * font/font.c: Include `grub/fontformat.h.
6927 Remove font file format constants.
6928 (grub_font_load): Use the new macros.
6929 * include/grub/fontformat.h: New file.
6930 * util/grub-mkfont.c: Include `grub/fontformat.c'.
6931 (write_font_pf2): Use the new macros.
6932
6933 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
6934
6935 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
6936 does.
6937
6938 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
6939
6940 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
6941
6942 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
6943 (_start): Macroify `0x7F'.
6944
6945 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
6946 (make_install_device): Use "(pxe)" as fallback prefix when booting
6947 via PXE.
6948
6949 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6950
6951 * configure.ac: Reset LIBS after check for libgcc symbols.
6952
6953 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
6954
6955 * util/hostdisk.c (open_device): Add trailing newline to debug
6956 message.
6957
6958 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6959
6960 * configure.ac: Check for `limits.h'.
6961 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
6962
6963 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
6964
6965 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
6966 capitalize error strings.
6967
6968 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
6969
6970 * util/grub.d/10_hurd.in: Add a recovery mode.
6971
6972 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * configure.ac: Check for libgcc symbols with -nostdlib.
6975
6976 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
6977
6978 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
6979
6980 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
6983 stack since heap may be unavailable at that point.
6984 (grub_ofconsole_gotoxy): Likewise.
6985
6986 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * configure.ac: Check for _restgpr_14_x.
6989 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
6990 and _savegpr_* prototypes.
6991
6992 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
6993
6994 Use generic grub_reboot() for i386-efi.
6995
6996 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
6997 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
6998 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
6999
7000 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
7003 presence of "prefix" variable as it breaks when normal.mod is
7004 embedded.
7005
7006 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
7009 stack since heap is unavailable at that point.
7010
7011 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
7014 (grub_freebsd_bootinfo): Rewritten.
7015 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
7016
7017 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
7020
7021 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
7022
7023 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
7024 domain now.
7025
7026 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
7027
7028 * util/misc.c (make_system_path_relative_to_its_root): Change the work
7029 around for handling "/" to the correct fix. Fix a memory leak. Use
7030 xstrdup instead of strdup.
7031
7032 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
7035
7036 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 Optimise glyph lookup by Basic Multilingual Plane lookup array.
7039
7040 * font/font.c (struct grub_font): New member 'bmp_idx'.
7041 (font_init): Initialise 'bmp_idx'.
7042 (load_font_index): Fill 'bmp_idx'.
7043 (find_glyph): Make inline. Use bmp_idx for BMP characters.
7044
7045 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
7048 unnecessary calls.
7049
7050 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 Move context handling out of the kernel.
7053
7054 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
7055 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
7056 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
7057 * conf/i386-efi.rmk: Likewise.
7058 * conf/i386-ieee1275.rmk: Likewise.
7059 * conf/i386-pc.rmk: Likewise.
7060 * conf/powerpc-ieee1275.rmk: Likewise.
7061 * conf/sparc64-ieee1275.rmk: Likewise.
7062 * conf/x86_64-efi.rmk: Likewise.
7063 * include/grub/env.h: Include grub/menu.h.
7064 (grub_env_var_type): Removed.
7065 (grub_env_var): Replaced field 'type' with 'global'.
7066 (grub_env_find): New prototype.
7067 (grub_env_context_open): Remove EXPORT_FUNC.
7068 (grub_env_context_close): Likewise.
7069 (grub_env_export): Likewise.
7070 (grub_env_set_data_slot): Removed.
7071 (grub_env_get_data_slot): Likewise.
7072 (grub_env_unset_data_slot): Likewise.
7073 (grub_env_unset_menu): New prototype.
7074 (grub_env_set_menu): Likewise.
7075 (grub_env_get_menu): Likewise.
7076 * include/grub/env_private.h: New file.
7077 * include/grub/normal.h (grub_context_init): New prototype.
7078 (grub_context_fini): Likewise.
7079 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
7080 * normal/context.c (grub_cmd_export): ... to here.
7081 * kern/env.c: Include env_private.h.
7082 (HASHSZ): Moved to include/grub/env_private.h.
7083 (grub_env_context): Likewise.
7084 (grub_env_sorted_var): Likewise.
7085 (current_context): Renamed from this ...
7086 (grub_current_context): ...to this. 'static' removed. All users updated.
7087 (grub_env_find): Removed 'static'.
7088 (grub_env_context_open): Moved to normal/context.c.
7089 (grub_env_context_close): Likewise.
7090 (grub_env_export): Likewise.
7091 (mangle_data_slot_name): Removed.
7092 (grub_env_set_data_slot): Likewise.
7093 (grub_env_get_data_slot): Likewise.
7094 (grub_env_unset_data_slot): Likewise.
7095 * kern/main.c (grub_set_root_dev): Don't export root.
7096 It will be done later.
7097 (grub_main): Don't export prefix.
7098 It will be done later.
7099 * normal/context.c: New file.
7100 * normal/main.c (free_menu): Use grub_env_unset_menu.
7101 (grub_normal_add_menu_entry): Use grub_env_get_menu.
7102 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
7103 (GRUB_MOD_INIT(normal)): Call grub_context_init.
7104 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
7105
7106 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 setpci support.
7109
7110 * commands/setpci.c: New file.
7111 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
7112 (setpci_mod_SOURCES): New variable.
7113 (setpci_mod_CFLAGS): Likewise.
7114 (setpci_mod_LDFLAGS): Likewise.
7115
7116 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 Byte-addressable PCI configuration space.
7119
7120 * bus/pci.c (grub_pci_make_address): Use byte address instead of
7121 dword address.
7122 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
7123 GRUB_PCI_REG_CACHELINE.
7124 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
7125 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
7126 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
7127 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
7128 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
7129 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
7130 grub_pci_make_address.
7131 (lock_rom_area): Likewise.
7132 * commands/lspci.c (grub_lspci_iter): Use macroses
7133 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
7134 of grub_pci_make_address.
7135 * disk/ata.c (grub_ata_pciinit): Likewise.
7136 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
7137 (GRUB_PCI_REG_VENDOR): Likewise.
7138 (GRUB_PCI_REG_DEVICE): Likewise.
7139 (GRUB_PCI_REG_COMMAND): Likewise.
7140 (GRUB_PCI_REG_STATUS): Likewise.
7141 (GRUB_PCI_REG_REVISION): Likewise.
7142 (GRUB_PCI_REG_CLASS): Likewise.
7143 (GRUB_PCI_REG_CACHELINE): Likewise.
7144 (GRUB_PCI_REG_LAT_TIMER): Likewise.
7145 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
7146 (GRUB_PCI_REG_BIST): Likewise.
7147 (GRUB_PCI_REG_ADDRESSES): Likewise.
7148 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
7149 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
7150 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
7151 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
7152 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
7153 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
7154 (GRUB_PCI_REG_CIS_POINTER): Likewise.
7155 (GRUB_PCI_REG_SUBVENDOR): Likewise.
7156 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
7157 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
7158 (GRUB_PCI_REG_CAP_POINTER): Likewise.
7159 (GRUB_PCI_REG_IRQ_LINE): Likewise.
7160 (GRUB_PCI_REG_IRQ_PIN): Likewise.
7161 (GRUB_PCI_REG_MIN_GNT): Likewise.
7162 (GRUB_PCI_REG_MAX_LAT): Likewise.
7163 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
7164 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
7165 * video/efi_uga.c (find_framebuf): Likewise.
7166 * video/sm712.c (grub_video_sm712_setup): Likewise.
7167 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
7168 space.
7169
7170 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
7171
7172 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
7173 can be reliably determined to be supported.
7174
7175 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
7176
7177 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
7178 that VESA is supported.
7179 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
7180 supported.
7181
7182 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
7185
7186 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
7187
7188 * util/misc.c (make_system_path_relative_to_its_root): Work around
7189 special-casing of "/", as previous incarnation of this routine did.
7190
7191 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7192
7193 Fix any-emu compilation.
7194
7195 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
7196 * grub_bin2h_SOURCES: New variable.
7197
7198 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
7199
7200 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
7201
7202 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
7203
7204 * util/grub.d/00_header.in: Fix handling of locale_dir.
7205
7206 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
7209 as possible unifont location (Gentoo).
7210 Reported by: Alexander Brüning
7211
7212 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 Don't try to generate lists for kernel.img.
7215
7216 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
7217 (pkglib_MODULES): Remove kernel.img.
7218 (kernel_img_EXPORTS): Removed.
7219 (kernel_img_RELOCATABLE): New variable.
7220 * conf/x86_64-efi.rmk: Likewise.
7221 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
7222
7223 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
7226 grub_xasprintf or grub_snprintf.
7227 (grub_vsprintf): Likewise.
7228 (grub_snprintf): New proto.
7229 (grub_vsnprintf): Likewise.
7230 (grub_xasprintf): Likewise.
7231 (grub_xvasprintf): Likewise.
7232 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
7233 (grub_sprintf): Removed.
7234 (grub_vsnprintf): New function.
7235 (grub_snprintf): Likewise.
7236 (grub_xvasprintf): Likewise.
7237 (grub_xasprintf): Likewise.
7238 (grub_vsprintf): Renamed to ...
7239 (grub_vsnprintf_real): ...this. New argument max_len.
7240
7241 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
7242
7243 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
7244 fix grub-script-check warning.
7245
7246 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7247
7248 * include/grub/font.h (grub_font_load): Fix prototype.
7249
7250 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
7253
7254 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * include/grub/x86_64/at_keyboard.h: New file.
7257
7258 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 * loader/mips/linux.c: Include missing grub/i18n.h.
7261
7262 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7263
7264 * normal/menu.c (notify_execution_failure): Clarify error message.
7265
7266 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7267
7268 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
7269 return value (and revert all return statements). Update users.
7270
7271 2010-01-20 Dan Merillat <debian@dan.merillat.org>
7272
7273 * kern/device.c (grub_device_iterate): Allocate new part_ent
7274 structure based on sizeof (*p) rather than sizeof (p->next), to
7275 account for structure padding.
7276
7277 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
7278 disk is NULL, which might happen for LVM physical volumes with no
7279 LVM signature.
7280
7281 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7282
7283 * loader/mips/linux.c (grub_cmd_initrd)
7284 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
7285
7286 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7287
7288 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
7289 (grub_video_video_init, grub_video_bitmap_init)
7290 (grub_font_manager_init, grub_term_gfxterm_init)
7291 (grub_at_keyboard_init): New extern declarations.
7292 (grub_machine_init): Initialize gfxterm and at_keyboard.
7293
7294 * kern/main.c (grub_main): Revert grub_printf delay kludge.
7295
7296 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
7297 `gfxterm.mod' into core image.
7298
7299 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
7300 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7301 (kernel_img_FORMAT): Copy to ...
7302
7303 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
7304 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7305 (kernel_img_FORMAT): ... here, and ...
7306
7307 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
7308 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7309 (kernel_img_FORMAT): ... here.
7310
7311 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
7312 and input (at_keyboard) terminals in kernel.
7313 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
7314
7315 (pkglib_MODULES): Remove `pci.mod'.
7316 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
7317 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
7318 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
7319 (at_keyboard_mod_LDFLAGS): Remove variables.
7320
7321 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
7322
7323 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
7324
7325 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
7326
7327 * include/grub/mips/libgcc.h: Only export symbols for functions
7328 that libgcc provides.
7329
7330 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 MIPS support.
7333
7334 * bus/bonito.c: New file.
7335 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
7336 GRUB_PCI_NUM_DEVICES.
7337 * term/i386/pc/serial.c: Move to ...
7338 * term/serial.c: ... here. All users updated.
7339 * util/i386/pc/grub-mkimage.c: Move to ...
7340 * util/grub-mkrawimage.c: ... here. All users updated.
7341 * term/i386/pc/at_keyboard.c: Move to ...
7342 * term/at_keyboard.c: ... here. All users updated.
7343 * conf/mips-qemu-mips.rmk: New file.
7344 * conf/mips-yeeloong.rmk: Likewise.
7345 * conf/mips.rmk: Likewise.
7346 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
7347 mipsel-qemu-mips.
7348 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
7349 to port addresses.
7350 (grub_ata_pciinit): Support CS5536.
7351 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
7352 * font/font_cmd.c (loadfont_command): Open file before passing it to
7353 grub_font_load.
7354 (pseudo_file_read): New function.
7355 (pseudo_file_close): Likewise.
7356 (pseudo_fs): New structure.
7357 (load_font_module): New function.
7358 (GRUB_MOD_INIT(font_manager)): Load embedded font.
7359 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
7360 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
7361 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
7362 * include/grub/i386/at_keyboard.h: Split into ...
7363 * include/grub/at_keyboard.h: ... this ...
7364 * include/grub/i386/at_keyboard.h: ... and this.
7365 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
7366 New prototype.
7367 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
7368 updated.
7369 (grub_elf64_size): Likewise.
7370 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
7371 filename.
7372 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
7373 * include/grub/i386/coreboot/serial.h: Rewritten.
7374 * include/grub/i386/ieee1275/serial.h: Include
7375 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
7376 * include/grub/i386/pc/serial.h: Moved from here ...
7377 * include/grub/serial.h: ... to here. All users updated.
7378 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
7379 (GRUB_PCI_NUM_BUS): Likewise.
7380 (GRUB_PCI_NUM_DEVICES): Likewise.
7381 (grub_pci_device_map_range): Add missing volatile keyword.
7382 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
7383 * include/grub/mips/at_keyboard.h: New file.
7384 * include/grub/mips/cache.h: Likewise.
7385 * include/grub/mips/io.h: Likewise.
7386 * include/grub/mips/kernel.h: Likewise.
7387 * include/grub/mips/libgcc.h: Likewise.
7388 * include/grub/mips/pci.h: Likewise.
7389 * include/grub/mips/qemu-mips/boot.h: Likewise.
7390 * include/grub/mips/qemu-mips/kernel.h: Likewise.
7391 * include/grub/mips/qemu-mips/loader.h: Likewise.
7392 * include/grub/mips/qemu-mips/memory.h: Likewise.
7393 * include/grub/mips/qemu-mips/serial.h: Likewise.
7394 * include/grub/mips/qemu-mips/time.h: Likewise.
7395 * include/grub/mips/relocator.h: Likewise.
7396 * include/grub/mips/time.h: Likewise.
7397 * include/grub/mips/types.h: Likewise.
7398 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
7399 * include/grub/mips/yeeloong/boot.h: Likewise.
7400 * include/grub/mips/yeeloong/kernel.h: Likewise.
7401 * include/grub/mips/yeeloong/loader.h: Likewise.
7402 * include/grub/mips/yeeloong/memory.h: Likewise.
7403 * include/grub/mips/yeeloong/pci.h: Likewise.
7404 * include/grub/mips/yeeloong/serial.h: Likewise.
7405 * include/grub/mips/yeeloong/time.h: Likewise.
7406 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
7407 * kern/elf.c (grub_elf32_size): New parameter. All users
7408 updated.
7409 (grub_elf64_size): Likewise.
7410 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
7411 Load modules before saying "Welcome to GRUB!".
7412 Call grub_refresh after saying "Welcome to GRUB!".
7413 * kern/mips/cache.S: New file.
7414 * kern/mips/cache_flush.S: Likewise.
7415 * kern/mips/dl.c: Likewise.
7416 * kern/mips/init.c: Likewise.
7417 * kern/mips/qemu-mips/init.c: Likewise.
7418 * kern/mips/startup.S: Likewise.
7419 * kern/mips/yeeloong/init.c: Likewise.
7420 * kern/term.c (grub_putcode): Handle NULL terminal.
7421 (grub_getcharwidth): Likewise.
7422 (grub_getkey): Likewise.
7423 (grub_checkkey): Likewise.
7424 (grub_getkeystatus): Likewise.
7425 (grub_getxy): Likewise.
7426 (grub_getwh): Likewise.
7427 (grub_gotoxy): Likewise.
7428 (grub_cls): Likewise.
7429 (grub_setcolorstate): Likewise.
7430 (grub_setcolor): Likewise.
7431 (grub_getcolor): Likewise.
7432 (grub_refresh): Likewise.
7433 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
7434 (write_jump): Add hatch nop.
7435 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
7436 * lib/mips/setjmp.S: New file.
7437 * loader/mips/linux.c: Likewise.
7438 * term/i386/pc/at_keyboard.c: Move from here ...
7439 * term/at_keyboard.c: ... to here.
7440 * term/i386/pc/serial.c: Moved from here ...
7441 * term/serial.c: ... to here. All users updated.
7442 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
7443 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
7444 (serial_translate_key_sequence): Avoid deadlock.
7445 (grub_serial_getkey): Handle backspace.
7446 (grub_serial_putchar): Fix newline handling.
7447 * util/i386/pc/grub-mkimage.c: Move from here ...
7448 * util/grub-mkrawimage.c: ... to here. All users updated.
7449 (generate_image): New parameters 'font_path' and 'format'.
7450 Support embedding font.
7451 Use grub_host_to_target* instead of grub_cpu_to_le*.
7452 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
7453 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
7454 (options): New option "--font".
7455 (usage): Likewise.
7456 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
7457 (main): Handle "--font".
7458 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
7459 (grub_virtual_screen_setup): Set bg_color_display.
7460 (redraw_screen_rect): Use bg_color_display instead of incorrect
7461 bg_color.
7462 (grub_gfxterm_cls): Likewise.
7463 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
7464 Support embedding config file.
7465 (add_segments): Likewise.
7466 (options): New option "--config".
7467 (main): Handle "--config".
7468 * video/sm712.c: New file.
7469
7470 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7471
7472 Fix parallel builds.
7473
7474 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
7475 font.c depend on ascii.h).
7476
7477 2010-01-12 Carles Pina i Estany <carles@pina.cat>
7478
7479 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
7480
7481 2010-01-11 Carles Pina i Estany <carles@pina.cat>
7482
7483 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
7484 By default: disabled.
7485 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
7486 parameter.
7487
7488 2010-01-10 Carles Pina i Estany <carles@pina.cat>
7489
7490 * font/font.c: Update copyright years.
7491 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
7492
7493 2010-01-10 Carles Pina i Estany <carles@pina.cat>
7494
7495 * font/font.c: Include `ascii.h'.
7496 (ASCII_BITMAP_SIZE): New macro.
7497 (ascii_font_glyph): Define.
7498 (ascii_glyph_lookup): New function.
7499 (grub_font_get_string_width): Change comment. If glyph not found, use
7500 ascii_glyph_lookup.
7501 (grub_font_get_glyph_with_fallback): If glyph not available returns
7502 ascii_glyph_lookup.
7503 * util/grub-mkfont.c (file_formats): New enum.
7504 (options): Add `ascii-bitmaps' new option.
7505 (usage): Add `asii-bitmaps' new option.
7506 (write_font_ascii_bitmap): New function.
7507 (write_font): Rename to ...
7508 (write_font_p2): ... this. Remove print_glyphs call.
7509 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
7510 used. Call print_glyphs.
7511 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
7512
7513 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
7514
7515 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
7516 (grub_bin2h_SOURCES): New variable.
7517 * util/bin2h.c: New file.
7518
7519 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 * include/multiboot.h: Resynced with spec.
7522 * include/multiboot2.h: Likewise.
7523 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
7524 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
7525
7526 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7527
7528 * include/grub/term.h (grub_term_register_input,
7529 grub_term_register_output): Check return of terminal init()
7530 routines, and abort if errors are raised.
7531
7532 * commands/terminal.c: Update copyright year.
7533
7534 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7535
7536 * commands/terminal.c (grub_cmd_terminal_input)
7537 (grub_cmd_terminal_output): Check return of terminal init()
7538 routines, and abort if errors are raised.
7539
7540 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * include/grub/i386/bsd.h: Fix include pathes.
7543
7544 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 Add missing *BSD copyright headers.
7547
7548 * include/grub/aout.h: Add BSD licence.
7549 * include/grub/i386/bsd.h: Parts under different licences moved to ...
7550 * include/grub/i386/freebsd_linker.h: ... here,
7551 * include/grub/i386/freebsd_reboot.h: ... here,
7552 * include/grub/i386/netbsd_bootinfo.h: ... here,
7553 * include/grub/i386/netbsd_reboot.h: ... here,
7554 * include/grub/i386/openbsd_bootarg.h: ... here,
7555 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
7556 licence to each file.
7557
7558 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7559
7560 * acinclude.m4: Remove `nop' assembly instruction; it's not
7561 implemented by all architectures.
7562
7563 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7564
7565 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
7566 ELILO. This is no longer necessary.
7567
7568 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
7569
7570 Added new tool, grub-scrit-check to verify grub.cfg syntax.
7571
7572 * util/grub-script-check.c: grub-script-check tool.
7573 * conf/common.rmk: Make rules for grub-script-check.
7574
7575 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7576
7577 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
7578 spotting it back in 2008. Shame on me for forgetting he did.
7579
7580 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
7581
7582 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7583
7584 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
7585 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
7586 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
7587 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
7588 (GRUB_VIDEO_TYPE_EFI): Rename to ...
7589 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
7590
7591 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
7592
7593 * include/grub/test.h: Add license header.
7594 * tests/example_functional_test.c: Likewise.
7595 * tests/example_unit_test.c: Likewise.
7596 * tests/lib/functional_test.c: Likewise.
7597 * tests/lib/test.c: Likewise.
7598 * tests/lib/unit_test.c: Likewise.
7599
7600 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 Use flag-based instead of hook-based video mode selection and "auto"
7603 keyword.
7604
7605 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
7606 (grub_video_set_mode): Changed prototype. All users updated.
7607 (grub_video_check_mode_flag): New inline function.
7608 * video/video.c (parse_modespec): New function.
7609 (grub_video_set_mode): Parse flags and keywords.
7610
7611 2010-01-17 Carles Pina i Estany <carles@pina.cat>
7612
7613 * util/misc.c (grub_util_info): Fix the order of the parameters in a
7614 fprintf call.
7615
7616 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
7617
7618 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
7619
7620 2010-01-16 Carles Pina i Estany <carles@pina.cat>
7621
7622 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
7623 string.
7624 * util/grub-emu.c (usage): Likewise.
7625 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
7626 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7627 * util/i386/pc/grub-mkimage.c (usage): Likewise.
7628 * util/i386/pc/grub-setup.c (usage): Likewise.
7629
7630 2010-01-16 Carles Pina i Estany <carles@pina.cat>
7631
7632 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
7633 the message.
7634 (grub_util_info): Likewise.
7635 (grub_util_error): Likewise.
7636 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
7637 and/or new lines in `grub_util_warna', `grub_util_info',
7638 `grub_util_error' calls.
7639 * util/getroot.c: Likewise.
7640 * util/grub-editenv.c: Likewise.
7641 * util/grub-emu.c: Likewise.
7642 * util/grub-fstest.c: Likewise.
7643 * util/grub-mkdevicemap.c: Likewise.
7644 * util/grub-mkfont.c: Likewise.
7645 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7646 * util/grub-mkrelpath.c: Likewise.
7647 * util/grub-pe2elf.c: Likewise.
7648 * util/grub-probe.c: Likewise.
7649 * util/hostdisk.c: Likewise.
7650 * util/i386/efi/grub-mkimage.c: Likewise.
7651 * util/i386/pc/grub-mkimage.c: Likewise.
7652 * util/i386/pc/grub-setup.c: Likewise.
7653 * util/ieee1275/ofpath.c: Likewise.
7654 * util/mkisofs/eltorito.c: Likewise.
7655 * util/mkisofs/rock.c: Likewise.
7656 * util/mkisofs/write.c: Likewise.
7657 * util/raid.c: Likewise.
7658 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7659 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7660
7661 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 Enable multiboot on non-pc.
7664
7665 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
7666 multiboot.mod and multiboot2.mod to ...
7667 * conf/i386.rmk (pkglib_MODULES): ... here.
7668 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
7669 Moved to ...
7670 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
7671 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
7672 Moved to ...
7673 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
7674 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
7675 Moved to ...
7676 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
7677 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
7678 Moved to ...
7679 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
7680 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
7681 relocator.mod.
7682 (ata_mod_SOURCES): Removed.
7683 (ata_mod_CFLAGS): Likewise.
7684 (ata_mod_LDFLAGS): Likewise.
7685 (relocator_mod_SOURCES): Removed.
7686 (relocator_mod_CFLAGS): Likewise.
7687 (relocator_mod_ASFLAGS): Likewise.
7688 (relocator_mod_LDFLAGS): Likewise.
7689 Include i386.mk.
7690 * include/grub/x86_64/multiboot.h: New file.
7691 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
7692 Terminate EFI.
7693
7694 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 Video multiboot support.
7697
7698 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
7699 New prototype.
7700 * include/multiboot.h: Resynced with multiboot specification.
7701 * include/multiboot2.h: Likewise.
7702 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
7703 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
7704 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
7705 (HAS_VGA_TEXT): Likewise.
7706 (accepts_video): New variable.
7707 (grub_multiboot_set_accepts_video): New function.
7708 (grub_multiboot_get_mbi_size): Account for video structures.
7709 (set_video_mode): New function.
7710 (retrieve_video_parameters): Likewise.
7711 (grub_multiboot_make_mbi): Fill video fields.
7712
7713 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 Video driver ids.
7716
7717 * include/grub/video.h (grub_video_driver_id): New type.
7718 (grub_video_adapter): New member 'id'. All users updated.
7719 (grub_video_get_driver_id): New proto.
7720 * video/video.c (grub_video_get_driver_id): New function.
7721
7722 2010-01-14 Carles Pina i Estany <carles@pina.cat>
7723
7724 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
7725 `var=val'.
7726
7727 2010-01-14 Carles Pina i Estany <carles@pina.cat>
7728
7729 * normal/cmdline.c (print_completion): Gettextizze.
7730
7731 2001-01-14 Carles Pina i Estany <carles@pina.cat>
7732
7733 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
7734
7735 2010-01-14 Carles Pina i Estany <carles@pina.cat>
7736
7737 * gettext/gettext.c (grub_gettext_translate): Push and pop
7738 grub_errno.
7739 (grub_gettext_delete_list): Change comment style.
7740 * kern/err.c (grub_error): Gettextizze.
7741 (grub_fatal): Gettextizze.
7742
7743 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
7744
7745 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
7746 (grub_linux16_real_boot): ... this.
7747 * kern/i386/loader.S: Likewise.
7748 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
7749 (grub_linux16_boot): New function. Switches to text mode and calls
7750 grub_linux16_real_boot().
7751
7752 * loader/i386/bsd.c: Include `<grub/video.h>'.
7753 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
7754 text mode before calling grub_unix_real_boot().
7755
7756 * loader/i386/multiboot.c: Include `<grub/video.h>'.
7757 (grub_multiboot_boot): Switch to text mode before calling
7758 grub_relocator32_boot().
7759
7760 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
7761 (grub_chainloader_boot): Switch to text mode before calling
7762 grub_chainloader_real_boot().
7763
7764 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
7765 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
7766
7767 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
7768 non-empty value.
7769
7770 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
7771 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
7772
7773 * util/grub.d/00_header.in: Define a "savedefault" function for use
7774 in menu entries.
7775 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
7776
7777 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
7778 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
7779
7780 * util/grub-mkconfig_lib.in (save_default_entry): Only set
7781 saved_entry if boot_once is unset.
7782 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
7783 previous saved entry (i.e. grub-reboot).
7784
7785 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7786
7787 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
7788
7789 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7790
7791 * util/grub.d/00_header.in: Use `set var=val' rather than plain
7792 `var=val'.
7793 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
7794
7795 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7796
7797 * util/grub-reboot.in: Fix --version output.
7798 * util/grub-set-default.in: Likewise.
7799
7800 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7801
7802 * util/grub.d/00_header.in: Silently ignore zero-sized environment
7803 blocks.
7804
7805 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7806
7807 * util/grub.d/00_header.in: Quote the value assigned to `default',
7808 in case it contains spaces.
7809
7810 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7811
7812 * util/grub.d/30_os-prober.in: Fix merge error that moved a
7813 `save_default_entry' call from the macosx case to the linux case.
7814
7815 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7816 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
7817
7818 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
7819 in `chosen' environment variable.
7820 * normal/menu_text.c (get_entry_number): Check if the variable
7821 matches the title of a menu entry.
7822 (run_menu): Pass menu to get_entry_number.
7823
7824 * util/grub-reboot.in: New file.
7825 * util/grub-set-default.in: New file.
7826 * conf/common.rmk (grub-reboot): New utility.
7827 (grub-set-default): New utility.
7828
7829 * util/grub-mkconfig_lib.in (save_default_entry): New function.
7830 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
7831 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
7832 move it to `saved_entry' for the next boot. Load environment on
7833 initialisation.
7834 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
7835 * util/grub.d/10_hurd.in: Likewise.
7836 * util/grub.d/10_linux.in (linux_entry): Likewise.
7837 * util/grub.d/10_windows.in: Likewise.
7838 * util/grub.d/30_os-prober.in: Likewise.
7839
7840 * util/grub-install.in: Create environment block.
7841 * util/i386/efi/grub-install.in: Likewise.
7842 * util/ieee1275/grub-install.in: Likewise.
7843 * util/sparc64/ieee1275/grub-install.in: Likewise.
7844
7845 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
7846
7847 Unit testing framework for GRUB.
7848
7849 * Makefile.in: Test framework build rules for 'make check'.
7850 * conf/tests.rmk: Build rules for individual tests and framework.
7851
7852 * include/grub/test.h: Header file for whitebox tests.
7853 * tests/lib/functional_test.c: Framework support for whitebox
7854 functional tests.
7855 * tests/lib/test.c: Common whitebox testing code for unit and
7856 functional tests.
7857 * tests/lib/unit_test.c: Framework support for whitebox unit
7858 tests.
7859
7860 * tests/util/grub-shell-tester.in: Support utility for grub-script
7861 tests.
7862 * tests/util/grub-shell.in: Utility to execute grub-script
7863 commands in a Qemu instance.
7864
7865 * tests/example_functional_test.c: Example whitebox functional
7866 test.
7867 * tests/example_grub_script_test.in: Example grub-script test.
7868 * tests/example_scripted_test.in: Example scripted test.
7869 * tests/example_unit_test.c: Example whitebox unit test.
7870
7871 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
7874 Add loader/i386/multiboot_mbi.c.
7875 (multiboot2_mod_SOURCES): Likewise.
7876 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
7877 (multiboot2_mod_SOURCES): Likewise.
7878 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
7879 (grub_multiboot_make_mbi): Likewise.
7880 (grub_multiboot_free_mbi): Likewise.
7881 (grub_multiboot_init_mbi): Likewise.
7882 (grub_multiboot_add_module): Likewise.
7883 (grub_multiboot_set_bootdev): Likewise.
7884 * loader/i386/multiboot.c (mbi): Removed.
7885 (mbi_dest): Likewise.
7886 (alloc_mbi): New variable.
7887 (grub_multiboot_payload_size): Removed. All users updated.
7888 (grub_multiboot_pure_size): New variable.
7889 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
7890 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
7891 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
7892 (grub_fill_multiboot_mmap): Likewise.
7893 (grub_multiboot_get_bootdev): Likewise.
7894 (grub_multiboot): Use multiboot_mbi functions.
7895 * loader/i386/multiboot_mbi.c: New file.
7896
7897 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
7900 it would result in module crash.
7901
7902 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
7905 (grub_ofconsole_getwh): Split to ...
7906 (grub_ofconsole_getwh): ... this.
7907 (grub_ofconsole_dimensions): ...and this.
7908 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
7909
7910 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
7911
7912 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
7913
7914 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * loader/i386/pc/multiboot2.c: Removed stalled file.
7917
7918 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
7921 Reported by: Grégoire Sutre
7922
7923 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
7924
7925 * util/misc.c (canonicalize_file_name): New function.
7926 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
7927 instead of realpath().
7928
7929 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
7930
7931 * util/grub-install.in (usage): Clarify meaning of --root-directory,
7932 and make it clearer that it's optional. Based on confusion
7933 witnessed on IRC.
7934
7935 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
7938 in premature implicit newline.
7939
7940 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
7943 which resulted in garbled command line at the end of screen.
7944
7945 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
7946
7947 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
7948 initialization with similar approach as with other Linux loaders.
7949
7950 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
7951
7952 Fix i386-ieee1275 build.
7953
7954 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
7955 and grub_term_height() for video_{width,height} initialization.
7956
7957 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
7958
7959 Fix grub-emu build.
7960
7961 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
7962
7963 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7964 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
7965
7966 Support for multiple terminals.
7967
7968 * Makefile.in (pkglib_DATA): terminal.lst.
7969 (terminal.lst): New target.
7970 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
7971 (GRUB_MOD_INIT(handler)): Likewise.
7972 (GRUB_MOD_FINI(handler)): Likewise.
7973 * commands/help.c (grub_cmd_help): Handle multiple terminals.
7974 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
7975 * commands/sleep.c (do_print): Use grub_term_restore_pos.
7976 (grub_cmd_sleep): Use grub_term_save_pos.
7977 * commands/terminal.c: New file.
7978 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
7979 commands/terminal.c and lib/charset.c.
7980 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
7981 (pkglib_MODULES): Add terminal.mod.
7982 (terminal_mod_SOURCES): New variable.
7983 (terminal_mod_CFLAGS): Likewise.
7984 (terminal_mod_LDFLAGS): Likewise.
7985 * genhandlerlist.sh: Don't handle terminals.
7986 * genmk.rb: Generate terminal-*.lst.
7987 * genterminallist.sh: New file.
7988 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
7989 (grub_is_valid_utf8): Likewise.
7990 (grub_utf8_to_ucs4_alloc): Likewise.
7991 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
7992 (grub_menu_register_viewer): Changed argument.
7993 (grub_menu_try_text): New proto.
7994 (grub_gfxmenu_try_hook): New declaration.
7995 * include/grub/normal.h (grub_normal_exit_level): New declaration.
7996 (grub_menu_init_page): Additional argument term.
7997 (grub_normal_init_page): Likewise.
7998 (grub_cmdline_get): Arguments simplified.
7999 (grub_utf8_to_ucs4_alloc): Removed.
8000 (grub_print_ucs4): Additional argument term.
8001 (grub_getstringwidth): Likewise.
8002 (grub_print_message_indented): Likewise.
8003 (grub_menu_text_register_instances): New proto.
8004 (grub_show_menu): Likewise.
8005 (read_terminal_list): Likewise.
8006 (grub_set_more): Likewise.
8007 * include/grub/parser.h: Include handler.h.
8008 * include/grub/reader.h: Rewritten.
8009 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
8010 (GRUB_TERM_WIDTH): Changed to function.
8011 (GRUB_TERM_HEIGHT): Likewise.
8012 (GRUB_TERM_BORDER_WIDTH): Likewise.
8013 (GRUB_TERM_BORDER_HEIGHT): Likewise.
8014 (GRUB_TERM_NUM_ENTRIES): Likewise.
8015 (GRUB_TERM_ENTRY_WIDTH): Likewise.
8016 (GRUB_TERM_CURSOR_X): Likewise.
8017 (grub_term_input_class): Likewise.
8018 (grub_term_output_class): Likewise.
8019 (grub_term_outputs_disabled): New declaration.
8020 (grub_term_inputs_disabled): Likewise.
8021 (grub_term_outputs): Likewise.
8022 (grub_term_inputs): Likewise.
8023 (grub_term_register_input): Rewritten.
8024 (grub_term_register_output): Likewise.
8025 (grub_term_unregister_input): Likewise.
8026 (grub_term_unregister_output): Likewise.
8027 (FOR_ACTIVE_TERM_INPUTS): New macro.
8028 (FOR_DISABLED_TERM_INPUTS): Likewise.
8029 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
8030 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
8031 * include/grub/terminfo.h: Add oterm argument to all protypes.
8032 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
8033 Use grub_rescue_run.
8034 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
8035 All users updated.
8036 * kern/reader.c: Removed. All users updated.
8037 * kern/rescue_reader.c (grub_rescue_init): Removed.
8038 (grub_rescue_reader): Likewise.
8039 (grub_register_rescue_reader): Likewise.
8040 (grub_rescue_run): New function based on kern/reader.c.
8041 * kern/term.c: Adapted for multiterm.
8042 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
8043 (grub_is_valid_utf8): Likewise.
8044 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
8045 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
8046 right terminal.
8047 * loader/i386/linux.c (grub_linux_boot): Likewise.
8048 * normal/auth.c (grub_username_get): New function.
8049 (grub_auth_check_authentication): Use grub_username_get.
8050 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
8051 * normal/color.c: Adapt for multiterm.
8052 * normal/main.c (read_config_file): Don't use grub_reader_loop.
8053 (grub_normal_init_page): Additional argument term.
8054 (read_lists): Call read_terminal_lists.
8055 (grub_enter_normal_mode): Call grub_cmdline_run.
8056 Handle grub_normal_exit_level.
8057 (grub_cmd_normal): Make reentrant.
8058 (grub_cmd_normal_exit): New function.
8059 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
8060 * normal/menu.c: Adapt for multiterm.
8061 * normal/menu_entry.c: Likewise.
8062 * normal/menu_text.c: Likewise.
8063 * normal/menu_viewer.c: Removed. All users updated.
8064 * normal/term.c: New file.
8065 * util/console.c: Change order of includes to workaround a bug in
8066 ncurses headers.
8067 * term/terminfo.c: New argument oterm on all exported functions.
8068 All users updated.
8069 * util/grub-editenv.c (grub_term_input_class): Removed.
8070 (grub_term_output_class): Likewise.
8071
8072 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
8073
8074 Make loader output a bit more user-friendly.
8075
8076 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
8077 is being loaded. Likewise for the Hurd.
8078
8079 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
8080 that kernel of FreeBSD ${version} is being loaded.
8081
8082 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
8083 grub_dprintf().
8084 (grub_cmd_initrd): Likewise.
8085 * util/grub.d/10_linux.in (linux_entry): Print message indicating
8086 that Linux ${version} is being loaded. Likewise for initrd.
8087
8088 2010-01-09 Carles Pina i Estany <carles@pina.cat>
8089
8090 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
8091
8092 2010-01-08 Carles Pina i Estany <carles@pina.cat>
8093
8094 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
8095 (GRUB_MOD_INIT): Gettextizze.
8096 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
8097 (GRUB_MOD_INIT): Gettextizze.
8098 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
8099 (grub_cmd_linux): Capitalise Linux.
8100 (GRUB_MOD_INIT): Gettextizze.
8101 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
8102 (grub_cmd_linux): Capitalise Linux.
8103 (GRUB_MOD_INIT): Gettextizze.
8104 * loader/i386/linux.c: Include `<grub/i18n.h>'.
8105 (grub_cmd_linux): Capitalise Linux.
8106 (GRUB_MOD_INIT): Gettextizze.
8107 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
8108 (GRUB_MOD_INIT): Gettextizze.
8109 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
8110 (grub_cmd_linux): Capitalise Linux.
8111 (GRUB_MOD_INIT): Gettextizze.
8112 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
8113 (grub_cpu_xnu_init): Gettextizze.
8114 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
8115 (GRUB_MOD_INIT): Gettextizze.
8116 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
8117 (GRUB_MOD_INIT): Gettextizze.
8118 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
8119 (grub_linux_load64): Capitalise Linux.
8120 (GRUB_MOD_INIT): Gettextizze.
8121 * loader/xnu.c: Include `<grub/i18n.h>'.
8122 (GRUB_MOD_INIT): Gettextizze.
8123 * po/POTFILES: Add `loader/efi/appleloader.c',
8124 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
8125 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
8126 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
8127 `loader/i386/xnu.c', `loader/multiboot_loader.c',
8128 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
8129 and `loader/xnu.c'.
8130
8131 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
8132
8133 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
8134
8135 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
8136
8137 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
8138 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
8139 * util/mkisofs/mkisofs.c (main): Readjust --version output.
8140
8141 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
8142
8143 Reset Multiboot 2 support. New loader implements the draft in
8144 /branches/multiboot2 and shares as much code as possible with the
8145 production Multiboot 1 implementation.
8146
8147 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
8148 * loader/multiboot2.c: Likewise.
8149 * loader/i386/multiboot_helper.S: Likewise.
8150 * include/multiboot2.h: Replace with latest version from the draft
8151 in /branches/multiboot2.
8152
8153 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
8154 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
8155 and `loader/multiboot2.c'.
8156 (pkglib_MODULES): Add `multiboot2.mod'.
8157 (multiboot2_mod_SOURCES): New variable.
8158 (multiboot2_mod_LDFLAGS): Likewise.
8159 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
8160
8161 * conf/i386-pc.rmk: Likewise.
8162
8163 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
8164 (multiboot_mod_SOURCES): Remove variable.
8165 (multiboot_mod_LDFLAGS): Likewise.
8166 (multiboot_mod_CFLAGS): Likewise.
8167
8168 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
8169 `<multiboot2.h>' instead of `<multiboot.h>'.
8170 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
8171 (MULTIBOOT_HEADER_MAGIC): New macros.
8172
8173 * loader/multiboot_loader.c (module_version_status): Remove variable.
8174 (find_multi_boot2_header): Remove function.
8175 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
8176 logic. Always check for the Multiboot version we're compiling for.
8177 (grub_cmd_module_loader): Likewise.
8178 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
8179 command instead of `multiboot'.
8180
8181 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
8182
8183 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
8184 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
8185 all users.
8186
8187 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
8188 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 Fix breakage introduced with previous commit.
8191
8192 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
8193 commands.
8194 * normal/handler.c (read_handler_list): Revert part of previous commit
8195 affecting this file.
8196 * normal/main.c (read_lists): Move read_handler_list() call back to ...
8197 (grub_normal_execute): ... here.
8198
8199 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
8200
8201 Merge prefix-redefinition-fix branch.
8202
8203 * normal/autofs.c (read_fs_list): Make function capable of being
8204 run multiple times, gracefuly replacing the previous data
8205 structures.
8206 * normal/dyncmd.c (read_command_list): Likewise.
8207 * normal/handler.c (read_handler_list): Likewise.
8208 * normal/main.c (read_lists): New function. Calls all the
8209 list reading functions.
8210 (grub_normal_execute): Use read_lists() instead of calling all
8211 list reading functions explicitly. Register read_lists() as a
8212 variable hook attached to ${prefix}.
8213
8214 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 Merge crypto branch.
8217
8218 * Makefile.in (pkglib_DATA): Add crypto.lst.
8219 (crypto.lst): New target.
8220 * commands/hashsum.c: New file.
8221 * commands/password.c (check_password): Use grub_crypto_memcmp.
8222 * commands/password_pbkdf2.c: New file.
8223 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
8224 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
8225 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
8226 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
8227 -I$(srcdir)/lib/libgcrypt_wrap.
8228 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
8229 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
8230 password_pbkdf2.mod.
8231 (crypto_mod_SOURCES): New variable.
8232 (crypto_mod_CFLAGS): Likewise.
8233 (crypto_mod_LDFLAGS): Likewise.
8234 (hashsum_mod_SOURCES): New variable.
8235 (hashsum_mod_CFLAGS): Likewise.
8236 (hashsum_mod_LDFLAGS): Likewise.
8237 (pbkdf2_mod_SOURCES): New variable.
8238 (pbkdf2_mod_CFLAGS): Likewise.
8239 (pbkdf2_mod_LDFLAGS): Likewise.
8240 (password_pbkdf2_mod_SOURCES): New variable.
8241 (password_pbkdf2_mod_CFLAGS): Likewise.
8242 (password_pbkdf2_mod_LDFLAGS): Likewise.
8243 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
8244 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
8245 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
8246 Include conf/gcry.rmk.
8247 * include/grub/auth.h: Rewritten.
8248 * include/grub/crypto.h: New file.
8249 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
8250 * include/grub/normal.h (read_crypto_list): New prototype.
8251 * lib/crypto.c: New file.
8252 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
8253 * lib/pbkdf2.c: Likewise.
8254 * normal/auth.c (grub_auth_strcmp): Removed.
8255 (grub_iswordseparator): Likewise.
8256 (grub_auth_strword): Likewise.
8257 (is_authenticated): Use grub_strword.
8258 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
8259 and grub_strword. Pass entered password to authentication callback.
8260 * normal/crypto.c: New file.
8261 * normal/main.c: Call read_crypto_list.
8262 * util/grub-mkpasswd-pbkdf2.c: New file.
8263 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
8264
8265 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 Fix descent and ascent calculation.
8268
8269 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
8270 (options): New option "asce".
8271 (usage): Likewise.
8272 (add_char): Ignore invalid glyphs for descent calculation.
8273 Calculate ascent from actual content.
8274 (print_glyphs): Use 'asce'.
8275 (write_font): Likewise. Allow ascent override.
8276 (main): Handle "asce" option.
8277
8278 2010-01-06 Carles Pina i Estany <carles@pina.cat>
8279
8280 * kern/err.c: Include `<grub/i18n.h>'.
8281 (grub_print_error): Add full stop. Gettextizze.
8282 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
8283 (grub_bsd_load_elf): Capitalise ELF.
8284 (grub_cmd_freebsd_loadenv): Add `s' in error string.
8285 (grub_cmd_freebsd_module): Likewise.
8286 (grub_cmd_freebsd_module_elf): Likewise.
8287 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
8288
8289 2010-01-06 Carles Pina i Estany <carles@pina.cat>
8290
8291 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
8292 * commands/search_file.c (HELP_MESSAGE): New macro.
8293 * commands/search_label.c (HELP_MESSAGE): Likewise.
8294 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
8295 * po/POTFILES: Add `commands/search_file.c',
8296 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
8297 `commands/search.c'.
8298
8299 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
8300
8301 * config.rpath: Update from Gnulib.
8302
8303 2010-01-05 Yves Blusseau <blusseau@zetam.org>
8304
8305 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
8306
8307 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
8308
8309 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
8310
8311 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
8312
8313 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
8314 arguments to fread so that we get a return value in bytes, rather
8315 than something that will normally be rounded down to 0.
8316 Adjust error handling to avoid producing garbage when size_t is not
8317 the same size as long long.
8318
8319 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
8320
8321 * util/mkisofs/write.c (padblock_write): Check return value of
8322 fread.
8323
8324 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
8325
8326 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
8327 floppy images now.
8328
8329 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
8330
8331 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
8332
8333 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
8334 instead of manual alignment.
8335 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
8336 verbose). Avoid attempts to read past end of the device
8337 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
8338 but GRUB_DISK_CACHE_SIZE may exceed that).
8339
8340 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
8341
8342 * commands/crc.c (grub_cmd_crc): Abort on read errors.
8343 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
8344 it to upper layer.
8345
8346 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
8349 New constant.
8350 (grub_efi_piwg_device_path): New structure
8351 (grub_efi_piwg_device_path_t): New type.
8352 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
8353 (devpath_1): Transform to a structure. All users updated.
8354 (devpath_2): Likewise.
8355 (devpath_3): Likewise.
8356 (devpath_4): Likewise.
8357 (devpath_5): Likewise.
8358
8359 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 * loader/efi/appleloader.c: Restored. Update all users.
8362
8363 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
8364
8365 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
8366
8367 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
8368 (struct boot_blocklist): Move from here ...
8369 * include/grub/i386/pc/boot.h [ASM_FILE]
8370 (struct grub_boot_blocklist): ... to here. Update all users.
8371 (setup): Only initialize `start' member of `first_block'
8372 structure. Add assert() calls to verify the other members.
8373
8374 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
8375 (generate_image): Fix broken blocklist length initialization.
8376 Add assert() call to verify blocklist `segment' field.
8377
8378 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
8379
8380 * loader/efi/appleloader.c: Remove. Update all users.
8381
8382 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
8383
8384 * boot/i386/pc/boot.S: Update copyright year.
8385 * boot/i386/pc/cdboot.S: Likewise.
8386 * boot/i386/pc/diskboot.S: Likewise.
8387 * boot/i386/pc/lnxboot.S: Likewise.
8388 * boot/i386/pc/pxeboot.S: Likewise.
8389 * bus/pci.c: Likewise.
8390 * commands/cmp.c: Likewise.
8391 * commands/help.c: Likewise.
8392 * commands/hexdump.c: Likewise.
8393 * commands/i386/pc/halt.c: Likewise.
8394 * commands/i386/pc/play.c: Likewise.
8395 * commands/i386/pc/vbeinfo.c: Likewise.
8396 * commands/ls.c: Likewise.
8397 * commands/test.c: Likewise.
8398 * disk/dmraid_nvidia.c: Likewise.
8399 * disk/i386/pc/biosdisk.c: Likewise.
8400 * disk/ieee1275/nand.c: Likewise.
8401 * disk/ieee1275/ofdisk.c: Likewise.
8402 * disk/lvm.c: Likewise.
8403 * disk/raid.c: Likewise.
8404 * disk/raid6_recover.c: Likewise.
8405 * disk/scsi.c: Likewise.
8406 * fs/affs.c: Likewise.
8407 * fs/cpio.c: Likewise.
8408 * fs/ext2.c: Likewise.
8409 * fs/hfs.c: Likewise.
8410 * fs/iso9660.c: Likewise.
8411 * fs/ntfs.c: Likewise.
8412 * fs/sfs.c: Likewise.
8413 * fs/udf.c: Likewise.
8414 * fs/ufs.c: Likewise.
8415 * fs/xfs.c: Likewise.
8416 * gencmdlist.sh: Likewise.
8417 * genmk.rb: Likewise.
8418 * include/grub/disk.h: Likewise.
8419 * include/grub/efi/api.h: Likewise.
8420 * include/grub/efi/efi.h: Likewise.
8421 * include/grub/efi/pe32.h: Likewise.
8422 * include/grub/elf.h: Likewise.
8423 * include/grub/fs.h: Likewise.
8424 * include/grub/i386/at_keyboard.h: Likewise.
8425 * include/grub/i386/pc/memory.h: Likewise.
8426 * include/grub/i386/pc/vbe.h: Likewise.
8427 * include/grub/i386/pci.h: Likewise.
8428 * include/grub/i386/tsc.h: Likewise.
8429 * include/grub/ieee1275/ieee1275.h: Likewise.
8430 * include/grub/ntfs.h: Likewise.
8431 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
8432 * include/grub/sparc64/libgcc.h: Likewise.
8433 * include/grub/symbol.h: Likewise.
8434 * include/grub/types.h: Likewise.
8435 * include/multiboot2.h: Likewise.
8436 * io/gzio.c: Likewise.
8437 * kern/device.c: Likewise.
8438 * kern/disk.c: Likewise.
8439 * kern/efi/efi.c: Likewise.
8440 * kern/efi/mm.c: Likewise.
8441 * kern/elf.c: Likewise.
8442 * kern/file.c: Likewise.
8443 * kern/i386/dl.c: Likewise.
8444 * kern/i386/pc/init.c: Likewise.
8445 * kern/i386/pc/startup.S: Likewise.
8446 * kern/ieee1275/ieee1275.c: Likewise.
8447 * kern/ieee1275/init.c: Likewise.
8448 * kern/main.c: Likewise.
8449 * kern/mm.c: Likewise.
8450 * kern/powerpc/dl.c: Likewise.
8451 * kern/sparc64/dl.c: Likewise.
8452 * kern/x86_64/dl.c: Likewise.
8453 * lib/hexdump.c: Likewise.
8454 * loader/efi/appleloader.c: Likewise.
8455 * loader/i386/ieee1275/linux.c: Likewise.
8456 * loader/i386/pc/chainloader.c: Likewise.
8457 * loader/i386/pc/linux.c: Likewise.
8458 * loader/i386/pc/multiboot2.c: Likewise.
8459 * loader/ieee1275/multiboot2.c: Likewise.
8460 * loader/multiboot2.c: Likewise.
8461 * loader/multiboot_loader.c: Likewise.
8462 * loader/powerpc/ieee1275/linux.c: Likewise.
8463 * normal/completion.c: Likewise.
8464 * normal/menu_entry.c: Likewise.
8465 * partmap/apple.c: Likewise.
8466 * util/grub.d/10_hurd.in: Likewise.
8467 * util/hostfs.c: Likewise.
8468 * video/readers/png.c: Likewise.
8469
8470 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
8471
8472 * include/grub/misc.h (GNUC_PREREQ): New macro.
8473 (ATTRIBUTE_ERROR): New macro.
8474 * include/grub/list.h (grub_bad_type_cast_real): Use
8475 ATTRIBUTE_ERROR.
8476
8477 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8478
8479 * normal/menu_text.c (print_message): Change messages.
8480
8481 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8482
8483 * normal/menu_entry.c (store_completion): Gettextizze.
8484
8485 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8486
8487 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
8488
8489 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8490
8491 * po/POTFILES: Sort correctly.
8492
8493 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8494
8495 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
8496 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
8497 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
8498 full stop.
8499 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
8500 summary. Gettextizze the strings.
8501 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
8502 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
8503 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
8504 full stop.
8505 (GRUB_MOD_INIT): Remove command name from summary.
8506 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
8507 summary.
8508 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
8509 * term/i386/pc/serial.c (options): Add full stops.
8510 (GRUB_MOD_INIT): Remove command name from the summary.
8511
8512 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8513
8514 * commands/acpi.c: Gettextizze help strings and/or options. Include
8515 `grub/i18n.h' if needed.
8516 * commands/blocklist.c: Likewise.
8517 * commands/boot.c: Likewise.
8518 * commands/cat.c: Likewise.
8519 * commands/cmp.c: Likewise.
8520 * commands/configfile.c: Likewise.
8521 * commands/crc.c: Likewise.
8522 * commands/date.c: Likewise.
8523 * commands/echo.c: Likewise.
8524 * commands/efi/fixvideo.c: Likewise.
8525 * commands/efi/loadbios.c: Likewise.
8526 * commands/gptsync.c: Likewise.
8527 * commands/halt.c: Likewise.
8528 * commands/handler.c: Likewise.
8529 * commands/hdparm.c: Likewise.
8530 * commands/hexdump.c: Likewise.
8531 * commands/i386/cpuid.c: Likewise.
8532 * commands/i386/pc/drivemap.c: Likewise.
8533 * commands/i386/pc/halt.c: Likewise.
8534 * commands/i386/pc/pxecmd.c: Likewise.
8535 * commands/i386/pc/vbeinfo.c: Likewise.
8536 * commands/i386/pc/vbetest.c: Likewise.
8537 * commands/ieee1275/suspend.c: Likewise.
8538 * commands/keystatus.c: Likewise.
8539 * commands/loadenv.c: Likewise.
8540 * commands/ls.c: Likewise.
8541 * commands/lsmmap.c: Likewise.
8542 * commands/lspci.c: Likewise.
8543 * commands/memrw.c: Likewise.
8544 * commands/minicmd.c: Likewise.
8545 * commands/parttool.c: Likewise.
8546 * commands/password.c: Likewise.
8547 * commands/probe.c: Likewise.
8548 * commands/read.c: Likewise.
8549 * commands/reboot.c: Likewise.
8550 * commands/search.c: Likewise.
8551 * commands/sleep.c: Likewise.
8552 * commands/test.c: Likewise.
8553 * commands/true.c: Likewise.
8554 * commands/usbtest.c: Likewise.
8555 * commands/videotest.c: Likewise.
8556 * commands/xnu_uuid.c: Likewise.
8557 * disk/loopback.c: Likewise.
8558 * hello/hello.c: Likewise.
8559 * loader/i386/bsd.c: Likewise.
8560 * term/i386/pc/serial.c: Likewise.
8561 * po/POTFILES: Add new files.
8562
8563 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
8564
8565 * term/i386/pc/at_keyboard.c
8566 (keyboard_controller_wait_untill_ready): Rename to ...
8567 (keyboard_controller_wait_until_ready): ... this. Update all users.
8568
8569 2010-01-01 Carles Pina i Estany <carles@pina.cat>
8570
8571 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
8572 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
8573 string using string width.
8574 * normal/menu_text.c (grub_print_message_indented): Use
8575 grub_print_spaces and not print_spaces.
8576 (print_timeout): Likewise.
8577 (print_spaces): Move to...
8578 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
8579
8580 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
8581
8582 Import from Gnulib.
8583
8584 * gnulib/getdelim.c: New file.
8585 * gnulib/getline.c: Likewise.
8586
8587 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
8588
8589 * include/grub/list.h (grub_assert_fail): Removed.
8590 (grub_bad_type_cast_real): New function.
8591 (grub_bad_type_cast): New macro.
8592 (GRUB_AS_LIST): Use grub_bad_type_cast.
8593 (GRUB_AS_LIST_P): Likewise.
8594 (GRUB_AS_NAMED_LIST): Likewise.
8595 (GRUB_AS_NAMED_LIST_P): Likewise.
8596 (GRUB_AS_PRIO_LIST): Likewise.
8597 (GRUB_AS_PRIO_LIST_P): Likewise.
8598 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
8599
8600 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
8601
8602 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
8603 Fix syntax error.
8604
8605 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
8606
8607 * configure.ac: Check for TARGET_CFLAGS initialization before we
8608 initialize it ourselves (sigh).
8609 Move a few modifications to TARGET_CFLAGS to be unconditional
8610 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
8611 eh_frame)
8612
8613 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
8614 * term/i386/pc/at_keyboard.c
8615 (keyboard_controller_wait_untill_ready): Likewise.
8616 (keyboard_controller_led): Rename `led_status' paramter to avoid
8617 name conflict.
8618
8619 2009-12-28 Carles Pina i Estany <carles@pina.cat>
8620
8621 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
8622 quotes.
8623
8624 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
8627
8628 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * normal/menu_text.c (grub_print_message_indented): Prevent
8631 past-the-end-of-array dereference.
8632
8633 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
8636 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
8637
8638 2009-12-27 Carles Pina i Estany <carles@pina.cat>
8639
8640 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
8641 * normal/main.c (grub_normal_read_line): Remove a space from the
8642 default prompt.
8643
8644 2009-12-27 Carles Pina i Estany <carles@pina.cat>
8645
8646 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
8647 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8648 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
8649 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
8650 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8651 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8652 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
8653
8654 2009-12-26 Carles Pina i Estany <carles@pina.cat>
8655
8656 * video/readers/jpeg.c (cmd): Declare.
8657 (grub_cmd_jpegtest): Use `grub_command_t' type.
8658 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
8659 Assign to `cmd'.
8660 (GRUB_MOD_FINI): Use `cmd' to unregister.
8661 * video/readers/png.c (cmd): Declare.
8662 (grub_cmd_pngtest): Use `grub_command_t' type.
8663 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
8664 Assign to `cmd'.
8665 (GRUB_MOD_FINI): Use `cmd' to unregister.
8666 * video/readers/tga.c (cmd): Declare.
8667 (grub_cmd_tgatest): Use `grub_command_t' type.
8668 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
8669 Assign to `cmd'.
8670 (GRUB_MOD_FINI): Use `cmd' to unregister.
8671
8672 2009-12-26 Carles Pina i Estany <carles@pina.cat>
8673
8674 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
8675 stops.
8676 * kern/corecmd.c (grub_register_core_commands): Likewise.
8677 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
8678 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
8679 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
8680 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8681 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
8682 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
8683 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
8684 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
8685 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8686 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8687 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
8688 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8689 * normal/handler.c (insert_handler): Likewise.
8690 * normal/main.c (GRUB_MOD_INIT): Likewise.
8691 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8692
8693 2009-12-26 Carles Pina i Estany <carles@pina.cat>
8694
8695 * commands/help.c (grub_cmd_help): Print the command name before the
8696 summary.
8697 (GRUB_MOD_INIT): Remove command name from the summary.
8698 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
8699 string as summary.
8700 * lib/arg.c (find_long): Print the command name before the summary.
8701 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
8702 summary.
8703 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
8704 * commands/cat.c (GRUB_MOD_INIT): Likewise.
8705 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
8706 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
8707 * commands/crc.c (GRUB_MOD_INIT): Likewise.
8708 * commands/date.c (GRUB_MOD_INIT): Likewise.
8709 * commands/echo.c (GRUB_MOD_INIT): Likewise.
8710 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
8711 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
8712 * commands/handler.c (GRUB_MOD_INIT): Likewise.
8713 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
8714 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
8715 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
8716 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
8717 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
8718 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
8719 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
8720 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
8721 * commands/ls.c (GRUB_MOD_INIT): Likewise.
8722 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
8723 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
8724 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
8725 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
8726 * commands/password.c (GRUB_MOD_INIT): Likewise.
8727 * commands/probe.c (GRUB_MOD_INIT): Likewise.
8728 * commands/read.c (GRUB_MOD_INIT): Likewise.
8729 * commands/search.c (GRUB_MOD_INIT): Likewise.
8730 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
8731 * commands/test.c (GRUB_MOD_INIT): Likewise.
8732 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
8733 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8734 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8735 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
8736 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8737 * lib/arg.c (GRUB_MOD_INIT): Likewise.
8738 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
8739 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
8740 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
8741 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8742 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8743 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
8744 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
8745 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
8746
8747 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 Use search command for preliminar UUID search.
8750
8751 * commands/search.c: Split into ...
8752 * commands/search_wrap.c: ...this
8753 * commands/search.c: ...and this.
8754 * commands/search_file.c: New file.
8755 * commands/search_label.c: New file.
8756 * commands/search_uuid.c: New file.
8757 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
8758 Add commands/search_wrap.c, commands/search_file.c,
8759 commands/search_label.c and commands/search_uuid.c.
8760 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
8761 (search_mod_SOURCES): Set to commands/search_wrap.c.
8762 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
8763 search_label.mod.
8764 (search_fs_file_mod_SOURCES): New variable.
8765 (search_fs_file_mod_CFLAGS): Likewise.
8766 (search_fs_file_mod_LDFLAGS): Likewise.
8767 (search_label_mod_SOURCES): Likewise.
8768 (search_label_mod_CFLAGS): Likewise.
8769 (search_label_mod_LDFLAGS): Likewise.
8770 (search_fs_uuid_mod_SOURCES): New variable.
8771 (search_fs_uuid_mod_CFLAGS): Likewise.
8772 (search_fs_uuid_mod_LDFLAGS): Likewise.
8773 (fs_file_mod_SOURCES): Removed.
8774 (fs_file_mod_CFLAGS): Likewise.
8775 (fs_file_mod_LDFLAGS): Likewise.
8776 (fs_uuid_mod_SOURCES): Removed.
8777 (fs_uuid_mod_CFLAGS): Likewise.
8778 (fs_uuid_mod_LDFLAGS): Likewise.
8779 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
8780 Set to util/grub-install.in.
8781 * disk/fs_file.c: Removed.
8782 * disk/fs_uuid.c: Likewise.
8783 * include/grub/search.h: New file.
8784 * util/grub-install.in: Handle sparc64.
8785 Create and use load.cfg.
8786 * util/sparc64/ieee1275/grub-install.in: Removed.
8787
8788 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
8791 Ignore return status if CF is cleared.
8792 (grub_biosdisk_get_diskinfo_standard): Likewise.
8793
8794 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
8795
8796 * term/i386/pc/at_keyboard.c
8797 (keyboard_controller_wait_untill_ready): New function.
8798 (grub_keyboard_controller_write, grub_keyboard_controller_read)
8799 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
8800 for keyboard polling, rather than duplicate the same loop. This
8801 saves a few bytes in code size.
8802
8803 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 Support for (pxe[:server[:gateway]]) syntax and
8806 use environment variable for PXE.
8807
8808 * commands/i386/pc/pxecmd.c (options): Removed.
8809 (print_ip): Removed.
8810 (grub_cmd_pxe): Removed
8811 (grub_cmd_pxe_unload): New function.
8812 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
8813 (grub_pxe_your_ip): Made static.
8814 (grub_pxe_default_server_ip): Likewise.
8815 (grub_pxe_default_gateway_ip): Likewise.
8816 (grub_pxe_blksize): Likewise.
8817 (parse_ip): New function.
8818 (grub_pxe_open): Support server and gateway specification.
8819 (grub_pxe_close): Free disk->data.
8820 (grub_pxefs_open): Use disk->data.
8821 (grub_pxefs_read): Likewise.
8822 (grub_env_write_readonly): New function.
8823 (set_mac_env): Likewise.
8824 (set_env_limn_ro): Likewise.
8825 (parse_dhcp_vendor): Likewise.
8826 (grub_pxe_detect): Set the environment variables.
8827 (set_ip_env): New function.
8828 (write_ip_env): Likewise.
8829 (grub_env_write_pxe_default_server): Likewise.
8830 (grub_env_write_pxe_default_gateway): Likewise.
8831 (grub_env_write_pxe_blocksize): Likewise.
8832 (GRUB_MOD_INIT(pxe)): Set environment variables.
8833 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
8834 (grub_pxe_mac_addr_t): ... this. All users updated.
8835 (grub_pxe_your_ip): Removed.
8836 (grub_pxe_server_ip): Likewise.
8837 (grub_pxe_gateway_ip): Likewise.
8838 (grub_pxe_blksize): Likewise.
8839
8840 2009-12-25 Carles Pina i Estany <carles@pina.cat>
8841
8842 * commands/help.c: Include `<grub/i18n.h>'.
8843 (grub_cmd_help): Gettextizze.
8844 (GRUB_MOD_INIT): Likewise.
8845 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
8846 (GRUB_MOD_INIT): Gettextizze.
8847 * commands/search.c: Include `<grub/i18n.h>'.
8848 (options): Gettextizze.
8849 (GRUB_MOD_INIT): Gettextizze.
8850 * lib/arg.c: Include `<grub/i18n.h>'.
8851 (help_options): Gettextizze.
8852 (find_long): Likewise.
8853 (grub_arg_show_help): Likewise.
8854 * normal/dyncmd.c: Include `<grub/i18n.h>'.
8855 (read_command_list): Gettextizze.
8856 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
8857 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
8858
8859 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
8860
8861 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
8862 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
8863 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
8864 (led_status): New variable.
8865 (keyboard_controller_led): New function.
8866 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
8867 update led status for caps lock, num lock and scroll lock.
8868
8869 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
8870
8871 * util/hostdisk.c (open_device): Fix a comment.
8872
8873 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8874
8875 * util/grub-install.in (host_os): New variable.
8876 * util/i386/efi/grub-install.in (host_os): Likewise.
8877
8878 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8879
8880 * util/mkisofs/write.c (padblock_write): Abort when given an
8881 excedingly large embed image, instead of silently truncating it.
8882
8883 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8884
8885 * include/multiboot.h: Indentation fixes.
8886
8887 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8888
8889 * include/multiboot.h (struct multiboot_aout_symbol_table)
8890 (struct multiboot_elf_section_header_table): New structure
8891 declarations (stolen from GRUB Legacy).
8892 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
8893 table information.
8894
8895 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
8896 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
8897 type aliases.
8898
8899 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8900
8901 * include/multiboot.h: Make comments src2texi-friendly.
8902
8903 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8904
8905 For consistency with [multiboot]/docs/boot.S.
8906
8907 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
8908 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
8909 (MULTIBOOT_MAGIC2): Rename from this ...
8910 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
8911
8912 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8913
8914 * include/multiboot.h: Remove `<grub/types.h>'.
8915 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
8916 types. Update all users.
8917
8918 2009-12-25 Carles Pina i Estany <carles@pina.cat>
8919
8920 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
8921 `couldn't' and `can not' by `cannot'.
8922 * commands/i386/pc/drivemap.c: Likewise.
8923 * disk/ata.c: Likewise.
8924 * disk/ieee1275/nand.c: Likewise.
8925 * fs/affs.c: Likewise.
8926 * fs/fat.c: Likewise.
8927 * fs/hfs.c: Likewise.
8928 * fs/hfsplus.c: Likewise.
8929 * fs/iso9660.c: Likewise.
8930 * fs/jfs.c: Likewise.
8931 * fs/minix.c: Likewise.
8932 * fs/reiserfs.c: Likewise.
8933 * fs/sfs.c: Likewise.
8934 * fs/udf.c: Likewise.
8935 * fs/ufs.c: Likewise.
8936 * fs/xfs.c: Likewise.
8937 * loader/powerpc/ieee1275/linux.c: Likewise.
8938 * loader/sparc64/ieee1275/linux.c: Likewise.
8939 * util/grub-probe.c: Likewise.
8940 * util/misc.c: Likewise.
8941
8942 2009-12-24 Carles Pina i Estany <carles@pina.cat>
8943
8944 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
8945 grub_errno calls.
8946 * commands/acpi.c: Likewise.
8947 * commands/blocklist.c: Likewise.
8948 * commands/efi/loadbios.c: Likewise.
8949 * commands/i386/pc/drivemap.c: Likewise.
8950 * commands/loadenv.c: Likewise.
8951 * commands/memrw.c: Likewise.
8952 * commands/password.c: Likewise.
8953 * commands/videotest.c: Likewise.
8954 * disk/ata.c: Likewise.
8955 * disk/ata_pthru.c: Likewise.
8956 * disk/dmraid_nvidia.c: Likewise.
8957 * disk/ieee1275/nand.c: Likewise.
8958 * disk/ieee1275/ofdisk.c: Likewise.
8959 * disk/loopback.c: Likewise.
8960 * disk/lvm.c: Likewise.
8961 * disk/mdraid_linux.c: Likewise.
8962 * disk/raid.c: Likewise.
8963 * disk/raid6_recover.c: Likewise.
8964 * disk/scsi.c: Likewise.
8965 * efiemu/main.c: Likewise.
8966 * efiemu/mm.c: Likewise.
8967 * efiemu/pnvram.c: Likewise.
8968 * efiemu/symbols.c: Likewise.
8969 * font/font.c: Likewise.
8970 * fs/cpio.c: Likewise.
8971 * fs/hfsplus.c: Likewise.
8972 * fs/iso9660.c: Likewise.
8973 * fs/jfs.c: Likewise.
8974 * fs/minix.c: Likewise.
8975 * fs/ntfs.c: Likewise.
8976 * fs/ntfscomp.c: Likewise.
8977 * fs/reiserfs.c: Likewise.
8978 * fs/ufs.c: Likewise.
8979 * fs/xfs.c: Likewise.
8980 * gettext/gettext.c: Likewise.
8981 * include/grub/auth.h: Likewise.
8982 * kern/elf.c: Likewise.
8983 * kern/file.c: Likewise.
8984 * kern/ieee1275/init.c: Likewise.
8985 * kern/ieee1275/mmap.c: Likewise.
8986 * kern/ieee1275/openfw.c: Likewise.
8987 * kern/powerpc/dl.c: Likewise.
8988 * kern/sparc64/dl.c: Likewise.
8989 * lib/arg.c: Likewise.
8990 * loader/i386/bsd.c: Likewise.
8991 * loader/i386/bsdXX.c: Likewise.
8992 * loader/i386/efi/linux.c: Likewise.
8993 * loader/i386/efi/xnu.c: Likewise.
8994 * loader/i386/ieee1275/linux.c: Likewise.
8995 * loader/i386/linux.c: Likewise.
8996 * loader/i386/multiboot.c: Likewise.
8997 * loader/i386/pc/linux.c: Likewise.
8998 * loader/i386/pc/multiboot2.c: Likewise.
8999 * loader/i386/xnu.c: Likewise.
9000 * loader/ieee1275/multiboot2.c: Likewise.
9001 * loader/macho.c: Likewise.
9002 * loader/machoXX.c: Likewise.
9003 * loader/multiboot2.c: Likewise.
9004 * loader/multiboot_loader.c: Likewise.
9005 * loader/powerpc/ieee1275/linux.c: Likewise.
9006 * loader/sparc64/ieee1275/linux.c: Likewise.
9007 * loader/xnu.c: Likewise.
9008 * loader/xnu_resume.c: Likewise.
9009 * mmap/i386/pc/mmap.c: Likewise.
9010 * normal/menu_viewer.c: Likewise.
9011 * partmap/acorn.c: Likewise.
9012 * partmap/amiga.c: Likewise.
9013 * partmap/apple.c: Likewise.
9014 * script/lexer.c: Likewise.
9015 * term/gfxterm.c: Likewise.
9016 * term/i386/pc/serial.c: Likewise.
9017 * term/i386/pc/vga.c: Likewise.
9018 * term/ieee1275/ofconsole.c: Likewise.
9019 * term/terminfo.c: Likewise.
9020 * video/bitmap.c: Likewise.
9021 * video/efi_gop.c: Likewise.
9022 * video/efi_uga.c: Likewise.
9023 * video/fb/video_fb.c: Likewise.
9024 * video/i386/pc/vbe.c: Likewise.
9025 * video/readers/tga.c: Likewise.
9026 * video/video.c: Likewise.
9027
9028 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
9029
9030 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
9031 * commands/lspci.c: Likewise.
9032 * commands/probe.c: Likewise.
9033 * commands/xnu_uuid.c: Likewise.
9034 * conf/i386-coreboot.rmk: Likewise.
9035 * conf/i386-efi.rmk: Likewise.
9036 * conf/i386-ieee1275.rmk: Likewise.
9037 * conf/i386-pc.rmk: Likewise.
9038 * conf/powerpc-ieee1275.rmk: Likewise.
9039 * conf/sparc64-ieee1275.rmk: Likewise.
9040 * conf/x86_64-efi.rmk: Likewise.
9041 * fs/i386/pc/pxe.c: Likewise.
9042 * gettext/gettext.c: Likewise.
9043 * include/grub/efi/graphics_output.h: Likewise.
9044 * include/grub/i386/pc/memory.h: Likewise.
9045 * kern/env.c: Likewise.
9046 * kern/i386/qemu/startup.S: Likewise.
9047 * lib/i386/pc/biosnum.c: Likewise.
9048 * lib/i386/relocator.c: Likewise.
9049 * lib/i386/relocator_asm.S: Likewise.
9050 * lib/relocator.c: Likewise.
9051 * loader/i386/bsd.c: Likewise.
9052 * loader/i386/multiboot.c: Likewise.
9053 * loader/i386/pc/chainloader.c: Likewise.
9054 * loader/i386/xnu.c: Likewise.
9055 * loader/xnu.c: Likewise.
9056 * normal/main.c: Likewise.
9057 * normal/menu_text.c: Likewise.
9058 * util/getroot.c: Likewise.
9059 * util/grub-mkconfig_lib.in: Likewise.
9060 * util/grub.d/00_header.in: Likewise.
9061 * util/i386/pc/grub-mkimage.c: Likewise.
9062 * util/mkisofs/eltorito.c: Likewise.
9063 * util/mkisofs/exclude.h: Likewise.
9064 * util/mkisofs/hash.c: Likewise.
9065 * util/mkisofs/iso9660.h: Likewise.
9066 * util/mkisofs/joliet.c: Likewise.
9067 * util/mkisofs/mkisofs.c: Likewise.
9068 * util/mkisofs/mkisofs.h: Likewise.
9069 * util/mkisofs/multi.c: Likewise.
9070 * util/mkisofs/name.c: Likewise.
9071 * util/mkisofs/rock.c: Likewise.
9072 * util/mkisofs/tree.c: Likewise.
9073 * util/mkisofs/write.c: Likewise.
9074 * video/efi_gop.c: Likewise.
9075
9076 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
9079 size counting.
9080
9081 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
9082
9083 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
9084 * genmk.rb (class SCRIPT): Modify the target file instead of source.
9085
9086 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
9089 (GRUB_MOD_INIT(memrw)): Update help line.
9090
9091 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
9094 Use grub_extcmd_t. All users updated.
9095 (options): New variable.
9096 (grub_cmd_read): Restructure for readability. Support "-v" option.
9097 (grub_cmd_write): Restructure for readability.
9098
9099 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
9100
9101 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
9102
9103 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
9104
9105 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
9106 with the actual contents of the correspondending make variable.
9107 * util/grub-mkrescue.in (pkglib_DATA): New variable.
9108 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
9109 specifying `*.lst' and `efiemu??.o'
9110
9111 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
9112
9113 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
9114 after function name.
9115 Noticed by Rene Engelhard <rene@debian.org>.
9116
9117 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
9120 (options): New variable.
9121 (iospace): Likewise.
9122 (grub_lspci_iter): List IO spaces if "-i" was given.
9123 (grub_cmd_lspci): Parse options.
9124 (GRUB_MOD_INIT(lspci)): Use extcmd.
9125 (GRUB_MOD_FINI(lspci)): Likewise.
9126
9127 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
9128
9129 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
9130 `function' keyword.
9131 Patch by Tony Mancill <tmancill@debian.org>.
9132
9133 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
9136 (grub_uhci_portstatus): Likewise.
9137 (grub_uhci_portstatus): Add necessary delay.
9138 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
9139
9140 2009-12-21 Carles Pina i Estany <carles@pina.cat>
9141
9142 * commands/acpi.c (options): Fix capitalizations and/or full stops.
9143 (GRUB_MOD_INIT): Likewise.
9144 * commands/boot.c (GRUB_MOD_INIT): Likewise.
9145 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
9146 * commands/echo.c (options): Fix capitalizations and/or full stops.
9147 * commands/efi/loadbios.c (enable_rom_area): Likewise.
9148 (enable_rom_area): Likewise.
9149 (GRUB_MOD_INIT): Likewise.
9150 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
9151 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
9152 * commands/handler.c (GRUB_MOD_INIT): Likewise.
9153 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
9154 * commands/hexdump.c (options): Likewise.
9155 * commands/i386/cpuid.c (options): Likewise.
9156 (GRUB_MOD_INIT): Likewise.
9157 * commands/i386/pc/drivemap.c (options): Likewise.
9158 (GRUB_MOD_INIT): Likewise.
9159 * commands/i386/pc/halt (options): Likewise.
9160 (GRUB_MOD_INIT): Likewise.
9161 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
9162 * commands/i386/pc/pxecmd.c (options): Likewise.
9163 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
9164 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
9165 * commands/keystatus.c (options): Likewise.
9166 (GRUB_MOD_INIT): Likewise.
9167 * commands/loadenv.c (options): Likewise.
9168 * commands/ls.c (options): Likewise.
9169 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
9170 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
9171 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
9172 * commands/parttool.c (helpmsg): Likewise.
9173 * commands/probe.c (options): Likewise.
9174 * commands/read.c (GRUB_MOD_INIT): Likewise.
9175 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
9176 * commands/search.c (options): Likewise.
9177 * commands/sleep.c (options): Likewise.
9178 * commands/test.c (GRUB_MOD_INIT): Likewise.
9179 * commands/true.c (GRUB_MOD_INIT): Likewise.
9180 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
9181 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
9182 * lib/arg.c (help_options): Likewise.
9183 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
9184 `$(XGETTEXT)'.
9185 * po/POTFILES: Add `commands/loadenv.c'.
9186
9187 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
9188
9189 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
9190 instead of specifying them explicit.
9191
9192 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9193
9194 * NEWS: Add grub-probe support for GNU/Hurd.
9195
9196 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9197
9198 * NEWS: gettext was added after 1.97.
9199
9200 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9201
9202 * util/mkisofs/msdos_partition.h: New file (based on
9203 include/grub/msdos_partition.h).
9204 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
9205 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
9206 (ld_options, main): Recognize --protective-msdos-label.
9207 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
9208 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
9209 (padblock_write): If `use_protective_msdos_label' is set, patch a
9210 protective DOS-style label in the output image.
9211
9212 * util/grub-mkrescue.in: Use --protective-msdos-label.
9213
9214 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9215
9216 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
9217 boot.
9218
9219 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9220
9221 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
9222 variables.
9223 (ld_options, main): Recognize `--embedded-boot'.
9224 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
9225 declarations.
9226 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
9227 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
9228 (padblock_write): Likewise. Rewrite to support embedded boot image.
9229
9230 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
9231 for BIOS-based disk boot instead of only ElTorito.
9232
9233 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9234
9235 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
9236 build (not needed for bootstrap).
9237
9238 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9239
9240 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
9241 from i386-pc build (not needed for bootstrap).
9242 Rewrite a pair of strings.
9243
9244 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
9245
9246 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
9247
9248 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
9251
9252 2009-12-21 Andreas Born <futur.andy@googlemail.com>
9253
9254 * kern/env.c (grub_env_context_open): Mark exported variable for
9255 reexport.
9256
9257 2009-12-21 Andreas Born <futur.andy@googlemail.com>
9258
9259 * kern/env.c (grub_env_export): Create nonexistent variables before
9260 exporting.
9261
9262 2009-12-20 Carles Pina i Estany <carles@pina.cat>
9263
9264 * include/grub/auth.h: Include `<grub/i18n.h>'.
9265 (GRUB_GET_PASSWORD): Gettextizze string.
9266 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
9267 menu_text.c.
9268 (grub_utf8_to_ucs4_alloc): Fix indentation.
9269 (grub_print_ucs4): Likewise.
9270 (grub_getstringwidth): Likewise.
9271 (print_message_indented): New declaration.
9272 * normal/auth.c: Include `<grub/i18n.h>'.
9273 (grub_auth_check_authentication): Gettexttize string.
9274 * normal/cmdline.c: Include `<grub/i18n.h>'.
9275 (grub_cmdline_get): Gettextizze.
9276 * normal/color.c: Include `<grub/i18n.h>'.
9277 (grub_parse_color_name_pair): Gettexttize strings.
9278 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
9279 string (use `print_message_indented').
9280 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
9281 `include/grub/normal.h'.
9282 (print_message_indented): Renamed to ...
9283 (grub_print_message_indented): ... this. Remove `static' qualifer (now
9284 used in normal/main.c).
9285 (print_message): Use `grub_print_message_indented' instead of
9286 `print_message_indented'.
9287 (print_timeout): Likewise.
9288 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
9289 (grub_normal_print_device_info): Gettexttize strings.
9290 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
9291
9292 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
9295 of arguments. Return number of tokens and not arguments. All users
9296 updated.
9297
9298 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
9301 non-MSDOS paritions.
9302
9303 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9304
9305 * include/grub/types.h (UNUSED): Removed since it conflicts with
9306 NetBSD headers. All users changed to direct __attribute__ ((unused)).
9307 Reported by Grégoire Sutre.
9308
9309 2009-12-19 Carles Pina i Estany <carles@pina.cat>
9310
9311 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
9312 (grub_print_ucs4_alloc): Likewise.
9313 (grub_getstringwidth): Likewise.
9314 * normal/main.c (grub_normal_init_page): Gettextize version string.
9315 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
9316 (getstringwidth): Renamed to ...
9317 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
9318 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
9319 (grub_print_ucs4): Remove `static' qualifer (now used in
9320 normal/main.c).
9321 * po/POTFILES: Add normal/main.c.
9322
9323 2009-12-19 Carles Pina i Estany <carles@pina.cat>
9324
9325 * normal/menu_text.c (STANDARD_MARGIN): New macro.
9326 (print_message_indented): Add `margin_left' and `margin_right'
9327 parameters.
9328 (print_message): Update `print_message_indented' calls. Adds '\n' to the
9329 strings.
9330 (print_timeout): Use `print_message_indented' to print the message.
9331 Deletes `second_stage' parameter.
9332 (run_menu): Update `print_timeout' calls.
9333
9334 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 Fix console palette on OpenFirmware.
9337
9338 * term/ieee1275/ofconsole.c (MAX): Removed.
9339 (colors): Redone based on VGA palette.
9340 (grub_ofconsole_setcolor): Discard brightness bit since only 8
9341 colors are supported.
9342 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
9343
9344 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 Fix potential EfiEmu double prepare.
9347
9348 * efiemu/main.c (prepared): New variable
9349 (grub_efiemu_unload): Set prepare to '0'.
9350 (grub_efiemu_prepare): Return if already prepared. Set prepared.
9351
9352 set_virtual_address_map support.
9353
9354 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
9355 prototype.
9356 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
9357 prototype.
9358 (grub_efiemu_crc32): Likewise.
9359 (grub_efiemu_crc64): Likewise.
9360 (grub_efiemu_set_virtual_address_map): Likewise.
9361 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
9362 New definition.
9363 (grub_autoefi_set_virtual_address_map): Likewise.
9364 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
9365 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
9366 Restructure flow to accomodate it.
9367 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
9368 (grub_efiemu_crc): Recompute CRC32.
9369 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
9370 (efiemu_ptv_relocated): ... this. Made global. All users updated.
9371 * efiemu/symbols.c (relocated_handle): New variable.
9372 (grub_efiemu_free_syms): Free relocated_handle.
9373 (grub_efiemu_alloc_syms): Allocate relocated_handle.
9374 (grub_efiemu_write_sym_markers): New function.
9375 (grub_efiemu_set_virtual_address_map): Likewise.
9376
9377 Newer XNU parameters.
9378
9379 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
9380 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
9381 (grub_xnu_fill_devicetree): New prototype.
9382 (grub_xnu_heap_real_start): New variable.
9383 * loader/xnu.c (get_name_ptr): New function.
9384 (grub_xnu_load_driver): Fill namelen and name.
9385
9386 64-bit xnu support.
9387
9388 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
9389 and 'loader/macho64.c'.
9390 * conf/i386-pc.rmk: Likewise.
9391 * conf/x86_64-efi.rmk: Likewise.
9392 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
9393 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
9394 * include/grub/macho.h (grub_macho_segment64): New structure.
9395 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
9396 (grub_macho_size32): ... to this.
9397 (grub_macho32_get_entry_point): Renamed from ...
9398 (grub_macho_get_entry_point32): ... to this.
9399 (grub_macho_contains_macho64): New prototype.
9400 (grub_macho_size64): Likewise.
9401 (grub_macho_get_entry_point64): Likewise.
9402 (grub_macho32_load): Renamed from ...
9403 (grub_macho_load32): ... to this.
9404 (grub_macho32_filesize): Renamed from ...
9405 (grub_macho_filesize32): ... to this.
9406 (grub_macho32_readfile): Renamed from ...
9407 (grub_macho_readfile32): ... to this.
9408 (grub_macho_filesize64): New prototype.
9409 (grub_macho_readfile64): Likewise.
9410 (grub_macho_parse32): Likewise.
9411 (grub_macho_parse64): Likewise.
9412 * loader/macho.c: Split into ...
9413 * loader/machoXX.c: ... and this. Replace 32 with XX.
9414 * loader/macho32.c: New file.
9415 * loader/macho64.c: Likewise.
9416 * loader/xnu.c (grub_xnu_is_64bit): New variable.
9417 (grub_cmd_xnu_kernel): Make 32-bit only.
9418 (grub_cmd_xnu_kernel64): New function.
9419 (grub_xnu_load_driver): Support Mach-O 64.
9420 (grub_cmd_xnu_mkext): Likewise.
9421 * util/grub.d/30_os-prober.in (osx_entry): New function.
9422 Generate entries for 64-bit boot too.
9423
9424 Eliminate ad-hoc tree format in XNU and EfiEmu.
9425
9426 * efiemu/main.c (grub_efiemu_prepare): Update comment.
9427 * efiemu/pnvram.c: Rewritten to use environment variables.
9428 All users updated.
9429
9430 Inline utf16_to_utf8.
9431
9432 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
9433 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
9434 All users updated.
9435 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
9436
9437 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
9438 * commands/usbtest.c (grub_usb_get_string): ... move here.
9439 (usb_print_str): Fix error handling.
9440 * include/grub/usb.h (grub_usb_get_string): Remove.
9441
9442 UTF-8 to UTF-16 transformation.
9443
9444 * conf/common.rmk (pkglib_MODULES): Add charset.mod
9445 (charset_mod_SOURCES): New variable.
9446 (charset_mod_CFLAGS): Likewise.
9447 (charset_mod_LDFLAGS): Likewise.
9448 * include/grub/utf.h: New file.
9449 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
9450
9451 Support for device properties.
9452
9453 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
9454 (grub_xnu_devprop_device_header): Likewise.
9455 (grub_xnu_devprop_device_descriptor): Likewise.
9456 (grub_xnu_devprop_add_device): New prototype.
9457 (grub_xnu_devprop_remove_device): Likewise.
9458 (grub_xnu_devprop_remove_property): Likewise.
9459 (grub_xnu_devprop_add_property_utf8): Likewise.
9460 (grub_xnu_devprop_add_property_utf16): Likewise.
9461 (grub_cpu_xnu_init): Likewise.
9462 (grub_cpu_xnu_fini): Likewise.
9463 (grub_cpu_xnu_unload): Likewise.
9464 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
9465 (property_descriptor): Likewise.
9466 (devices): New variable.
9467 (grub_xnu_devprop_remove_property): New function.
9468 (grub_xnu_devprop_add_device): Likewise.
9469 (grub_xnu_devprop_remove_device): Likewise.
9470 (grub_xnu_devprop_add_property): Likewise.
9471 (grub_xnu_devprop_add_property_utf8): Likewise.
9472 (grub_xnu_devprop_add_property_utf16): Likewise.
9473 (hextoval): Likewise.
9474 (grub_cpu_xnu_fill_devprop): Likewise.
9475 (grub_cmd_devprop_load): Likewise.
9476 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
9477 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
9478 (cmd_devprop_load): New variable.
9479 (grub_cpu_xnu_init): New function.
9480 (grub_cpu_xnu_fini): Likewise.
9481 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
9482 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
9483 (grub_cmd_xnu_devtree): Likewise.
9484 (hextoval): New function.
9485 (unescape): Likewise.
9486 (grub_xnu_fill_devicetree): Likewise.
9487
9488 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
9489 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
9490
9491 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9492
9493 Workaround for broken ATI VBE.
9494
9495 * video/i386/pc/vbe.c (last_set_mode): New variable.
9496 (grub_vbe_set_video_mode): Set 'last_set_mode'.
9497 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
9498 (grub_video_vbe_setup): Don't check for reserved flag.
9499
9500 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
9501
9502 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
9503 the `find' command.
9504
9505 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
9506
9507 UUID support for HFS.
9508
9509 * fs/hfs.c (grub_hfs_uuid): New function.
9510 (grub_hfs_fs): New value .uuid.
9511 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
9512
9513 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
9514
9515 Fix a segfault with parsing unknown long options.
9516
9517 * util/grub-mkrelpath.c (options): Zero terminate it.
9518
9519 2009-12-13 Carles Pina i Estany <carles@pina.cat>
9520
9521 * include/grub/misc.h (grub_puts): New declaration.
9522 (grub_puts_): Likewise.
9523 * kern/misc.c (grub_puts): New definition.
9524 (grub_puts_): Likewise.
9525
9526 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
9527
9528 * util/grub-probe.c (probe): Improve error message.
9529
9530 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
9531
9532 * loader/i386/multiboot_elfxx.c
9533 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
9534 initialization.
9535
9536 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 Relocator framework
9539
9540 * loader/i386/xnu_helper.S: Removed. All users updated.
9541 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
9542 (relocator_mod_SOURCES): New variable.
9543 (relocator_mod_CFLAGS): Likewise.
9544 (relocator_mod_LDFLAGS): Likewise.
9545 (relocator_mod_ASFLAGS): Likewise.
9546 * conf/x86_64.rmk: Likewise.
9547 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
9548 (grub_multiboot_payload_entry_offset): Likewise.
9549 (grub_multiboot_forward_relocator): Likewise.
9550 (grub_multiboot_forward_relocator_end): Likewise.
9551 (grub_multiboot_backward_relocator): Likewise.
9552 (grub_multiboot_backward_relocator_end): Likewise.
9553 (grub_multiboot_payload_eip): New variable.
9554 (grub_multiboot_payload_orig): Likewise.
9555 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
9556 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
9557 * include/grub/i386/memory.h
9558 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
9559 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
9560 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
9561 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
9562 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
9563 * include/grub/i386/relocator.h: New file.
9564 * include/grub/x86_64/relocator.h: Likewise.
9565 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
9566 (XNU_RELOCATOR): New macro.
9567 (grub_xnu_launcher_start): Remove.
9568 (grub_xnu_launcher_end): Likewise.
9569 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
9570 (grub_xnu_heap_real_start): Remove.
9571 (grub_xnu_heap_start): Change to void *. All users updated.
9572 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
9573 * lib/i386/relocator.c: New file.
9574 * lib/i386/relocator_asm.S: Likewise.
9575 * lib/i386/relocator_backward.S: Likewise.
9576 * lib/mips/relocator.c: Likewise.
9577 * lib/mips/relocator_asm.S: Likewise.
9578 * lib/relocator.c: Likewise.
9579 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
9580 (entry): Removed.
9581 (playground): Likewise.
9582 (grub_multiboot_payload_orig): New variable.
9583 (grub_multiboot_payload_dest): Likewise.
9584 (grub_multiboot_payload_size): Likewise.
9585 (grub_multiboot_payload_eip): Likewise.
9586 (grub_multiboot_payload_esp): Likewise.
9587 (grub_multiboot_boot): Use grub_relocator32_boot.
9588 (grub_multiboot_unload): Free relocators.
9589 (grub_multiboot): Setup stack. Use relocators.
9590 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
9591 (grub_multiboot_load_elfXX): Use relocators.
9592 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
9593 (grub_multiboot_payload_size): Likewise.
9594 (grub_multiboot_payload_dest): Likewise.
9595 (grub_multiboot_payload_entry_offset): Likewise.
9596 (grub_multiboot_forward_relocator): Likewise.
9597 (grub_multiboot_backward_relocator): Likewise.
9598 (grub_multiboot_real_boot): Likewise.
9599 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
9600 (grub_xnu_entry_point): Likewise.
9601 (grub_xnu_arg1): Likewise.
9602 (grub_xnu_stack): Likewise.
9603 (grub_xnu_launch): Removed.
9604 (grub_xnu_boot_resume): New function.
9605 (grub_xnu_boot): Use relocators.
9606 * loader/i386/xnu_helper.S: Removed.
9607 * loader/xnu.c (grub_xnu_heap_start): New variable.
9608 (grub_xnu_heap_size): Likewise.
9609 (grub_xnu_heap_malloc): Use relocators.
9610 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
9611
9612 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
9615 anything.
9616
9617 2009-12-13 Carles Pina i Estany <carles@pina.cat>
9618
9619 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
9620 GRUB_ERR_NONE before calling grub_env_set.
9621
9622 2009-12-12 Robert Millan <rmh@aybabtu.com>
9623
9624 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
9625 * genmk.rb (video): New variable.
9626 (CLEANFILES, VIDEOFILES): Add #{video}.
9627 (#{video}): New target rule.
9628 * genvideolist.sh: New file.
9629 * Makefile.in (pkglib_DATA): Add video.lst.
9630 (video.lst): New target rule.
9631 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
9632 `video.lst'.
9633 * util/grub.d/30_os-prober.in: Replace `vbe' with
9634 ${GRUB_VIDEO_BACKEND}.
9635
9636 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
9637
9638 * THANKS: Add David Miller.
9639
9640 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 libpciaccess support.
9643
9644 * Makefile.in (LIBPCIACCESS): New variable.
9645 (enable_grub_emu_pci): Likewise.
9646 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
9647 util/pci.c and commands/lspci.c.
9648 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
9649 * configure.ac (grub-emu-pci): New option.
9650 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
9651 (grub_pci_device_unmap_range): Likewise.
9652 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
9653 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
9654 (grub_pci_address_t) [!GRUB_UTIL]: New type.
9655 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
9656 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
9657 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
9658 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
9659 * include/grub/pciutils.h: New file.
9660 * util/pci.c: Likewise.
9661
9662 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
9663
9664 * util/misc.c: Don't include <errno.h> twice.
9665
9666 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
9667
9668 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
9669 name in an error message.
9670 (grub_biosdisk_rw): Likewise.
9671
9672 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 Eliminate NTFS 4Gib barrier.
9675
9676 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
9677 (read_run_data): Likewise.
9678 (grub_ntfs_read_run_list): Likewise.
9679 (grub_ntfs_read_block): Likewise.
9680 (grub_ntfs_iterate_dir): Likewise.
9681 (read_mft): Likewise.
9682 (read_data): Likewise.
9683 Use COM_LOG_LEN.
9684 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
9685 to avoid 64-bit division
9686 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
9687 (grub_ntfs_rlst): Use grub_disk_addr_t.
9688
9689 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9690
9691 Eliminate grub-fstest 4Gib barrier.
9692
9693 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
9694 (read_file): Fix error reporting.
9695
9696 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9697
9698 Eliminate hexdump 4Gib barrier.
9699
9700 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
9701 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
9702
9703 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
9706 Fixes amarsh bug.
9707
9708 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
9709
9710 Remove miscellaneous files in distclean target.
9711
9712 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
9713
9714 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
9715
9716 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
9717 if they're already set. This resolves the conflict between my
9718 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
9719 fixing the --grub-probe option again.
9720 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
9721 change on 2009-10-06, so that we now once again source
9722 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
9723
9724 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
9725
9726 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
9727 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
9728 `util/devicemap.c'.
9729
9730 2009-12-08 Carles Pina i Estany <carles@pina.cat>
9731
9732 * include/grub/misc.h (grub_printf_): New declaration.
9733 * kern/misc.c (grub_printf_): New definition.
9734 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
9735 instead of `grub_printf' and `_'.
9736 * normal/menu_entry.c (store_completion): Likewise.
9737 (run): Likewise.
9738 (grub_menu_entry_run): Likewise.
9739 * normal/menu_text.c (grub_wait_after_message): Likewise.
9740 (notify_booting): Likewise.
9741 (notify_fallback): Likewise.
9742 (notify_execution_failure): Likewise.
9743
9744 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
9745
9746 * configure.ac: Check for vasprintf.
9747 * util/misc.c (asprintf): Move allocation from here ...
9748 (vasprintf): ... to here. New function.
9749 (xasprintf): New function.
9750 * include/grub/util/misc.h (vasprintf, xasprintf): Add
9751 prototypes.
9752 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
9753 * util/grub-mkfont.c (write_font): Likewise.
9754 * util/grub-probe.c (probe): Likewise.
9755 * util/hostdisk.c (make_device_name): Likewise.
9756
9757 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
9758
9759 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
9760 anything even prefixed with 'cdrom' as a cdrom.
9761
9762 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
9763
9764 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
9765 mount points.
9766
9767 2009-12-05 Carles Pina i Estany <carles@pina.cat>
9768
9769 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
9770 grub_gettext_msg_list.
9771 (grub_gettext_gettranslation_from_position): Return const char *
9772 and not char *.
9773 (grub_gettext_translate): Add the translated strings into a list,
9774 returns from the list if existing there.
9775 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
9776 (grub_gettext_delete_list): Delete the list.
9777 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
9778 lang environment variable is changed.
9779 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
9780
9781 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 Rename kernel.mod to kernel.img.
9784
9785 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
9786 (kernel_mod_EXPORTS): Rename to ...
9787 (kernel_img_EXPORTS): ... this.
9788 (kernel_mod_SOURCES): Rename to ...
9789 (kernel_img_SOURCES): ... this.
9790 (kernel_mod_HEADERS): Rename to ...
9791 (kernel_img_HEADERS): ... this. All users updated.
9792 (kernel_mod_CFLAGS): Rename to ...
9793 (kernel_img_CFLAGS): ... this.
9794 (kernel_mod_ASFLAGS): Rename to ...
9795 (kernel_img_ASFLAGS): ... this.
9796 (kernel_mod_LDFLAGS): Rename to ...
9797 (kernel_img_LDFLAGS): ... this.
9798 * conf/x86_64-efi.rmk: Likewise.
9799 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
9800 (read_kernel_image): ... this. All users updated.
9801 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
9802
9803 2009-12-05 Carles Pina i Estany <carles@pina.cat>
9804
9805 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
9806 (print_spaces): New function.
9807 (grub_print_ucs4): New function.
9808 (getstringwidth): New function.
9809 (print_message_indented): New function.
9810 (print_message): Gettexttize strings using print_message_indented.
9811 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
9812 width.
9813 (get_entry_number): Gettextize and uses dynamic terminal width.
9814 (notify_booting, notify_fallback, notify_execution_failure):
9815 Gettextize.
9816 * normal/menu_entry.c (store_completion): Cleanup the gettextized
9817 string.
9818 (run): Likewise.
9819 (grub_menu_entry_run): Likewise.
9820 * PO/POTFILES: Add normal/menu_entry.c.
9821
9822 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
9825
9826 2009-12-05 Carles Pina i Estany <carles@pina.cat>
9827
9828 * util/grub-install.in: Install gettext .mo files.
9829 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
9830
9831 2009-12-05 Carles Pina i Estany <carles@pina.cat>
9832
9833 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
9834 grub_dprintf.
9835
9836 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
9837
9838 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
9839 non-firmware-dependant one in realmode.S takes precedence.
9840
9841 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
9842
9843 * commands/halt.c: Replace misc arch-specific headers with
9844 `<grub/misc.h>'.
9845 * commands/reboot.c: Likewise.
9846 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
9847 `<grub/misc.h>'.
9848 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
9849 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
9850 (kernel_img_SOURCES): ... to here.
9851
9852 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
9853 * include/grub/i386/pc/init.h: Likewise.
9854 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
9855 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
9856
9857 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
9858
9859 * include/grub/i386/halt.h: Remove.
9860 * include/grub/i386/reboot.h: Likewise.
9861
9862 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
9863
9864 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
9865
9866 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
9867 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
9868 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
9869 "progname.h"
9870 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
9871 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9872 (usage): Add missing comma in printf.
9873
9874 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
9875
9876 Use the same reboot approach on i386 coreboot and qemu as we do on
9877 BIOS.
9878
9879 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
9880 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
9881 * kern/i386/reboot.c: Remove.
9882 * include/grub/i386/reboot.h (grub_reboot): Export function.
9883 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
9884 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
9885 0xf000:0xfff0 instead of 0xffff:0x0000.
9886 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
9887 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
9888
9889 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
9890
9891 Fix $srcdir != $objdir build.
9892
9893 * Makefile.in (po/%.po): Rewrite as ...
9894 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
9895
9896 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
9897
9898 Fix GNU/Hurd grub-install crash.
9899 * util/grub-probe.c (probe): Try to access `path' only when it is not
9900 NULL.
9901
9902 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 Correct module naming.
9905
9906 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
9907 (GRUB_MOD_INIT(efi_uga)): ... to this
9908 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
9909 (GRUB_MOD_FINI(efi_uga)): ... to this
9910 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
9911 (GRUB_MOD_INIT(efi_gop)): ... to this
9912 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
9913 (GRUB_MOD_FINI(efi_gop)): ... to this
9914
9915 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
9916
9917 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
9918 translatable.
9919 (usage): Translate `arg' strings using gettext().
9920 Thanks to Jordi Mallach for the suggestion.
9921
9922 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 GOP support. Based on patch from Bean
9925 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
9926
9927 * video/efi_gop.c: New file.
9928 * include/grub/efi/graphics_output.h: Likewise.
9929 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
9930 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
9931 variables.
9932 * conf/x86_64-efi.rmk: Likewise.
9933
9934 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 Rename efi_fb to efi_uga.
9937
9938 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
9939 'efi_uga.mod'.
9940 (efi_fb_mod_SOURCES): Rename this ...
9941 (efi_uga_mod_SOURCES): ... to this.
9942 (efi_fb_mod_CFLAGS): Rename this ...
9943 (efi_uga_mod_CFLAGS): ... to this.
9944 (efi_fb_mod_LDFLAGS): Rename this ...
9945 (efi_uga_mod_LDFLAGS): ... to this.
9946 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
9947 'efi_uga.mod'.
9948 (efi_fb_mod_SOURCES): Rename this ...
9949 (efi_uga_mod_SOURCES): ... to this.
9950 (efi_fb_mod_CFLAGS): Rename this ...
9951 (efi_uga_mod_CFLAGS): ... to this.
9952 (efi_fb_mod_LDFLAGS): Rename this ...
9953 (efi_uga_mod_LDFLAGS): ... to this.
9954 * video/efi_fb.c: Move this ...
9955 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
9956
9957 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
9958
9959 * po/README: New file. Explain our PO file workflow.
9960
9961 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
9962
9963 * po/ChangeLog: Remove. Move relevant entries back to ...
9964 * ChangeLog: ... here.
9965 * po/ca.po: Remove (now handled by TLP).
9966 * po/id.po: Likewise.
9967 * po/zh_CN.po: Likewise.
9968 * Makefile.in (LINGUAS): Initialize in a way that supports
9969 empty set.
9970
9971 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
9972
9973 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
9974 reliing on po/LINGUAS.
9975 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
9976 (po/%.po): ... this.
9977
9978 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
9979
9980 * util/i386/efi/grub-mkimage.c: Include "progname.h".
9981 (main): Use `program_name' instead of nonexistent `progname'.
9982
9983 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
9984
9985 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
9986 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
9987
9988 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
9989
9990 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
9991 commit.
9992 * conf/i386-efi.rmk: Likewise.
9993 * conf/i386-ieee1275.rmk: Likewise.
9994 * conf/powerpc-ieee1275.rmk: Likewise.
9995 * conf/sparc64-ieee1275.rmk: Likewise.
9996 * conf/x86_64-efi.rmk: Likewise.
9997
9998 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
9999
10000 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
10001
10002 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
10003
10004 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
10005
10006 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
10007
10008 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
10009 (grub_mkdevicemap_SOURCES): New variable.
10010 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
10011 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
10012 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
10013 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
10014 (grub_mkdevicemap_SOURCES): Remove.
10015 * conf/i386-efi.rmk: Likewise.
10016 * conf/i386-ieee1275.rmk: Likewise.
10017 * conf/i386-pc.rmk: Likewise.
10018 * conf/powerpc-ieee1275.rmk: Likewise.
10019 * conf/sparc64-ieee1275.rmk: Likewise.
10020 * conf/x86_64-efi.rmk: Likewise.
10021 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
10022 (usage): Fix strings to use `program_name'.
10023 (main): Initialize gettext.
10024 * util/grub-editenv.c: Likewise.
10025 * util/grub-emu.c: Likewise.
10026 * util/grub-fstest.c: Likewise.
10027 * util/grub-mkdevicemap.c: Likewise.
10028 * util/grub-mkfont.c: Likewise.
10029 * util/grub-mkrelpath.c: Likewise.
10030 * util/grub-pe2elf.c: Likewise.
10031 * util/grub-probe.c: Likewise.
10032 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
10033 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
10034 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10035
10036 * util/misc.c: Include `"progname.h"'.
10037 (progname): Remove variable.
10038 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
10039
10040 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
10041
10042 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
10043 printf and print a newline after the menuentry header line.
10044 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
10045
10046 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
10047
10048 autoconf >= 2.60 support $(localedir).
10049
10050 * INSTALL: Note that autoconf 2.60 is required.
10051 * configure.ac (AC_PREREQ): Bump to 2.60.
10052 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
10053 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
10054
10055 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
10056
10057 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
10058 aclocal is run.
10059
10060 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
10061
10062 * normal/main.c (grub_normal_read_line): Fix off-by-one
10063 buffer overflow.
10064
10065 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
10066
10067 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
10068 "parser.grub" in grub_command_execute() call.
10069
10070 2009-11-24 Carles Pina i Estany <carles@pina.cat>
10071
10072 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
10073 * conf/i386-efi.rmk: Likewise.
10074 * conf/i386-ieee1275.rmk: Likewise.
10075 * conf/i386-pc.rmk: Likewise.
10076 * conf/powerpc-ieee1275.rmk: Likewise.
10077 * conf/sparc64-ieee1275.rmk: Likewise.
10078 * conf/x86_64-efi.rmk: Likewise.
10079 * gettext/gettex.c: Include <grub/i18n.h>.
10080 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
10081 here ...
10082 * include/grub/i18n.h: ... to here
10083 * include/grub/i18n.h: ... to here.
10084 * kern/misc.c: Include <grub/i18n.h>
10085 (grub_gettext_dummy): Move above user.
10086
10087 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
10088
10089 * util/Makefile.in (install-local): Convert a `for' into a normal
10090 shell expansion.
10091
10092 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
10093
10094 * autogen.sh: Add automake call.
10095 * config.guess: Remove.
10096 * config.sub: Likewise.
10097 * install-sh: Likewise.
10098
10099 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
10100
10101 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
10102
10103 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
10104
10105 * util/Makefile.in (install-local): Convert a make `$(foreach)'
10106 function to a normal shell `for'.
10107
10108 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
10109
10110 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
10111
10112 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
10113
10114 * util/grub-mkrelpath.c: New file.
10115 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
10116 (grub_mkrelpath_SOURCES): New variable.
10117 * include/grub/util/misc.h: New function prototype.
10118 * util/misc.c (make_system_path_relative_to_its_root): New function.
10119
10120 * util/grub-mkconfig_lib.in (bindir): New variable.
10121 (grub_mkrelpath): Likewise.
10122 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
10123
10124 * util/probe.c (probe): Make the file path relative to its root.
10125 Change a info message to use the GRUB path. Enable again the
10126 check if we can read the file with GRUB facilities.
10127
10128 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
10129 to its root.
10130
10131 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
10132
10133 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
10134 platform.
10135
10136 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
10137
10138 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
10139 strncmp().
10140
10141 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
10142
10143 * util/getroot.c (grub_util_is_dmraid): New function.
10144 (grub_util_get_dev_abstraction): Treat dmraid and multipath
10145 devices as normal ones, not as LVM.
10146
10147 2009-11-23 Carles Pina i Estany <carles@pina.cat>
10148
10149 * conf/common.rmk: Add grub-gettext_lib target and updates
10150 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
10151 LDFLAGS.
10152 * gettext/gettext.c: New file. (Reads mo files).
10153 * include/grub/file.h (grub_file_pread): New prototype.
10154 * include/grub/i18n.h (_): New prototype.
10155 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
10156 prototypes.
10157 * kern/misc.c (grub_gettext_dummy): New function.
10158 * normal/menu_text.c: Include <grub/i18n.h>.
10159 * normal/menu_text.c (print_timeout): Gettexttize string.
10160 * normal/menu_text.c (print_message): Gettexttize string.
10161 * po/POTFILES: Add `normal/menu_text.c'.
10162 * po/ca.po: Add new translations.
10163 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
10164 gettext module and defines locale_dir and lang in grub.cfg.
10165 * NEWS: Add gettext support.
10166
10167 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10168
10169 * util/hostdisk.c: Include `<grub/i18n.h>'.
10170 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
10171 (make_device_name): Rewrite using asprintf.
10172 (convert_system_partition_to_system_disk): Replace 0 with NULL.
10173 (find_system_device): If a device is not found, generate one just
10174 by reusing the OS path name.
10175 (read_device_map): Make it permissible for device.map not to exist.
10176
10177 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10178
10179 * script/sh/execute.c: Move from here ...
10180 * script/execute.c: ... to here. Update all users.
10181 * script/sh/function.c: Move from here ...
10182 * script/function.c: ... to here. Update all users.
10183 * script/sh/lexer.c: Move from here ...
10184 * script/lexer.c: ... to here. Update all users.
10185 * script/sh/main.c: Move from here ...
10186 * script/main.c: ... to here. Update all users.
10187 * script/sh/parser.y: Move from here ...
10188 * script/parser.y: ... to here. Update all users.
10189 * script/sh/script.c: Move from here ...
10190 * script/script.c: ... to here. Update all users.
10191
10192 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10193
10194 * configure.ac: Detect all `emu' platforms. Define
10195 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
10196 --enable-grub-emu logic. Disable include/grub/machine
10197 symlink on `emu' platforms.
10198
10199 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
10200 * gensymlist.sh.in: Likewise.
10201
10202 * include/grub/i386/coreboot/machine.h: Remove file.
10203 * include/grub/i386/efi/machine.h: Likewise.
10204 * include/grub/i386/ieee1275/machine.h: Likewise.
10205 * include/grub/i386/pc/machine.h: Likewise.
10206 * include/grub/i386/qemu/machine.h: Likewise.
10207 * include/grub/powerpc/ieee1275/machine.h: Likewise.
10208 * include/grub/sparc64/ieee1275/machine.h: Likewise.
10209 * include/grub/x86_64/efi/machine.h: Likewise.
10210
10211 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
10212 * commands/halt.c: Likewise.
10213 * commands/reboot.c: Likewise.
10214 * include/grub/autoefi.h: Likewise.
10215 * include/grub/i386/at_keyboard.h: Likewise.
10216 * include/grub/i386/kernel.h: Likewise.
10217 * include/grub/i386/loader.h: Likewise.
10218 * include/grub/i386/pc/memory.h: Likewise.
10219 * kern/dl.c: Likewise.
10220 * kern/i386/coreboot/init.c: Likewise.
10221 * loader/i386/bsd.c: Likewise.
10222 * loader/i386/linux.c: Likewise.
10223 * loader/multiboot_loader.c: Likewise.
10224 * term/i386/pc/serial.c: Likewise.
10225 * term/usb_keyboard.c: Likewise.
10226
10227 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
10228 `<grub/machine/machine.h>'
10229 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
10230 * util/misc.c: Remove `<grub/machine/machine.h>' and
10231 `<grub/machine/time.h>'.
10232
10233 * Makefile.in (enable_grub_emu): Remove variable.
10234 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
10235
10236 * conf/any-emu.rmk: New file.
10237 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
10238 (grub_emu_init.c): Move from here ...
10239 * conf/any-emu.rmk: ... to here.
10240
10241 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
10242 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
10243 * conf/any-emu.rmk: ... to here.
10244
10245 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10246
10247 * include/grub/parser.h (grub_parser_register): Document need
10248 of `name' parameter.
10249 * normal/main.c (grub_normal_read_line): Simplify prompt string.
10250 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
10251 "sh" to "grub".
10252
10253 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10254
10255 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
10256 `$(XGETTEXT)'.
10257 * include/grub/i18n.h (N_): New macro.
10258 * util/mkisofs/mkisofs.h: Likewise.
10259 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
10260 around N_().
10261 (usage): Use gettext() to translate help strings when printing them.
10262
10263 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10264
10265 Based on patch from Bean
10266 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
10267
10268 * video/efi_fb.c: New file.
10269 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
10270 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
10271 variables.
10272 * conf/x86_64-efi.rmk: Likewise.
10273
10274 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
10275
10276 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
10277 * util/i386/pc/grub-setup.c: Likewise.
10278
10279 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
10280
10281 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
10282 <hurd/fs.h>
10283 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
10284 file_get_storage_info to implement grub_guess_root_device.
10285
10286 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
10287
10288 * Makefile.in (target): Use make's builtin $(shell) function
10289 instead of calling directly $(SHELL) to create the locale directories,
10290 inside the $(foreach) function.
10291
10292 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
10293
10294 * util/grub-mkrescue.in: Print an error and usage if output option
10295 has not been given.
10296
10297 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
10298
10299 Patch from Loïc Minier <loic.minier@ubuntu.com>.
10300 * util/grub.d/30_os-prober.in: Cope with Linux entries where
10301 root and /boot are on different devices.
10302
10303 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
10304
10305 Fix build for srcdir != objdir.
10306
10307 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
10308 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
10309 $(srcdir).
10310 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
10311 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
10312 reference for input.
10313
10314 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
10315
10316 * util/grub-mkrescue.in: Use source directory direcly (without copiing
10317 or hardlinking it). Remove -J option, Joliet is not compatible with
10318 multiple source directories.
10319
10320 2009-11-21 Carles Pina i Estany <carles@pina.cat>
10321 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
10322
10323 * util/grub-mkrescue.in: Recognize `--override-directory' option.
10324 (process_input_dir): New function. Process an arbitrary input
10325 directory.
10326 Misc adjustments to support both "override mode" and system-wide mode.
10327
10328 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
10329
10330 * configure.ac (UNIFONT_BDF): Rename to ...
10331 (FONT_SOURCE): ... this. Update all users.
10332
10333 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
10334
10335 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
10336 to the list of unifont files to look for.
10337
10338 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
10339
10340 Patch from Joe Auricchio <jauricchio@gmail.com>
10341 * commands/minicmd.c (grub_mini_cmd_clear): New function.
10342 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
10343 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
10344
10345 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
10346
10347 * Makefile.in (install-local): Add a missing backslash.
10348
10349 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
10350
10351 * include/grub/x86_64/io.h: New file.
10352
10353 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
10354
10355 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
10356 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
10357 Include `"progname.h"'.
10358 (main): Initialize gettext.
10359 * util/i386/pc/grub-setup.c: Gettexttize.
10360 * util/i386/pc/grub-mkimage.c: Likewise.
10361
10362 * Makefile.in (po/*.po): Redefine as ...
10363 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
10364
10365 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
10366
10367 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
10368
10369 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
10370 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
10371 (program_name): Remove.
10372 (main): Initialize gettext support.
10373 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
10374 Include `<libintl.h>'.
10375 (_): New macro.
10376
10377 * util/mkisofs/eltorito.c: Gettexttize.
10378 * util/mkisofs/joliet.c: Likewise.
10379 * util/mkisofs/mkisofs.c: Likewise.
10380 * util/mkisofs/multi.c: Likewise.
10381 * util/mkisofs/rock.c: Likewise.
10382 * util/mkisofs/tree.c: Likewise.
10383 * util/mkisofs/write.c: Likewise.
10384
10385 * po/POTFILES: Update with new files.
10386
10387 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10388
10389 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
10390 * util/mkisofs/iso9660.h: Likewise.
10391 * util/mkisofs/joliet.c: Likewise.
10392 * util/mkisofs/mkisofs.c: Likewise.
10393 * util/mkisofs/mkisofs.h: Likewise.
10394 * util/mkisofs/rock.c: Likewise.
10395 * util/mkisofs/tree.c: Likewise.
10396 * util/mkisofs/write.c: Likewise.
10397
10398 * util/mkisofs/eltorito.c (rcsid): Remove.
10399 * util/mkisofs/hash.c: Likewise.
10400 * util/mkisofs/joliet.c: Likewise.
10401 * util/mkisofs/name.c: Likewise.
10402 * util/mkisofs/rock.c: Likewise.
10403 * util/mkisofs/tree.c: Likewise.
10404 * util/mkisofs/write.c: Likewise.
10405
10406 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10407
10408 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
10409 instead of static allocation.
10410 * util/mkisofs/match.h: Likewise.
10411
10412 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10413
10414 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
10415 and `util/grub.d/10_linux.in'.
10416 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
10417 translatable Shell files.
10418
10419 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10420
10421 * Makefile.in ($(srcdir)/aclocal.m4): New target.
10422
10423 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10424
10425 * INSTALL: Document Automake is needed for bootstrap.
10426 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
10427 * util/grub.d/10_kfreebsd.in (bindir): New variable.
10428 Add gettext initialization.
10429 (kfreebsd_entry): Make menuentry output translatable.
10430
10431 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10432
10433 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
10434 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
10435 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
10436 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
10437 (LINGUAS): Auto-generate using `po/LINGUAS'.
10438 * po/LINGUAS: New file.
10439
10440 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10441
10442 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
10443 other things).
10444 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
10445 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
10446 bindtextdomain() calls for gettext initialization.
10447
10448 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10449
10450 * gnulib/progname.c: New file (imported from Gnulib).
10451 * gnulib/progname.h: Likewise.
10452 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
10453 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
10454 (usage): Replace `progname' with `program_name'.
10455 (main): Use set_program_name() for program name initialization.
10456
10457 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10458
10459 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
10460 from here ...
10461 * Makefile.in (CPPFLAGS): ... to here.
10462
10463 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10464
10465 * aclocal.m4: Move from here ...
10466 * acinclude.m4: ... to here.
10467 * autogen.sh: Add call to `aclocal'.
10468 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
10469
10470 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10471
10472 * Makefile.in (CLEANFILES): Add `po/*.mo'.
10473 (LINGUAS): New variable.
10474 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
10475 (install-local): Install MO files.
10476 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
10477 * include/grub/i18n.h: New file.
10478 * po/POTFILES: New file.
10479 * po/ca.po: New file.
10480 * util/grub.d/10_linux.in (bindir): New variable.
10481 Add gettext initialization.
10482 (linux_entry): Make menuentry output translatable.
10483 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
10484 (usage): Make --help output translatable.
10485 (main): Initialize gettext.
10486
10487 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10488
10489 * import_gcry.py: New file (written by Vladimir with minor
10490 adjustments).
10491 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
10492 ciphers.
10493 * INSTALL: Document that Python is required for bootstrap.
10494
10495 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10496
10497 Import ciphers from libgcrypt 1.4.4.
10498
10499 * lib/libgcrypt/cipher/ChangeLog
10500 * lib/libgcrypt/cipher/ac.c
10501 * lib/libgcrypt/cipher/arcfour.c
10502 * lib/libgcrypt/cipher/bithelp.h
10503 * lib/libgcrypt/cipher/blowfish.c
10504 * lib/libgcrypt/cipher/camellia-glue.c
10505 * lib/libgcrypt/cipher/camellia.c
10506 * lib/libgcrypt/cipher/camellia.h
10507 * lib/libgcrypt/cipher/cast5.c
10508 * lib/libgcrypt/cipher/cipher.c
10509 * lib/libgcrypt/cipher/crc.c
10510 * lib/libgcrypt/cipher/des.c
10511 * lib/libgcrypt/cipher/dsa.c
10512 * lib/libgcrypt/cipher/ecc.c
10513 * lib/libgcrypt/cipher/elgamal.c
10514 * lib/libgcrypt/cipher/hash-common.c
10515 * lib/libgcrypt/cipher/hash-common.h
10516 * lib/libgcrypt/cipher/hmac-tests.c
10517 * lib/libgcrypt/cipher/md.c
10518 * lib/libgcrypt/cipher/md4.c
10519 * lib/libgcrypt/cipher/md5.c
10520 * lib/libgcrypt/cipher/primegen.c
10521 * lib/libgcrypt/cipher/pubkey.c
10522 * lib/libgcrypt/cipher/rfc2268.c
10523 * lib/libgcrypt/cipher/rijndael-tables.h
10524 * lib/libgcrypt/cipher/rijndael.c
10525 * lib/libgcrypt/cipher/rmd.h
10526 * lib/libgcrypt/cipher/rmd160.c
10527 * lib/libgcrypt/cipher/rsa.c
10528 * lib/libgcrypt/cipher/seed.c
10529 * lib/libgcrypt/cipher/serpent.c
10530 * lib/libgcrypt/cipher/sha1.c
10531 * lib/libgcrypt/cipher/sha256.c
10532 * lib/libgcrypt/cipher/sha512.c
10533 * lib/libgcrypt/cipher/tiger.c
10534 * lib/libgcrypt/cipher/twofish.c
10535 * lib/libgcrypt/cipher/whirlpool.c
10536
10537 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10538
10539 Fix build for systems without error().
10540
10541 * gnulib/error.c: New file (imported from Gnulib).
10542 * gnulib/error.h: Likewise.
10543 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
10544 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
10545 (this variable is now used by error()).
10546
10547 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
10548
10549 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
10550 instead of relying that char is signed.
10551
10552 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
10555 blocksize different from specified.
10556 (grub_pxefs_read): Likewise.
10557
10558 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
10559
10560 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
10561
10562 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
10563 (grub_ata_readwrite): Likewise. Update 2 format strings.
10564 (grub_atapi_read): Likewise.
10565
10566 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
10567 * conf/i386.rmk (pkglib_MODULES): ... to here ...
10568 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
10569 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
10570 (ata_mod_LDFLAGS): Move from here ...
10571 * conf/i386.rmk: ... to here ...
10572 * conf/x86_64-efi.rmk: ... and here.
10573 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
10574 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
10575
10576 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10577
10578 Relicense multiboot.h, with RMS' blessing.
10579
10580 * include/multiboot.h: Change to X11 license.
10581
10582 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
10583
10584 Support --version in grub-mkisofs.
10585
10586 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
10587 (OPTION_VERSION): New macro.
10588 (ld_options): Recognize --version.
10589 (usage): Move `program_name' from here ...
10590 (program_name): ... to here. Add `static' qualifier.
10591 (main): Recognize `OPTION_VERSION'.
10592
10593 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
10594
10595 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
10596 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
10597
10598 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
10599
10600 Fix help2man generation for mkisofs.
10601
10602 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
10603 (usage): Send output to stdout (rather than stderr).
10604
10605 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
10606
10607 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
10608 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
10609 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
10610 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
10611 (bin_SCRIPTS): Add `grub-mkfloppy'.
10612 (grub_mkfloppy_SOURCES): New variable.
10613
10614 * util/grub-mkrescue.in: New file.
10615 * util/i386/pc/grub-mkfloppy.in: New file.
10616
10617 * util/i386/coreboot/grub-mkrescue.in: Remove.
10618 * util/i386/pc/grub-mkrescue.in: Remove.
10619
10620 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10621
10622 * include/grub/multiboot.h (struct grub_multiboot_header): Move
10623 from here ...
10624 * include/multiboot.h (struct multiboot_header): ... to here. Update
10625 all users.
10626 * include/grub/multiboot.h (struct grub_multiboot_info): Move
10627 from here ...
10628 * include/multiboot.h (struct multiboot_info): ... to here. Update
10629 all users.
10630 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
10631 from here ...
10632 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
10633 Update all users.
10634 * include/grub/multiboot.h (struct grub_mod_list): Move
10635 from here ...
10636 * include/multiboot.h (struct multiboot_mod_list): ... to here.
10637 Update all users.
10638
10639 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10640
10641 * include/multiboot2.h (multiboot_word): Rename from this ...
10642 (multiboot2_word): ... to this. Update all users.
10643 (multiboot_header): Rename from this ...
10644 (multiboot2_header): ... to this. Update all users.
10645 (multiboot_tag_header): Rename from this ...
10646 (multiboot2_tag_header): ... to this. Update all users.
10647 (multiboot_tag_start): Rename from this ...
10648 (multiboot2_tag_start): ... to this. Update all users.
10649 (multiboot_tag_name): Rename from this ...
10650 (multiboot2_tag_name): ... to this. Update all users.
10651 (multiboot_tag_module): Rename from this ...
10652 (multiboot2_tag_module): ... to this. Update all users.
10653 (multiboot_tag_memory): Rename from this ...
10654 (multiboot2_tag_memory): ... to this. Update all users.
10655 (multiboot_tag_unused): Rename from this ...
10656 (multiboot2_tag_unused): ... to this. Update all users.
10657 (multiboot_tag_end): Rename from this ...
10658 (multiboot2_tag_end): ... to this. Update all users.
10659
10660 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10661
10662 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
10663 this platform we should support Multiboot1 first.
10664
10665 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
10666 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
10667 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
10668
10669 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
10670
10671 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
10672 of write calls (converting them to fwrite() if they aren't already).
10673 (get_torito_desc): Likewise.
10674 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
10675
10676 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
10677
10678 * util/i386/pc/grub-install.in: Move from here ...
10679 * util/grub-install.in: ... to here. Update all users.
10680
10681 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
10682
10683 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
10684
10685 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
10686
10687 Support for El Torito without floppy emulation.
10688
10689 * util/mkisofs/eltorito.c: Include `<errno.h>'.
10690 (init_boot_catalog): Improve error handling.
10691 (get_torito_desc): Don't use floppy emulation unless requested by
10692 user. Patch boot information table when requested via
10693 `-boot-info-table'.
10694 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
10695 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
10696 (use_boot_info_table): New variables.
10697 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
10698 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
10699 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
10700 `--eltorito-emul-floppy'.
10701 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
10702 and `OPTION_ELTORITO_EMUL_FLOPPY'.
10703 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
10704 (use_boot_info_table, get_731): New prototypes.
10705 * util/mkisofs/write.c (get_731): New function.
10706
10707 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
10708
10709 Fix the generation of the man page.
10710
10711 * util/pc/i386/grub-install.in: Source
10712 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
10713
10714 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
10715
10716 Large file support for grub-mkisofs.
10717
10718 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
10719 * util/mkisofs/mkisofs.c (next_extent, last_extent)
10720 (session_start): Upgrade type to `uint64_t'. Update all users.
10721 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
10722 (struct directory_entry): Upgrade type of `starting_block' and
10723 `size' to `uint64_t'. Update all users.
10724 (struct deferred): Remove unused structure.
10725 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
10726 Update all users.
10727 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
10728 file is larger than `UINT32_MAX'.
10729 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
10730 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
10731 return value.
10732 (struct deferred_write): Upgrade type of `extent' and `size' to
10733 `uint64_t'. Update all users.
10734 (last_extent_written): Upgrade type to `uint64_t'. Update all
10735 users.
10736 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
10737 Update all users. Upgrade type of `remain' to `int64_t' and
10738 `use' to `size_t'. Use error() to handle fread() errors.
10739 (write_files): Rely on write_one_file() rather than calling
10740 xfwrite() directly.
10741
10742 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
10743
10744 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
10745
10746 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10747
10748 * util/mkisofs/fnmatch.c: Remove.
10749 * util/mkisofs/getopt1.c: Likewise.
10750 * util/mkisofs/getopt.c: Likewise.
10751 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
10752 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
10753 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
10754 `gnulib/getopt1.c' and `gnulib/getopt.c'.
10755 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
10756
10757 * configure.ac: Detect `mingw32msvc' host_os.
10758 Check for lstat(), getuid() and getgid().
10759
10760 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
10761 instances of `u_char' with `uint8_t'.
10762
10763 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
10764 [!HAVE_GETUID] (getuid): New function (stub).
10765 [!HAVE_GETGID] (getgid): Likewise.
10766 [!HAVE_LSTAT] (lstat): Likewise.
10767 [!S_IROTH] (S_IROTH): New macro (dummy).
10768 [!S_IRGRP] (S_IRGRP): Likewise.
10769
10770 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10771
10772 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
10773 conditional expression).
10774
10775 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10776
10777 Import from Gnulib.
10778
10779 * gnulib/fnmatch.c: New file.
10780 * gnulib/fnmatch.h: Likewise.
10781 * gnulib/fnmatch_loop.c: Likewise.
10782 * gnulib/getopt.c: Likewise.
10783 * gnulib/getopt.h: Likewise.
10784 * gnulib/getopt1.c: Likewise.
10785 * gnulib/getopt_int.h: Likewise.
10786 * gnulib/gettext.h: Likewise.
10787
10788 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10789
10790 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
10791 * normal/handler.c (read_handler_list): Likewise.
10792
10793 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10794
10795 Misc cleanup.
10796
10797 * kern/command.c (grub_register_command_prio): Use
10798 grub_zalloc() instead of explicitly zeroing data.
10799 * kern/list.c: Include `<grub/mm.h>'.
10800 (grub_named_list_find): Replace `0' with `NULL'.
10801 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
10802 (fs_module_list): Change type to `grub_named_list_t'. Update all
10803 users.
10804 * normal/dyncmd.c (read_command_list): Add space between function
10805 call and parenthesis.
10806 * normal/handler.c (read_handler_list): Likewise.
10807
10808 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10809
10810 * normal/auth.c (punishment_delay): Moved from here ...
10811 (grub_auth_strcmp): ... to here (inside function).
10812
10813 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10814
10815 * include/grub/list.h (struct grub_named_list): Remove `const'
10816 qualifier from `name'.
10817 (struct grub_prio_list): Likewise.
10818
10819 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10820
10821 * normal/auth.c: Include `<grub/time.h>'.
10822 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
10823
10824 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10825
10826 * normal/auth.c (punishment_delay): New variable.
10827 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
10828 (grub_auth_check_authentication): Punish failed login attempts with
10829 an incremental (2^N) delay.
10830
10831 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10832
10833 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
10834 path with $(srcdir).
10835
10836 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10837
10838 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
10839
10840 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10841
10842 * util/i386/coreboot/grub-mkrescue.in: New file.
10843 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
10844 variables.
10845
10846 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
10847 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
10848 * configure.ac: Add header and function checks to satisfy grub-mkisofs
10849 requirements.
10850 * util/mkisofs/defaults.h: New file.
10851 * util/mkisofs/eltorito.c: Likewise.
10852 * util/mkisofs/exclude.h: Likewise.
10853 * util/mkisofs/fnmatch.c: Likewise.
10854 * util/mkisofs/getopt.c: Likewise.
10855 * util/mkisofs/getopt1.c: Likewise.
10856 * util/mkisofs/hash.c: Likewise.
10857 * util/mkisofs/include/fctldefs.h: Likewise.
10858 * util/mkisofs/include/mconfig.h: Likewise.
10859 * util/mkisofs/include/prototyp.h: Likewise.
10860 * util/mkisofs/include/statdefs.h: Likewise.
10861 * util/mkisofs/iso9660.h: Likewise.
10862 * util/mkisofs/joliet.c: Likewise.
10863 * util/mkisofs/match.c: Likewise.
10864 * util/mkisofs/match.h: Likewise.
10865 * util/mkisofs/mkisofs.c: Likewise.
10866 * util/mkisofs/mkisofs.h: Likewise.
10867 * util/mkisofs/multi.c: Likewise.
10868 * util/mkisofs/name.c: Likewise.
10869 * util/mkisofs/rock.c: Likewise.
10870 * util/mkisofs/tree.c: Likewise.
10871 * util/mkisofs/write.c: Likewise.
10872
10873 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
10876 being insecure.
10877
10878 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10879
10880 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
10881 `grub-mkimage' (and use $0 when possible).
10882
10883 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10884
10885 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
10886 error message for excessively large memory map.
10887
10888 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10889
10890 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
10891 executable bit.
10892
10893 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10894
10895 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
10896 message for coreboot users.
10897
10898 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
10899
10900 Fix build with GNU gold.
10901
10902 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
10903 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
10904 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
10905 link addresses.
10906 * aclocal.m4: Likewise.
10907
10908 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
10909
10910 * configure.ac (AC_PREREQ): Bump to 2.59d.
10911 * INSTALL: Make it more clear when Autoconf and Ruby are
10912 needed and when to run `./autogen.sh'.
10913
10914 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10915
10916 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
10917 OSes.
10918
10919 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10920
10921 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
10922
10923 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10924
10925 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
10926 giving it to GNU Mach.
10927
10928 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10929
10930 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
10931 GNU partition number to get internal GRUB partition number.
10932
10933 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10934
10935 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
10936 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
10937
10938 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
10939
10940 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
10941 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
10942 case.
10943
10944 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
10945
10946 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
10947
10948 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
10949
10950 Fix build problem.
10951
10952 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
10953 `-isystem=$(srcdir)/include'.
10954
10955 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
10956
10957 * util/i386/pc/grub-install.in: Remove hint that device.map should be
10958 checked (grub-install doesn't currently rely on it).
10959
10960 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
10961
10962 Revert SVN r2660.
10963
10964 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
10965 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
10966 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
10967 * conf/i386-ieee1275.rmk: Likewise.
10968 * conf/i386-pc.rmk: Likewise.
10969 * conf/powerpc-ieee1275.rmk: Likewise.
10970 * conf/sparc64-ieee1275.rmk: Likewise.
10971 * conf/x86_64-efi.rmk: Likewise.
10972
10973 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
10974
10975 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
10976
10977 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
10978
10979 * include/grub/misc.h: Stop checking for APPLE_CC.
10980
10981 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
10982
10983 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
10984 doesn't cause an infinite call loop.
10985
10986 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
10987
10988 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
10989 strings.
10990
10991 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10992
10993 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
10994 variable.
10995 * Makefile.in: Likewise.
10996
10997 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10998
10999 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
11000
11001 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11002
11003 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
11004
11005 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11006
11007 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
11008
11009 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11010
11011 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
11012 from here ...
11013 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
11014
11015 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11016
11017 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
11018 in $(MAKEINFO) invocation. This makes it clear in output that
11019 errors are being ignored.
11020
11021 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11022
11023 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
11024 from here ...
11025 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
11026 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
11027 * conf/i386-ieee1275.rmk: Likewise.
11028 * conf/i386-pc.rmk: Likewise.
11029 * conf/powerpc-ieee1275.rmk: Likewise.
11030 * conf/sparc64-ieee1275.rmk: Likewise.
11031 * conf/x86_64-efi.rmk: Likewise.
11032
11033 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
11034
11035 * util/grub-editenv.c (main): If only a command is given, use
11036 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
11037 (usage): FILENAME is now optional and has a default.
11038
11039 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
11040
11041 Improve grub-mkconfig performance when there are several menu
11042 entries on a single filesystem.
11043
11044 * util/grub.d/10_linux.in (linux_entry): Cache the output of
11045 prepare_grub_to_access_device.
11046 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11047 * util/grub.d/30_os-prober.in: Likewise.
11048
11049 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11050
11051 * util/grub.d/10_freebsd.in: Remove.
11052 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
11053 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
11054
11055 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
11056
11057 * docs/grub.cfg: Fix example usage of *BSD loaders.
11058
11059 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11060
11061 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
11062 grub_util_error() call.
11063
11064 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11065
11066 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
11067 `reserved_first_sector' member.
11068 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
11069 `reserved_first_sector' to 1.
11070 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
11071 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
11072 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
11073 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
11074 filesystems which begin at first sector.
11075 (options): New option --skip-fs-probe.
11076 (main): Handle --skip-fs-probe and pass it to setup().
11077
11078 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11079
11080 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
11081 (memset): Fix function prototype.
11082
11083 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11084 2009-10-25 Vasily Averin <vvs@parallels.com>
11085
11086 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
11087 `dirent.direntlen == 0'.
11088
11089 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11090
11091 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
11092 `cpio'.
11093 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
11094
11095 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11096
11097 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
11098 `__trampoline_setup' and `__ucmpdi2'.
11099 * include/grub/powerpc/libgcc.h: Only export symbols for functions
11100 that libgcc provides.
11101
11102 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11103
11104 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
11105 * include/grub/sparc64/libgcc.h (memset): Likewise.
11106 * include/grub/misc.h (memset, memcmp): New function prototypes.
11107
11108 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11109
11110 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
11111 `cpio'.
11112 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
11113
11114 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
11115
11116 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
11117 * docs/grub.cfg: Compensate for recent change in multiboot
11118 loader (since 2009-08-14 it won't pass filename to payload).
11119 * util/grub.d/10_hurd.in: Likewise.
11120
11121 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
11122
11123 * config.guess: Update to latest version from config git
11124 repository.
11125 * config.sub: Likewise.
11126
11127 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
11128
11129 Fix build on sparc64.
11130
11131 * configure.ac: Perform checks for libgcc symbols before
11132 adding `-nostdlib' to LDFLAGS.
11133
11134 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11135
11136 Let user specify OpenBSD root device.
11137
11138 * loader/i386/bsd.c (openbsd_root): New variable.
11139 (openbsd_opts): New option 'root'.
11140 (OPENBSD_ROOT_ARG): New macro.
11141 (grub_openbsd_boot): Use 'openbsd_root'.
11142 (grub_cmd_openbsd): Fill 'openbsd_root'.
11143
11144 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
11145
11146 * NEWS: Misc adjustments.
11147
11148 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11149
11150 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
11151
11152 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
11153
11154 * configure.ac: Bump version to 1.97.
11155
11156 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
11157
11158 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
11159 -mno-3dnow on x86 architectures. Some toolchains enable these
11160 features by default, but they rely on registers that aren't enabled
11161 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
11162
11163 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
11164
11165 Make entry text a bit more readable.
11166
11167 * util/grub.d/10_linux.in: Add `with' before `Linux'.
11168
11169 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
11172
11173 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
11176 operations.
11177
11178 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
11179
11180 * configure.ac: Add missing dollar.
11181
11182 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
11185
11186 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
11187 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
11188 exports.
11189 * include/grub/sparc64/libgcc.h: Likewise. Use
11190 preprocessor conditionals.
11191
11192 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
11193
11194 * conf/common.rmk (grub-dumpbios): Remove rule.
11195 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
11196 * util/grub-dumpbios.in: Remove file.
11197
11198 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
11199
11200 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
11201 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
11202
11203 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
11204 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
11205 users.
11206
11207 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
11208 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
11209 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
11210 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
11211 users.
11212
11213 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
11214
11215 * term/tparm.c: Switch to GPLv3.
11216
11217 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
11218
11219 * include/grub/i386/cpuid.h: Add header protection.
11220
11221 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
11222
11223 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
11224
11225 * include/grub/i386/cpuid.h: New file.
11226 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
11227 (has_longmode): Rename to ...
11228 (grub_cpuid_has_longmode): ... this. Update all users. Remove
11229 `static' attribute.
11230 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
11231 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
11232 on a CPU that doesn't implement AMD64 instruction set.
11233
11234 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
11235
11236 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
11237 that version.texi is rebuilt on version number changes.
11238
11239 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
11240
11241 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
11242 Fixes bug #27602.
11243
11244 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
11245
11246 * util/i386/pc/grub-install.in: Source
11247 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
11248 that the --grub-probe option will work.
11249 * util/sparc64/ieee1275/grub-install.in: Likewise.
11250
11251 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
11252
11253 * configure.ac: Bump version to 1.97~beta4.
11254
11255 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
11256
11257 Resync grub-mkdevicemap in x86_64-efi.
11258
11259 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
11260 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
11261 `util/devicemap.c'.
11262
11263 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
11264
11265 * util/grub-editenv.c (create_envblk_file): Write new block with a
11266 .new suffix and then rename it into place, to ensure atomic
11267 creation.
11268
11269 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
11270
11271 Do not automatically install headers.
11272
11273 * Makefile.in (include_DATA): Remove. Update all users.
11274
11275 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
11276
11277 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
11278 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
11279
11280 * util/osdetect.lua: Remove.
11281 * script/lua/lauxlib.c: Likewise.
11282 * script/lua/ldebug.c: Likewise.
11283 * script/lua/grub_main.c: Likewise.
11284 * script/lua/lauxlib.h: Likewise.
11285 * script/lua/ldebug.h: Likewise.
11286 * script/lua/ltablib.c: Likewise.
11287 * script/lua/liolib.c: Likewise.
11288 * script/lua/lstrlib.c: Likewise.
11289 * script/lua/lualib.h: Likewise.
11290 * script/lua/ldo.c: Likewise.
11291 * script/lua/ldump.c: Likewise.
11292 * script/lua/ldo.h: Likewise.
11293 * script/lua/loslib.c: Likewise.
11294 * script/lua/lundump.c: Likewise.
11295 * script/lua/grub_lib.c: Likewise.
11296 * script/lua/ldblib.c: Likewise.
11297 * script/lua/lundump.h: Likewise.
11298 * script/lua/lmem.c: Likewise.
11299 * script/lua/grub_lib.h: Likewise.
11300 * script/lua/lmathlib.c: Likewise.
11301 * script/lua/lstate.c: Likewise.
11302 * script/lua/ltm.c: Likewise.
11303 * script/lua/lvm.c: Likewise.
11304 * script/lua/lmem.h: Likewise.
11305 * script/lua/lstate.h: Likewise.
11306 * script/lua/ltm.h: Likewise.
11307 * script/lua/ltable.c: Likewise.
11308 * script/lua/lvm.h: Likewise.
11309 * script/lua/llex.c: Likewise.
11310 * script/lua/lgc.c: Likewise.
11311 * script/lua/grub_lua.h: Likewise.
11312 * script/lua/loadlib.c: Likewise.
11313 * script/lua/lfunc.c: Likewise.
11314 * script/lua/lopcodes.c: Likewise.
11315 * script/lua/lparser.c: Likewise.
11316 * script/lua/ltable.h: Likewise.
11317 * script/lua/llex.h: Likewise.
11318 * script/lua/lgc.h: Likewise.
11319 * script/lua/lfunc.h: Likewise.
11320 * script/lua/lbaselib.c: Likewise.
11321 * script/lua/lopcodes.h: Likewise.
11322 * script/lua/lparser.h: Likewise.
11323 * script/lua/lzio.c: Likewise.
11324 * script/lua/linit.c: Likewise.
11325 * script/lua/lobject.c: Likewise.
11326 * script/lua/llimits.h: Likewise.
11327 * script/lua/lstring.c: Likewise.
11328 * script/lua/lzio.h: Likewise.
11329 * script/lua/lapi.c: Likewise.
11330 * script/lua/lcode.c: Likewise.
11331 * script/lua/lua.h: Likewise.
11332 * script/lua/lobject.h: Likewise.
11333 * script/lua/lstring.h: Likewise.
11334 * script/lua/lapi.h: Likewise.
11335 * script/lua/lcode.h: Likewise.
11336 * script/lua/luaconf.h: Likewise.
11337
11338 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
11339
11340 * docs/grub.texi (Command-line and menu entry commands): Document
11341 date and echo commands.
11342
11343 2009-09-24 Pavel Roskin <proski@gnu.org>
11344
11345 * include/grub/kernel.h (struct grub_module_header): Remove
11346 `grub_module_header_types'. Make `type' unsigned. Make `size'
11347 32-bit on all platforms.
11348 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
11349 8-bit field. Use grub_host_to_target32() for `size'.
11350 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
11351 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
11352 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
11353
11354 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
11355
11356 Fix "lost keypress" bug in at_keyboard.
11357
11358 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
11359 Checks for readyness of input buffer (without flushing it).
11360 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
11361 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
11362
11363 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
11364
11365 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
11366 size check within GRUB_MACHINE_PCBIOS section.
11367
11368 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
11369
11370 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
11371 return value.
11372 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
11373 KEYBOARD_ISREADY check.
11374 (grub_at_keyboard_checkkey): Rename to ...
11375 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
11376 Remove gratuitous cast.
11377
11378 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
11379
11380 * configure.ac: Call AC_PROG_MKDIR_P.
11381 * Makefile.in (docs/stamp-vti): Create docs directory. Create
11382 version.texi in $(builddir) rather than $(srcdir).
11383 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
11384 to makeinfo's @include search path.
11385
11386 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
11387
11388 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
11389
11390 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
11391
11392 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
11393 for `*.dpkg-new'.
11394
11395 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
11396
11397 Build info documentation. Some code borrowed from Automake.
11398
11399 * configure.ac: Check for makeinfo.
11400 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
11401 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
11402 docs/version.texi.
11403 (MOSTLYCLEANFILES): Add vti.tmp.
11404 (docs/version.texi, docs/stamp-vti): Update automatically.
11405 (docs/grub.info): Build info documentation. Use --force and ignore
11406 errors for now.
11407 (all-local): Add $(INFOS).
11408 (install-local): Install info files.
11409 (uninstall): Uninstall info files.
11410 * docs/version.texi: Remove from revision control. This file is
11411 automatically generated on build now.
11412 * gendistlist.sh: Add `*.info'.
11413
11414 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
11415
11416 * kern/term.c: Fix indentation.
11417
11418 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
11419
11420 * util/hostdisk.c: Fix a comment.
11421
11422 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
11423
11424 Fix regression introduced in r2539.
11425
11426 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
11427 to 0xA1.
11428
11429 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
11430
11431 * util/grub.d/30_os-prober.in: Don't throw away stderr from
11432 os-prober. Under normal operation, it does not print anything to
11433 stderr; if it does, we need to debug it, and throwing away stderr
11434 makes that excessively difficult.
11435
11436 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
11439
11440 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
11441
11442 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
11443 AC_LANG_PROGRAM from autoconf.
11444 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
11445 prototypes (fixes warning).
11446
11447 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
11448 `--disable-werror' was used.
11449
11450 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
11451
11452 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
11453 uninitialized `lastaddr'.
11454
11455 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
11458
11459 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
11460
11461 * commands/test.c (get_fileinfo): Return immediately if
11462 grub_fs_probe fails.
11463
11464 2009-09-14 José Martínez <xosemp@gmail.com>
11465
11466 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
11467
11468 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
11469
11470 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
11471 output.
11472
11473 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
11474
11475 * configure.ac: Remove --enable-grub-pe2elf. Only build
11476 grub-pe2elf when needed by the build system itself.
11477 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
11478
11479 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11480
11481 * configure.ac: Bump version to 1.97~beta3.
11482 * docs/version.texi: Likewise.
11483
11484 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11485
11486 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
11487 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
11488 from here ...
11489 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
11490 (grub_linux_setup_video): ... to here (with some adjustments).
11491
11492 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11493
11494 Fix memory corruption issue (spotted by Colin Watson).
11495
11496 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
11497 causing returned size to be stored in an incorrect memory location.
11498 Fix use of uninitialized value when storing the returned size.
11499
11500 2009-09-12 Yves Blusseau <blusseau@zetam.org>
11501
11502 Change clean rules to properly remove files
11503
11504 * genmk.rb: add new clean rules
11505 * Makefile.in (clean): add the new targets
11506 (mostlyclean): likewise
11507
11508 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
11509
11510 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
11511 to grub_uint64_t.
11512 * fs/ntfs.c (init_file): Understand 64-bit sizes for
11513 non-resident files.
11514
11515 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
11516
11517 * configure.ac: Don't look for help2man when cross-compiling. Fixes
11518 part of bug #27349.
11519
11520 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
11521
11522 * util/grub-mkconfig.in: Make the created config mode 400 and
11523 print a warning if it fails.
11524
11525 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
11526
11527 * util/grub.d/40_custom.in: Ask user to type custom entries below
11528 comment, rather than below 'exec tail' line.
11529
11530 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
11531
11532 * util/grub.d/40_custom.in: Make sure that the explanatory text is
11533 visible in grub.cfg.
11534
11535 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
11536
11537 * util/grub.d/40_custom.in: Make it a little clearer how to use this
11538 file.
11539
11540 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
11541
11542 * docs/grub.cfg: Add an example menu entry for memtest86+.
11543
11544 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
11545
11546 * config.guess: Update to latest version from config git.
11547 * config.sub: Likewise.
11548
11549 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
11550
11551 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
11552 unknown-command case. Fixes bug #27320.
11553
11554 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
11555
11556 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
11557 `help' if the command exists.
11558
11559 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
11560
11561 * INSTALL: Require GCC 4.1.3 or later.
11562
11563 2009-09-06 Yves Blusseau <blusseau@zetam.org>
11564
11565 * Makefile.in (RMKFILES): add i386-qemu.rmk
11566 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
11567 $(srcdir)/stamp-h.in
11568
11569 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
11570
11571 * util/grub-probe.c (probe): Comment out buggy codepath, which
11572 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
11573 should be re-enabled after 1.97.
11574
11575 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
11576
11577 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
11578 find searches for.
11579
11580 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
11581
11582 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
11583 unnecessary calls to grub_error.
11584
11585 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
11586
11587 * NEWS: Mention `keystatus' and Unicode fonts.
11588
11589 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
11590
11591 * configure.ac: Bump version to 1.97~beta2.
11592 * docs/version.texi: Likewise.
11593
11594 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
11595
11596 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
11597 containing unwind information in some cases where it previously did
11598 not. Use -fno-dwarf2-cfi-asm if available to restore the old
11599 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
11600 discussion.
11601
11602 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
11603
11604 Embedding loadenv module into grub-emu
11605
11606 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
11607 commands/loadenv.c
11608 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
11609 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
11610 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
11611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
11612 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
11613 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
11614
11615 2009-09-03 Magnus Granberg <zorry@ume.nu>
11616
11617 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
11618 include -fPIE in the default specs.
11619 * configure.ac: Check if pie_possible is yes and add -fno-PIE
11620 to TARGET_CFLAGS.
11621
11622 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
11623
11624 * INSTALL: Note that GNU Bison 2.3 or later is required.
11625
11626 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
11627
11628 * kern/i386/pc/startup.S: Fix typo.
11629
11630 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
11633 according to GCS.
11634
11635 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
11636
11637 * docs/grub.texi (Naming convention): Describe one-based partition
11638 numbering.
11639 (Device syntax): Likewise.
11640 (File name syntax): Likewise.
11641 (Block list syntax): Likewise.
11642 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
11643 menu.lst.
11644 (File name syntax): Likewise.
11645 (Command-line and menu entry commands): Document acpi, blocklist,
11646 crc, export, insmod, keystatus, ls, set, and unset commands.
11647
11648 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
11649
11650 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
11651 to avoid implying that only one of --shift, --ctrl, or --alt may be
11652 used.
11653
11654 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
11655
11656 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
11657 rather than comparing against S_IFREG, which will almost never work.
11658
11659 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
11660
11661 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
11662 (write_blocklists): Likewise.
11663
11664 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
11665
11666 * script/lua/grub_lua.h (fputs): Supply a format string as the first
11667 argument to grub_printf.
11668
11669 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
11670
11671 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
11672 non GNU test.
11673
11674 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11675
11676 * kern/file.c (grub_file_read): Spelling fix
11677
11678 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
11681 loading of headers in some cases.
11682
11683 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
11684
11685 * configure.ac: Bump version to 1.97~beta1.
11686 * docs/version.texi: Likewise.
11687
11688 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * include/grub/i386/xnu.h: Add license header.
11691 include grub/err.h explicitly.
11692
11693 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
11694
11695 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
11696 to `ufs' in the vfs.root.mountfrom kernel parameter.
11697
11698 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
11699
11700 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
11701
11702 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
11703 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
11704
11705 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
11706 `ARRAY_SIZE' macro.
11707
11708 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 * kern/file.c (grub_file_read): Check offset.
11711 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
11712 * fs/jfs.c (grub_jfs_read_file): Likewise.
11713 * fs/ntfs.c (grub_ntfs_read): Likewise.
11714 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
11715 * fs/minix.c (grub_minix_read_file): Correct offset check.
11716 * fs/ufs.c (grub_ufs_read_file): Likewise.
11717
11718 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
11719
11720 * term/i386/pc/console.c (bios_data_area): Cast
11721 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
11722
11723 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 1-bit optimised blitters.
11726
11727 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
11728 prototype.
11729 (grub_video_fbblit_replace_24bit_1bit): Likewise.
11730 (grub_video_fbblit_replace_16bit_1bit): Likewise.
11731 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11732 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11733 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
11734 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
11735 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
11736 function.
11737 (grub_video_fbblit_replace_24bit_1bit): Likewise.
11738 (grub_video_fbblit_replace_16bit_1bit): Likewise.
11739 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11740 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11741 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
11742 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
11743 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
11744 when possible.
11745 * video/video.c (grub_video_get_blit_format): Return
11746 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
11747
11748 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
11749
11750 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
11751 the first argument to grub_printf.
11752
11753 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
11754 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
11755
11756 Add `getkeystatus' terminal method. Add a new `keystatus' command
11757 to query it.
11758
11759 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
11760 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
11761 modifier key bitmasks.
11762 (struct grub_term_input): Add `getkeystatus' member.
11763 (grub_getkeystatus): Add prototype.
11764 * kern/term.c (grub_getkeystatus): New function.
11765
11766 * include/grub/i386/pc/memory.h
11767 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
11768 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
11769 Data Area layout.
11770 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
11771 (grub_console_term_input): Set `getkeystatus' member.
11772 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
11773 constants.
11774 (grub_usb_keyboard_getreport): Likewise.
11775 (grub_usb_keyboard_checkkey): Likewise.
11776 (grub_usb_keyboard_getkeystatus): New function.
11777 (grub_usb_keyboard_term): Set `getkeystatus' member.
11778
11779 * commands/keystatus.c: New file.
11780 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
11781 (keystatus_mod_SOURCES): New variable.
11782 (keystatus_mod_CFLAGS): Likewise.
11783 (keystatus_mod_LDFLAGS): Likewise.
11784 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
11785 commands/keystatus.c.
11786 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11787 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11788 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11790 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11791 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11792
11793 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 Split befs.mod and afs.mod into *_be.mod and *.mod
11796
11797 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
11798 (grub_fstest_SOURCES): Likewise.
11799 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
11800 (afs_be_mod_SOURCES): New variable.
11801 (afs_be_mod_CFLAGS): Likewise.
11802 (afs_be_mod_LDFLAGS): Likewise.
11803 (befs_be_mod_SOURCES): Likewise.
11804 (befs_be_mod_CFLAGS): Likewise.
11805 (befs_be_mod_LDFLAGS): Likewise.
11806 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
11807 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11808 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11809 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11810 (grub_emu_SOURCES): Likewise.
11811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11812 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11813 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11814 * fs/afs_be.c: New file.
11815 * fs/befs_be.c: New file.
11816 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
11817 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
11818 (U16): Replaced with ...
11819 (grub_afs_to_cpu16): ...this. All users updated.
11820 (U32): Replaced with ...
11821 (grub_afs_to_cpu32): ...this. All users updated.
11822 (U64): Replaced with ...
11823 (grub_afs_to_cpu64): ...this. All users updated.
11824 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
11825 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
11826 (grub_afs_validate_sblock): Check only one endianness.
11827 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
11828 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
11829 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
11830 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
11831 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
11832 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
11833 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
11834 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
11835
11836 2009-08-26 Bean <bean123ch@gmail.com>
11837
11838 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
11839 64-bit number.
11840 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
11841 (grub_xfs_inode_block): Change return type to grub_uint64_t.
11842 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
11843
11844 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 NetBSD memory map support.
11847
11848 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
11849 (grub_netbsd_btinfo_mmap_header): New structure.
11850 (grub_netbsd_btinfo_mmap_entry): Likewise.
11851 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
11852
11853 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11854
11855 Enable bsd.mod on coreboot.
11856
11857 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
11858 (bsd_mod_SOURCES): New variable.
11859 (bsd_mod_CFLAGS): Likewise.
11860 (bsd_mod_LDFLAGS): Likewise.
11861 (bsd_mod_ASFLAGS): Likewise.
11862 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
11863 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
11864
11865 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 Cleanup NetBSD root support.
11868
11869 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
11870 grub_bsd_get_device.
11871 Fix typo.
11872
11873 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
11874
11875 * util/grub.d/00_header.in: Move check for the video backend of
11876 gfxterm from here ...
11877 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
11878 a suitable video backend.
11879
11880 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 Fix breakage in grub-setup.
11883
11884 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
11885 "msdos_partition_map".
11886
11887 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11888
11889 Fix breakage in normal/auth.c.
11890
11891 * normal/auth.c (grub_iswordseparator): New function.
11892
11893 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11894
11895 Authentication support.
11896
11897 * commands/password.c: New file.
11898 * conf/common.rmk (pkglib_MODULES): Add password.mod.
11899 (password_mod_SOURCES): New variable.
11900 (password_mod_CFLAGS): Likewise.
11901 (password_mod_LDFLAGS): Likewise.
11902 (normal_mod_SOURCES): Add normal/auth.c.
11903 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
11904 normal/auth.c.
11905 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11906 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11907 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11909 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11910 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11911 * include/grub/auth.h: New file.
11912 * include/grub/err.h (grub_err_t): New enum value
11913 GRUB_ERR_ACCESS_DENIED.
11914 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
11915 'users'.
11916 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
11917 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
11918 users updated.
11919 * normal/auth.c: New file.
11920 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
11921 (grub_cmdline_run): Don't allow to go to command line without
11922 authentication.
11923 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
11924 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
11925 menuentry without superuser rights.
11926 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
11927 user isn't a superuser.
11928
11929 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 Save space by inlining misc.c functions.
11932
11933 * kern/misc.c (grub_iswordseparator): Made static.
11934 * kern/misc.c (grub_strcat): Moved from here ...
11935 * include/grub/misc.h (grub_strcat): ... here. Inlined.
11936 * kern/misc.c (grub_strncat): Moved from here ...
11937 * include/grub/misc.h (grub_strncat): ... here. Inlined.
11938 * kern/misc.c (grub_strcasecmp): Moved from here ...
11939 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
11940 * kern/misc.c (grub_strncasecmp): Moved from here ...
11941 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
11942 * kern/misc.c (grub_isalpha): Moved from here ...
11943 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
11944 * kern/misc.c (grub_isdigit): Moved from here ...
11945 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
11946 * kern/misc.c (grub_isgraph): Moved from here ...
11947 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
11948 * kern/misc.c (grub_tolower): Moved from here ...
11949 * include/grub/misc.h (grub_tolower): ... here. Inlined.
11950
11951 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 * script/sh/function.c (grub_script_function_find): Cut error message
11954 not to flood terminal.
11955 * script/sh/lexer.c (grub_script_yylex): Remove command line length
11956 limit.
11957 * script/sh/script.c (grub_script_arg_add): Duplicate string.
11958
11959 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
11960
11961 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
11962 `report' grub_uint8_t *.
11963 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
11964 Use a 50-millisecond timeout rather than just repeating
11965 grub_usb_keyboard_getreport 50 times.
11966 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
11967
11968 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11969
11970 Rename *_partition_map to part_*
11971
11972 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
11973 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
11974 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
11975 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
11976 All users updated.
11977 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
11978 All users updated.
11979 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
11980 * util/grub-probe.c (probe_partmap): Don't transform partition name
11981 to get module name.
11982
11983 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 Fix OpenBSD and NetBSD support.
11986
11987 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
11988 memory address conflict.
11989 (OPENBSD_MMAP_ACPI): New definition.
11990 (OPENBSD_MMAP_NVS): Likewise.
11991 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
11992 and OPENBSD_MMAP_NVS.
11993 Add memory map terminator
11994 Explicit cast when calling grub_unix_real_boot.
11995 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
11996
11997 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11998
11999 Let user specify NetBSD root device.
12000
12001 * loader/i386/bsd.c (netbsd_root): New variable.
12002 (netbsd_opts): New option 'root'.
12003 (NETBSD_ROOT_ARG): New macro.
12004 (grub_netbsd_boot): Use 'netbsd_root'.
12005 (grub_bsd_unload): Free 'netbsd_root'.
12006 (grub_cmd_netbsd): Fill 'netbsd_root'.
12007
12008 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
12009
12010 Support for 64-bit NetBSD.
12011
12012 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
12013 point when booting non-FreeBSD.
12014
12015 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 Support --no-smp and --no-acpi for NetBSD.
12018
12019 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
12020 (NETBSD_AB_NOACPI): Likewise.
12021 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
12022 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
12023
12024 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
12027 errors.
12028 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
12029 errors. Call grub_error when needed.
12030
12031 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 * commands/search.c (search_fs): Try searching without autoload first.
12034 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
12035 filesystem module explicitly for faster booting.
12036
12037 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
12038
12039 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
12040
12041 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
12042
12043 * util/grub.d/30_os-prober.in: Disable os-prober if
12044 `GRUB_DISABLE_OS_PROBER' was set to true.
12045
12046 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
12047
12048 * partmap/pc.c: Rename to ...
12049 * partmap/msdos.c: ... this. Update all users.
12050 (grub_pc_partition_map): Rename to ...
12051 (grub_msdos_partition_map): ... this. Update all users.
12052
12053 * parttool/pcpart.c: Rename to ...
12054 * parttool/msdospart.c: ... this. Update all users.
12055
12056 * include/grub/pc_partition.h: Rename to ...
12057 * include/grub/msdos_partition.h: ... this. Update all users.
12058 (grub_pc_partition_bsd_entry): Rename to ...
12059 (grub_msdos_partition_bsd_entry): ... this. Update all users.
12060 (grub_pc_partition_disk_label): Rename to ...
12061 (grub_msdos_partition_disk_label): ... this. Update all users.
12062 (grub_pc_partition_entry): Rename to ...
12063 (grub_msdos_partition_entry): ... this. Update all users.
12064 (grub_pc_partition_mbr): Rename to ...
12065 (grub_msdos_partition_mbr): ... this. Update all users.
12066 (grub_pc_partition): Rename to ...
12067 (grub_msdos_partition): ... this. Update all users.
12068 (grub_pc_partition_is_empty): Rename to ...
12069 (grub_msdos_partition_is_empty): ... this. Update all users.
12070 (grub_pc_partition_is_extended): Rename to ...
12071 (grub_msdos_partition_is_extended): ... this. Update all users.
12072 (grub_pc_partition_is_bsd): Rename to ...
12073 (grub_msdos_partition_is_bsd): ... this. Update all users.
12074
12075 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
12076 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
12077 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
12078 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
12079 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
12080 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
12081 (gpt_mod_LDFLAGS): Rename to ...
12082 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
12083 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
12084 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
12085 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
12086 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
12087 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
12088 (part_gpt_mod_LDFLAGS): ... this.
12089 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
12090 `pcpart.mod' to `msdospart.mod'.
12091 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
12092 to ...
12093 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
12094 (msdospart_mod_LDFLAGS): ... this.
12095
12096 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
12097
12098 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
12099 (openbsd_opts): Likewise.
12100 (netbsd_opts): Likewise.
12101 (freebsd_flags): Added 0 terminator.
12102 (openbsd_flags): Likewise.
12103 (netbsd_flags): Likewise.
12104 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
12105 (grub_cmd_freebsd): Transformed into extended command.
12106 (grub_cmd_openbsd): Likewise.
12107 (grub_cmd_netbsd): Likewise.
12108 (cmd_freebsd): Changed type to grub_extcmd_t.
12109 (cmd_openbsd): Likewise.
12110 (cmd_netbsd): Likewise.
12111 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
12112 grub_cmd_openbsd as extended commands.
12113 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
12114 cmd_netbsd and cmd_openbsd
12115
12116 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
12119
12120 2009-08-21 Pavel Roskin <proski@gnu.org>
12121
12122 * Makefile.in (install-local): When checking if a file is in the
12123 build directory, use "test -e" to detect symlinks.
12124
12125 * Makefile.in (install-local): Remove all files in
12126 $(DESTDIR)$(pkglibdir) before installing new files there.
12127
12128 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
12129
12130 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
12131 grub-mkelfimage.
12132
12133 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
12134
12135 * util/grub-mkconfig.in: Don't use gfxterm by default if not
12136 explicitly specified by the user.
12137
12138 2009-08-18 Pavel Roskin <proski@gnu.org>
12139
12140 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
12141 grub_uint8_t pointer for data.
12142 * include/grub/fbutil.h (struct grub_video_fbblit_info):
12143 Likewise.
12144 * video/fb/fbutil.c: Remove unnecessary casts.
12145
12146 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
12147
12148 VBE cleanup.
12149
12150 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
12151 (grub_vbe_set_video_mode): Save active mode info
12152 only after setting the mode.
12153 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
12154 second argument.
12155
12156 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
12157
12158 Rename variables for clarity.
12159
12160 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
12161 (active_vbe_mode_info): ... this. All users updated.
12162 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
12163 All users updated.
12164 (initial_mode): Rename to ...
12165 (initial_vbe_mode): ... this. All users updated.
12166 (mode_in_use): Rename to ..
12167 (vbe_mode_in_use): ... this. All users updated.
12168 (mode_list): Rename to ..
12169 (vbe_mode_list): ... this. All users updated.
12170 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
12171 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
12172 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
12173 'mode_list_size' to 'vbe_mode_list_size'.
12174 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
12175 'best_mode_info' to 'best_vbe_mode_info' and
12176 'best_mode' to 'best_vbe_mode'
12177
12178 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
12179
12180 Remove duplicate grub_video_fb_get_video_ptr.
12181
12182 * include/grub/fbutil.h (get_data_ptr): Rename to ...
12183 (grub_video_fb_get_video_ptr): ... this.
12184 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
12185 * video/fb/fbutil.c: Add comment about addressing.
12186 (get_data_ptr): Rename to ...
12187 (grub_video_fb_get_video_ptr): ... this. All users updated.
12188 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
12189
12190 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
12191
12192 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
12193 grub_dprintf() that was just added.
12194
12195 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
12196
12197 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
12198 (DEFAULT_VIDEO_MODE): Remove macros.
12199 (grub_linux_boot): Remove assumption that Linux has FB support,
12200 and use "text" as default video mode.
12201
12202 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
12203
12204 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
12205 grub_dprintf.
12206 * fs/fat.c (grub_fat_read_data): Likewise.
12207
12208 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
12211 payload.
12212 (grub_module): Likewise.
12213
12214 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
12217 mbi->cmdline but free playground.
12218
12219 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 Handle group offset on UFS1.
12222
12223 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
12224 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
12225
12226 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 Split ufs.mod into ufs1.mod and ufs2.mod.
12229
12230 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
12231 (grub_fstest_SOURCES): Likewise.
12232 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
12233 (ufs_mod_SOURCES): Remove.
12234 (ufs_mod_CFLAGS): Likewise.
12235 (ufs_mod_LDFLAGS): Likewise.
12236 (ufs1_mod_SOURCES): New variable.
12237 (ufs1_mod_CFLAGS): Likewise.
12238 (ufs1_mod_LDFLAGS): Likewise.
12239 (ufs2_mod_SOURCES): New variable.
12240 (ufs2_mod_CFLAGS): Likewise.
12241 (ufs2_mod_LDFLAGS): Likewise.
12242 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
12243 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
12244 Likewise.
12245 (grub_emu_SOURCES): Likewise.
12246 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12247 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12248 (grub_setup_SOURCES): Likewise.
12249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12250 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
12251 (grub_setup_SOURCES): Likewise.
12252 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
12253 Likewise.
12254 * fs/ufs2.c: New file.
12255 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
12256
12257 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 Framebuffer split.
12260
12261 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
12262 subsystem at the end.
12263 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
12264 (video_fb_mod_SOURCES): New variable.
12265 (video_fb_mod_CFLAGS): Likewise.
12266 (video_fb_mod_LDFLAGS): Likewise.
12267 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
12268 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
12269 * video/i386/pc/vbeblit.c: Moved from here ...
12270 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
12271 * video/i386/pc/vbefill.c: Moved from here ...
12272 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
12273 * video/i386/pc/vbeutil.c: Moved from here ...
12274 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
12275 * include/grub/i386/pc/vbeblit.h: Moved from here ...
12276 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
12277 * include/grub/i386/pc/vbefill.h: Moved from here ...
12278 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
12279 * include/grub/i386/pc/vbeutil.h: Moved from here ...
12280 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
12281 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
12282 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
12283 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
12284 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
12285 (grub_video_adapter): Added 'get_info_and_fini'.
12286 (grub_video_get_info_and_fini): New prototype.
12287 (grub_video_set_mode): make modestring const char *.
12288 * loader/i386/linux.c (grub_linux_setup_video): Use
12289 grub_video_get_info_and_fini.
12290 (grub_linux_boot): Move modesetting just before booting.
12291 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
12292 grub_video_get_info_and_fini.
12293 * video/i386/pc/vbe.c: Moved framebuffer part ...
12294 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
12295 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
12296 grub_video_fbstd_colors and grub_video_fb_set_palette.
12297 (grub_video_vbe_init): Clear 'framebuffer' variable and use
12298 grub_video_fb_init.
12299 (grub_video_vbe_fini): Use grub_video_fb_fini.
12300 (grub_video_vbe_setup): Use framebuffer.render_target instead of
12301 render_target and use grub_video_fb_set_active_render_target and
12302 grub_video_fb_set_palette.
12303 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
12304 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
12305 (grub_video_vbe_adapter): Use framebuffer.
12306 * video/video.c (grub_video_get_info_and_fini): New function.
12307 (grub_video_set_mode): Make modestring const char *.
12308 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
12309 values are already initialised.
12310
12311 2009-08-14 Pavel Roskin <proski@gnu.org>
12312
12313 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
12314 ABS and APPLE_CC.
12315 * boot/i386/pc/diskboot.S: Likewise.
12316 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
12317 sectors allow compilation on MacOSX.
12318 * conf/i386-pc.rmk: Enable unconditional compilation of
12319 lnxboot.img.
12320
12321 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
12322
12323 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
12324 * util/grub.d/00_header.in: Enter interruptible sleep if
12325 GRUB_HIDDEN_TIMEOUT is set.
12326
12327 2009-08-13 Yves Blusseau <blusseau@zetam.org>
12328
12329 * include/grub/symbol.h: Add the LOCAL macro.
12330 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
12331 starting with "L_".
12332
12333 2009-08-13 Pavel Roskin <proski@gnu.org>
12334
12335 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
12336 any modern compilers we support.
12337
12338 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
12339 Use local labels starting with "L_" so that Apple assembler
12340 knows they are local.
12341
12342 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
12343
12344 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
12345 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
12346 (bsd_kernel_types): ... this enum.
12347
12348 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
12349 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
12350 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
12351
12352 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
12353 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
12354 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
12355 messages.
12356
12357 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
12358
12359 * util/grub-dumpdevtree: Moved from here ...
12360 * util/i386/efi/grub-dumpdevtree: ... to here.
12361 (hexify): New function. Converts a string to its hex version.
12362 Generate hex versions of "efi" and "device-properties" by calling
12363 hexify() on the ASCII strings rather than by hardcoding numbers.
12364
12365 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
12366
12367 * fs/jfs.c: Update copyright year.
12368
12369 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
12370
12371 * util/grub.d/00_header.in: Fix a comment.
12372 * util/grub.d/10_linux.in: Likewise.
12373 * util/grub.d/10_windows.in: Likewise.
12374 * util/grub.d/10_hurd.in: Likewise.
12375
12376 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
12377
12378 * util/grub-mkconfig.in: Allow the user to specify the used font
12379 with GRUB_FONT.
12380
12381 2009-08-08 Pavel Roskin <proski@gnu.org>
12382
12383 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
12384 available, xfs.mod needs it now.
12385
12386 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
12387 the "g" modifier in sed when the intention is to strip something
12388 once. This fixes comparison of kernels with multiple dashes.
12389
12390 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
12391 on it. Add missing space before closing bracket. Fix
12392 misleading formatting.
12393
12394 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12395
12396 * docs/grub.texi: Major overhaul. Remove all sections that are
12397 specific to GRUB Legacy, or mostly composed of Legacy-specific
12398 information.
12399
12400 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12401
12402 * docs/version.texi: New file. Provides version information for
12403 grub.texi.
12404
12405 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12406
12407 * docs/grub.texi: Update CVS information to SVN.
12408 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
12409
12410 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
12411
12412 * util/grub-mkconfig.in: Remove a wrong `fi'.
12413
12414 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
12415
12416 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
12417 (grub_jfs_uuid): New function.
12418 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
12419
12420 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
12421
12422 * util/grub-mkconfig_lib.in (font_path): Move the functionality
12423 of it to ...
12424 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
12425 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
12426
12427 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12428
12429 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
12430 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
12431 Update all users.
12432
12433 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
12434 not just "vmlinu[zx]".
12435 Moved from here ...
12436 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
12437 all users.
12438
12439 * util/grub.d/10_linux.in (find_latest): Moved from here ...
12440 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
12441 all users.
12442
12443 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12444
12445 * util/grub.d/10_freebsd.in: Use an absolute device path for
12446 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
12447
12448 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
12449
12450 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
12451 handling of multiple abstraction modules.
12452
12453 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
12454
12455 Fix a bug resulting in black screen when loading Linux using a
12456 packed video mode.
12457
12458 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
12459 function.
12460
12461 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
12462 (grub_vbe_bios_getset_dac_palette_width): New function.
12463 (grub_vbe_bios_get_dac_palette_width)
12464 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
12465 grub_vbe_bios_getset_dac_palette_width()).
12466
12467 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
12468 check for return status.
12469 (grub_vbe_get_video_mode_info): When getting information for a packed
12470 mode (<= 8 bpp), obtain DAC palette width using
12471 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
12472 {red,green,blue}_mark_size.
12473
12474 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
12475
12476 * commands/search.c (options): Fix help output to match actual code.
12477
12478 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
12481 of homegrown code.
12482
12483 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
12486 on XFS or ReiserFS.
12487
12488 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 Support Apple partition map with sector size different from 512 bytes.
12491
12492 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
12493 (apple_partition_map_iterate): Respect 'aheader.blocksize'
12494 and 'apart.partmap_size'.
12495
12496 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12497 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
12498
12499 Fix cpuid command.
12500
12501 * commands/i386/cpuid.c (options): New variable.
12502 (grub_cmd_cpuid): Return real error.
12503 (GRUB_MOD_INIT(cpuid)): Declare options.
12504
12505 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
12506
12507 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
12508 valid.
12509
12510 2009-07-31 Bean <bean123ch@gmail.com>
12511
12512 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
12513 log2_inode.
12514 (grub_fshelp_node): Move inode field to the end.
12515 (grub_xfs_data): Remove inode field.
12516 (grub_xfs_inode_block): Calculate inode size using sblock.
12517 (grub_xfs_inode_offset): Likewise.
12518 (grub_xfs_read_inode): Calculate inode size using sblock.
12519 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
12520 (grub_xfs_iterate_dir): Calculate inode size using sblock.
12521 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
12522 to match inode size.
12523 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
12524 not accessible when data is null.
12525 (grub_xfs_open): Likewise.
12526
12527 2009-07-31 Bean <bean123ch@gmail.com>
12528
12529 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
12530 Don't change pv->disk if it's already set.
12531
12532 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
12533 (grub_raid_register): ... here.
12534 (grub_raid_rescan): Removed.
12535
12536 * include/grub/raid.h (grub_raid_rescan): Removed.
12537
12538 * util/grub-fstest.c: Remove include file <grub/raid.h>.
12539 (fstest): Replace grub_raid_rescan with module fini function followed
12540 by init function.
12541
12542 * util/grub-probe.c: Add include file <grub/raid.h>.
12543 (probe_raid_level): New function.
12544 (probe): Detect abstraction by walking the disk device, support two
12545 level of abstraction (LVM on RAID) when detecting partition map.
12546
12547 2009-07-31 Pavel Roskin <proski@gnu.org>
12548
12549 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
12550 to grub_zalloc(), it was erroneous.
12551 Reported by Bean <bean123ch@gmail.com>
12552
12553 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
12554
12555 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
12556 embedding zone, not only the first one.
12557
12558 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
12559
12560 * term/gfxterm.c (clear_char): New function.
12561 (grub_virtual_screen_setup): Use clear_char.
12562 (scroll_up): Likewise.
12563 (grub_virtual_screen_cls): Likewise.
12564
12565 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
12566
12567 * util/deviceiter.c (get_acceleraid_disk_name): New static
12568 function.
12569 (grub_util_iterate_devices): Handle Accelraid devices.
12570 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
12571
12572 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
12573
12574 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
12575 separator for the suggested gfxpayload string (';' collides with the
12576 parser and needs escaping).
12577
12578 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
12581 Clear direction flag before jumping to OS.
12582 (grub_multiboot2_real_boot): Likewise.
12583
12584 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
12585
12586 * util/i386/pc/grub-install: Fix parsing of --disk-module
12587 option.
12588
12589 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
12590
12591 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
12592 when embedding.
12593
12594 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
12595
12596 * util/grub-mkconfig.in (package_version): New variable.
12597 Use it do display the version.
12598
12599 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
12600
12601 * kern/file.c (grub_file_open): Revert to previous check with
12602 grub_errno.
12603
12604 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12605
12606 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
12607 from help line. It's out of sync with code.
12608
12609 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
12612 entries on failed boot.
12613
12614 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
12615
12616 * kern/file.c (grub_file_open): Fix an error check.
12617
12618 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
12621 partition map couldn't be identified.
12622
12623 2009-07-23 Pavel Roskin <proski@gnu.org>
12624
12625 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
12626 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
12627 case of little endian words becomes just an optimization.
12628 Respect const modifier.
12629 (md5_final): Use code that doesn't depend on endianness.
12630
12631 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
12632 to avoid loss of upper bits if align is unsigned and shorter
12633 than addr.
12634
12635 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
12636
12637 UUID support for UFS
12638
12639 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
12640 (grub_ufs_uuid): New function.
12641 (grub_ufs_fs): add .uuid
12642
12643 2009-07-21 Pavel Roskin <proski@gnu.org>
12644
12645 * kern/dl.c (grub_dl_check_header): Make static.
12646
12647 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
12648
12649 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
12650 add drivemap for Vista. It breaks Windows 7.
12651
12652 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
12653
12654 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
12655 128 bytes
12656
12657 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12658
12659 Add BFS support
12660
12661 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
12662 (grub_fstest_SOURCES): Likewise.
12663 (pkglib_MODULES): Add befs.mod.
12664 (befs_mod_SOURCES): New variable.
12665 (befs_mod_CFLAGS): Likewise.
12666 (befs_mod_LDFLAGS): Likewise.
12667 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12668 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12669 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12670 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12671 (grub_setup_SOURCES): Likewise.
12672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12673 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12674 (grub_setup_SOURCES): Likewise.
12675 * fs/befs.c: New file.
12676 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
12677 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
12678 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
12679 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
12680 (B_KEY_INDEX_ALIGN): New declaration.
12681 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
12682 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
12683 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
12684 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
12685 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
12686 (grub_afs_mount) [MODE_BFS]: Likewise.
12687 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
12688 (grub_afs_fs): Use GRUB_AFS_FSNAME
12689 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
12690 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
12691 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
12692 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
12693
12694 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
12695
12696 * util/getroot.c (find_root_device): Add support for MacOSX.
12697 * util/hostdisk.c: Likewise.
12698
12699 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12700
12701 * font/font.c (find_glyph): Check whether a font is present to avoid
12702 segmentation fault.
12703
12704 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
12705
12706 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
12707
12708 2009-07-20 Pavel Roskin <proski@gnu.org>
12709
12710 * configure.ac: Trim excessively wordy excuses.
12711
12712 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 Add symlink, mtime and label support to AtheFS.
12715
12716 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
12717 (grub_afs_iterate_dir): Handle symlinks.
12718 (grub_afs_open): Use grub_afs_read_symlink.
12719 (grub_afs_dir): Likewise.
12720 Pass mtime.
12721 (grub_afs_label): New function.
12722 (grub_afs_fs): Add grub_afs_label.
12723 (grub_afs_read_symlink): New function.
12724
12725 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12726
12727 Fix AtheFS support.
12728
12729 * fs/afs.c: Fix comments style.
12730 (grub_afs_blockrun): Declare as packed.
12731 (grub_afs_datastream): Likewise.
12732 (grub_afs_bnode): Likewise.
12733 (grub_afs_btree): Likewise.
12734 (grub_afs_sblock): Likewise.
12735 Declare `name' as char.
12736 (grub_afs_inode): Declare as packed.
12737 Change void *vnode to grub_uint32_t unused.
12738 (grub_afs_iterate_dir): Check that key_size is positive.
12739 (grub_afs_mount): Don't read superblock twice.
12740 (grub_afs_dir): Don't free node in case of error,
12741 grub_fshelp_find_file already handles this.
12742 (grub_afs_open): Likewise.
12743
12744 2009-07-19 Pavel Roskin <proski@gnu.org>
12745
12746 * Makefile.in: Remove LIBLZO and enable_lzo.
12747 * conf/i386-pc.rmk: Remove lzo support.
12748 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
12749 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
12750 support.
12751 * kern/i386/pc/lzo1x.S: Remove.
12752 * kern/i386/pc/startup.S: Remove lzo support.
12753 * util/i386/pc/grub-mkimage.c: Likewise.
12754
12755 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
12758 * fs/xfs.c (grub_xfs_dir): Likewise.
12759 * fs/afs.c (grub_afs_dir): Likewise.
12760 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
12761 (grub_iso9660_open): Likewise.
12762 * fs/jfs.c (grub_jfs_open): Likewise.
12763 * fs/ext2.c (grub_ext2_dir): Likewise.
12764 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
12765 * script/sh/lexer.c (grub_script_yylex): Likewise.
12766
12767 2009-07-16 Pavel Roskin <proski@gnu.org>
12768
12769 * configure.ac: Never add "-c" to CFLAGS.
12770
12771 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
12772
12773 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
12774 grub_cv_cc_efiemu should be used.
12775
12776 * configure.ac: Typo fixes.
12777
12778 * kern/mm.c (grub_zalloc): New function.
12779 (grub_debug_zalloc): Likewise.
12780 * include/grub/mm.h: Declare grub_zalloc() and
12781 grub_debug_zalloc().
12782 * util/misc.c (grub_zalloc): New function.
12783 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
12784 instead of grub_malloc(), remove unneeded initializations.
12785 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
12786 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
12787 * commands/parttool.c (grub_cmd_parttool): Likewise.
12788 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
12789 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
12790 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
12791 * disk/usbms.c (grub_usbms_finddevs): Likewise.
12792 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
12793 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
12794 (grub_cmd_efiemu_pnvram): Likewise.
12795 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
12796 * fs/iso9660.c (grub_iso9660_mount): Likewise.
12797 (grub_iso9660_iterate_dir): Likewise.
12798 * fs/jfs.c (grub_jfs_opendir): Likewise.
12799 * fs/ntfs.c (list_file): Likewise.
12800 (grub_ntfs_mount): Likewise.
12801 * kern/disk.c (grub_disk_open): Likewise.
12802 * kern/dl.c (grub_dl_load_core): Likewise.
12803 * kern/elf.c (grub_elf_file): Likewise.
12804 * kern/env.c (grub_env_context_open): Likewise.
12805 (grub_env_set): Likewise.
12806 (grub_env_set_data_slot): Likewise.
12807 * kern/file.c (grub_file_open): Likewise.
12808 * kern/fs.c (grub_fs_blocklist_open): Likewise.
12809 * loader/i386/multiboot.c (grub_module): Likewise.
12810 * loader/xnu.c (grub_xnu_create_key): Likewise.
12811 (grub_xnu_create_value): Likewise.
12812 * normal/main.c (grub_normal_add_menu_entry): Likewise.
12813 (read_config_file): Likewise.
12814 * normal/menu_entry.c (make_screen): Likewise.
12815 * partmap/sun.c (sun_partition_map_iterate): Likewise.
12816 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
12817 * script/sh/script.c (grub_script_parse): Likewise.
12818 * video/bitmap.c (grub_video_bitmap_create): Likewise.
12819 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
12820 * video/readers/png.c (grub_png_output_byte): Likewise.
12821 (grub_video_reader_png): Likewise.
12822
12823 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 Enable all targets that can be built by default
12826
12827 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
12828 grub-mkfont and grub-fstest if they can be built
12829
12830 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 Fix hang and segmentation fault in grub-emu-usb
12833
12834 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
12835 * util/usb.c (grub_libusb_devices): likewise
12836 (grub_libusb_init): rename to ...
12837 (GRUB_MOD_INIT (libusb)):...this
12838 (grub_libusb_fini): rename to ..
12839 (GRUB_MOD_FINI (libusb)):...this
12840 * disk/usbms.c (grub_usbms_transfer): fix retry logic
12841 * include/grub/disk.h (grub_raid_init): removed, it's useless
12842 (grub_raid_fini): likewise
12843 (grub_lvm_init): likewise
12844 (grub_lvm_fini): likewise
12845 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
12846 by grub_init_all
12847
12848 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 Fix libusb
12851
12852 * Makefile.in (LIBUSB): new macro
12853 * genmk.rb (Utility/print_tail): new method
12854 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
12855 (top level): call util.print_tail at the end.
12856
12857 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 Make FreeBSD accept zpool.cache
12860
12861 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
12862 type is /boot/zfs/zpool.cache
12863
12864 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 Fix 64-bit efiemu
12867
12868 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
12869 correct wrong typedef
12870 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
12871
12872 2009-07-15 Pavel Roskin <proski@gnu.org>
12873
12874 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
12875 * kern/disk.c (struct grub_disk_cache): Likewise.
12876
12877 * commands/probe.c (options): Typo fix.
12878
12879 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
12880 Increase to 0x5a to accommodate FAT32. Adjust other offsets
12881 accordingly.
12882 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
12883
12884 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
12885 the end of "Error" to make the message more readable.
12886
12887 * boot/i386/pc/boot.S (kernel_segment): Remove.
12888 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
12889 for destination.
12890
12891 * boot/i386/pc/boot.S (boot_version): Remove.
12892 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12893 Remove.
12894
12895 * include/grub/i386/pc/boot.h: Sort all offsets.
12896 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
12897 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
12898 * boot/i386/pc/boot.S: Assert location of every offset listed in
12899 include/grub/i386/pc/boot.h.
12900
12901 2009-07-13 Pavel Roskin <proski@gnu.org>
12902
12903 * include/grub/i386/coreboot/machine.h: Rename
12904 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
12905 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
12906 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
12907
12908 * kern/dl.c: Force native word size to suppress warnings when
12909 compiling grub-emu.
12910
12911 * kern/device.c (grub_device_iterate): Change struct part_ent to
12912 hold the name, not a pointer to it. Use one grub_malloc() per
12913 partition, not two. Free partition_name if grub_malloc() fails.
12914 Set ents to NULL only before grub_partition_iterate() is called.
12915
12916 2009-07-11 Bean <bean123ch@gmail.com>
12917
12918 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
12919 childname.
12920
12921 2009-07-10 Bean <bean123ch@gmail.com>
12922 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
12923
12924 * kern/ieee1275/openfw.c (grub_children_iterate)
12925 (grub_devalias_iterate): Fix size evaluation for property or path
12926 strings, which was broken since r2132.
12927
12928 2009-07-07 Pavel Roskin <proski@gnu.org>
12929
12930 * commands/search.c (search_file): Merge into ...
12931 (search_fs): ... this. Accept search type as argument.
12932 (grub_cmd_search): Pass search type to search_fs().
12933
12934 * include/grub/util/console.h: New file.
12935 * util/console.c: Use it instead of grub/machine/console.h.
12936 * util/grub-emu.c: Likewise.
12937
12938 * lib/arg.c (find_long_option): Remove.
12939 (find_long): Add `len' argument, make `s' const char *.
12940 (grub_arg_parse): Parse long options in place, not in a
12941 temporary buffer.
12942
12943 2009-07-06 Pavel Roskin <proski@gnu.org>
12944
12945 * commands/search.c (search_fs): Fix potential NULL pointer
12946 dereference.
12947
12948 * commands/search.c (search_fs): Replace QUID macro with quid_fn
12949 function pointer.
12950
12951 2009-07-06 Daniel Mierswa <impulze@impulze.org>
12952
12953 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
12954 comparison.
12955
12956 2009-07-05 Pavel Roskin <proski@gnu.org>
12957
12958 * include/grub/i386/linux.h (struct linux_kernel_params):
12959 Restore padding3, it's still needed.
12960
12961 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
12962 FreeBSD.
12963 * util/osdetect.lua: Likewise.
12964
12965 2009-07-05 Bean <bean123ch@gmail.com>
12966
12967 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
12968
12969 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
12970 (grub_lua_getenv): Likewise.
12971 (grub_lua_setenv): Likewise.
12972 (save_errno): New function.
12973 (push_result): Likewise.
12974 (grub_lua_enum_device): Likewise.
12975 (grub_lua_enum_file): Likewise.
12976 (grub_lua_file_open): Likewise.
12977 (grub_lua_file_close): Likewise.
12978 (grub_lua_file_seek): Likewise.
12979 (grub_lua_file_read): Likewise.
12980 (grub_lua_file_getline): Likewise.
12981 (grub_lua_file_getsize): Likewise.
12982 (grub_lua_file_getpos): Likewise.
12983 (grub_lua_file_eof): Likewise.
12984 (grub_lua_file_exist): Likewise.
12985 (grub_lua_add_menu): Likewise.
12986
12987 * script/lua/grub_lua.h (isupper): New inline function.
12988 (islower): Likewise.
12989 (ispunct): Likewise.
12990 (isxdigit): Likewise.
12991 (strcspn): Change to normal function.
12992 (strpbkr): New function declaration.
12993 (memchr): Likewise.
12994
12995 * script/lua/grub_main.c (scan_str): New function.
12996 (strcspn): Likewise.
12997 (strpbrk): Likewise.
12998 (memchr): Likewise.
12999
13000 * script/lua/linit.c (lualibs): Enable the string library.
13001
13002 * util/osdetect.lua: New file.
13003
13004 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
13005
13006 * include/grub/i386/linux.h (struct linux_kernel_params): Add
13007 `capabilities' member.
13008
13009 2009-07-02 Pavel Roskin <proski@gnu.org>
13010
13011 * genparttoollist.sh: Add missing newline at the end.
13012
13013 2009-07-01 Pavel Roskin <proski@gnu.org>
13014
13015 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
13016
13017 * util/hostdisk.c (open_device): Remove `const' from
13018 `sysctl_size', as sysctlbyname() can change it (in this case it
13019 doesn't actually happen).
13020
13021 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
13022 using signed long int constants.
13023
13024 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
13025 constant to avoid a warning on FreeBSD.
13026
13027 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
13028 where it's needed.
13029
13030 * Makefile.in: Install include/grub/machine symlink.
13031
13032 * Makefile.in: When installing symlinks, use "cp -fR", which
13033 works on FreeBSD and MacOSX.
13034 From Yves Blusseau <cl7m42e02@sneakemail.com>
13035
13036 * kern/dl.c (grub_dl_resolve_symbol): Make static.
13037 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
13038
13039 * util/misc.c: Move grub_reboot() and grub_halt() ...
13040 * util/grub-emu.c: ... here. Make main_env static.
13041 * include/grub/util/misc.h: Remove main_env.
13042
13043 * kern/mm.c: Use correct format to print size_t.
13044
13045 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
13046 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
13047 * kern/powerpc/dl.c: Likewise.
13048 * kern/sparc64/dl.c: Likewise.
13049 * kern/x86_64/dl.c: Likewise.
13050
13051 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
13052
13053 Fix grub-emu build on sparc64-ieee1275.
13054
13055 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
13056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
13057
13058 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
13059
13060 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
13061 (grub_reboot, grub_halt): New functions.
13062
13063 * util/i386/pc/misc.c: Delete. Update all users.
13064 * util/sparc64/ieee1275/misc.c: Likewise.
13065 * util/powerpc/ieee1275/misc.c: Likewise.
13066
13067 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
13068
13069 * conf/i386.rmk (setjmp_mod_SOURCES)
13070 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
13071 * conf/common.rmk (setjmp_mod_SOURCES)
13072 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
13073 to use $(target_cpu).
13074 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
13075 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
13076 * conf/powerpc-ieee1275.rmk: Likewise.
13077 * conf/sparc64-ieee1275.rmk: Likewise.
13078
13079 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
13080 $(target_cpu) for kern/$(target_cpu)/dl.c.
13081 * conf/i386-efi.rmk: Likewise.
13082 * conf/i386-ieee1275.rmk: Likewise.
13083 * conf/x86_64-efi.rmk: Likewise.
13084 * conf/i386-coreboot.rmk: Likewise.
13085 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
13086 $(target_cpu) for kern/$(target_cpu)/dl.c and for
13087 kern/$(target_cpu)/cache.S.
13088 * conf/sparc64-ieee1275.rmk: Likewise.
13089
13090 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
13091
13092 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
13093 type to `grub_uint8_t', and adjust `padding9' accordingly.
13094
13095 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
13096
13097 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
13098
13099 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
13100 assembly in final jump, using register constraints.
13101
13102 (grub_linux_boot): For text mode, initialize `have_vga' using
13103 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
13104
13105 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
13106 right before the final jump.
13107
13108 Set `video_mode' to 0x3.
13109
13110 Document initialization of `video_page', `video_mode' and
13111 `video_ega_bx'.
13112
13113 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
13114
13115 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
13116 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
13117 and set GRUB_LINUX_FLAG_QUIET appropriately.
13118
13119 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
13120
13121 Fix build on Debian / sparc.
13122
13123 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
13124
13125 2009-06-28 Pavel Roskin <proski@gnu.org>
13126
13127 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
13128 fix a warning.
13129
13130 * util/grub.d/10_linux.in: Match SUSE style initrd names.
13131
13132 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
13133
13134 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
13135 `err'.
13136
13137 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
13138
13139 Revert r2338.
13140
13141 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
13142 file can't be opened. grub_file_open() is already supposed to set
13143 grub_errno / grub_errmsg appropriately.
13144 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13145
13146 2009-06-27 Pavel Roskin <proski@gnu.org>
13147 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
13148
13149 * include/grub/dl.h: Include grub/elf.h.
13150 (struct grub_dl): Add symtab field.
13151 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
13152 GRUB_MODULES_MACHINE_READONLY.
13153 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
13154 of the header for read-only modules.
13155 (grub_dl_unload): Free mod->symtab for read-only modules.
13156 * kern/i386/dl.c: Use mod->symtab.
13157 * kern/powerpc/dl.c: Likewise.
13158 * kern/sparc64/dl.c: Likewise.
13159 * kern/x86_64/dl.c: Likewise.
13160
13161 * conf/i386-qemu.rmk: New file.
13162 * kern/i386/qemu/startup.S: Likewise.
13163 * kern/i386/qemu/mmap.c: Likewise.
13164 * boot/i386/qemu/boot.S: Likewise.
13165 * include/grub/i386/qemu/time.h: Likewise.
13166 * include/grub/i386/qemu/serial.h: Likewise.
13167 * include/grub/i386/qemu/kernel.h: Likewise.
13168 * include/grub/i386/qemu/console.h: Likewise.
13169 * include/grub/i386/qemu/boot.h: Likewise.
13170 * include/grub/i386/qemu/init.h: Likewise.
13171 * include/grub/i386/qemu/machine.h: Likewise.
13172 * include/grub/i386/qemu/loader.h: Likewise.
13173 * include/grub/i386/qemu/memory.h: Likewise.
13174
13175 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
13176 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
13177 [qemu] (pkglib_IMAGES): Add `boot.img'.
13178 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
13179 [qemu] (boot_img_FORMAT): New variables.
13180 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
13181 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
13182 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
13183 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13184 [qemu] (kernel_img_FORMAT): New variables.
13185
13186 * configure.ac: Recognise `i386-qemu'.
13187
13188 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
13189 (for no compression).
13190 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
13191 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
13192 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
13193 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
13194 ifdefs).
13195
13196 2009-06-27 Pavel Roskin <proski@gnu.org>
13197
13198 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
13199 read.
13200 * efiemu/prepare32.c: Likewise.
13201 * efiemu/prepare64.c: Likewise.
13202
13203 2009-06-26 Pavel Roskin <proski@gnu.org>
13204
13205 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
13206 * include/grub/elf.h: Define symbols without "32" or "64" based
13207 on GRUB_TARGET_WORDSIZE.
13208 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
13209 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
13210 ELF definitions.
13211 * efiemu/loadcore64.c: Likewise.
13212 * loader/i386/bsd32.c: Likewise.
13213 * loader/i386/bsd64.c: Likewise.
13214 * kern/dl.c: Remove own ELF definitions.
13215 * util/i386/efi/grub-mkimage.c: Likewise.
13216
13217 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
13218
13219 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
13220 segment 0x0 unconditionally, because the reference generated by
13221 GAS is an absolute address.
13222
13223 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13224
13225 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
13226 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
13227
13228 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13229
13230 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
13231 indexes. Check for -f explicitly.
13232 (search_file): Improve error message.
13233 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
13234
13235 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13236
13237 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
13238 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
13239
13240 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13241
13242 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
13243 * conf/i386-ieee1275.rmk: Likewise.
13244 * conf/i386-coreboot.rmk: Likewise.
13245
13246 * kern/i386/pc/startup.S (grub_stop): Remove function.
13247 * kern/i386/ieee1275/startup.S: Likewise.
13248 * kern/i386/coreboot/startup.S: Likewise.
13249 * kern/i386/misc.S (grub_stop): New function.
13250
13251 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13252
13253 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
13254 * kern/i386/realmode.S (real_to_prot): ... to here.
13255
13256 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13257
13258 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
13259 with `kernel.img'.
13260 (kernel_elf_SOURCES): Rename to ...
13261 (kernel_img_SOURCES): ... this.
13262 (kernel_elf_HEADERS): Rename to ...
13263 (kernel_img_HEADERS): ... this. Update all users.
13264 (kernel_elf_ASFLAGS): Rename to ...
13265 (kernel_img_ASFLAGS): ... this.
13266 (kernel_elf_CFLAGS): Rename to ...
13267 (kernel_img_CFLAGS): ... this.
13268 (kernel_elf_LDFLAGS): Rename to ...
13269 (kernel_img_LDFLAGS): ... this.
13270 * conf/i386-coreboot.rmk: Likewise.
13271 * conf/powerpc-ieee1275.rmk: Likewise.
13272
13273 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
13274 with "kernel.img".
13275
13276 2009-06-21 Pavel Roskin <proski@gnu.org>
13277
13278 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
13279 to match nested functions.
13280 * loader/sparc64/ieee1275/linux.c: Likewise.
13281
13282 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
13283
13284 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
13285
13286 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
13287 all i386 platforms.
13288
13289 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
13290
13291 Fix asm file handling on ELF, and remove workarounds.
13292
13293 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
13294 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
13295 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
13296 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
13297
13298 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 Load BSD ELF modules
13301
13302 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
13303 and loader/i386/bsd64.c
13304 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
13305 (FREEBSD_MODTYPE_ELF_MODULE): New definition
13306 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
13307 (grub_freebsd_load_elfmodule32): New declaration
13308 (grub_freebsd_load_elfmoduleobj64): Likewise
13309 (grub_freebsd_load_elf_meta32): Likewise
13310 (grub_freebsd_load_elf_meta64): Likewise
13311 (grub_freebsd_add_meta): Likewise
13312 (grub_freebsd_add_meta_module): Likewise
13313 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
13314 (grub_freebsd_add_meta_module): Likewise and move module-specific
13315 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
13316 (grub_cmd_freebsd): Add elf-kernel specific parts
13317 based on grub_freebsd_add_meta_module
13318 (grub_cmd_freebsd_module): Add type parsing moved from
13319 grub_freebsd_add_meta_module
13320 (grub_cmd_freebsd_module_elf): New function
13321 (cmd_freebsd_module_elf): New variable
13322 (GRUB_MOD_INIT): Register freebsd_module_elf
13323 * loader/i386/bsd32.c: New file
13324 * loader/i386/bsd64.c: Likewise
13325 * loader/i386/bsdXX.c: Likewise
13326 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
13327 (grub_elf64_load): Likewise
13328 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
13329 All users updated
13330 (grub_elf64_load_hook_t): Likewise
13331
13332 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
13333
13334 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
13335 variable.
13336 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
13337 don't write a menu entry for recovery mode.
13338
13339 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
13340
13341 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
13342 after it's no longer needed.
13343
13344 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
13345
13346 * include/grub/i386/loader.h (grub_linux_prot_size)
13347 (grub_linux_tmp_addr, grub_linux_real_addr)
13348 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
13349 GRUB_MACHINE_PCBIOS.
13350 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
13351 common grub_util_info() call to ...
13352 (generate_image): ... here.
13353 Fix use of uninitialized memory, comparison of signed with
13354 unsigned integers and memory leak.
13355 Remove bogus module address message.
13356
13357 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
13360 grub_raid_register
13361 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
13362
13363 2009-06-19 Pavel Roskin <proski@gnu.org>
13364
13365 * configure.ac: Remove stray AC_MSG_CHECKING.
13366
13367 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 * disk/scsi.c (grub_scsi_open): use continue instead of big if
13370
13371 2009-06-18 Pavel Roskin <proski@gnu.org>
13372
13373 * conf/common.rmk: Add fs_file.mod.
13374 * disk/fs_file.c: New file.
13375 * include/grub/disk.h (enum grub_disk_dev_id): Add
13376 GRUB_DISK_DEVICE_FILE_ID.
13377
13378 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 Fix build with Apple's toolchain. Part 2
13381
13382 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
13383 a fake start
13384
13385 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
13386
13387 Fix build with Apple's toolchain. Part 1
13388
13389 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
13390 for long calls
13391 * configure.ac: remove a leftover AC_MSG_RESULT
13392 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
13393 Apple's toolchain
13394
13395 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 Fix warnings
13398
13399 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
13400 (decomp_block): initialize ch
13401 use grub_memcpy instead of memcpy
13402
13403 2009-06-17 Pavel Roskin <proski@gnu.org>
13404
13405 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
13406 version, use declarations needed to use vga_text as the startup
13407 console.
13408
13409 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
13410 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
13411 the kernel.
13412 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
13413 and grub_at_keyboard_fini(), it's done on module load and
13414 unload.
13415
13416 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
13417
13418 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
13419 file can't be found.
13420 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13421
13422 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 Fix newline handling
13425
13426 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
13427 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
13428 (grub_script_yylex): don't segfault on unterminated script
13429 newline terminates command and variable
13430
13431 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
13432
13433 avoid double grub_adjust_range call. Bug reported by David Simner
13434
13435 * kern/disk.c (grub_disk_write): change to raw disk access before
13436 calling disk_read
13437
13438 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
13439
13440 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
13441 spaces, for the benefit of help2man.
13442 * util/i386/efi/grub-mkimage.c (usage): Likewise.
13443
13444 2009-06-16 Pavel Roskin <proski@gnu.org>
13445
13446 * kern/i386/halt.c: Include grub/machine/init.h.
13447 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
13448
13449 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
13450
13451 * util/grub.d/30_os-prober.in: Use ${root} in the generated
13452 drivemap menuentry.
13453
13454 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
13455
13456 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
13457 `echo' command.
13458
13459 2009-06-16 Pavel Roskin <proski@gnu.org>
13460
13461 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
13462 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
13463 save %dx, we only need %dl and we never change it.
13464 * boot/i386/pc/cdboot.S: Don't set the root drive.
13465 * boot/i386/pc/pxeboot.S: Likewise.
13466 * include/grub/i386/pc/boot.h: Remove
13467 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
13468 GRUB_BOOT_MACHINE_DRIVE_CHECK.
13469 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
13470 * kern/i386/pc/init.c (make_install_device): Remove references
13471 to grub_root_drive.
13472 * kern/i386/pc/startup.S: Likewise.
13473 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
13474
13475 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
13476
13477 xnu_uuid command
13478
13479 * commands/xnu_uuid.c: new file
13480 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
13481 (xnu_uuid_mod_SOURCES): new variable
13482 (xnu_uuid_mod_CFLAGS): likewise
13483 (xnu_uuid_mod_LDFLAGS): likewise
13484 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
13485 * conf/i386-ieee1275.rmk: likewise
13486 * conf/i386-pc.rmk: likewise
13487 * conf/powerpc-ieee1275.rmk: likewise
13488 * conf/sparc64-ieee1275.rmk: likewise
13489 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
13490
13491 2009-06-16 Pavel Roskin <proski@gnu.org>
13492
13493 * configure.ac: Avoid '==' in test command, it's not portable.
13494
13495 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
13496
13497 Probe command
13498
13499 * commands/probe.c: new file
13500 * conf/common.rmk (pkglib_MODULES): add probe.mod
13501 (probe_mod_SOURCES): new variable
13502 (probe_mod_CFLAGS): likewise
13503 (probe_mod_LDFLAGS): likewise
13504 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
13505 * conf/i386-ieee1275.rmk: likewise
13506 * conf/i386-pc.rmk: likewise
13507 * conf/powerpc-ieee1275.rmk: likewise
13508 * conf/sparc64-ieee1275.rmk: likewise
13509
13510 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 Fix handling of string like \"hello\" and "a
13513 b"
13514
13515 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
13516 (grub_script_yylex): fix parsing of quoting, escaping and newline
13517
13518 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
13521 handling
13522
13523 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
13524
13525 * util/grub-mkconfig.in: Fix parsing of --output option.
13526
13527 2009-06-12 Pavel Roskin <proski@gnu.org>
13528
13529 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
13530 genmk.rb don't need to be generated or installed.
13531
13532 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13533
13534 * commands/i386/pc/drivemap_int13h.S: add more comments
13535
13536 2009-06-11 Pavel Roskin <proski@gnu.org>
13537
13538 * Makefile.in (uninstall): Uninstall manuals.
13539
13540 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
13541 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
13542 and update-grub_lib in two places.
13543 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
13544
13545 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
13546 a compiler warning.
13547
13548 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
13549 `entry_lo' to fix variable shadowing.
13550
13551 2009-06-11 Christian Franke <franke@computer.org>
13552
13553 * kern/misc.c (__enable_execute_stack): Add missing return type
13554 to prevent gcc warning.
13555
13556 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
13557
13558 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
13559
13560 2009-06-11 Pavel Roskin <proski@gnu.org>
13561
13562 * Makefile.in: Don't rely on any scripts being executable.
13563 Always use $(SHELL) to run shell scripts.
13564
13565 * configure.ac: Always define ___main if using -nostdlib. This
13566 fixes tests on Cygwin.
13567
13568 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
13569
13570 UDF fix
13571
13572 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
13573 is in bytes and not in blocks
13574
13575 2009-06-11 Pavel Roskin <proski@gnu.org>
13576
13577 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
13578 warning.
13579
13580 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
13581
13582 * util/grub.d/30_os-prober.in: Fix a comment. Source
13583 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
13584 to set the root device. Place drivemap command in the generated
13585 chain entry.
13586
13587 2009-06-11 Pavel Roskin <proski@gnu.org>
13588
13589 * configure.ac: Remove host_m32. Issues with 64-bit utilities
13590 have long been resolved.
13591
13592 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
13593
13594 * util/grub.d/10_linux.in: Capitalise "Linux".
13595
13596 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
13597
13598 2009-06-11 Pavel Roskin <proski@gnu.org>
13599
13600 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
13601 fix a gcc warning and ensure that the function won't ever exit.
13602
13603 * kern/i386/ieee1275/init.c: Add missing prototype for
13604 grub_stop_floppy().
13605
13606 * loader/ieee1275/multiboot2.c [__i386__]: Include
13607 grub/cpu/multiboot.h.
13608
13609 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
13610 casts to short - they are not portable and cause warnings. Fix
13611 use of uninitialized values in input_buf. Use ARRAY_SIZE.
13612
13613 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 Drivemap fixes
13616
13617 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
13618 new function
13619 (grub_get_root_biosnumber_saved): new variable
13620 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
13621 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
13622 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
13623 %dx after the call if necessary
13624 * conf/common.rmk (pkglib_MODULES): remove boot.mod
13625 (boot_mod_SOURCES): remove
13626 (boot_mod_CFLAGS): remove
13627 (boot_mod_LDFLAGS): remove
13628 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
13629 (boot_mod_SOURCES): new variable
13630 (boot_mod_CFLAGS): likewise
13631 (boot_mod_LDFLAGS): likewise
13632 * conf/i386-efi.rmk: likewise
13633 * conf/i386-ieee1275.rmk: likewise
13634 * conf/i386-pc.rmk: likewise
13635 * conf/powerpc-ieee1275.rmk: likewise
13636 * conf/sparc64-ieee1275.rmk: likewise
13637 * conf/x86_64-efi.rmk: likewise
13638 * include/grub/i386/pc/biosnum.h: new file
13639 * lib/i386/pc/biosnum.c: likewise
13640 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
13641 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
13642 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
13643
13644 2009-06-10 Pavel Roskin <proski@gnu.org>
13645
13646 * io/gzio.c (test_header): Don't reuse one buffer for all data.
13647 Use separate variables. Read only the file size at the end, but
13648 not the checksum that we don't use.
13649
13650 * kern/file.c (grub_file_read): Use void pointer for the buffer.
13651 Adjust all callers.
13652
13653 * kern/ieee1275/openfw.c: Remove libc includes.
13654 * kern/ieee1275/cmain.c: Likewise.
13655 * include/grub/ieee1275/ieee1275.h: Likewise.
13656
13657 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
13658 compiler warnings.
13659
13660 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
13661
13662 * Makefile.in: Remove all trailing whitespace.
13663 * conf/i386-pc.rmk: Likewise.
13664 * conf/powerpc-ieee1275.rmk: Likewise.
13665 * conf/sparc64-ieee1275.rmk: Likewise.
13666 * docs/grub.texi: Likewise.
13667 * docs/texinfo.tex: Likewise.
13668 * disk/fs_uuid.c: Likewise.
13669 * disk/lvm.c: Likewise.
13670 * disk/scsi.c: Likewise.
13671 * disk/ata.c: Likewise.
13672 * disk/ieee1275/ofdisk.c: Likewise.
13673 * disk/i386/pc/biosdisk.c: Likewise.
13674 * disk/host.c: Likewise.
13675 * disk/raid.c: Likewise.
13676 * disk/efi/efidisk.c: Likewise.
13677 * disk/usbms.c: Likewise.
13678 * disk/memdisk.c: Likewise.
13679 * disk/loopback.c: Likewise.
13680 * kern/powerpc/dl.c: Likewise.
13681 * kern/device.c: Likewise.
13682 * kern/dl.c: Likewise.
13683 * kern/sparc64/dl.c: Likewise.
13684 * kern/ieee1275/ieee1275.c: Likewise.
13685 * kern/term.c: Likewise.
13686 * kern/fs.c: Likewise.
13687 * kern/i386/dl.c: Likewise.
13688 * kern/i386/pc/startup.S: Likewise.
13689 * kern/i386/pc/init.c: Likewise.
13690 * kern/i386/pc/mmap.c: Likewise.
13691 * kern/i386/pc/lzo1x.S: Likewise.
13692 * kern/i386/ieee1275/init.c: Likewise.
13693 * kern/i386/realmode.S: Likewise.
13694 * kern/i386/tsc.c: Likewise.
13695 * kern/partition.c: Likewise.
13696 * kern/corecmd.c: Likewise.
13697 * kern/file.c: Likewise.
13698 * kern/efi/efi.c: Likewise.
13699 * kern/efi/init.c: Likewise.
13700 * kern/efi/mm.c: Likewise.
13701 * kern/main.c: Likewise.
13702 * kern/err.c: Likewise.
13703 * kern/env.c: Likewise.
13704 * kern/disk.c: Likewise.
13705 * kern/generic/millisleep.c: Likewise.
13706 * kern/generic/rtc_get_time_ms.c: Likewise.
13707 * kern/misc.c: Likewise.
13708 * kern/parser.c: Likewise.
13709 * genmk.rb: Likewise.
13710 * configure.ac: Likewise.
13711 * boot/i386/pc/diskboot.S: Likewise.
13712 * boot/i386/pc/pxeboot.S: Likewise.
13713 * boot/i386/pc/boot.S: Likewise.
13714 * boot/i386/pc/lnxboot.S: Likewise.
13715 * boot/i386/pc/cdboot.S: Likewise.
13716 * parttool/pcpart.c: Likewise.
13717 * video/readers/tga.c: Likewise.
13718 * video/video.c: Likewise.
13719 * video/bitmap.c: Likewise.
13720 * lib/envblk.c: Likewise.
13721 * lib/i386/setjmp.S: Likewise.
13722 * fs/xfs.c: Likewise.
13723 * fs/afs.c: Likewise.
13724 * fs/fat.c: Likewise.
13725 * fs/ntfs.c: Likewise.
13726 * fs/udf.c: Likewise.
13727 * fs/affs.c: Likewise.
13728 * fs/iso9660.c: Likewise.
13729 * fs/hfs.c: Likewise.
13730 * fs/fshelp.c: Likewise.
13731 * fs/ext2.c: Likewise.
13732 * fs/jfs.c: Likewise.
13733 * fs/reiserfs.c: Likewise.
13734 * fs/hfsplus.c: Likewise.
13735 * fs/minix.c: Likewise.
13736 * fs/cpio.c: Likewise.
13737 * fs/sfs.c: Likewise.
13738 * fs/ufs.c: Likewise.
13739 * efiemu/prepare.c: Likewise.
13740 * efiemu/loadcore_common.c: Likewise.
13741 * efiemu/runtime/efiemu.sh: Likewise.
13742 * efiemu/runtime/efiemu.S: Likewise.
13743 * efiemu/runtime/efiemu.c: Likewise.
13744 * efiemu/pnvram.c: Likewise.
13745 * efiemu/main.c: Likewise.
13746 * efiemu/i386/pc/cfgtables.c: Likewise.
13747 * efiemu/i386/loadcore64.c: Likewise.
13748 * efiemu/i386/loadcore32.c: Likewise.
13749 * efiemu/loadcore.c: Likewise.
13750 * efiemu/symbols.c: Likewise.
13751 * efiemu/mm.c: Likewise.
13752 * include/grub/autoefi.h: Likewise.
13753 * include/grub/datetime.h: Likewise.
13754 * include/grub/term.h: Likewise.
13755 * include/grub/hfs.h: Likewise.
13756 * include/grub/lvm.h: Likewise.
13757 * include/grub/i386/tsc.h: Likewise.
13758 * include/grub/i386/linux.h: Likewise.
13759 * include/grub/i386/xnu.h: Likewise.
13760 * include/grub/i386/efiemu.h: Likewise.
13761 * include/grub/i386/pc/biosdisk.h: Likewise.
13762 * include/grub/i386/pc/memory.h: Likewise.
13763 * include/grub/i386/pc/vbe.h: Likewise.
13764 * include/grub/parttool.h: Likewise.
13765 * include/grub/video.h: Likewise.
13766 * include/grub/memory.h: Likewise.
13767 * include/grub/fs.h: Likewise.
13768 * include/grub/partition.h: Likewise.
13769 * include/grub/xnu.h: Likewise.
13770 * include/grub/efi/api.h: Likewise.
13771 * include/grub/efi/pe32.h: Likewise.
13772 * include/grub/efi/memory.h: Likewise.
13773 * include/grub/multiboot.h: Likewise.
13774 * include/grub/usbdesc.h: Likewise.
13775 * include/grub/multiboot2.h: Likewise.
13776 * include/grub/acpi.h: Likewise.
13777 * include/grub/efiemu/efiemu.h: Likewise.
13778 * include/grub/disk.h: Likewise.
13779 * include/grub/ieee1275/ieee1275.h: Likewise.
13780 * include/grub/net.h: Likewise.
13781 * include/grub/machoload.h: Likewise.
13782 * include/grub/macho.h: Likewise.
13783 * include/multiboot.h: Likewise.
13784 * genmoddep.awk: Likewise.
13785 * normal/main.c: Likewise.
13786 * normal/menu_entry.c: Likewise.
13787 * normal/menu_viewer.c: Likewise.
13788 * normal/completion.c: Likewise.
13789 * normal/cmdline.c: Likewise.
13790 * normal/misc.c: Likewise.
13791 * normal/datetime.c: Likewise.
13792 * bus/usb/usbtrans.c: Likewise.
13793 * bus/usb/ohci.c: Likewise.
13794 * bus/usb/uhci.c: Likewise.
13795 * bus/usb/usb.c: Likewise.
13796 * mmap/efi/mmap.c: Likewise.
13797 * mmap/i386/pc/mmap_helper.S: Likewise.
13798 * mmap/i386/pc/mmap.c: Likewise.
13799 * mmap/i386/mmap.c: Likewise.
13800 * mmap/i386/uppermem.c: Likewise.
13801 * mmap/mmap.c: Likewise.
13802 * commands/acpi.c: Likewise.
13803 * commands/echo.c: Likewise.
13804 * commands/blocklist.c: Likewise.
13805 * commands/loadenv.c: Likewise.
13806 * commands/usbtest.c: Likewise.
13807 * commands/boot.c: Likewise.
13808 * commands/parttool.c: Likewise.
13809 * commands/search.c: Likewise.
13810 * commands/cat.c: Likewise.
13811 * commands/i386/pc/play.c: Likewise.
13812 * commands/i386/pc/drivemap.c: Likewise.
13813 * commands/i386/pc/vbeinfo.c: Likewise.
13814 * commands/i386/pc/acpi.c: Likewise.
13815 * commands/i386/pc/vbetest.c: Likewise.
13816 * commands/ls.c: Likewise.
13817 * commands/cmp.c: Likewise.
13818 * commands/test.c: Likewise.
13819 * commands/efi/acpi.c: Likewise.
13820 * commands/gptsync.c: Likewise.
13821 * commands/help.c: Likewise.
13822 * partmap/amiga.c: Likewise.
13823 * partmap/apple.c: Likewise.
13824 * partmap/acorn.c: Likewise.
13825 * partmap/pc.c: Likewise.
13826 * partmap/sun.c: Likewise.
13827 * partmap/gpt.c: Likewise.
13828 * script/sh/lexer.c: Likewise.
13829 * script/sh/function.c: Likewise.
13830 * font/font.c: Likewise.
13831 * font/font_cmd.c: Likewise.
13832 * loader/powerpc/ieee1275/linux.c: Likewise.
13833 * loader/efi/chainloader.c: Likewise.
13834 * loader/multiboot_loader.c: Likewise.
13835 * loader/macho.c: Likewise.
13836 * loader/i386/multiboot.c: Likewise.
13837 * loader/i386/linux.c: Likewise.
13838 * loader/i386/pc/linux.c: Likewise.
13839 * loader/i386/pc/multiboot2.c: Likewise.
13840 * loader/i386/pc/chainloader.c: Likewise.
13841 * loader/i386/pc/xnu.c: Likewise.
13842 * loader/i386/bsd_trampoline.S: Likewise.
13843 * loader/i386/efi/linux.c: Likewise.
13844 * loader/i386/multiboot_elfxx.c: Likewise.
13845 * loader/i386/bsd_helper.S: Likewise.
13846 * loader/i386/bsd.c: Likewise.
13847 * loader/i386/linux_trampoline.S: Likewise.
13848 * loader/i386/xnu_helper.S: Likewise.
13849 * loader/i386/xnu.c: Likewise.
13850 * loader/i386/bsd_pagetable.c: Likewise.
13851 * loader/i386/multiboot_helper.S: Likewise.
13852 * loader/xnu.c: Likewise.
13853 * loader/xnu_resume.c: Likewise.
13854 * io/gzio.c: Likewise.
13855 * term/efi/console.c: Likewise.
13856 * term/terminfo.c: Likewise.
13857 * term/ieee1275/ofconsole.c: Likewise.
13858 * term/i386/pc/serial.c: Likewise.
13859 * term/i386/pc/vesafb.c: Likewise.
13860 * term/i386/pc/vga.c: Likewise.
13861 * term/usb_keyboard.c: Likewise.
13862 * term/gfxterm.c: Likewise.
13863 * aclocal.m4: Likewise.
13864 * util/lvm.c: Likewise.
13865 * util/grub.d/30_os-prober.in: Likewise.
13866 * util/grub.d/10_hurd.in: Likewise.
13867 * util/console.c: Likewise.
13868 * util/grub-macho2img.c: Likewise.
13869 * util/grub-probe.c: Likewise.
13870 * util/hostfs.c: Likewise.
13871 * util/i386/pc/grub-mkimage.c: Likewise.
13872 * util/i386/pc/grub-setup.c: Likewise.
13873 * util/i386/efi/grub-mkimage.c: Likewise.
13874 * util/grub-mkconfig.in: Likewise.
13875 * util/raid.c: Likewise.
13876 * util/resolve.c: Likewise.
13877 * util/grub-mkdevicemap.c: Likewise.
13878 * util/grub-emu.c: Likewise.
13879 * util/getroot.c: Likewise.
13880 * util/hostdisk.c: Likewise.
13881 * util/usb.c: Likewise.
13882 * util/grub-editenv.c: Likewise.
13883 * util/misc.c: Likewise.
13884
13885 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
13886
13887 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
13888 `genparttoollist.sh'.
13889 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
13890 Add `*.sh' to the list find searches for and change `mdate.sh'
13891 to `mdate-sh'.
13892
13893 2009-06-10 Pavel Roskin <proski@gnu.org>
13894
13895 * include/grub/multiboot2.h: Provide compatibility defines for
13896 multiboot2.h.
13897 * include/multiboot2.h: Include stdint.h only if needed, using
13898 angle brackets.
13899 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
13900 grub/multiboot2.h.
13901 * loader/ieee1275/multiboot2.c: Likewise.
13902 * loader/multiboot2.c: Likewise.
13903 * loader/multiboot_loader.c: Likewise.
13904
13905 * configure.ac: Use -nostdlib when probing for the target. It
13906 should not be required to have libc for the target.
13907
13908 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
13909 they fail without libc headers for the target.
13910 * include/grub/powerpc/libgcc.h: Use weak attribute for all
13911 exports.
13912 * include/grub/sparc64/libgcc.h: Likewise. Don't use
13913 preprocessor conditionals.
13914
13915 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
13916 build system doesn't need to be aware of the tar.c internals.
13917
13918 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
13919
13920 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
13921
13922 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
13923
13924 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
13925 disk limit to 26 for IDE, Virtio, Xen and SCSI.
13926
13927 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
13928
13929 * util/i386/pc/grub-install.in: Change the error message if UUIDs
13930 aren't available if ata.mod gets used.
13931
13932 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
13933
13934 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
13935 initialising controller.
13936 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13937
13938 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
13939
13940 * util/i386/pc/grub-install.in: Add a parameter --disk-module
13941 to choose between ata and biosdisk module on i386-pc.
13942
13943 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
13944
13945 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
13946 Subclass and Programming Interface fields in terms of the 3 byte
13947 Class Code register.
13948 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13949
13950 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
13951 interface is OHCI. Add grub_dprintf for symmetry with
13952 bus/usb/uhci.c.
13953 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
13954 interface is UHCI. Add interf variable for programming
13955 interface. Print interface with class/subclass.
13956
13957 * bus/usb/ohci.c: Set interf with correct field.
13958
13959 * bus/usb/uhci.c: Remove unneeded doubled lines.
13960 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
13961 Remove whitespace inside comment.
13962
13963 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
13964
13965 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
13966 as fallback an equivalent option without depth.
13967
13968 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
13969
13970 Not fail if unable to retrieve C/H/S on LBA disks
13971
13972 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
13973 if unable to retrieve C/H/S on LBA disks
13974
13975 2009-06-08 Pavel Roskin <proski@gnu.org>
13976
13977 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
13978 about aliasing.
13979
13980 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
13981
13982 * Makefile.in (uninstall): Remove all $lib_DATA files.
13983
13984 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 Bugfix: install on partitionless device
13987
13988 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
13989 is a whole disk
13990
13991 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
13992
13993 * Makefile.in (uninstall): Remove all $include_DATA files.
13994
13995 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
13996
13997 * commands/true.c: New file. Implement the true and false commands.
13998 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
13999 (true_mod_SOURCES): New variable.
14000 (true_mod_CFLAGS): Likewise.
14001 (true_mod_LDFLAGS): Likewise.
14002
14003 2009-06-05 Colin D Bennett <colin@gibibit.com>
14004
14005 Optimized font character lookup using binary search instead of linear
14006 search. Fonts now are required to have the character index ordered by
14007 code point.
14008
14009 * font/font.c (load_font_index): Verify that fonts have ordered
14010 character indices.
14011 (find_glyph): Use binary search instead of linear search to find a
14012 character in a font.
14013
14014 2009-06-05 Michael Scherer <misc@mandriva.org>
14015
14016 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
14017 uses case sensitive btree.
14018 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
14019 only for case insensitive filesystems.
14020
14021 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
14024 * conf/common.rmk (search_mod_CFLAGS): likewise
14025
14026 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14027
14028 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
14029 compensate a compiler bug
14030
14031 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
14034 instead of '\b'
14035
14036 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 Definitions for creating asm symbols with Apple's CC
14039
14040 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
14041 [APPLE_CC] (VARIABLE): likewise
14042
14043 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 Disable lnxboot.img when compiled
14046 with Apple's CC
14047
14048 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
14049 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
14050 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
14051 [! APPLE_CC] (CODE_LENG): skip
14052 [! APPLE_CC] (setup_sects): likewise
14053 [! APPLE_CC]: skip filling
14054
14055 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14056
14057 Address in trampolines based on 32-bit registers when compiled
14058 with Apple's CC
14059
14060 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
14061 for addresses
14062 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
14063
14064 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14065
14066 Avoid aliases when compiling with Apple's CC for PCBIOS machine
14067
14068 * kern/misc.c [APPLE_CC] (memcpy): new function
14069 [APPLE_CC] (memmove): likewise
14070 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
14071 (memcpy): define alias conditionally on !APPLE_CC
14072 (memset): likewise
14073 (abort): likewise
14074 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
14075 APPLE_CC are defined
14076 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
14077 (grub_assert_fail): make prototype conditional
14078
14079 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
14082
14083 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
14084 grub-macho2img
14085 (CLEANFILES): add grub-macho2img
14086 (grub_macho2img_SOURCES): new variable
14087 * kern/i386/pc/startup.S (bss_start): new variable
14088 (bss_end): likewise
14089 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
14090 * util/grub-macho2img.c: new file
14091
14092 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14093
14094 Use objconv when compiling with Apple's CC
14095
14096 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
14097 (efiemu64.o): likewise
14098 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
14099 when compiling with Apple's CC
14100 (efiemu64_s.o): likewise
14101 * configure.ac: check for objconv when compiling with Apple's CC
14102 * genmk.rb: use objconv for modules when compiled with Apple's CC
14103
14104 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14105
14106 Define segment as well as section when compiling with
14107 Apple's CC
14108
14109 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
14110 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
14111 (efiemu_convert_pointer): likewise
14112 (efiemu_set_virtual_address_map): likewise
14113 (efiemu_convert_pointer): likewise
14114 (efiemu_getcrc32): likewise
14115 (init_crc32_table): likewise
14116 (reflect): likewise
14117 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
14118 (GRUB_MOD_DEP): likewise
14119
14120 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 Allow a compilation without -mcmodel=large
14123
14124 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
14125 when compiled without -mcmodel=large
14126 (filter_memory_map): remove memory post 4 GiB when compiled
14127 without -mcmodel=large
14128 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
14129 TARGET_CFLAGS when -mcmodel=large isn't supported
14130
14131 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 Remove nested functions in efiemu core
14134
14135 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
14136
14137 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14138
14139 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
14140
14141 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
14142 temporary storage
14143 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
14144 using Apple's CC
14145 (grub_cpu_is_tsc_supported): likewise
14146 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
14147
14148 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14149
14150 Absolute addressing through constant with Apple's cc
14151
14152 * kern/i386/pc/startup.S: Define necessary constants
14153 and address through it when using ABS with Apple's CC
14154 * boot/i386/pc/diskboot.S: likewise
14155 * boot/i386/pc/boot.S: likewise
14156 * boot/i386/pc/lnxboot.S: likewise
14157 * boot/i386/pc/cdboot.S: likewise
14158 * mmap/i386/pc/mmap_helper.S: likewise
14159 * commands/i386/pc/drivemap_int13h.S: likewise
14160
14161 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 Check if compiler is apple cc
14164
14165 * Makefile.in (ASFLAGS): new variable
14166 (TARGET_ASFLAGS): likewise
14167 (TARGET_MODULE_FORMAT): likewise
14168 (TARGET_APPLE_CC): likewise
14169 (OBJCONV): likewise
14170 (TARGET_IMG_CFLAGS): likewise
14171 (TARGET_CPPFLAGS): add includedir
14172 * configure.ac: call grub_apple_cc and grub_apple_target_cc
14173 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
14174 Check for linker script only if compiler isn't Apple's CC
14175 (TARGET_MODULE_FORMAT): set
14176 (TARGET_APPLE_CC): likewise
14177 (TARGET_ASFLAGS): likewise
14178 (ASFLAGS): likewise
14179 Check for objcopy only if compiler isn't Apple's CC
14180 Check for BSS symbol only if compiler isn't Apple's CC
14181 * genmk.rb: adapt nm options if we use Apple's utils
14182 * aclocal.m4 (grub_apple_cc): new test
14183 (grub_apple_target_cc): likewise
14184
14185 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14186
14187 Simplify sed expressions and improve awk
14188
14189 * Makefile.in (install-local): simplify sed expression
14190 * gencmdlist.sh: likewise
14191 * genmoddep.awk: avoid adding module as a dependency of itself
14192
14193 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14194
14195 Add missing start symbols
14196
14197 * boot/i386/pc/boot.S: add start
14198 * boot/i386/pc/pxeboot.S: likewise
14199
14200 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14201
14202 Fix wrong assumptions with grub-mkimage on EFI
14203
14204 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
14205 (relocate_addresses): consider both r_addend and value at offset
14206 (make_mods_section): zerofill modinfo and header
14207 (convert_elf): write prefix here
14208
14209 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 Use .asciz instead of .string
14212
14213 * i386/pc/diskboot.S: use .asciz instead of .string
14214 * i386/pc/boot.S: likewise
14215 * include/grub/dl.h (GRUB_MOD_DEP): likewise
14216 (GRUB_MOD_NAME): likewise
14217
14218 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 gfxpayload support
14221
14222 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
14223 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
14224 (grub_video_setup): remove
14225 (grub_video_set_mode): new prototype
14226 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
14227 (vid_mode): remove
14228 (linux_vesafb_res): compile only on PCBIOS
14229 (grub_linux_boot): support gfxpayload
14230 * loader/i386/pc/xnu.c (video_hook): new function
14231 (grub_xnu_set_video): support gfxpayload
14232 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
14233 (DEFAULT_VIDEO_HEIGHT): likewise
14234 (DEFAULT_VIDEO_FLAGS): likewise
14235 (DEFAULT_VIDEO_MODE): new definition
14236 (video_hook): new function
14237 (grub_gfxterm_init): use grub_video_set_mode
14238 * util/grub.d/30_os-prober.in: remove explicit modesetting before
14239 loading xnu
14240 * video/video.c (grub_video_setup): removed
14241 (grub_video_set_mode): new function based on grub_gfxterm_init and
14242 grub_video_setup
14243
14244 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14245
14246 Avoid calling biosdisk in drivemap
14247
14248 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
14249 (revparse_biosdisk): likewise
14250 (list_mappings): derive name from id directly
14251 (grub_cmd_drivemap): use tryparse_diskstring
14252
14253 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 Script fixes
14256
14257 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
14258 (grub_lexer_param): add tokenonhold
14259 (grub_script_create_cmdline): remove cmdline. All callers updated
14260 (grub_script_function_create): make functionname
14261 grub_script_arg. All callers updated
14262 (grub_script_execute_argument_to_string): new prototype
14263 * kern/parser.c (state_transitions): reorder
14264 (grub_parser_cmdline_state): fix a bug and make more compact
14265 * script/sh/execute.c (grub_script_execute_argument_to_string):
14266 make global
14267 (grub_script_execute_cmdline): use new format
14268 * script/sh/function.c (grub_script_function_create): make functionname
14269 grub_script_arg. All callers updated
14270 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
14271 (grub_script_yylex): remove
14272 (grub_script_yylex2): renamed to ...
14273 (grub_script_yylex): ...renamed
14274 parse the expressions like a${b}c
14275 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
14276 (GRUB_PARSER_TOKEN_VAR): remove
14277 (GRUB_PARSER_TOKEN_NAME): likewise
14278 ("if"): declare as typeless
14279 ("while"): likewise
14280 ("function"): likewise
14281 ("else"): likewise
14282 ("then"): likewise
14283 ("fi"): likewise
14284 (text): remove
14285 (argument): likewise
14286 (script): accept empty scripts and make exit on error
14287 (arguments): use GRUB_PARSER_TOKEN_ARG
14288 (function): likewise
14289 (command): move error handling to script
14290 (menuentry): move grub_script_lexer_ref before
14291 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
14292 argument. All callers updated
14293
14294 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
14295
14296 Prevent GRUB from probing floppies during boot.
14297
14298 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
14299 * commands/search.c (options): Add --no-floppy.
14300 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
14301 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
14302 --no-floppy when searching for UUIDs.
14303
14304 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
14305
14306 Simplify the code duplication in commands/search.c.
14307
14308 * commands/search.c (search_label, search_fs_uuid): Merge into ...
14309 (search_fs): ... this. Update all users.
14310
14311 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
14312
14313 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
14314
14315 2009-05-28 Pavel Roskin <proski@gnu.org>
14316
14317 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
14318 Remove the original symlink explicitly.
14319
14320 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
14321 just one slash. That's how grub_fshelp_find_file() does it.
14322
14323 2009-05-26 Pavel Roskin <proski@gnu.org>
14324
14325 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
14326 to `str'.
14327
14328 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
14329 possibly unused.
14330
14331 2009-05-25 Christian Franke <franke@computer.org>
14332
14333 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
14334 register.
14335 (grub_atapi_identify): Add wait after drive select.
14336 (grub_ata_identify): Do more strict status register check before
14337 calling grub_atapi_identify (). Suppress error message if status
14338 register is 0x00 after command failure. Add status register
14339 check after PIO read to avoid bogus identify due to stuck DRQ.
14340 Thanks to Pavel Roskin for testing.
14341 (grub_device_initialize): Remove unsafe status register check.
14342 Thanks to 'phcoder' for problem report and patch.
14343 Prevent sign extension in debug message.
14344
14345 2009-05-23 Colin D Bennett <colin@gibibit.com>
14346
14347 Cleaned up `include/grub/normal.h'. Grouped prototypes by
14348 definition file, and functions defined in `normal/menu.c' have had
14349 their prototypes moved to `include/grub/menu.h' for consistency.
14350
14351 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
14352 from normal.h.
14353 (grub_menu_get_entry): Likewise.
14354 (grub_menu_get_timeout): Likewise.
14355 (grub_menu_set_timeout): Likewise.
14356 (grub_menu_execute_entry): Likewise.
14357 (grub_menu_execute_with_fallback): Likewise.
14358 (grub_menu_entry_run): Likewise.
14359
14360 * include/grub/normal.h: Re-ordered and grouped function
14361 prototypes by file that the function is defined in.
14362 (grub_menu_execute_callback): Removed; moved to menu.h.
14363 (grub_menu_get_entry): Likewise.
14364 (grub_menu_get_timeout): Likewise.
14365 (grub_menu_set_timeout): Likewise.
14366 (grub_menu_execute_entry): Likewise.
14367 (grub_menu_execute_with_fallback): Likewise.
14368 (grub_menu_entry_run): Likewise.
14369 (grub_menu_addentry): Renamed from this ...
14370 (grub_normal_add_menu_entry): ... to this.
14371
14372 * normal/main.c (grub_menu_addentry): Renamed from this ...
14373 (grub_normal_add_menu_entry): ... to this.
14374
14375 * script/sh/execute.c (grub_script_execute_menuentry): Update
14376 reference to renamed grub_menu_addentry function.
14377
14378 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
14379
14380 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
14381
14382 2009-05-22 Pavel Roskin <proski@gnu.org>
14383
14384 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
14385 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
14386 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
14387 compiling for the i386 targets, but not for the utilities.
14388
14389 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
14390 to grub_uint8_t.
14391 (grub_root_drive): Likewise.
14392 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
14393 remove alignment.
14394 (grub_root_drive): Change size to byte.
14395 (grub_start_addr): Remove.
14396 (grub_end_addr): Likewise.
14397 (grub_apm_bios_info): Likewise.
14398
14399 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
14400
14401 * normal/i386: Remove.
14402 * normal/powerpc: Likewise.
14403 * normal/sparc64: Likewise.
14404 * normal/x86_64: Likewise.
14405
14406 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14407
14408 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
14409 * loader/i386/linux_trampoline.S: Fix indentation
14410 * loader/i386/xnu_helper.S: Likewise
14411
14412 2009-05-18 Colin D Bennett <colin@gibibit.com>
14413
14414 Display error messages when parsing a Lua statement fails.
14415 Previously, executing a syntactically invalid statement like
14416 ")foo" or "bar;" would silently fail.
14417
14418 * script/lua/grub_main.c (handle_lua_error): New function.
14419 (grub_lua_parse_line): Improved reporting of Lua parser and
14420 execution errors.
14421
14422 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 Remove -Werror which causes build to fail on some systems
14425
14426 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
14427 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
14428 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
14429
14430 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 trampoline for linux on 64-bit platform
14433
14434 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
14435 loader/i386/efi/linux_trampoline.S
14436 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
14437 declaration
14438 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
14439 here
14440 * loader/i386/linux_trampoline.S: moved here
14441 * loader/i386/efi/linux.c (allocate_pages): reserve space for
14442 trampoline
14443 (jumpvector): removed
14444 (grub_linux_trampoline_start): new declaration
14445 (grub_linux_trampoline_end): likewise
14446 (grub_linux_boot): use trampoline when on 64-bit platform
14447 * loader/i386/linux.c: likewise
14448
14449 2009-05-16 Pavel Roskin <proski@gnu.org>
14450
14451 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
14452 const to avoid a warning.
14453 (grub_lua_setenv): Likewise.
14454 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
14455 lmsg to fix a warning.
14456
14457 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
14458
14459 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
14460 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14461 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
14462 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14463 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
14464 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14465 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
14466 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14467
14468 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
14469
14470 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
14471
14472 2009-05-16 Bean <bean123ch@gmail.com>
14473
14474 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
14475 (lua_mod_SOURCES): New variable.
14476 (lua_mod_CFLAGS): Likewise.
14477 (lua_mod_LDFLAGS): Likewise.
14478
14479 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
14480 (setjmp_mod_SOURCES): New variable.
14481 (setjmp_mod_CFLAGS): Likewise.
14482 (setjmp_LDFLAGS): Likewise.
14483
14484 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
14485 (setjmp_mod_SOURCES): New variable.
14486 (setjmp_mod_CFLAGS): Likewise.
14487 (setjmp_LDFLAGS): Likewise.
14488
14489 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
14490 (setjmp_mod_SOURCES): New variable.
14491 (setjmp_mod_CFLAGS): Likewise.
14492 (setjmp_LDFLAGS): Likewise.
14493
14494 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
14495 (setjmp_mod_SOURCES): New variable.
14496 (setjmp_mod_CFLAGS): Likewise.
14497 (setjmp_LDFLAGS): Likewise.
14498
14499 * normal/i386/setjmp.S: Moved from here ...
14500 * lib/i386/setjmp.S: ... Moved here
14501 * normal/x86_64/setjmp.S: Moved from here ...
14502 * lib/x86_64/setjmp.S: ... Moved here
14503 * normal/powerpc/setjmp.S: Moved from here ...
14504 * lib/powerpc/setjmp.S: ... Moved here
14505 * normal/sparc64/setjmp.S: Moved from here ...
14506 * lib/sparc64/setjmp.S: ... Moved here
14507
14508 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
14509 returns_twice in mingw.
14510
14511 * script/lua/grub_lib.c: New file.
14512 * script/lua/grub_lib.h: Likewise.
14513 * script/lua/grub_lua.h: Likewise.
14514 * script/lua/grub_main.c: Likewise.
14515 * script/lua/lapi.c: Likewise.
14516 * script/lua/lapi.h: Likewise.
14517 * script/lua/lauxlib.c: Likewise.
14518 * script/lua/lauxlib.h: Likewise.
14519 * script/lua/lbaselib.c: Likewise.
14520 * script/lua/lcode.c: Likewise.
14521 * script/lua/lcode.h: Likewise.
14522 * script/lua/ldblib.c: Likewise.
14523 * script/lua/ldebug.c: Likewise.
14524 * script/lua/ldebug.h: Likewise.
14525 * script/lua/ldo.c: Likewise.
14526 * script/lua/ldo.h: Likewise.
14527 * script/lua/ldump.c: Likewise.
14528 * script/lua/lfunc.c: Likewise.
14529 * script/lua/lfunc.h: Likewise.
14530 * script/lua/lgc.c: Likewise.
14531 * script/lua/lgc.h: Likewise.
14532 * script/lua/linit.c: Likewise.
14533 * script/lua/liolib.c: Likewise.
14534 * script/lua/llex.c: Likewise.
14535 * script/lua/llex.h: Likewise.
14536 * script/lua/llimits.h: Likewise.
14537 * script/lua/lmathlib.c: Likewise.
14538 * script/lua/lmem.c: Likewise.
14539 * script/lua/lmem.h: Likewise.
14540 * script/lua/loadlib.c: Likewise.
14541 * script/lua/lobject.c: Likewise.
14542 * script/lua/lobject.h: Likewise.
14543 * script/lua/lopcodes.c: Likewise.
14544 * script/lua/lopcodes.h: Likewise.
14545 * script/lua/loslib.c: Likewise.
14546 * script/lua/lparser.c: Likewise.
14547 * script/lua/lparser.h: Likewise.
14548 * script/lua/lstate.c: Likewise.
14549 * script/lua/lstate.h: Likewise.
14550 * script/lua/lstring.c: Likewise.
14551 * script/lua/lstring.h: Likewise.
14552 * script/lua/lstrlib.c: Likewise.
14553 * script/lua/ltable.c: Likewise.
14554 * script/lua/ltable.h: Likewise.
14555 * script/lua/ltablib.c: Likewise.
14556 * script/lua/ltm.c: Likewise.
14557 * script/lua/ltm.h: Likewise.
14558 * script/lua/lua.h: Likewise.
14559 * script/lua/luaconf.h: Likewise.
14560 * script/lua/lualib.h: Likewise.
14561 * script/lua/lundump.c: Likewise.
14562 * script/lua/lundump.h: Likewise.
14563 * script/lua/lvm.c: Likewise.
14564 * script/lua/lvm.h: Likewise.
14565 * script/lua/lzio.c: Likewise.
14566 * script/lua/lzio.h: Likewise.
14567
14568 2009-05-16 Bean <bean123ch@gmail.com>
14569
14570 * include/grub/kernel.h (grub_module_header_types): Add type
14571 OBJ_TYPE_CONFIG.
14572
14573 * kern/main.c (grub_load_config): New function.
14574 (grub_main): Call grub_load_config to read boot config.
14575
14576 * grub-mkimage (generate_image): New parameter config_path.
14577 (options): New option --config.
14578 (main): Parse --config option, and pass it to generate_image.
14579
14580 2009-05-14 Christian Franke <franke@computer.org>
14581
14582 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
14583 This fixes build on Cygwin.
14584
14585 2009-05-14 Pavel Roskin <proski@gnu.org>
14586
14587 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
14588 jump. This saves two bytes, so the typical case of 2 swapped
14589 drives would fit 32 bytes.
14590
14591 2009-05-13 Pavel Roskin <proski@gnu.org>
14592
14593 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
14594 grub_uint32_t to avoid a warning.
14595
14596 * loader/i386/linux.c (allocate_pages): When assigning
14597 real_mode_mem, cast through grub_size_t to fix a warning. The
14598 code already makes sure that the value would fit a pointer.
14599 (grub_linux_setup_video): Cast render_target->data to
14600 grub_size_t to fix a warning.
14601
14602 2009-05-13 Javier Martín <lordhabbit@gmail.com>
14603
14604 * commands/i386/pc/drivemap.c: New file - implement drivemap
14605 command.
14606 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
14607 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
14608
14609 2009-05-13 Pavel Roskin <proski@gnu.org>
14610
14611 * util/i386/pc/grub-setup.c (setup): Remove unused variable
14612 embedding_area_exists.
14613
14614 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
14615
14616 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
14617 it easier to understand / work with.
14618 Improve warning messages for cases where there's no embedding area,
14619 or when it is too small (or core.img too large).
14620
14621 2009-05-13 Pavel Roskin <proski@gnu.org>
14622
14623 * loader/i386/pc/multiboot2.c: Add necessary includes for
14624 grub_multiboot2_real_boot().
14625
14626 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
14627 PX record is always little-endian. We only need the lower 2
14628 bytes of the mode.
14629
14630 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
14631 facilitate code reuse.
14632 (grub_cpio_mount): Use "struct head", not a char buffer. This
14633 fixes a warning reported by gcc 4.4.
14634
14635 * kernel/disk.c (grub_disk_read): Use void pointer for the
14636 buffer.
14637 (grub_disk_write): Use const void pointer for the buffer.
14638 Adjust all callers. Remove unnecessary casts.
14639
14640 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
14641
14642 * util/i386/pc/grub-install.in: Update copyright year.
14643
14644 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 gptsync
14647
14648 * commands/gptsync.c: new file
14649 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
14650 (gptsync_mod_SOURCES): new variable
14651 (gptsync_mod_CFLAGS): likewise
14652 (gptsync_mod_LDFLAGS): likewise
14653 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
14654 new definition
14655 (GRUB_PC_PARTITION_TYPE_HFS): likewise
14656 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
14657 * conf/i386-ieee1275.rmk: likewise
14658 * conf/i386-pc.rmk: likewise
14659 * conf/powerpc-ieee1275.rmk: likewise
14660
14661 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 Fixed grub-emu
14664
14665 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
14666 (grub_dl_ref): likewise
14667
14668 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
14669
14670 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
14671 split in two functions (one for msdos and one for gpt).
14672
14673 2009-05-08 Pavel Roskin <proski@gnu.org>
14674
14675 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
14676 not modified.
14677
14678 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
14679 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
14680 Initialize them with -1. Add sanity check for bad1. Eliminate
14681 nerr variable.
14682
14683 2009-05-08 David S. Miller <davem@davemloft.net>
14684
14685 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
14686
14687 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
14688
14689 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
14690 existence.
14691
14692 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
14693
14694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
14695 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
14696
14697 2009-05-05 David S. Miller <davem@davemloft.net>
14698
14699 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
14700
14701 2009-05-05 Pavel Roskin <proski@gnu.org>
14702
14703 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
14704 of grub_dl_ref() and grub_dl_unref().
14705 * commands/parttool.c: Remove preprocessor conditionals around
14706 grub_dl_ref() and grub_dl_unref().
14707 * fs/affs.c: Likewise.
14708 * fs/afs.c: Likewise.
14709 * fs/cpio.c: Likewise.
14710 * fs/ext2.c: Likewise.
14711 * fs/fat.c: Likewise.
14712 * fs/hfs.c: Likewise.
14713 * fs/hfsplus.c: Likewise.
14714 * fs/iso9660.c: Likewise.
14715 * fs/jfs.c: Likewise.
14716 * fs/minix.c: Likewise.
14717 * fs/ntfs.c: Likewise.
14718 * fs/reiserfs.c: Likewise.
14719 * fs/sfs.c: Likewise.
14720 * fs/udf.c: Likewise.
14721 * fs/ufs.c: Likewise.
14722 * fs/xfs.c: Likewise.
14723 * include/grub/dl.h: Likewise.
14724 * loader/xnu.c: Likewise.
14725
14726 2009-05-04 Pavel Roskin <proski@gnu.org>
14727
14728 * commands/acpi.c: Remove unused variable my_mod.
14729 * partmap/amiga.c: Likewise.
14730 * partmap/apple.c: Likewise.
14731 * partmap/gpt.c: Likewise.
14732 * partmap/pc.c: Likewise.
14733 * partmap/sun.c: Likewise.
14734 * term/gfxterm.c: Likewise.
14735 * term/i386/pc/vesafb.c: Likewise.
14736 * term/i386/pc/vga.c: Likewise.
14737
14738 2009-05-04 David S. Miller <davem@davemloft.net>
14739
14740 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
14741 pointer args to grub_ieee1275_get_property().
14742
14743 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
14744
14745 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
14746 devices, and do not traverse down under controller nodes.
14747
14748 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
14749 (grub_ofdisk_open): Use it to un-escape "," characters.
14750 * kern/disk.c (find_part_sep): New.
14751 (grub_disk_open): Use it to find the first non-escaped ','
14752 character in the disk name.
14753 * util/ieee1275/devicemap.c (escape_of_path): New.
14754 (grub_util_emit_devicemap_entry): Use it.
14755 * util/sparc64/ieee1275/grub-install.in: Update script to
14756 strip partition specifiers properly by not triggering on
14757 '\' escaped ',' characters.
14758
14759 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14760
14761 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
14762 to 0x300.
14763 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
14764 resolutions.
14765 (linux_vesafb_modes): Add a lot of additional modes to the list (based
14766 on documentation from Wikipedia).
14767
14768 2009-05-04 Pavel Roskin <proski@gnu.org>
14769
14770 * disk/ata.c: Spelling fixes.
14771 * disk/raid.c: Likewise.
14772 * disk/usbms.c: Likewise.
14773 * disk/dmraid_nvidia.c: Likewise.
14774 * kern/ieee1275/openfw.c: Likewise.
14775 * kern/ieee1275/init.c: Likewise.
14776 * kern/ieee1275/cmain.c: Likewise.
14777 * boot/i386/pc/cdboot.S: Likewise.
14778 * video/readers/png.c: Likewise.
14779 * video/i386/pc/vbe.c: Likewise.
14780 * fs/udf.c: Likewise.
14781 * fs/hfs.c: Likewise.
14782 * fs/reiserfs.c: Likewise.
14783 * efiemu/runtime/efiemu.c: Likewise.
14784 * efiemu/main.c: Likewise.
14785 * efiemu/mm.c: Likewise.
14786 * include/grub/elf.h: Likewise.
14787 * include/grub/xnu.h: Likewise.
14788 * include/grub/usbdesc.h: Likewise.
14789 * include/grub/usb.h: Likewise.
14790 * include/grub/script_sh.h: Likewise.
14791 * include/grub/lib/LzmaEnc.h: Likewise.
14792 * include/grub/efiemu/efiemu.h: Likewise.
14793 * include/grub/command.h: Likewise.
14794 * normal/menu.c: Likewise.
14795 * normal/main.c: Likewise.
14796 * normal/datetime.c: Likewise.
14797 * bus/usb/uhci.c: Likewise.
14798 * mmap/i386/uppermem.c: Likewise.
14799 * mmap/mmap.c: Likewise.
14800 * commands/acpi.c: Likewise.
14801 * commands/test.c: Likewise.
14802 * partmap/apple.c: Likewise.
14803 * font/font.c: Likewise.
14804 * loader/sparc64/ieee1275/linux.c: Likewise.
14805 * loader/macho.c: Likewise.
14806 * loader/i386/bsd_trampoline.S: Likewise.
14807 * loader/i386/bsd.c: Likewise.
14808 * loader/xnu.c: Likewise.
14809 * term/i386/pc/vesafb.c: Likewise.
14810 * term/usb_keyboard.c: Likewise.
14811 * util/resolve.c: Likewise.
14812 * util/getroot.c: Likewise.
14813
14814 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
14815
14816 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
14817
14818 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14819
14820 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
14821 build error.
14822
14823 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14824
14825 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
14826 parameter only available on BIOS.
14827
14828 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 Removed wrong semicolon in declaration
14831
14832 * grub/misc.h (grub_dprintf): remove semicolon
14833
14834 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14835
14836 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
14837 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
14838 is done by grub_cmd_linux() now).
14839 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
14840 restore video to text mode.
14841 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
14842 indicates lack of "vga=" parameter. "vga=0" is mapped to
14843 `GRUB_LINUX_VID_MODE_NORMAL'.
14844
14845 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
14846
14847 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
14848 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
14849 and `normal/script.c'. Add `kern/rescue_reader.c',
14850 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
14851 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
14852 `grub_script.tab.c'.
14853
14854 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14855 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14857 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14858 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14859
14860 * Makefile.in: Remove duplicated 2008 in Copyright line.
14861
14862 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14863
14864 * util/misc.c (grub_util_warn): New function. Emits a warning
14865 unconditionally.
14866 * include/grub/util/misc.h (grub_util_warn): New declaration.
14867
14868 * util/i386/pc/grub-install.in: Understand --force and pass it down
14869 to grub-setup.
14870
14871 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
14872 down to setup().
14873 (setup): Improve error messages and add warnings when requested to
14874 install in odd layouts. Refuse to install using blocklists unless
14875 --force was set.
14876
14877 2009-05-04 martin f. krafft <madduck@madduck.net>
14878
14879 * disk/raid.c (grub_raid_scan_device): Improve debug message.
14880
14881 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 Updated copyright year
14884
14885 * fs/hfsplus.c: updated copyright year
14886
14887 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
14888
14889 HFS+ UUID
14890
14891 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
14892 in the space previously used by unused3
14893 (grub_hfsplus_uuid): new function
14894 (grub_hfsplus_fs): added uuid field
14895
14896 2009-05-03 Pavel Roskin <proski@gnu.org>
14897
14898 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
14899 suppress warnings. It's no longer needed.
14900 * disk/host.c: Likewise.
14901 * disk/ata_pthru.c: Likewise.
14902 * disk/loopback.c: Likewise.
14903 * hook/datehook.c: Likewise.
14904 * parttool/pcpart.c: Likewise.
14905 * fs/i386/pc/pxe.c: Likewise.
14906 * fs/ntfscomp.c: Likewise.
14907 * efiemu/main.c: Likewise.
14908 * mmap/mmap.c: Likewise.
14909 * commands/crc.c: Likewise.
14910 * commands/hexdump.c: Likewise.
14911 * commands/hdparm.c: Likewise.
14912 * commands/acpi.c: Likewise.
14913 * commands/echo.c: Likewise.
14914 * commands/minicmd.c: Likewise.
14915 * commands/blocklist.c: Likewise.
14916 * commands/memrw.c: Likewise.
14917 * commands/loadenv.c: Likewise.
14918 * commands/usbtest.c: Likewise.
14919 * commands/lsmmap.c: Likewise.
14920 * commands/boot.c: Likewise.
14921 * commands/parttool.c: Likewise.
14922 * commands/configfile.c: Likewise.
14923 * commands/search.c: Likewise.
14924 * commands/ieee1275/suspend.c: Likewise.
14925 * commands/cat.c: Likewise.
14926 * commands/i386/pc/pxecmd.c: Likewise.
14927 * commands/i386/pc/play.c: Likewise.
14928 * commands/i386/pc/halt.c: Likewise.
14929 * commands/i386/pc/vbeinfo.c: Likewise.
14930 * commands/i386/pc/vbetest.c: Likewise.
14931 * commands/lspci.c: Likewise.
14932 * commands/date.c: Likewise.
14933 * commands/handler.c: Likewise.
14934 * commands/ls.c: Likewise.
14935 * commands/test.c: Likewise.
14936 * commands/cmp.c: Likewise.
14937 * commands/efi/loadbios.c: Likewise.
14938 * commands/efi/fixvideo.c: Likewise.
14939 * commands/halt.c: Likewise.
14940 * commands/help.c: Likewise.
14941 * commands/reboot.c: Likewise.
14942 * hello/hello.c: Likewise.
14943 * script/sh/main.c: Likewise.
14944 * loader/xnu.c: Likewise.
14945 * term/terminfo.c: Likewise.
14946 * term/i386/pc/serial.c: Likewise.
14947 * term/usb_keyboard.c: Likewise.
14948
14949 2009-05-03 David S. Miller <davem@davemloft.net>
14950
14951 * normal/menu.c: Include grub/parser.h
14952
14953 2009-05-03 Pavel Roskin <proski@gnu.org>
14954
14955 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
14956 not char*.
14957 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
14958 Suggested by Javier Martín <lordhabbit@gmail.com>
14959
14960 * util/i386/pc/grub-mkrescue.in: Allow for the case when
14961 efiemu??.o doesn't exist.
14962 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
14963 copying.
14964
14965 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
14966
14967 FreeBSD 64-bit support
14968
14969 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
14970 and loader/i386/bsd_trampoline.S
14971 (bsd_mod_ASFLAGS): new variable
14972 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
14973 (FREEBSD_MODTYPE_KERNEL64): likewise
14974 (grub_bsd64_trampoline_start): likewise
14975 (grub_bsd64_trampoline_end): likewise
14976 (grub_bsd64_trampoline_selfjump): likewise
14977 (grub_bsd64_trampoline_gdt): likewise
14978 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
14979 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
14980 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
14981 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
14982 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
14983 of "attrib" member
14984 * loader/i386/bsd_pagetable.c: new file
14985 * loader/i386/bsd_trampoline.S: likewise
14986 * loader/i386/bsd.c (ALIGN_QWORD): new macro
14987 (ALIGN_VAR): likewise
14988 (entry_hi): new variable
14989 (kern_end_mdofs): likewise
14990 (is_64bit): likewise
14991 (grub_freebsd_add_meta): use ALIGN_VAR
14992 (grub_e820_mmap): new declaration
14993 (grub_freebsd_add_mmap): new function
14994 (grub_freebsd_add_meta_module): support 64 bit kernels
14995 (grub_freebsd_list_modules): use ALIGN_VAR
14996 (gdt_descriptor): new declaration
14997 (grub_freebsd_boot): support 64 bit kernels
14998 (grub_bsd_elf64_hook): new function
14999 (grub_bsd_load_elf): support elf64
15000
15001 2009-05-03 Bean <bean123ch@gmail.com>
15002
15003 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
15004 after we get the result of if statement.
15005
15006 2009-05-03 Bean <bean123ch@gmail.com>
15007
15008 * Makefile.in (enable_efiemu): New variable.
15009
15010 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
15011 set.
15012 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
15013 path.
15014 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
15015 path, add -mno-red-zone option.
15016 (efiemu64_s.o): Likewise.
15017 (efiemu64.o): Use macro $^ for source file.
15018
15019 * configure.ac (--enable-efiemu): New option.
15020
15021 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15022
15023 xnu support
15024
15025 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
15026 (pkglib_MODULES): add xnu.mod
15027 (xnu_mod_SOURCES): new variable
15028 (xnu_mod_CFLAGS): likewise
15029 (xnu_mod_LDFLAGS): likewise
15030 (xnu_mod_ASFLAGS): likewise
15031 * conf/i386-pc.rmk: likewise
15032 * conf/x86_64-efi.rmk: likewise
15033 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
15034 new declaration
15035 * include/grub/i386/macho.h: new file
15036 * include/grub/i386/xnu.h: likewise
15037 * include/grub/macho.h: likewise
15038 * include/grub/machoload.h: likewise
15039 * include/grub/x86_64/macho.h: likewise
15040 * include/grub/x86_64/xnu.h: likewise
15041 * include/grub/xnu.h: likewise
15042 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
15043 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
15044 * loader/i386/efi/xnu.c: new file
15045 * loader/i386/pc/xnu.c: likewise
15046 * loader/i386/xnu.c: likewise
15047 * loader/i386/xnu_helper.S: likewise
15048 * loader/macho.c: likewise
15049 * loader/xnu.c: likewise
15050 * loader/xnu_resume.c: likewise
15051 * util/grub-dumpdevtree: likewise
15052 * include/grub/i386/pit.h: include grub/err.h
15053 (grub_pit_wait): export
15054 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
15055
15056 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 Efiemu
15059
15060 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
15061 _linux_efi, linux_efi.
15062 new files in grub-emu
15063 new targets efiemu32.o and efiemu64.o
15064 * loader/linux_normal_efiemu.c: likewise
15065 * loader/i386/efi/linux.c: added preliminary efiemu support
15066 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
15067 files to copy
15068 * include/grub/autoefi.h: new file
15069 * include/grub/i386/efiemu.h: likewise
15070 * include/grub/i386/pc/efiemu.h: likewise
15071 * include/grub/efi/api.h: add LL suffix when necessary
15072 new definitions relating to tables
15073 * include/grub/efiemu/efiemu.h: new file
15074 * include/grub/efiemu/runtime.h: likewise
15075 * efiemu/prepare.c: likewise
15076 * efiemu/loadcore_common.c: likewise
15077 * efiemu/loadcore64.c: likewise
15078 * efiemu/runtime/efiemu.sh: likewise
15079 * efiemu/runtime/efiemu.S: likewise
15080 * efiemu/runtime/efiemu.c: likewise
15081 * efiemu/runtime/config.h: likewise
15082 * efiemu/prepare32.c: likewise
15083 * efiemu/main.c: likewise
15084 * efiemu/modules/pnvram.c: likewise
15085 * efiemu/modules/i386: likewise
15086 * efiemu/modules/i386/pc: likewise
15087 * efiemu/modules/acpi.c: likewise
15088 * efiemu/i386/pc/cfgtables.c: likewise
15089 * efiemu/i386/loadcore64.c: likewise
15090 * efiemu/i386/loadcore32.c: likewise
15091 * efiemu/prepare64.c: likewise
15092 * efiemu/loadcore.c: likewise
15093 * efiemu/symbols.c: likewise
15094 * efiemu/mm.c: likewise
15095 * efiemu/loadcore32.c: likewise
15096
15097 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
15098
15099 ACPI spoofing
15100
15101 * commands/acpi.c: new file
15102 * commands/i386/pc/acpi.c: likewise
15103 * commands/efi/acpi.c: likewise
15104 * include/grub/acpi.h: likewise
15105 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
15106 (acpi_mod_SOURCES): new variable
15107 (acpi_mod_CFLAGS): likewise
15108 (acpi_mod_LDFLAGS): likewise
15109 * conf/i386-efi.rmk: likewise
15110 * conf/x86_64-efi.rmk: likewise
15111
15112 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
15113
15114 Missing part from mmap patch
15115
15116 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
15117 (grub_mmap_unregister)
15118 (grub_mmap_free_and_unregister): use grub_mmap_register
15119
15120 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
15121
15122 Mmap services
15123
15124 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
15125 * loader/i386/linux.c (find_mmap_size): likewise
15126 (allocate_pages): likewise
15127 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
15128 (grub_fill_multiboot_mmap): likewise
15129 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
15130 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
15131 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
15132 (OPENBSD_MMAP_RESERVED): likewise
15133 * include/grub/i386/pc/memory.h: include grub/memory.h
15134 (grub_lower_mem): removed
15135 (grub_upper_mem): likewise
15136 (GRUB_MACHINE_MEMORY_ACPI): new definition
15137 (GRUB_MACHINE_MEMORY_NVS): likewise
15138 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
15139 (GRUB_MACHINE_MEMORY_HOLE): likewise
15140 (grub_machine_mmap_register): likewise
15141 (grub_machine_mmap_unregister): likewise
15142 (grub_machine_get_upper): likewise
15143 (grub_machine_get_lower): likewise
15144 (grub_machine_get_post64): likewise
15145 * include/grub/i386/efi/memory.h: new file
15146 * include/grub/x86_64/efi/memory.h: likewise
15147 * include/grub/efi/memory.h: likewise
15148 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
15149 (mmap_mod_SOURCES): new variable
15150 (mmap_mod_LDFLAGS): likewise
15151 (mmap_mod_ASFLAGS): likewise
15152 * conf/i386-coreboot.rmk: likewise
15153 * conf/i386-ieee1275.rmk: likewise
15154 * conf/i386-efi.rmk: likewise
15155 * conf/x86_64-efi.rmk: likewise
15156 * include/grub/types.h (UINT_TO_PTR): new macro
15157 (PTR_TO_UINT32): likewise
15158 (PTR_TO_UINT64): likewise
15159 * include/grub/memory.h: new file
15160 * mmap/i386/pc/mmap.c: likewise
15161 * mmap/i386/pc/mmap_helper.S: likewise
15162 * mmap/i386/uppermem.c: likewise
15163 * mmap/mmap.c: likewise
15164 * mmap/efi/mmap.c: likewise
15165 * kern/i386/coreboot/init.c (grub_machine_init): don't use
15166 grub_upper_mem
15167 * kern/i386/pc/init.c (grub_lower_mem): removed variable
15168 (grub_upper_mem): likewise
15169 (grub_machine_init): don't use grub_upper_mem,
15170 make grub_lower_mem local
15171 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
15172 grub_mmap_iterate and grub_mmap_get_upper
15173 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
15174
15175 2009-05-02 Bean <bean123ch@gmail.com>
15176
15177 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
15178 script/sh/parser.y.
15179 (pkglib_MODULES): Add normal.mod and sh.mod.
15180 (normal_SOURCES): New variable.
15181 (normal_mod_CFLAGS): Likewise.
15182 (normal_mod_LDFLAGS): Likewise.
15183 (sh_mod_SOURCES): Likewise.
15184 (sh_mod_CFLAGS): Likewise.
15185 (sh_mod_LDFLAGS): Likewise.
15186
15187 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
15188 script/sh/lexer.c_DEPENDENCIES.
15189 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
15190 kern/rescue_reader.c and kern/rescue_parser.c.
15191 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
15192 (grub_emu_SOURCES): Change source files.
15193 (pkglib_MODULES): Remove normal.mod.
15194 (normal_SOURCES): Removed.
15195 (normal_mod_CFLAGS): Likewise.
15196 (normal_mod_LDFLAGS): Likewise.
15197 * conf/i386-coreboot.rmk: Likewise.
15198 * conf/i386-efi.rmk: Likewise.
15199 * conf/i386-ieee1276.rmk: Likewise.
15200 * conf/powerpc-ieee1275.rmk: Likewise.
15201 * conf/sparc64-ieee1275.rmk: Likewise.
15202 * conf/x86_64-efi.rmk: Likewise.
15203
15204 * include/grub/command.h (grub_command_execute): New inline function.
15205
15206 * include/grub/menu.h (grub_menu_entry): Removed commands field.
15207
15208 * include/grub/normal.h: Remove <grub/setjmp.h>.
15209 (grub_fs_module_list): Moved to normal/autofs.c.
15210 (grub_exit_env): Removed.
15211 (grub_command_execute): Likewise.
15212 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
15213 parameter script.
15214 (read_command_list): New function declaration.
15215 (read_fs_list): Likewise.
15216
15217 * include/parser.h: Include <grub/reader.h>.
15218 (grub_parser_split_cmdline): Change type of getline parameter.
15219 (grub_parser): New structure.
15220 (grub_parser_class): New variable.
15221 (grub_parser_execute): New function declaration.
15222 (grub_register_rescue_parser): Likewise.
15223 (grub_parser_register): New inline function.
15224 (grub_parser_unregister): Likewise.
15225 (grub_parser_get_current): Likewise.
15226 (grub_parser_set_current): Likewise.
15227
15228 * include/grub/reader.h: New file.
15229 * kern/reader.c: Likewise.
15230 * kern/rescue_parser.c: Likewise.
15231 * kern/rescue_reader.c: Likewise.
15232 * normal/autofs.c: Likewise.
15233 * normal/dyncmd.c: Likewise.
15234
15235 * include/grub/rescue.h: Removed.
15236 * normal/command.h: Likewise.
15237
15238 * include/grub/script.h: Moved to ...
15239 * include/grub/script_sh.h: ... Moved here.
15240 * normal/execute.c: Moved to ...
15241 * script/sh/execute.c: ... Moved here.
15242 * normal/function.c: Moved to ...
15243 * script/sh/function.c: ... Moved here.
15244 * normal/lexer.c: Moved to ...
15245 * script/sh/lexer.c: ... Moved here.
15246 * normal/parser.y: Moved to ...
15247 * script/sh/parser.y: ... Moved here.
15248 * normal/script.c: Moved to ...
15249 * script/sh/script.c: ... Moved here.
15250
15251 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
15252 <grub/reader.h>.
15253 (grub_exit_env): Removed.
15254 (fs_module_list): Moved to normal/autofs.c.
15255 (grub_file_getline): Don't handle comment here.
15256 (free_menu): Skip removed field entry->commands.
15257 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
15258 script parameter.
15259 (read_config_file): Removed nested parameter, change getline function.
15260 (grub_enter_normal_mode): Removed.
15261 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
15262 (read_command_list): Likewise.
15263 (autoload_fs_module): Moved to normal/autofs.c.
15264 (read_fs_list): Likewise.
15265 (reader_nested): New variable.
15266 (grub_normal_execute): Run parser.sh to switch to sh parser.
15267 (grub_cmd_rescue): Removed.
15268 (cmd_normal): Removed.
15269 (grub_cmd_normal): Unregister itself at the beginning. Don't register
15270 rescue command.
15271 (grub_cmdline_run): New function.
15272 (grub_normal_reader_init): Likewise.
15273 (grub_normal_read_line): Likewise.
15274 (grub_env_write_pager): Likewise.
15275 (cmdline): New variable.
15276 (grub_normal_reader): Likewise.
15277 (GRUB_MOD_INIT): Register normal reader and set as current, register
15278 pager hook, register normal command with grub_register_command_prio,
15279 so that it won't show up in command.lst.
15280 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
15281 grub_fs_autoload_hook.
15282
15283 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
15284 (grub_menu_execute_entry): Replace grub_script_execute with
15285 grub_parser_execute, change parameter to grub_command_execute.
15286
15287 * normal/menu_text.c: Remove <grub/script.h>.
15288
15289 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
15290 and <grub/parser.h>.
15291 (run): Change editor_getline to use new parser interface. Change
15292 parameter to grub_command_execute.
15293
15294 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
15295 <grub/reader.h> and <grub/parser.h>.
15296 (grub_load_normal_mode): Execute normal command.
15297 (grub_main): Call grub_register_core_commands,
15298 grub_register_rescue_parser and grub_register_rescue_reader, use
15299 grub_reader_loop to enter input loop.
15300
15301 * kern/parser.c (grub_parser_split_cmdline): Change type of
15302 getline parameter.
15303 (grub_parser_class): New variable.
15304 (grub_parser_execute): New function.
15305
15306 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
15307 * loader/multiboot2.c: Likewise.
15308 * loader/sparc64/ieee1275/linux.c: Likewise.
15309
15310 * util/grub-emu.c (read_command_list): New dummy function.
15311
15312 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
15313
15314 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
15315 count to 16 for CCISS and IDA.
15316
15317 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
15318
15319 * normal/menu_text.c (grub_wait_after_message): Print a newline
15320 after waiting for user input.
15321
15322 * loader/i386/linux.c: Include `<grub/normal.h>'.
15323 (grub_cmd_linux): Improve the error message about `ask' mode, by
15324 waiting for user input so it's not missed (we can do this, since
15325 user requested interaction).
15326
15327 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
15328
15329 Added missing lst to grub-mkrescue
15330
15331 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
15332 and ${input_dir}/parttool.lst
15333
15334 2009-04-30 David S. Miller <davem@davemloft.net>
15335
15336 * util/hostdisk.c (device_is_wholedisk): New function.
15337 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
15338 zero only if device_is_wholedisk() returns true.
15339
15340 * util/hostdisk.c (convert_system_partition_to_system_disk):
15341 Handle virtual disk devices named /dev/vdiskX as found on sparc
15342 and powerpc.
15343
15344 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
15345 lettered partition specifier is found, convert to numbered.
15346
15347 2009-04-29 David S. Miller <davem@davemloft.net>
15348
15349 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
15350 * include/grub/sparc64/ieee1275/memory.h: Likewise.
15351
15352 * normal/command.c: Add missing newline at end of file.
15353
15354 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
15355 warnings.
15356 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
15357 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
15358 grub_ofdisk_read): Likewise, and deal similarly with the fact that
15359 ihandles have a 32-bit type but need to be stored in a "void *".
15360
15361 2009-04-28 Pavel Roskin <proski@gnu.org>
15362
15363 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
15364 not disk. Adjust all dependencies.
15365 (grub_fs_uuid_close): Use grub_device_close(), not
15366 grub_disk_close().
15367
15368 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
15369 parent's partition, don't copy it by reference, as it gets freed
15370 on close.
15371
15372 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15373
15374 Preboot hooks support
15375
15376 * commands/boot.c (struct grub_preboot_t): new declaration
15377 (preboots_head): new variable
15378 (preboots_tail): likewise
15379 (grub_loader_register_preboot_hook): new function
15380 (grub_loader_unregister_preboot_hook): likewise
15381 (grub_loader_set): launch preboot hooks
15382 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
15383 (grub_loader_register_preboot_hook): new declaration
15384 (grub_loader_unregister_preboot_hook): likewise
15385
15386 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15387
15388 Warning fix
15389
15390 * disk/scsi.c (grub_scsi_open): added missing cast when
15391 calling grub_dprintf
15392
15393 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 Bug and warning fixes
15396
15397 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
15398 declaration
15399 * commands/test.c (test_parse): fixed bug with file tests and corrected
15400 declaration of find_file
15401
15402 2009-04-26 Pavel Roskin <proski@gnu.org>
15403
15404 * Makefile.in: Don't install empty manual pages if help2man is
15405 missing. Use help2man option for output, not shell redirection.
15406
15407 2009-04-26 David S. Miller <davem@davemloft.net>
15408
15409 * util/grub-mkdevicemap.c (make_device_map): Add missing
15410 NESTED_FUNC_ATTR to process_device().
15411
15412 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15413
15414 Test command
15415
15416 * commands/test.c: rewritten to use bash-like test
15417
15418 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15419
15420 Parttool autoloading and improvements
15421
15422 * Makefile.in (pkglib_DATA): add parttool.lst
15423 (parttool.lst): new target
15424 * genmk.rb: generate parttool-*
15425 (CLEANFILES): add #{parttool}
15426 (PARTTOOLFILES): new variable
15427 * genparttoollist.sh: new file
15428 * parttool/pcpart.c (grub_pcpart_boot): more feedback
15429 (grub_pcpart_type): likewise
15430 * commands/parttool.c (helpmsg): new variable
15431 (grub_cmd_parttool): output help if not enough arguments are supplied
15432 autoload modules
15433 (GRUB_MOD_INIT(parttool)): use helpmsg
15434
15435 2009-04-24 David S. Miller <davem@davemloft.net>
15436
15437 Avoiding opening same device multiple times in device iterator.
15438
15439 * kern/device.c: (grub_device_iterate): Define struct part_ent,
15440 and use it to build a list of partitions in iterate_disk() and
15441 iterate_partition().
15442
15443 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
15444 on disk->data.
15445
15446 * disk/ieee1275/nand.c (grub_nand_iterate): Return
15447 grub_devalias_iterate() result instead of unconditional 0.
15448 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
15449 Also, capture hook return value, either directly or via
15450 grub_children_iterate(), and propagate to caller.
15451 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
15452 grub_children_iterate): Return value is now 'int' instead of
15453 'grub_err_t'.
15454 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
15455 like a proper iterator, stopping when hooks return non-zero.
15456 (grub_devalias_iterate): Likewise.
15457
15458 2009-04-23 David S. Miller <davem@davemloft.net>
15459
15460 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
15461
15462 2009-04-22 David S. Miller <davem@davemloft.net>
15463
15464 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
15465 is larger than address_cells, use that value for address_cells too.
15466
15467 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
15468 IEEE1275_MAX_PATH_LEN): Define.
15469 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
15470 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
15471 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
15472 'devtype'. Explicitly NULL terminate devalias expansion.
15473
15474 * util/sparc64/ieee1275/misc.c: New file.
15475 * util/sparc64/ieee1275/grub-setup.c: New file.
15476 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
15477 * util/sparc64/ieee1275/grub-mkimage.c: New file.
15478 * util/sparc64/ieee1275/grub-install.in: New file.
15479 * util/ieee1275/ofpath.c: New file.
15480 * util/ieee1275/devicemap.c: New file.
15481 * util/devicemap.c: New file.
15482 * util/deviceiter.c: New file.
15483 * kern/sparc64/ieee1275/init.c: New file.
15484 * include/grub/util/ofpath.h: New file.
15485 * include/grub/util/deviceiter.h: New file.
15486 * util/grub-mkdevicemap.c: Include deviceiter.h.
15487 Implement using grub_util_emit_devicemap_entry and
15488 grub_util_iterate_devices.
15489 * conf/i386-corebook.rmk: Build util/deviceiter.c and
15490 util/devicemap.c into grub-mkdevicemap
15491 * conf/i386-efi.rmk: Likewise.
15492 * conf/i386-ieee1275.rmk: Likewise.
15493 * conf/i386-pc.rmk: Likewise.
15494 * conf/powerpc-ieee1275.rmk: Likewise.
15495 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
15496 images and installation utilities. Build kernel as image
15497 instead of as elf binary. Use common rules as much as possible.
15498
15499 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15500
15501 Correct GPT definition
15502
15503 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
15504 of "attrib" member
15505
15506 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
15507
15508 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
15509
15510 2009-04-19 David S. Miller <davem@davemloft.net>
15511
15512 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
15513 (grub_rescue_cmd_linux): Rename to...
15514 (grub_cmd_linux): and fix prototype.
15515 (grub_rescue_cmd_initrd): Rename to...
15516 (grub_cmd_initrd): and fix prototype.
15517 (cmd_linux, cmd_initrd): New.
15518 (GRUB_MOD_INIT(linux)): Use grub_register_command().
15519 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
15520
15521 2009-04-17 Pavel Roskin <proski@gnu.org>
15522
15523 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
15524 format.
15525 (grub_ohci_transfer): Likewise.
15526
15527 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
15528
15529 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
15530 return without a value. Fix inconsistent indentation.
15531
15532 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
15533 match struct grub_fs.
15534
15535 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
15536 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
15537 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15538 * commands/lspci.c (grub_lspci_iter): Likewise.
15539
15540 2009-04-16 Bean <bean123ch@gmail.com>
15541
15542 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
15543 value.
15544
15545 2009-04-15 Pavel Roskin <proski@gnu.org>
15546
15547 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
15548 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
15549 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
15550 definitions.
15551
15552 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
15553
15554 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
15555 that no multiple data or metadata areas are supported and `Unknown
15556 metadata header'.
15557
15558 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 Move loader out of the kernel
15561
15562 * kern/loader.c: moved to ...
15563 * commands/boot.c: ... moved here
15564 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
15565 * commands/boot.c (grub_cmd_boot): moved here. All users updated
15566 * include/grub/kernel.h (grub_machine_fini): export
15567 * include/grub/loader.h (grub_loader_is_loaded): update declaration
15568 (grub_loader_set): likewise
15569 (grub_loader_unset): likewise
15570 (grub_loader_boot): likewise
15571 * conf/common.rmk: new module boot.mod
15572 (pkglib_MODULES): add boot.mod
15573 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
15574 (grub_emu_SOURCES): likewise
15575 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
15576 (grub_emu_SOURCES): likewise
15577 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
15578 (grub_emu_SOURCES): likewise
15579 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
15580 (grub_emu_SOURCES): likewise
15581 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
15582 (grub_emu_SOURCES): likewise
15583 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
15584 (grub_emu_SOURCES): likewise
15585 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
15586 (grub_emu_SOURCES): likewise
15587
15588 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
15589
15590 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
15591
15592 * kern/misc.c (grub_itoa): Removed function
15593 (grub_ltoa): likewise
15594 (grub_vsprintf): use grub_lltoa
15595
15596 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
15597
15598 Restore grub-emu
15599
15600 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
15601 * conf/i386-coreboot.rmk: likewise
15602 * conf/i386-ieee1275.rmk: likewise
15603 * conf/powerpc-ieee1275.rmk: likewise
15604
15605 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
15606
15607 * INSTALL: Add that `./autogen.sh' needs to be run before
15608 `./configure.'.
15609
15610 2009-04-14 Bean <bean123ch@gmail.com>
15611
15612 * Makefile.in (pkglib_DATA): Add handler.lst.
15613 (handler.lst): New rule.
15614
15615 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
15616 * conf/i386-coreboot.rmk: Likewise.
15617 * conf/i386-ieee1275.rmk: Likewise.
15618 * conf/i386-efi.rmk: Likewise.
15619 * conf/x86_64-efi.rmk: Likewise.
15620 * conf/powerpc-ieee1275.rmk: Likewise.
15621 * conf/sparc64-ieee1275.rmk: Likewise.
15622
15623 * genhandlerlist.sh: New file.
15624
15625 * genmk.rb: Add rules to generate handler.lst.
15626
15627 * include/grub/normal.h (grub_file_getline): New function definition.
15628 (read_handler_list): Likewise.
15629 (free_handler_list): Likewise.
15630
15631 * include/grub/term.h (grub_term_register_input): Add name parameter
15632 for auto generation of handler.lst.
15633 (grub_term_register_output): Likewise.
15634
15635 * normal/handler.c: New file.
15636
15637 * normal/main.c (get_line): Renamed to grub_file_getline.
15638 (read_config_file): Use the newly renamed grub_file_getline.
15639 (read_command_list): Likewise.
15640 (read_fs_list): Likewise.
15641 (grub_normal_execute): Call read_handler_list to parse handler.lst.
15642 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
15643
15644 * term/efi/console.c (grub_console_init): Add name parameter for auto
15645 generation of handler.lst.
15646 * term/gfxterm.c: Likewise.
15647 * term/i386/pc/at_keyboard.c: Likewise.
15648 * term/i386/pc/console.c: Likewise.
15649 * term/i386/pc/serial.c: Likewise.
15650 * term/i386/pc/vesafb.c: Likewise.
15651 * term/i386/pc/vga.c: Likewise.
15652 * term/i386/pc/vga_text.c: Likewise.
15653 * term/ieee1275/ofconsole.c: Likewise.
15654 * term/usb_keyboard.c: Likewise.
15655
15656 2009-04-14 Bean <bean123ch@gmail.com>
15657
15658 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
15659 properly with null character.
15660
15661 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
15662
15663 * configure: Remove.
15664 * config.h.in: Likewise.
15665 * stamp-h.in: Likewise.
15666 * DISTLIST: Likewise.
15667 * conf/common.mk: Likewise.
15668 * conf/i386-coreboot.mk: Likewise.
15669 * conf/i386-efi.mk: Likewise.
15670 * conf/i386-ieee1275.mk: Likewise.
15671 * conf/i386.mk: Likewise.
15672 * conf/i386-pc.mk: Likewise.
15673 * conf/powerpc-ieee1275.mk: Likewise.
15674 * conf/sparc64-ieee1275.mk: Likewise.
15675 * conf/x86_64-efi.mk: Likewise.
15676
15677 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
15678 develop on GRUB.
15679
15680 2009-04-14 John Stanley <jpsinthemix@verizon.net>
15681 David S. Miller <davem@davemloft.net>
15682
15683 * util/hostdisk.c (make_device_name): Fix buffer length
15684 calculations.
15685
15686 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
15687
15688 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
15689 <sys/param.h> and <sys/sysctl.h>.
15690 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
15691 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
15692 opening the device and reset them afterwards.
15693
15694 2009-04-13 Pavel Roskin <proski@gnu.org>
15695
15696 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
15697 Reported by John Stanley <jpsinthemix@verizon.net>
15698
15699 2009-04-13 Robert Millan <rmh@aybabtu.com>
15700
15701 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
15702 that name for menuentries when appropriate.
15703
15704 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
15705
15706 * util/grub.d/10_freebsd.in: Add a missing `fi'.
15707
15708 2009-04-13 Robert Millan <rmh@aybabtu.com>
15709
15710 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
15711 to Linux, simply abort telling the user it's no longer supported.
15712
15713 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
15714
15715 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
15716 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
15717 `freebsd_loadenv' only when devices.hints exist.
15718
15719 2009-04-13 Pavel Roskin <proski@gnu.org>
15720
15721 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
15722
15723 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
15724
15725 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
15726 partition number.
15727 (grub_drive): Likewise.
15728
15729 2009-04-13 David S. Miller <davem@davemloft.net>
15730
15731 * kern/sparc64/ieee1275/ieee1275.c: New file.
15732 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
15733 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
15734 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
15735 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
15736 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
15737 grub_ieee1275_alloc_physmem): Declare new exported functions.
15738
15739 * include/grub/sparc64/ieee1275/loader.h: New file.
15740 * include/grub/sparc64/ieee1275/memory.h: Likewise.
15741 * include/grub/sparc64/kernel.h: Likewise.
15742 * loader/sparc64/ieee1275/linux.c: Likewise.
15743
15744 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
15745 (grub_fstest_SOURCES): Likewise.
15746
15747 * util/hostdisk.c (make_device_name): Do not make any assumptions
15748 about the length of drive names.
15749
15750 * kern/dl.c (grub_dl_load_file): Close file immediately when
15751 we are done using it.
15752
15753 2009-04-12 David S. Miller <davem@davemloft.net>
15754
15755 * kern/misc.c (grub_ltoa): Fix cast when handling negative
15756 values. Noticed by Pavel Roskin.
15757
15758 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
15759 target compiler.
15760
15761 * genmk.rb: Add more flexible image type specification, also
15762 pass --strip-unneeded to objcopy.
15763 * conf/i386-pc.rmk: Use *_FORMAT.
15764 * conf/i386-pc.mk: Rebuilt.
15765
15766 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
15767 (OFDISK_HASH_SZ): Define.
15768 (ofdisk_hash): New hash table.
15769 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
15770 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
15771 instead of device phandle which is not unique.
15772
15773 * kern/sparc64/ieee1275/init.c: Delete, replace with...
15774 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
15775 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
15776 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
15777 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
15778 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
15779 GRUB_KERNEL_MACHINE_DATA_END): Define.
15780 (grub_kernel_image_size, grub_total_module_size): Declare.
15781
15782 2009-04-12 Pavel Roskin <proski@gnu.org>
15783
15784 * configure.ac: Change the logic when we check for target tools.
15785 Do it when the target is specified and it's different from the
15786 specified value of the host.
15787
15788 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
15789
15790 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
15791 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
15792 GNU/kFreeBSD. Check if a device is a character device. Use
15793 DIOCGMEDIASIZE to get the size.
15794 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
15795 support for GNU/kFreeBSD.
15796 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
15797 is a character device instead of a block device. Add support for
15798 FreeBSD device names.
15799
15800 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
15801 is a character device instead of a block device.
15802
15803 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
15804 is a character device instead of a block device.
15805
15806 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
15807
15808 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
15809 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
15810 FreeBSD. Check if a device is a character device. Use
15811 DIOCGMEDIASIZE to get the size.
15812 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
15813 support for FreeBSD.
15814 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
15815 is a character device instead of a block device. Add support for
15816 FreeBSD device names.
15817
15818 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
15819 a character device instead of a block device.
15820 (grub_util_check_char_device): New function.
15821
15822 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
15823 a character device instead of a block device.
15824
15825 * include/grub/util/getroot.h (grub_util_check_char_device): New
15826 prototype.
15827
15828 2009-04-11 David S. Miller <davem@davemloft.net>
15829
15830 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
15831 static libgcc.
15832 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
15833 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
15834 function, if present.
15835 (__bswapdi2): Likewise.
15836
15837 * include/grub/sparc64/ieee1275/boot.h: New file.
15838 * boot/sparc64/ieee1275/boot.S: Likewise.
15839 * boot/sparc64/ieee1275/diskboot.S: Likewise.
15840
15841 * kern/misc.c (grub_ltoa): New function.
15842 (grub_vsprintf): Use it to format 'long' integers.
15843
15844 2009-04-10 David S. Miller <davem@davemloft.net>
15845
15846 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
15847 slots are of type grub_ieee1275_cell_t.
15848 (grub_nand_read): Likewise.
15849 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
15850 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
15851 macros are used to compare values in arg/ret block of the call.
15852 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
15853 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
15854 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
15855 grub_ieee1275_instance_to_path, grub_ieee1275_write,
15856 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
15857 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
15858 grub_ieee1275_close, grub_ieee1275_set_property,
15859 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
15860 grub_ieee1275_cell_t.
15861 * kern/ieee1275/openfw.c (grub_map): Likewise.
15862 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
15863 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
15864
15865 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
15866 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15867 (grub_devalias_iterate): Likewise.
15868
15869 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 UFS improvements
15872
15873 * fs/ufs.c (INODE_NBLOCKS): new definition
15874 (struct grub_ufs_dirent): added fields for non-BSD dirents
15875 (grub_ufs_get_file_block): fixed double indirect handling
15876 (grub_ufs_lookup_symlink): use more robust way to determine whether
15877 symlink is inline
15878 (grub_ufs_find_file): support for non-BSD dirents
15879 (grub_ufs_dir): support for non-BSD dirents
15880
15881 2009-04-10 Bean <bean123ch@gnail.com>
15882
15883 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
15884 attribute, otherwise the size would be wrong for i386 platform.
15885
15886 * include/grub/pci.h (grub_pci_read_word): New inline function.
15887 (grub_pci_read_byte): Likewise.
15888 (grub_pci_write): Likewise.
15889 (grub_pci_write_word): Likewise.
15890 (grub_pci_write_byte): Likewise.
15891
15892 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
15893
15894 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
15895 (find_framebuf): Scan pci to locate the frame buffer address.
15896
15897 * commands/efi/fixvideo.c: New file.
15898
15899 * commands/efi/loadbios.c: Likewise.
15900
15901 * commands/memrw.c: Likewise.
15902
15903 * util/grub-dumpbios.in: Likewise.
15904
15905 * conf/common.rmk (grub-dumpbios): New utility.
15906 (pkglib_MODULES): New module memrw.mod.
15907 (memrw_mod_SOURCE): New macro.
15908 (memrw_mod_CFLAGS): Likewise.
15909 (memrw_mod_LDFLAGS): Likewise.
15910
15911 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
15912 fixvideo.mod.
15913 (loadbios_mod_SOURCE): New macro.
15914 (loadbios_mod_CFLAGS): Likewise.
15915 (loadbios_mod_LDFLAGS): Likewise.
15916 (fixvideo_mod_SOURCE): Likewise.
15917 (fixvideo_mod_CFLAGS): Likewise.
15918 (fixvideo_mod_LDFLAGS): Likewise.
15919
15920 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
15921 fixvideo.mod.
15922 (loadbios_mod_SOURCE): New macro.
15923 (loadbios_mod_CFLAGS): Likewise.
15924 (loadbios_mod_LDFLAGS): Likewise.
15925 (fixvideo_mod_SOURCE): Likewise.
15926 (fixvideo_mod_CFLAGS): Likewise.
15927 (fixvideo_mod_LDFLAGS): Likewise.
15928
15929 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
15930
15931 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
15932
15933 2009-04-07 David S. Miller <davem@davemloft.net>
15934
15935 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
15936 support for R_SPARC_OLO10 relocations. Fix compile warning for
15937 R_SPARC_WDISP30 case.
15938 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
15939
15940 2009-04-06 Pavel Roskin <proski@gnu.org>
15941
15942 * include/grub/misc.h (ARRAY_SIZE): New macro.
15943 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
15944 New macro.
15945 * loader/i386/linux.c (allocate_pages): Use free_pages().
15946 (grub_linux_unload): Don't use free_pages().
15947 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
15948 wrong index. Treat all other modes as text modes.
15949 (grub_cmd_linux): Initialize vid_mode unconditionally to
15950 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
15951
15952 * commands/help.c (print_command_help): Use cmd->prio, not
15953 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
15954
15955 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15956
15957 Parttool
15958
15959 * parttool/pcpart.c: new file
15960 * commands/parttool.c: likewise
15961 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
15962 (parttool_mod_SOURCES): new variable
15963 (parttool_mod_CFLAGS): likewise
15964 (parttool_mod_LDFLAGS): likewise
15965 (pcpart_mod_SOURCES): likewise
15966 (pcpart_mod_CFLAGS): likewise
15967 (pcpart_mod_LDFLAGS): likewise
15968 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
15969 and parttool/pcpart.c
15970 * conf/i386-efi.rmk: likewise
15971 * conf/i386-ieee1275.rmk: likewise
15972 * conf/i386-pc.rmk: likewise
15973 * conf/powerpc-ieee1275.rmk: likewise
15974 * conf/sparc64-ieee1275.rmk: likewise
15975 * conf/x86_64-ieee1275.rmk: likewise
15976
15977 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 Support for mtime and further expandability of dir command
15980
15981 * include/grub/lib/datetime.h: moved to ...
15982 * include/grub/datetime.h: ... moved here and added
15983 declaration of grub_unixtime2datetime. All users updated
15984 * include/grub/fs.h: new syntax for dir and mtime functions in
15985 struct grub_fs
15986 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
15987 and GRUB_FSHELP_FLAGS_MASK
15988 * commands/ls.c (grub_ls_list_files): Write mtime in long format
15989 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
15990 (grub_ext2_mtime): new function
15991 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
15992 (grub_hfsplus_mtime): new function
15993 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
15994 (GRUB_UFS_ATTR_FILE): likewise
15995 (GRUB_UFS_ATTR_LNK): likewise
15996 (struct grub_ufs_sblock): new fields mtime
15997 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
15998 all users updated
15999 (grub_ufs_dir): mtime support
16000 (grub_ufs_mtime): new function
16001 * fs/affs.c (grub_affs_dir): use new dir syntax
16002 * fs/afs.c (grub_afs_dir): likewise
16003 * fs/cpio.c (grub_cpio_dir): likewise
16004 * fs/fat.c (grub_fat_find_dir): likewise
16005 * fs/hfs.c (grub_hfs_dir): likewise
16006 * fs/iso9660.c (grub_iso9660_dir): likewise
16007 * fs/jfs.c (grub_jfs_dir): likewise
16008 * fs/minix.c (grub_minix_dir): likewise
16009 * fs/ntfs.c (grub_ntfs_dir): likewise
16010 * fs/reiserfs.c (grub_reiserfs_dir): likewise
16011 * fs/sfs.c (grub_sfs_dir): likewise
16012 * fs/xfs.c (grub_xfs_dir): likewise
16013 * util/hostfs.c (grub_hostfs_dir): likewise
16014 * lib/datetime.c: moved to ...
16015 * normal/datetime.c: ... moved here
16016 (grub_unixtime2datetime): new function
16017 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
16018 * normal/completion.c (iterate_dir): use new dir syntax
16019 * normal/misc.c (grub_normal_print_device_info): tell the
16020 last modification time of a volume
16021 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
16022 * conf/common.rmk: added lib/datetime.c to ls.mod
16023 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
16024 (normal_mod_SOURCES): likewise
16025 (datetime_mod_SOURCES): Removed lib/datetime.c
16026 * conf/i386-efi.rmk: likewise
16027 * conf/i386-ieee1275.rmk: likewise
16028 * conf/i386-pc.rmk: likewise
16029 * conf/powerpc-ieee1275.rmk: likewise
16030 * conf/sparc64-ieee1275.rmk: likewise
16031 * conf/x86_64-efi.rmk: likewise
16032
16033 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 Trim trailing spaces in FAT label and support mtools-like labels
16036
16037 * fs/fat.c (grub_fat_iterate_dir): New function based
16038 on grub_fat_find_dir
16039 (grub_fat_find_dir): use grub_fat_iterate_dir
16040 (grub_fat_label): likewise
16041
16042 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16043
16044 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
16045 and command.h
16046 remove extraneous kernel_elf_HEADERS
16047
16048 2009-04-04 Bean <bean123ch@gnail.com>
16049
16050 * include/grub/util/misc.h: Add dummy function fsync for mingw.
16051
16052 * util/misc.c: Likewise.
16053
16054 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
16055
16056 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
16057 instead of grub_printf.
16058
16059 2009-04-03 Robert Millan <rmh@aybabtu.com>
16060
16061 * loader/i386/linux.c (grub_linux_setup_video): Fill
16062 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
16063 values from `mode info' structure instead of hardcoded
16064 values.
16065
16066 2009-04-01 Pavel Roskin <proski@gnu.org>
16067
16068 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
16069 unused now.
16070 * genmk.rb: Likewise.
16071 * configure.ac: Likewise.
16072
16073 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
16074
16075 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
16076 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
16077
16078 2009-04-01 David S. Miller <davem@davemloft.net>
16079
16080 * normal/sparc64/setjmp.S: Fix setjmp implementation.
16081 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
16082 (grub_setjmp): Mark with 'returns_twice' attribute.
16083 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
16084 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
16085 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
16086
16087 2009-04-01 Robert Millan <rmh@aybabtu.com>
16088
16089 Reapply fix from 2008-07-28 which was accidentally reverted; also
16090 perform the same fix to a similar check in same function.
16091
16092 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
16093 with the same number are found, just use issue a warning with
16094 grub_dprintf(), as this error has been reported to be non-fatal.
16095
16096 2009-03-31 Pavel Roskin <proski@gnu.org>
16097
16098 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
16099 for cross-compilation.
16100
16101 2009-03-30 Robert Millan <rmh@aybabtu.com>
16102
16103 Fix i386-ieee1275 build.
16104
16105 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
16106 Remove declaration.
16107
16108 2009-03-30 Pavel Roskin <proski@gnu.org>
16109
16110 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
16111 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
16112 zero-terminated, rely only on the strlen value. Fix comparison
16113 of strings differing in length.
16114
16115 2009-03-30 Robert Millan <rmh@aybabtu.com>
16116
16117 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
16118 checking for abi version. Improve error messages on BIOS to notify
16119 user about `linux16' command.
16120
16121 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16122
16123 Leak fixes
16124
16125 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
16126 in case of collision
16127 * disk/scsi.c (grub_scsi_open): free scsi in case of error
16128
16129 2009-03-29 Robert Millan <rmh@aybabtu.com>
16130
16131 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
16132 set `vid_mode' accordingly.
16133 (grub_linux_boot): Process `vid_mode' and set video mode.
16134
16135 2009-03-29 Robert Millan <rmh@aybabtu.com>
16136
16137 * util/grub.d/10_linux.in (linux_entry): New function.
16138 Factorize generation of Linux boot entries.
16139
16140 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
16141
16142 Make the format of Environment Block plain text. The boot loader
16143 part is not tested well yet.
16144
16145 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
16146 (buffer): Removed.
16147 (envblk): Likewise.
16148 (usage): Remove "info" and "clear". Add "unset". Update the
16149 description of "set", as this does not delete variables any
16150 longer.
16151 (create_envblk_file): Complete rewrite.
16152 (open_envblk_file): Likewise.
16153 (cmd_info): Removed.
16154 (cmd_list): Likewise.
16155 (cmd_set): Likewise.
16156 (cmd_clear): Likewise.
16157 (list_variables): New function.
16158 (write_envblk): Likewise.
16159 (set_variables): Likewise.
16160 (unset_variables): Likewise.
16161 (main): Complete rewrite.
16162
16163 * commands/loadenv.c (buffer): Removed.
16164 (envblk): Likewise.
16165 (open_envblk_file): New function.
16166 (read_envblk_file): Complete rewrite.
16167 (grub_cmd_load_env): Likewise.
16168 (grub_cmd_list_env): Likewise.
16169 (struct blocklist): New struct.
16170 (free_blocklists): New function.
16171 (check_blocklists): Likewise.
16172 (write_blocklists): Likewise.
16173 (grub_cmd_save_env): Complete rewrite.
16174
16175 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
16176 a plain text signature.
16177 (GRUB_ENVBLK_MAXLEN): Removed.
16178 (struct grub_envblk): Complete rewrite.
16179 (grub_envblk_find): Removed.
16180 (grub_envblk_insert): Likewise.
16181 (grub_envblk_open): New prototype.
16182 (grub_envblk_set): Likewise.
16183 (grub_envblk_delete): Put const to VALUE.
16184 (grub_envblk_iterate): Put const to NAME and VALUE.
16185 (grub_envblk_close): New prototype.
16186 (grub_envblk_buffer): New inline function.
16187 (grub_envblk_size): Likewise.
16188
16189 * lib/envblk.c: Include grub/mm.h.
16190 (grub_env_find): Removed.
16191 (grub_envblk_open): New function.
16192 (grub_envblk_close): Likewise.
16193 (escaped_value_len): Likewise.
16194 (find_next_line): Likewise.
16195 (grub_envblk_insert): Removed.
16196 (grub_envblk_set): New function.
16197 (grub_envblk_delete): Complete rewrite.
16198 (grub_envblk_iterate): Likewise.
16199
16200 2009-03-28 Robert Millan <rmh@aybabtu.com>
16201
16202 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
16203 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
16204 variables. Use 16-bit loader.
16205 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
16206 loader.
16207 * kern/i386/loader.S (grub_linux_boot): Rename to ...
16208 (grub_linux16_boot): ... this. Update all users.
16209 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
16210 (grub_linux_boot): ... this. Update all users.
16211
16212 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
16213 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
16214 commands to `linux16' and `initrd16'.
16215 (GRUB_MOD_FINI(linux)): Rename to ...
16216 (GRUB_MOD_FINI(linux16)): ... this.
16217
16218 2009-03-24 Pavel Roskin <proski@gnu.org>
16219
16220 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
16221 not just for compilation.
16222
16223 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
16224
16225 Move multiboot helper out of kernel
16226
16227 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
16228 `loader/i386/multiboot_helper.S'.
16229 * conf/i386-coreboot.rmk: Likewise
16230 * conf/i386-ieee1275.rmk: Likewise
16231
16232 * kern/i386/loader.S: Move multiboot helpers from here...
16233 * loader/i386/multiboot_helper.S: ...moved here
16234 * include/grub/i386/loader.h: Move declarations of multiboot
16235 helpers from here...
16236 * include/grub/i386/multiboot.h: ...moved here
16237 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
16238
16239 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
16240
16241 * kern/env.c (grub_env_context_open): Added an argument to specify
16242 whether a new context inherits exported variables from current
16243 one. This is useful when making a sandbox to interpret a config
16244 file.
16245 All callers updated.
16246
16247 * include/grub/env.h (grub_env_context_open): Updated the prototype.
16248
16249 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
16250
16251 * kern/env.c (grub_env_context_close): Fix memory leaks.
16252
16253 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
16254
16255 * normal/main.c (grub_normal_execute): Added an argument
16256 BATCH to specify if an interactive interface should be provided
16257 after reading a config file.
16258 All callers updated.
16259 (read_command_list): Prevent being executed twice.
16260 (read_fs_list): Likewise.
16261
16262 * include/grub/normal.h (grub_normal_execute): Updated the
16263 prototype.
16264
16265 2009-03-22 Pavel Roskin <proski@gno.org>
16266
16267 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
16268 _start.
16269 * kern/i386/pc/startup.S: Likewise.
16270 * kern/i386/efi/startup.S: Likewise.
16271 * kern/i386/ieee1275/startup.S: Likewise.
16272 * kern/i386/coreboot/startup.S: Likewise.
16273 * kern/x86_64/efi/startup.S: Likewise.
16274
16275 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
16276 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
16277 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
16278
16279 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 Bugfixes in multiboot for bugs uncovered by solaris kernel.
16282
16283 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
16284 limit detection.
16285 Use vaddr of correct segment for entry_point.
16286
16287 2009-03-21 Bean <bean123ch@gmail.com>
16288
16289 * commands/blocklist.c: Add include file <grub/command.h>, remove
16290 <grub/normal.h> and <grub/arg.h>.
16291 (grub_cmd_blocklist): Use the new command interface.
16292 (GRUB_MOD_INIT): Likewise.
16293 (GRUB_MOD_FINI): Likewise.
16294 * commands/boot.c: Likewise.
16295 * commands/cat.c: Likewise.
16296 * commands/cmp.c: Likewise.
16297 * commands/configfile.c: Likewise.
16298 * commands/crc.c: Likewise.
16299 * commands/echo.c: Likewise.
16300 * commands/halt.c: Likewise.
16301 * commands/handler.c: Likewise.
16302 * commands/hdparm.c: Likewise.
16303 * commands/help.c: Likewise.
16304 * commands/hexdump.c: Likewise.
16305 * commands/loadenv.c: Likewise.
16306 * commands/ls.c: Likewise.
16307 * commands/lsmmap.c: Likewise.
16308 * commands/lspci.c: Likewise.
16309 * commands/loadenv.c: Likewise.
16310 * commands/read.c: Likewise.
16311 * commands/reboot.c: Likewise.
16312 * commands/search.c: Likewise.
16313 * commands/sleep.c: Likewise.
16314 * commands/test.c: Likewise.
16315 * commands/usbtest.c: Likewise.
16316 * commands/videotest.c: Likewise.
16317 * commands/i386/cpuid.c: Likewise.
16318 * commands/i386/pc/halt.c: Likewise.
16319 * commands/i386/pc/play.c: Likewise.
16320 * commands/i386/pc/pxecmd.c: Likewise.
16321 * commands/i386/pc/vbeinfo.c: Likewise.
16322 * commands/i386/pc/vbetest.c: Likewise.
16323 * commands/ieee1275/suspend.c: Likewise.
16324 * disk/loopback.c: Likewise.
16325 * font/font_cmd.c: Likewise.
16326 * hello/hello.c: Likewise.
16327 * loader/efi/appleloader.c: Likewise.
16328 * loader/efi/chainloader.c: Likewise.
16329 * loader/i386/bsd.c: Likewise.
16330 * loader/i386/efi/linux.c: Likewise.
16331 * loader/i386/ieee1275/linux.c: Likewise.
16332 * loader/i386/linux.c: Likewise.
16333 * loader/i386/pc/chainloader.c: Likewise.
16334 * loader/i386/pc/linux.c: Likewise.
16335 * loader/powerpc/ieee1275/linux.c: Likewise.
16336 * loader/multiboot_loader.c: Likewise.
16337 * term/gfxterm.c: Likewise.
16338 * term/i386/pc/serial.c: Likewise.
16339 * term/terminfo.c: Likewise.
16340
16341 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
16342 * term/i386/pc/vga.c: Likewise.
16343 * video/readers/jpeg.c: Likewise.
16344 * video/readers/png.c: Likewise.
16345 * video/readers/tga.c: Likewise.
16346
16347 * util/grub-fstest (cmd_loopback): Removed.
16348 (cmd_blocklist): Likewise.
16349 (cmd_ls): Likewise.
16350 (grub_register_command): Likewise.
16351 (grub_unregister_command): Likewise.
16352 (execute_command): Use grub_command_find to locate command and execute
16353 it.
16354
16355 * include/grub/efi/chainloader.h: Removed.
16356 * loader/efi/chainloader_normal.c: Likewise.
16357 * loader/i386/bsd_normal.c: Likewise.
16358 * loader/i386/pc/chainloader_normal.c: Likewise.
16359 * loader/i386/pc/multiboot_normal.c: Likewise.
16360 * loader/linux_normal.c: Likewise.
16361 * loader/multiboot_loader_normal.c: Likewise.
16362 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
16363
16364 * gencmdlist.sh: Scan new registration command grub_register_extcmd
16365 and grub_register_command_p1.
16366
16367 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
16368 kern/command.c, lib/arg.c and commands/extcmd.c.
16369 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
16370 (minicmd_mod_SOURCES): New variable.
16371 (minicmd_mod_CFLAGS): Likewise.
16372 (minicmd_mod_LDFLAGS): Likewise.
16373 (extcmd_mod_SOURCES): Likewise.
16374 (extcmd_mod_CFLAGS): Likewise.
16375 (extcmd_mod_LDFLAGS): Likewise.
16376 (boot_mod_SOURCES): Removed.
16377 (boot_mod_CFLAGS): Likewise.
16378 (boot_mod_LDFLAGS): Likewise.
16379
16380 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
16381 kern/corecmd.c.
16382 (kernel_img_HEADERS): Add command.h.
16383 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
16384 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
16385 and lib/arg.c.
16386 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
16387 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
16388 remove the corresponding normal mode command.
16389 (normal_mod_SOURCES): Remove normal/arg.c.
16390 * conf/i386-coreboot.rmk: Likewise.
16391 * conf/i386-efi.rmk: Likewise.
16392 * conf/i386-ieee1275.rmk: Likewise.
16393 * conf/powerpc-ieee1275.rmk: Likewise.
16394 * conf/x86_64-efi.rmk: Likewise.
16395
16396 * include/grub/arg.h: Move from here ...
16397 * include/grub/lib/arg.h: ... to here.
16398
16399 * normal/arg.c: Move from here ...
16400 * lib/arg.c: ... to here.
16401
16402 * commands/extcmd.c: New file.
16403 * commands/minicmd.c: Likewise.
16404 * include/grub/command.h: Likewise.
16405 * include/grub/extcmd.h: Likewise.
16406 * kern/command.c: Likewise.
16407 * kern/corecmd.c: Likewise.
16408
16409 * kern/list.c (grub_list_iterate): Return int instead of void.
16410 (grub_list_insert): New function.
16411 (grub_prio_list_insert): Likewise.
16412
16413 * kern/rescue.c (grub_rescue_command): Removed.
16414 (grub_rescue_command_list): Likewise.
16415 (grub_rescue_register_command): Likewise.
16416 (grub_rescue_unregister_command): Likewise.
16417 (grub_rescue_cmd_boot): Move to minicmd.c
16418 (grub_rescue_cmd_help): Likewise.
16419 (grub_rescue_cmd_info): Likewise.
16420 (grub_rescue_cmd_boot): Likewise.
16421 (grub_rescue_cmd_testload): Likewise.
16422 (grub_rescue_cmd_dump): Likewise.
16423 (grub_rescue_cmd_rmmod): Likewise.
16424 (grub_rescue_cmd_lsmod): Likewise.
16425 (grub_rescue_cmd_exit): Likewise.
16426 (grub_rescue_print_devices): Moved to corecmd.c.
16427 (grub_rescue_print_files): Likewise.
16428 (grub_rescue_cmd_ls): Likewise.
16429 (grub_rescue_cmd_insmod): Likewise.
16430 (grub_rescue_cmd_set): Likewise.
16431 (grub_rescue_cmd_unset): Likewise.
16432 (attempt_normal_mode): Use grub_command_find to get normal module.
16433 (grub_enter_rescue_mode): Use grub_register_core_commands to register
16434 commands, remove grub_rescue_register_command calls.
16435
16436 * normal/command.c (grub_register_command): Removed.
16437 (grub_unregister_command): Likewise.
16438 (grub_command_find): Likewise.
16439 (grub_iterate_commands): Likewise.
16440 (rescue_command): Likewise.
16441 (export_command): Moved to corecmd.c.
16442 (set_command): Removed.
16443 (unset_command): Likewise.
16444 (insmod_command): Likewise.
16445 (rmmod_command): Likewise.
16446 (lsmod_command): Likewise.
16447 (grub_command_init): Likewise.
16448
16449 * normal/completion.c (iterate_command): Use cmd->prio to check for
16450 active command.
16451 (complete_arguments): Use grub_extcmd_t structure to find options.
16452 (grub_normal_do_completion): Change function grub_iterate_commands to
16453 grub_command_iterate.
16454
16455 * normal/execute.c (grub_script_execute_cmd): No need to parse
16456 argument here.
16457
16458 * normal/main.c (grub_dyncmd_dispatcher): New function.
16459 (read_command_list): Register unload commands as dyncmd.
16460 (grub_cmd_normal): Use new command interface, register rescue,
16461 unregister normal at entry, register normal, unregister rescue at exit.
16462
16463 * include/grub/list.h (grub_list_test_t): New type.
16464 (grub_list_iterate): Return int instead of void.
16465 (grub_list_insert): New function.
16466 (GRUB_AS_NAMED_LIST_P): New macro.
16467 (GRUB_AS_PRIO_LIST): Likewise.
16468 (GRUB_AS_PRIO_LIST_P): Likewise.
16469 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
16470 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
16471 (grub_prio_list): New structure.
16472 (grub_prio_list_insert): New function.
16473 (grub_prio_list_remove): New inline function.
16474
16475 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
16476 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
16477 (GRUB_COMMAND_FLAG_MENU): Likewise.
16478 (GRUB_COMMAND_FLAG_BOTH): Likewise.
16479 (GRUB_COMMAND_FLAG_TITLE): Likewise.
16480 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
16481 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
16482 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
16483 (grub_command): Likewise.
16484 (grub_register_command): Likewise.
16485 (grub_command_find): Likewise.
16486 (grub_iterate_commands): Likewise.
16487 (grub_command_init): Likewise.
16488 (grub_arg_parse): Likewise.
16489 (grub_arg_show_help): Likewise.
16490
16491 * include/grub/rescue.h (grub_rescue_register_command): Removed.
16492 (grub_rescue_unregister_command): Likewise.
16493
16494 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
16495 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
16496 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
16497
16498 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
16499 grub_rescue_cmd_initrd.
16500 * include/grub/i386/loader.h: Likewise.
16501 * include/grub/x86_64/loader.h: Likewise.
16502
16503 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
16504
16505 2009-03-21 Bean <bean123ch@gmail.com>
16506
16507 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
16508 instead of stat in mingw environment.
16509
16510 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
16511
16512 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
16513
16514 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
16515 AC_CONFIG_LINKS.
16516
16517 2009-03-21 Bean <bean123ch@gmail.com>
16518
16519 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
16520 out of range error.
16521
16522 2009-03-18 Michel Dänzer <michel@daenzer.net>
16523
16524 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
16525 checking inode flags for EXT4_EXTENTS_FLAG.
16526
16527 2009-03-18 Robert Millan <rmh@aybabtu.com>
16528
16529 * loader/i386/linux.c: Include `<grub/video.h>' and
16530 `<grub/i386/pc/vbe.h>'..
16531 (grub_linux_setup_video): New function. Loosely based on the EFI one.
16532 (grub_linux32_boot): Attempt to configure video settings with
16533 grub_linux_setup_video().
16534 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
16535 to avoid grub_console_fini() which would step out of graphical mode
16536 unconditionally.
16537
16538 2009-03-14 Robert Millan <rmh@aybabtu.com>
16539
16540 Fix build on powerpc.
16541 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
16542
16543 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
16544
16545 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
16546 background image command.
16547
16548 2009-03-12 Colin D Bennett <colin@gibibit.com>
16549
16550 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
16551 (grub_gfxterm_putchar): Extract pairs of identical calls to
16552 draw_cursor out of conditional blocks.
16553
16554 2009-03-11 Pavel Roskin <proski@gnu.org>
16555
16556 * fs/hfs.c (grub_hfs_strncasecmp): New function.
16557 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
16558
16559 2009-03-11 Robert Millan <rmh@aybabtu.com>
16560
16561 * loader/i386/multiboot_elfxx.c
16562 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
16563
16564 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
16565
16566 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
16567 `kern/handler.c'.
16568
16569 2009-03-11 Robert Millan <rmh@aybabtu.com>
16570
16571 * loader/i386/multiboot.c (code_size): New variable.
16572 (grub_multiboot): Define offsets by adding to `code_size' rather
16573 than subtracting from `grub_multiboot_payload_size'. Provide
16574 4-byte alignment to MBI and others by increasing
16575 `boot_loader_name_length' appropriately.
16576
16577 * loader/i386/multiboot_elfxx.c
16578 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
16579
16580 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
16581
16582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
16583 `fs/ext2.c'.
16584
16585 2009-03-08 Robert Millan <rmh@aybabtu.com>
16586
16587 Make loader/i386/linux.c usable on i386-pc again.
16588
16589 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
16590 memory to heap.
16591 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
16592 `#error' stanza.
16593
16594 2009-03-07 Bean <bean123ch@gmail.com>
16595
16596 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
16597 allocation.
16598
16599 2009-03-06 Robert Millan <rmh@aybabtu.com>
16600
16601 Fix display issue on terminals with screen size other than 80x25
16602 (e.g. gfxterm with resolution higher than 640x480).
16603
16604 * normal/main.c (grub_normal_init_page): Display title text in a
16605 position relative to the center of the terminal instead of relying
16606 on a hardcoded offset.
16607
16608 2009-03-04 Robert Millan <rmh@aybabtu.com>
16609
16610 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
16611 installed.
16612
16613 * Makefile.in (host_kernel): New variable.
16614 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
16615 scripts instead of just the windows one.
16616 * configure.ac: Initialize and AC_SUBST `host_kernel'.
16617
16618 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
16619
16620 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
16621 `kern/handler.c'.
16622 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16623 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16624 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16625 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16626 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16627 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16628
16629 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
16630
16631 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
16632 or if there's no space for the disk label and print the partition number on a
16633 invalid magic.
16634
16635 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
16636
16637 * util/misc.c: Include <time.h>.
16638 (grub_millisleep): New function.
16639
16640 2009-03-04 Bean <bean123ch@gmail.com>
16641
16642 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
16643 another option -mno-red-zone.
16644
16645 * commands/handler.c: Change module description.
16646
16647 * kern/handler.c: Add missing space at the end of description line.
16648
16649 * kern/list.c: Likewise.
16650
16651 2009-03-03 Robert Millan <rmh@aybabtu.com>
16652
16653 Move more components to the relocation area, and fix mbi pointer
16654 handling to use the destination rather than the origin (thanks to
16655 Vladimir Serbinenko for spotting).
16656
16657 * loader/i386/multiboot.c (mbi_dest): New variable.
16658 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
16659 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
16660 relocation area.
16661
16662 2009-03-01 Bean <bean123ch@gmail.com>
16663
16664 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
16665 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
16666 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
16667 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
16668
16669 * loader/i386/efi/linux.c (acpi_guid): New variable.
16670 (acpi_guid): Likewise.
16671 (EBDA_SEG_ADDR): New constant.
16672 (LOW_MEM_ADDR): Likewise.
16673 (FAKE_EBDA_SEG): Likewise.
16674 (fake_bios_data): New function.
16675 (grub_linux_boot): Call fake_bios_data.
16676
16677 2009-03-01 Bean <bean123ch@gmail.com>
16678
16679 * commands/terminal.c: Removed.
16680
16681 * commands/handler.c: New file.
16682
16683 * include/grub/list.h: Likewise.
16684
16685 * include/grub/handler.h: Likewise.
16686
16687 * kern/list.c: Likewise.
16688
16689 * kern/handler.c: Likewise.
16690
16691 * kern/term.h: Include header file <grub/handler.h>.
16692 (grub_term_input): Move next field to the beginning.
16693 (grub_term_output): Likewise.
16694 (grub_term_input_class): New variable.
16695 (grub_term_output_class): Likewise.
16696 (grub_term_register_input): Changed to inline function.
16697 (grub_term_register_output): Likewise.
16698 (grub_term_unregister_input): Likewise.
16699 (grub_term_unregister_output): Likewise.
16700 (grub_term_set_current_input): Likewise.
16701 (grub_term_set_current_output): Likewise.
16702 (grub_term_get_current_input): Likewise.
16703 (grub_term_get_current_output): Likewise.
16704 (grub_term_iterate_input): Removed.
16705 (grub_term_iterate_output): Likewise.
16706
16707 * kern/term.c (grub_term_list_input): Removed.
16708 (grub_term_list_output): Likewise.
16709 (grub_term_input_class): New variable.
16710 (grub_term_output_class): Likewise.
16711 (grub_cur_term_input): Change variable as macro.
16712 (grub_cur_term_output): Likewise.
16713 (grub_term_register_input): Removed.
16714 (grub_term_register_output): Likewise.
16715 (grub_term_unregister_input): Likewise.
16716 (grub_term_unregister_output): Likewise.
16717 (grub_term_set_current_input): Likewise.
16718 (grub_term_set_current_output): Likewise.
16719 (grub_term_iterate_input): Likewise.
16720 (grub_term_iterate_output): Likewise.
16721 (grub_term_get_current_input): Likewise.
16722 (grub_term_get_current_output): Likewise.
16723
16724 * util/grub-editenv.c: Include header file <grub/handler.h>.
16725 (grub_term_get_current_input): Removed.
16726 (grub_term_get_current_output): Likewise.
16727 (grub_term_input_class): New variable.
16728 (grub_term_output_class): Likewise.
16729
16730 * util/grub-fstest.c (grub_term_get_current_input): Removed.
16731 (grub_term_get_current_output): Likewise.
16732 (grub_term_input_class): New variable.
16733 (grub_term_output_class): Likewise.
16734
16735 * util/grub-probe.c (grub_term_get_current_input): Removed.
16736 (grub_term_get_current_output): Likewise.
16737 (grub_term_input_class): New variable.
16738 (grub_term_output_class): Likewise.
16739
16740 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
16741 (grub_term_get_current_output): Likewise.
16742 (grub_term_input_class): New variable.
16743 (grub_term_output_class): Likewise.
16744
16745 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
16746 (terminal_mod_SOURCES): Likewise.
16747 (terminal_mod_CFLAGS): Likewise.
16748 (terminal_mod_LDFLAGS): Likewise.
16749
16750 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
16751 handler.c.
16752 (kernel_img_SOURCES): Add list.c and handler.c.
16753 (kernel_img_HEADERS): Add list.h and handler.h.
16754
16755 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
16756 handler.c.
16757 (kernel_mod_SOURCES): Add list.c and handler.c.
16758 (kernel_mod_HEADERS): Add list.h and handler.h.
16759
16760 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
16761 handler.c.
16762 (kernel_elf_SOURCES): Add list.c and handler.c.
16763 (kernel_elf_HEADERS): Add list.h and handler.h.
16764
16765 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
16766 handler.c.
16767 (kernel_elf_SOURCES): Add list.c and handler.c.
16768 (kernel_elf_HEADERS): Add list.h and handler.h.
16769
16770 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
16771 handler.c.
16772 (kernel_mod_SOURCES): Add list.c and handler.c.
16773 (kernel_mod_HEADERS): Add list.h and handler.h.
16774
16775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
16776 handler.c.
16777 (kernel_elf_SOURCES): Add list.c and handler.c.
16778 (kernel_elf_HEADERS): Add list.h and handler.h.
16779
16780 2009-02-27 Robert Millan <rmh@aybabtu.com>
16781
16782 Factorize elf32 / elf64 code in Multiboot loader. This will
16783 prevent it from getting out of sync again.
16784
16785 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
16786 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
16787 grub_multiboot_load_elf64): Move from here ...
16788 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
16789 grub_multiboot_load_elf): ... to here (new file).
16790
16791 2009-02-27 Robert Millan <rmh@aybabtu.com>
16792
16793 * util/grub.d/10_linux.in: Rename "single-user mode" to
16794 "recovery mode".
16795
16796 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 Don't leak in SCSI code.
16799 * disk/scsi.c (grub_scsi_close): free `scsi'.
16800
16801 2009-02-27 Robert Millan <rmh@aybabtu.com>
16802
16803 * loader/i386/pc/multiboot.c: Move from here ...
16804 * loader/i386/multiboot.c: ... to here. Update all users.
16805
16806 2009-02-27 Robert Millan <rmh@aybabtu.com>
16807
16808 Patch from Alexandre Bique <bique.alexandre@gmail.com>
16809 * util/i386/pc/grub-setup.c (setup): Fix directory path.
16810
16811 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
16812
16813 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
16814 b-tree.
16815
16816 2009-02-27 Robert Millan <rmh@aybabtu.com>
16817
16818 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
16819 `0x' qualifier as 0 when base is specified as parameter).
16820
16821 2009-02-24 Bean <bean123ch@gmail.com>
16822
16823 * configure.ac: Check for -mcmodel=large in x86_64 target.
16824
16825 * include/grub/efi/api.h (efi_call_10): New macro.
16826 (efi_wrap_10): New function.
16827
16828 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
16829 (GRUB_PE32_REL_BASED_HIGH): Likewise.
16830 (GRUB_PE32_REL_BASED_LOW): Likewise.
16831 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
16832 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
16833 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
16834 (GRUB_PE32_REL_BASED_SECTION): Likewise.
16835 (GRUB_PE32_REL_BASED_REL): Likewise.
16836 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
16837 (GRUB_PE32_REL_BASED_DIR64): Likewise.
16838 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
16839
16840 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
16841 issue.
16842
16843 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
16844 (efi_wrap_10): New function.
16845
16846 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
16847
16848 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
16849 MB/MBP model (NV chipset).
16850 (devdata_devs): Add devpath_5 to the list.
16851
16852 * load/i386/efi/linux.c (video_base): Remove variable.
16853 (RGB_MASK): New macro.
16854 (RGB_MAGIC): Likewise.
16855 (LINE_MIN): Likewise.
16856 (LINE_MAX): Likewise.
16857 (FBTEST_STEP): Likewise.
16858 (FBTEST_COUNT): Likewise.
16859 (fb_list): New variable.
16860 (grub_find_video_card): Remove function.
16861 (find_framebuf): New function.
16862 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
16863 line length.
16864
16865 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
16866 problem for x86_64.
16867
16868 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
16869
16870 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
16871
16872 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
16873 coding tool name.
16874
16875 2009-02-22 Robert Millan <rmh@aybabtu.com>
16876
16877 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
16878 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
16879 in our relocation, instead of using it directly from heap. Also
16880 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
16881
16882 2009-02-21 Robert Millan <rmh@aybabtu.com>
16883
16884 Implement USB keyboard support (based on patch by Marco Gerards)
16885
16886 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
16887 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
16888 (usb_keyboard_mod_LDFLAGS): New variables.
16889
16890 * term/usb_keyboard.c: New file.
16891
16892 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16893
16894 Corrected wrong declaration
16895
16896 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
16897
16898 2009-02-14 Christian Franke <franke@computer.org>
16899
16900 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
16901 (grub_lspci_iter): Print class code and programming interface byte.
16902
16903 2009-02-14 Christian Franke <franke@computer.org>
16904
16905 * gendistlist.sh: Ignore `.svn' directories.
16906
16907 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
16908
16909 * fs/fat.c: Add 2009 to Copyright line.
16910
16911 2009-02-14 Christian Franke <franke@computer.org>
16912
16913 * commands/hdparm.c: New file. Provides `hdparm' command
16914 which sends ATA commands via grub_disk_ata_pass_through ().
16915
16916 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
16917
16918 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
16919 and <grub/cpu/io.h> to include/grub/ata.h.
16920 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
16921 (GRUB_CDROM_SECTOR_SIZE): Remove.
16922 (GRUB_ATA_*): Move to include/grub/ata.h.
16923 (GRUB_ATAPI_*): Likewise.
16924 (enum grub_ata_commands): Likewise.
16925 (enum grub_ata_timeout_milliseconds): Likewise.
16926 (struct grub_ata_device): Likewise.
16927 (grub_ata_regset): Likewise.
16928 (grub_ata_regget): Likewise.
16929 (grub_ata_regset2): Likewise.
16930 (grub_ata_regget2): Likewise.
16931 (grub_ata_check_ready): Likewise.
16932 (grub_ata_wait_not_busy): Remove static, exported in
16933 include/grub/ata.h.
16934 (grub_ata_wait_drq): Likewise.
16935 (grub_ata_pio_read): Likewise.
16936
16937 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
16938 function for hdparm.mod.
16939
16940 * include/grub/ata.h: New file, contains declarations from
16941 disk/ata.c.
16942 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
16943
16944 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
16945 (grub_disk_ata_pass_through): New exported variable.
16946
16947 * kern/disk.c (grub_disk_ata_pass_through): New variable.
16948
16949 2009-02-13 Colin D Bennett <colin@gibibit.com>
16950
16951 Support multiple fallback entries, and provide an API to support
16952 executing default+fallback menu entries. Renamed the `terminal' menu
16953 viewer to `text'.
16954
16955 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
16956 variable declaration.
16957 (grub_menu_execute_callback): New structure declaration.
16958 (grub_menu_execute_callback_t): New typedef.
16959 (grub_menu_execute_with_fallback): New function declaration.
16960 (grub_menu_get_entry): Likewise.
16961 (grub_menu_get_timeout): Likewise.
16962 (grub_menu_set_timeout): Likewise.
16963
16964 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
16965
16966 * normal/menu.c (grub_wait_after_message): Moved to
16967 `normal/menu_text.c'.
16968 (draw_border): Likewise.
16969 (print_message): Likewise.
16970 (print_entry): Likewise.
16971 (print_entries): Likewise.
16972 (grub_menu_init_page): Likewise.
16973 (get_entry_number): Likewise.
16974 (print_timeout): Likewise.
16975 (run_menu): Likewise.
16976 (grub_menu_execute_entry): Likewise.
16977 (show_text_menu): Likewise.
16978 (get_and_remove_first_entry_number): New function.
16979 (grub_menu_execute_with_fallback): Likewise.
16980 (get_entry): Renamed to ...
16981 (grub_menu_get_entry): .. this and made it global.
16982 (get_timeout): Renamed to ...
16983 (grub_menu_get_timeout): ... this and made it global.
16984 (set_timeout): Renamed to ...
16985 (grub_menu_set_timeout): ... this and made it global.
16986 (grub_normal_terminal_menu_viewer): Renamed to ...
16987 (grub_normal_text_menu_viewer): ... this.
16988
16989 * normal/menu_text.c: New file. Extracted text-menu-specific code
16990 from normal/menu.c.
16991
16992 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
16993 (normal_mod_SOURCES): Likewise.
16994
16995 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16996 (normal_mod_SOURCES): Likewise.
16997
16998 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16999 (normal_mod_SOURCES): Likewise.
17000
17001 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
17002 (normal_mod_SOURCES): Likewise.
17003
17004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17005 (normal_mod_SOURCES): Likewise.
17006
17007 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17008 (normal_mod_SOURCES): Likewise.
17009
17010 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17011 (normal_mod_SOURCES): Likewise.
17012
17013 2009-02-11 Robert Millan <rmh@aybabtu.com>
17014
17015 * util/grub.d/00_header.in: Update old reference to `font' command.
17016
17017 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
17018
17019 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
17020
17021 Based on patch from Javier Martín.
17022
17023 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
17024
17025 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
17026 to avoid false positives with FAT.
17027 (grub_fstest_SOURCES): Likewise.
17028 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17029 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17031 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17032 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17033 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17034
17035 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
17036
17037 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
17038 bpb.version_specific.fat12_or_fat16.fstype and
17039 bpb.version_specific.fat32.fstype.
17040
17041 2009-02-08 Robert Millan <rmh@aybabtu.com>
17042
17043 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
17044
17045 2009-02-08 Robert Millan <rmh@aybabtu.com>
17046
17047 * Makefile.in (host_os, host_cpu): New variables.
17048 (target_os): Remove. Update all users.
17049
17050 2009-02-08 Marco Gerards <marco@gnu.org>
17051
17052 * Makefile.in (enable_grub_emu_usb): New variable.
17053 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
17054 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
17055 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
17056 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
17057 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
17058 `usbtest.mod' and `usbms.mod'.
17059 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
17060 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
17061 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
17062 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
17063 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
17064 variables.
17065
17066 * disk/usbms.c: New file.
17067
17068 * include/grub/usb.h: Likewise.
17069
17070 * include/grub/usbtrans.h: Likewise.
17071
17072 * include/grub/usbdesc.h: Likewise.
17073
17074 * bus/usb/usbtrans.c: Likewise.
17075
17076 * bus/usb/ohci.c: Likewise.
17077
17078 * bus/usb/uhci.c: Likewise.
17079
17080 * bus/usb/usbhub.c: Likewise.
17081
17082 * bus/usb/usb.c: Likewise.
17083
17084 * commands/usbtest.c: Likewise.
17085
17086 * util/usb.c: Likewise.
17087
17088 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
17089
17090 * configure.ac: Test for libusb presence.
17091
17092 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
17093
17094 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
17095
17096 * kern/mm.c: Add more comments.
17097
17098 2009-02-08 Robert Millan <rmh@aybabtu.com>
17099
17100 Patch from Javier Martín.
17101 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
17102 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
17103
17104 2009-02-08 Robert Millan <rmh@aybabtu.com>
17105
17106 * fs/cpio.c: Split tar functionality to ...
17107 * fs/tar.c: ... here (new file). Update all users.
17108
17109 2009-02-07 Robert Millan <rmh@aybabtu.com>
17110
17111 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
17112 backward-incompatible features.
17113
17114 Based on patch from Javier Martín, with some adjustments.
17115
17116 2009-02-07 Michael Scherer <misc@mandriva.org>
17117
17118 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
17119
17120 2009-02-07 Robert Millan <rmh@aybabtu.com>
17121
17122 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
17123 position of `disk/lvm.c' to ensure grub_init_all() always picks it
17124 after the RAID stuff.
17125
17126 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
17127
17128 Fixes problem when running vbetest command as reported by
17129 Vladimir Serbinenko <phcoder@gmail.com>.
17130
17131 * (grub_vbe_set_video_mode): Fixed problem with text modes.
17132
17133 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
17134
17135 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
17136 /dev/md/NpN style mdraid devices.
17137
17138 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
17139
17140 * util/unifont2pff.rb: Remove.
17141
17142 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
17143
17144 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
17145 `#'.
17146
17147 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
17148
17149 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
17150 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17151 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17152 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17154 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17155 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17156
17157 2009-02-02 Christian Franke <franke@computer.org>
17158
17159 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
17160
17161 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
17162
17163 * INSTALL: Note that we now require at least autoconf 2.59 and
17164 that LZO is optional.
17165
17166 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
17167
17168 Base on patch on bug #24154 created by Tomas Tintera
17169 <trosos@seznam.cz>.
17170
17171 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
17172
17173 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
17174
17175 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
17176 <bero@arklinux.org>.
17177
17178 * normal/parser.y (script_init): Add missing semicolon.
17179
17180 2009-01-31 Colin D Bennett <colin@gibibit.com>
17181
17182 * normal/main.c: Add include to grub/menu_viewer.h.
17183 (free_menu_entry_classes): Added.
17184 (grub_normal_menu_addentry): Added class property handling.
17185 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
17186 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
17187
17188 * normal/menu_viewer.c: New file.
17189
17190 * normal/menu.c (run_menu_entry): Renamed to ...
17191 (grub_menu_execute_entry): ... this and made it as global.
17192 (grub_menu_run): Renamed to ...
17193 (show_text_menu): ... this and made it local.
17194 (show_text_menu): Adapt to new function names.
17195 (grub_normal_terminal_menu_viewer): New global variable.
17196
17197 * include/grub/menu.h: New file.
17198
17199 * include/grub/menu_viewer.h: New file.
17200
17201 * include/grub/normal.h: Added include to grub/menu.h.
17202 (grub_menu_entry): Moved to include/grub/menu.h.
17203 (grub_menu_entry_t): Likewise.
17204 (grub_menu): Likewise.
17205 (grub_menu_t): Likewise.
17206 (grub_normal_terminal_menu_viewer): Added.
17207 (grub_menu_execute_entry): Likewise.
17208 (grub_menu_run): Removed.
17209
17210 * DISTLIST: Added include/grub/menu.h.
17211 Added include/grub/menu_viewer.h.
17212 Added normal/menu_viewer.c.
17213
17214 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
17215
17216 * normal/execute.c (grub_script_execute_menuentry): Changed to use
17217 arglist for menutitle arguments.
17218
17219 * normal/main.c (grub_normal_menu_addentry): Likewise.
17220
17221 * normal/parser.y (menuentry): Likewise.
17222
17223 * normal/script.c (grub_script_create_cmdmenu): Likewise.
17224
17225 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
17226 (grub_script_create_cmdmenu): Likewise.
17227
17228 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
17229
17230 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
17231 changes.
17232
17233 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
17234
17235 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
17236
17237 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
17238
17239 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
17240
17241 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
17242
17243 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
17244
17245 2009-01-30 Christian Franke <franke@computer.org>
17246
17247 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
17248 in option help text.
17249
17250 2009-01-27 Pavel Roskin <proski@gnu.org>
17251
17252 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
17253
17254 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
17255
17256 * commands/lsmmap.c: Add include to grub/machine/memory.h.
17257
17258 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
17259
17260 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
17261 unregister function.
17262
17263 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
17264
17265 * disk/scsi.c (grub_scsi_read): Fix sign problem.
17266
17267 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
17268
17269 * util/grub-mkfont.c (usage): Fix typo.
17270
17271 * util/elf/grub-mkimage.c (load_modules): Fix warning.
17272
17273 2009-01-26 Daniel Mierswa <impulze@impulze.org>
17274
17275 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
17276
17277 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
17278
17279 * kern/misc.c (grub_strcasecmp): New function.
17280 (grub_strcasecmp): Use grub_size_t instead of int for length.
17281 Fix return value.
17282 * include/grub/misc.h: Update function prototypes.
17283
17284 2009-01-26 Robert Millan <rmh@aybabtu.com>
17285
17286 * configure.ac: Fix cross-compilation check.
17287
17288 2009-01-22 Christian Franke <franke@computer.org>
17289
17290 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
17291 (precision) digit string. Allow `.format2' without `format1' (width).
17292 Limit input chars for `%s' output to `format2' if specified. This is
17293 compatible with standard printf ().
17294
17295 2009-01-22 Christian Franke <franke@computer.org>
17296
17297 * disk/ata.c (grub_ata_wait_status): Replace by ...
17298 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
17299 other status bits may be invalid while BSY is asserted.
17300 (grub_ata_check_ready): New function.
17301 (grub_ata_cmd): Removed.
17302 (grub_ata_wait_drq): New function.
17303 (grub_ata_strncpy): Remove inline.
17304 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
17305 and error check now done by grub_ata_wait_drq ().
17306 (grub_ata_pio_write): Likewise.
17307 (grub_atapi_identify): Set DEV before check for !BSY. Use
17308 grub_ata_wait_drq () to wait for data.
17309 (grub_ata_device_initialize): Add status register check to
17310 detect missing SATA slave devices. Add debug messages.
17311 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
17312 (grub_atapi_packet): Set DEV before check for !BSY. Replace
17313 transfer loop by grub_ata_pio_write ().
17314 (grub_ata_identify): Set DEV before check for !BSY. Use
17315 grub_ata_wait_drq () to wait for data.
17316 (grub_ata_setaddress): Set DEV before check for !BSY.
17317 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
17318 read/write in one loop. Fix invalid command on write. Fix incomplete
17319 command on (size % batch) == 0. Add missing error check after write of
17320 last block. Add debug messages.
17321 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
17322
17323 2009-01-19 Christian Franke <franke@computer.org>
17324
17325 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
17326 (GRUB_ATAPI_IREASON_*): Likewise.
17327 (grub_ata_pio_write): Fix timeout error return.
17328 (grub_atapi_identify): Add grub_ata_wait () after cmd.
17329 (grub_atapi_wait_drq): New function.
17330 (grub_atapi_packet): New parameter `size'.
17331 Use grub_atapi_wait_drq () and direct write instead of
17332 grub_ata_pio_write ().
17333 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
17334 reads the number of bytes requested by the device for each DRQ
17335 assertion.
17336 (grub_atapi_write): Remove old implementation, return not
17337 implemented instead.
17338
17339 2009-01-19 Christian Franke <franke@computer.org>
17340
17341 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
17342 of 512 to calculate data size.
17343 (grub_scsi_read12): Likewise.
17344 (grub_scsi_write10): Likewise.
17345 (grub_scsi_write12): Likewise.
17346 (grub_scsi_read): Adjust size according to blocksize.
17347 Add checks for invalid blocksize and unaligned transfer.
17348
17349 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
17350
17351 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
17352
17353 * term/gfxterm.c (write_char): Fix background rendering for wide
17354 width glyphs.
17355
17356 2009-01-19 Robert Millan <rmh@aybabtu.com>
17357
17358 * config.guess: Update to latest version from config git.
17359 * config.sub: Likewise.
17360
17361 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
17362
17363 * Makefile.in: Change font compilation to use new grub-mkfont instead
17364 of java version.
17365
17366 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
17367 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
17368 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
17369 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
17370 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
17371 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
17372 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
17373 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
17374 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
17375
17376 2009-01-16 Christian Franke <franke@computer.org>
17377
17378 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
17379 (enum grub_ata_timeout_milliseconds): New enum.
17380 (grub_ata_wait_status): Add parameter milliseconds.
17381 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
17382 recovery from timed-out commands.
17383 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
17384 return grub_errno instead of REG_ERROR.
17385 (grub_ata_pio_write): Add parameter milliseconds.
17386 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
17387 Pass milliseconds to grub_ata_wait_status () and
17388 grub_ata_pio_read ().
17389 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
17390 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
17391 grub_ata_wait_status (). Fix IDENTIFY timeout check.
17392 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
17393 It is not suitable for device detection, because DEV bit is ignored,
17394 the command may run too long, and not all devices set the signature
17395 properly.
17396 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
17397 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
17398 Fix device selection, DEV bit must be set first to address the registers
17399 of the correct device.
17400 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
17401 grub_ata_pio_read/write ().
17402 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
17403 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
17404
17405 2009-01-13 Carles Pina i Estany <carles@pina.cat>
17406
17407 * util/grub-editenv.c (main): Use fseeko(), not fseek().
17408
17409 2009-01-13 Bean <bean123ch@gmail.com>
17410
17411 * util/grub-mkfont.c (write_font): forget to remove some debug code.
17412
17413 2009-01-13 Bean <bean123ch@gmail.com>
17414
17415 * Makefile.in: (enable_grub_mkfont): New variable.
17416 (freetype_cflags): Likewise.
17417 (freetype_libs): Likewise.
17418
17419 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
17420 (grub_mkfont_SOURCES): New variable.
17421 (grub_mkfont_CFLAGS): Likewise.
17422 (grub_mkfont_LDFLAGS): Likewise.
17423
17424 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
17425 library if `--enable-grub-mkfont' is requested.
17426 (enable_grub_mkfont): New variable.
17427 (freetype_cflags): Likewise.
17428 (freetype_libs): Likewise.
17429
17430 * util/grub-mkfont.c: New file.
17431
17432 2009-01-12 Christian Franke <franke@computer.org>
17433
17434 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
17435 mode check. Fix setting of compat_use[].
17436
17437 2009-01-10 Robert Millan <rmh@aybabtu.com>
17438
17439 Update a few copyright years which we forgot to do in 2008 (only for
17440 files whose changes made in 2008 were copyright-significant)
17441
17442 * Makefile.in: Add 2008 to Copyright line.
17443 * disk/ieee1275/ofdisk.c: Likewise.
17444 * disk/efi/efidisk.c: Likewise.
17445 * kern/dl.c: Likewise.
17446 * kern/sparc64/ieee1275/init.c: Likewise.
17447 * kern/mm.c: Likewise.
17448 * kern/efi/mm.c: Likewise.
17449 * boot/i386/pc/boot.S: Likewise.
17450 * genfslist.sh: Likewise.
17451 * fs/iso9660.c: Likewise.
17452 * fs/hfs.c: Likewise.
17453 * fs/jfs.c: Likewise.
17454 * fs/minix.c: Likewise.
17455 * fs/ufs.c: Likewise.
17456 * gensymlist.sh.in: Likewise.
17457 * genkernsyms.sh.in: Likewise.
17458 * include/grub/misc.h: Likewise.
17459 * include/grub/types.h: Likewise.
17460 * include/grub/symbol.h: Likewise.
17461 * include/grub/elf.h: Likewise.
17462 * include/grub/kernel.h: Likewise.
17463 * include/grub/disk.h: Likewise.
17464 * include/grub/dl.h: Likewise.
17465 * include/grub/i386/linux.h: Likewise.
17466 * include/grub/i386/pc/biosdisk.h: Likewise.
17467 * include/grub/efi/api.h: Likewise.
17468 * include/grub/efi/pe32.h: Likewise.
17469 * include/grub/util/misc.h: Likewise.
17470 * normal/execute.c: Likewise.
17471 * normal/arg.c: Likewise.
17472 * normal/completion.c: Likewise.
17473 * normal/lexer.c: Likewise.
17474 * normal/parser.y: Likewise.
17475 * normal/misc.c: Likewise.
17476 * commands/i386/pc/vbeinfo.c: Likewise.
17477 * commands/hexdump.c: Likewise.
17478 * commands/terminal.c: Likewise.
17479 * commands/ls.c: Likewise.
17480 * commands/help.c: Likewise.
17481 * partmap/pc.c: Likewise.
17482 * loader/efi/chainloader.c: Likewise.
17483 * loader/multiboot_loader.c: Likewise.
17484 * loader/i386/pc/multiboot2.c: Likewise.
17485 * term/efi/console.c: Likewise.
17486 * term/i386/pc/serial.c: Likewise.
17487 * util/lvm.c: Likewise.
17488 * util/console.c: Likewise.
17489 * util/i386/efi/grub-mkimage.c: Likewise.
17490 * util/raid.c: Likewise.
17491
17492 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
17493
17494 * commands/videotest.c: Removed include to grub/machine/memory.h.
17495
17496 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
17497 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
17498 (video_mod_SOURCES): Removed.
17499 (video_mod_CFLAGS): Likewise.
17500 (video_mod_LDFLAGS): Likewise.
17501 (gfxterm_mod_SOURCES): Likewise.
17502 (gfxterm_mod_CFLAGS): Likewise.
17503 (gfxterm_mod_LDFLAGS): Likewise.
17504 (videotest_mod_SOURCES): Likewise.
17505 (videotest_mod_CFLAGS): Likewise.
17506 (videotest_mod_LDFLAGS): Likewise.
17507 (bitmap_mod_SOURCES): Likewise.
17508 (bitmap_mod_CFLAGS): Likewise.
17509 (bitmap_mod_LDFLAGS): Likewise.
17510 (tga_mod_SOURCES): Likewise.
17511 (tga_mod_CFLAGS): Likewise.
17512 (tga_mod_LDFLAGS): Likewise.
17513 (jpeg_mod_SOURCES): Likewise.
17514 (jpeg_mod_CFLAGS): Likewise.
17515 (jpeg_mod_LDFLAGS): Likewise.
17516 (png_mod_SOURCES): Likewise.
17517 (png_mod_CFLAGS): Likewise.
17518 (png_mod_LDFLAGS): Likewise.
17519
17520 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
17521 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
17522 (video_mod_SOURCES): Added.
17523 (video_mod_CFLAGS): Likewise.
17524 (video_mod_LDFLAGS): Likewise.
17525 (videotest_mod_SOURCES): Likewise.
17526 (videotest_mod_CFLAGS): Likewise.
17527 (videotest_mod_LDFLAGS): Likewise.
17528 (bitmap_mod_SOURCES): Likewise.
17529 (bitmap_mod_CFLAGS): Likewise.
17530 (bitmap_mod_LDFLAGS): Likewise.
17531 (tga_mod_SOURCES): Likewise.
17532 (tga_mod_CFLAGS): Likewise.
17533 (tga_mod_LDFLAGS): Likewise.
17534 (jpeg_mod_SOURCES): Likewise.
17535 (jpeg_mod_CFLAGS): Likewise.
17536 (jpeg_mod_LDFLAGS): Likewise.
17537 (png_mod_SOURCES): Likewise.
17538 (png_mod_CFLAGS): Likewise.
17539 (png_mod_LDFLAGS): Likewise.
17540 (gfxterm_mod_SOURCES): Likewise.
17541 (gfxterm_mod_CFLAGS): Likewise.
17542 (gfxterm_mod_LDFLAGS): Likewise.
17543
17544 * term/gfxterm.c: Removed include to grub/machine/memory.h,
17545 grub/machine/console.h.
17546
17547 2009-01-04 Jerone Young <jerone@gmail.com>
17548
17549 Make on screen instructions clearer
17550
17551 Based on patch created by Jidanni <jidanni@jidanni.org>
17552
17553 * normal/menu.c: print clearer instructions on the screen
17554
17555 2009-01-02 Colin D Bennett <colin@gibibit.com>
17556
17557 New font engine.
17558
17559 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
17560 build system and fixed gfxterm.c to work with different sized fonts.
17561
17562 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
17563
17564 * configure: Re-generated.
17565
17566 * DISTLIST: Removed font/manager.c.
17567 Added font/font.c.
17568 Added font/font_cmd.c.
17569
17570 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
17571 compilation.
17572
17573 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
17574
17575 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
17576
17577 * kern/term.c: Changed users of grub_utf8_to_ucs4.
17578
17579 * normal/menu.c: Likewise.
17580
17581 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
17582 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
17583
17584 * include/grub/font.h: Replaced with new file.
17585
17586 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
17587 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
17588 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
17589 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
17590 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
17591 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
17592 fg_red, fg_green, fg_blue, fg_alpha.
17593 (grub_video_adapter): Removed blit_glyph.
17594 (grub_video_blit_glyph): Removed.
17595
17596 * font/manager.c: Removed file.
17597
17598 * font/font.c: New file.
17599
17600 * font/font_cmd.c: Likewise.
17601
17602 * video/video.c (grub_video_blit_glyph): Removed.
17603
17604 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
17605 (grub_video_vbe_map_rgba): Likewise.
17606 (grub_video_vbe_unmap_color_int): Likewise.
17607 (grub_video_vbe_blit_glyph): Removed.
17608 (grub_video_vbe_adapter): Removed blit_glyph.
17609
17610 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
17611 (get_pixel): Likewise.
17612 (set_pixel): Likewise.
17613
17614 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
17615
17616 * term/gfxterm.c: Adapted to new font engine.
17617
17618 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
17619
17620 * term/i386/pc/vga.c: Likewise.
17621
17622 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
17623
17624 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
17625
17626 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
17627
17628 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
17629
17630 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
17631
17632 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
17633
17634 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
17635
17636 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
17637
17638 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
17639
17640 * util/grub.d/00_header.in: Changed to use new loadfont command.
17641
17642 * util/grub-mkconfig_lib.in: Changed font extension.
17643
17644 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
17645
17646 * util/getroot.c (grub_util_get_grub_dev): Add support for
17647 /dev/md/dNNpNN style partitionable mdraid devices.
17648
17649 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
17650
17651 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
17652 at a time limit of the PXE TFTP API correctly.
17653 (grub_pxefs_close): Likewise.
17654
17655 2008-11-29 Robert Millan <rmh@aybabtu.com>
17656
17657 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
17658 grub_ata_device_initialize() calls.
17659
17660 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
17661
17662 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
17663 iteration failed.
17664 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
17665
17666 2008-11-28 Robert Millan <rmh@aybabtu.com>
17667
17668 Fix build on powerpc-ieee1275. Based on patch created by
17669 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
17670 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17671 `kern/ieee1275/mmap.c'.
17672 * include/grub/powerpc/ieee1275/memory.h: New file.
17673
17674 Provide grub-install on coreboot.
17675 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
17676 (grub_install_SOURCES): New variable.
17677 * util/i386/pc/grub-install.in: Add a few condition checks to make it
17678 usable on coreboot.
17679
17680 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
17681
17682 * util/grub-fstest.c (grub_term_get_current_input): Change return type
17683 to `grub_term_input_t'.
17684 (grub_term_get_current_output): Change return type to
17685 `grub_term_output_t'.
17686
17687 2008-11-22 Robert Millan <rmh@aybabtu.com>
17688
17689 Fix breakage on coreboot due to declaration mismatch.
17690 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
17691 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
17692 grub_vga_text_cls().
17693
17694 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
17695 comments. Avoid copying one more byte than necessary (just in case).
17696
17697 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
17698 to 0x200000 (avoids trouble with some OFW implementations, and matches
17699 with the one in Yaboot).
17700 Reported by Manoel Abranches
17701
17702 2008-11-20 Robert Millan <rmh@aybabtu.com>
17703
17704 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
17705 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
17706
17707 * util/grub-mkconfig_lib.in (grub_warn): New function.
17708 (convert_system_path_to_grub_path): Use grub_warn() when issuing
17709 warnings, to obtain consistent formatting.
17710 * util/grub.d/00_header.in: Likewise.
17711 * util/update-grub_lib.in: Likewise.
17712
17713 * loader/i386/linux.c (allocate_pages): Fix a warning.
17714 Move comment text to `#error' stanza.
17715
17716 Harmonize ieee1275's grub_available_iterate() with the generic
17717 grub_machine_mmap_iterate() interface (fixes a recently-introduced
17718 build problem on i386-ieee1275):
17719 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
17720 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
17721 parameter `type'. Update all users of this function.
17722 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
17723 `kern/ieee1275/mmap.c'.
17724 * kern/ieee1275/init.c
17725 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
17726 with ...
17727 (grub_machine_mmap_iterate): ... this.
17728 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
17729 return type to `grub_err_t'. Update all implementations of this
17730 function prototype.
17731 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
17732 Likewise.
17733
17734 Add `lsmmap' command (lists firmware-provided memory map):
17735 * commands/lsmmap.c: New file.
17736 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
17737 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
17738 variables.
17739 * conf/powerpc-ieee1275.rmk: Likewise.
17740 * conf/i386-coreboot.rmk: Likewise.
17741 * conf/i386-ieee1275.rmk: Likewise.
17742
17743 2008-11-19 Robert Millan <rmh@aybabtu.com>
17744
17745 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
17746 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
17747 constraints to initrd allocation (based on code from
17748 loader/i386/pc/linux.c). Without them, initrd was allocated too high
17749 for Linux to find it.
17750
17751 2008-11-14 Robert Millan <rmh@aybabtu.com>
17752
17753 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
17754 order to cope with duplicate slashes.
17755
17756 2008-11-14 Robert Millan <rmh@aybabtu.com>
17757
17758 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
17759 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
17760 don't want to mess with lower memory, because it is used in the Linux
17761 loader.
17762
17763 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
17764 an appropriate place in lower memory, between 0x10000 and 0x90000,
17765 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
17766 is in our heap (probably as a result of it being corrupted during
17767 decompression). Add #error instance with comment to explain why this
17768 loader isn't currently usable on PC/BIOS.
17769
17770 2008-11-14 Robert Millan <rmh@aybabtu.com>
17771
17772 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
17773 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
17774
17775 2008-11-12 Robert Millan <rmh@aybabtu.com>
17776
17777 Make loader/i386/linux.c buildable on i386-pc (although disabled).
17778
17779 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
17780 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
17781 from here ...
17782 * include/grub/i386/pc/memory.h: ... to here.
17783
17784 2008-11-12 Robert Millan <rmh@aybabtu.com>
17785
17786 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
17787 split).
17788
17789 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
17790 (grub_console_cur_color, grub_console_real_putchar)
17791 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
17792 (grub_console_setcolorstate, grub_console_setcolor)
17793 (grub_console_getcolor): Move from here ...
17794 * include/grub/i386/vga_common.h: ... to here (new file).
17795
17796 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
17797 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
17798 `<grub/i386/io.h>'.
17799 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
17800 `<grub/i386/vga_common.h>'.
17801
17802 2008-11-12 Robert Millan <rmh@aybabtu.com>
17803
17804 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
17805 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
17806 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
17807 variables.
17808 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
17809 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
17810
17811 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
17812 grub_console_init() with call to grub_vga_text_init().
17813 (grub_machine_fini): Replace call to
17814 grub_console_fini() with call to grub_vga_text_fini() and
17815 grub_at_keyboard_fini().
17816
17817 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
17818 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
17819 (grub_console_setcolorstate, grub_console_setcolor)
17820 (grub_console_getcolor): New function prototypes.
17821
17822 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
17823 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
17824 (grub_vga_text_setcursor): Static-ize.
17825 (grub_vga_text_term): New structure.
17826 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
17827
17828 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
17829 (grub_console_cur_color, grub_console_standard_color)
17830 (grub_console_normal_color, grub_console_highlight_color)
17831 (map_char, grub_console_putchar, grub_console_getcharwidth)
17832 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
17833 (grub_console_getcolor): Move from here ...
17834 * term/i386/vga_common.c: ... to here (same function names).
17835
17836 2008-11-12 Robert Millan <rmh@aybabtu.com>
17837
17838 Use newly-added Multiboot support in coreboot.
17839
17840 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
17841 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
17842
17843 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
17844 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
17845 (codestart): Store the MBI in `startup_multiboot_info' when we're
17846 being loaded using Multiboot.
17847
17848 * kern/i386/coreboot/init.c (grub_machine_init): Move
17849 grub_at_keyboard_init() call to beginning of function (useful for
17850 debugging). Call grub_machine_mmap_init() before attempting to use
17851 grub_machine_mmap_iterate().
17852 (grub_lower_mem, grub_upper_mem): Move from here ...
17853 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
17854 here (new file).
17855
17856 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
17857 function prototype.
17858
17859 2008-11-12 Robert Millan <rmh@aybabtu.com>
17860
17861 Fix a regression introduced by the at_keyboard.mod split. Because
17862 some terminals are default on some platforms and non-default on
17863 others, the first terminal being registered determines which is
17864 going to be default.
17865
17866 * kern/term.c (grub_term_register_input): If this is the first
17867 terminal being registered, set it as the current one.
17868 (grub_term_register_output): Likewise.
17869
17870 * term/efi/console.c (grub_console_init): Do not call
17871 grub_term_set_current_output() or grub_term_set_current_input().
17872 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
17873 * term/i386/pc/console.c (grub_console_init): Likewise.
17874 (grub_console_fini): Do not call grub_term_set_current_input()
17875 (but leave grub_term_set_current_output() to restore text mode).
17876
17877 2008-11-10 Robert Millan <rmh@aybabtu.com>
17878
17879 * util/grub.d/00_header.in: Add backward compatibility check for
17880 versions of terminal.mod that don't understand `terminal_input' or
17881 `terminal_output'.
17882
17883 2008-11-09 Robert Millan <rmh@aybabtu.com>
17884
17885 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
17886 `terminal_input' / `terminal_output', not `terminal'.
17887
17888 2008-11-08 Robert Millan <rmh@aybabtu.com>
17889
17890 * Makefile.in (include_DATA): Fix srcdir=. assumption.
17891 (DISTCLEANFILES): Add `build_env.mk'.
17892
17893 2008-11-08 Robert Millan <rmh@aybabtu.com>
17894
17895 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
17896 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
17897 members. Update all users.
17898 * util/console.c (grub_ncurses_term): Split in ...
17899 (grub_ncurses_term_input): ... this, and ...
17900 (grub_ncurses_term_output): ... this. Update all users.
17901 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
17902
17903 2008-11-08 Robert Millan <rmh@aybabtu.com>
17904
17905 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
17906 (PKGDATA): Add $(pkgdata_SRCDIR).
17907 (pkglib_BUILDDIR): New variable.
17908 (pkgdata_SRCDIR): New variable.
17909 (build_env.mk): New target.
17910 (include_DATA): New variable.
17911 (install-local): Install $(include_DATA) files in $(includedir).
17912
17913 2008-11-07 Pavel Roskin <proski@gnu.org>
17914
17915 * gendistlist.sh: Use C locale for sorting to ensure consistent
17916 output on all systems.
17917
17918 * util/grub.d/00_header.in: Remove incorrect space before
17919 "serial".
17920
17921 2008-11-07 Robert Millan <rmh@aybabtu.com>
17922
17923 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
17924 per specification.
17925 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
17926 * loader/multiboot_loader.c (find_multi_boot2_header): New function
17927 (based on find_multi_boot1_header).
17928 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
17929 using find_multi_boot2_header(), and abort if neither Multiboot or
17930 Multiboot headers were found.
17931
17932 2008-11-07 Robert Millan <rmh@aybabtu.com>
17933
17934 Modularize at_keyboard.mod:
17935
17936 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
17937 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
17938 (at_keyboard_mod_LDFLAGS): New variables.
17939
17940 Actual terminal split:
17941
17942 * include/grub/term.h (struct grub_term): Split in ...
17943 (struct grub_term_input): ... this, and ...
17944 (struct grub_term_output): ... this. Update all users.
17945 (grub_term_set_current): Split in ...
17946 (grub_term_set_current_input): ... this, and ...
17947 (grub_term_set_current_output): ... this.
17948 (grub_term_get_current): Split in ...
17949 (grub_term_get_current_input): ... this, and ...
17950 (grub_term_get_current_output): ... this.
17951 (grub_term_register): Split in ...
17952 (grub_term_register_input): ... this, and ...
17953 (grub_term_register_output): ... this.
17954 (grub_term_unregister): Split in ...
17955 (grub_term_unregister_input): ... this, and ...
17956 (grub_term_unregister_output): ... this.
17957 (grub_term_iterate): Split in ...
17958 (grub_term_iterate_input): ... this, and ...
17959 (grub_term_iterate_output): ... this.
17960
17961 * kern/term.c (grub_term_list): Split in ...
17962 (grub_term_list_input): ... this, and ...
17963 (grub_term_list_output): ... this. Update all users.
17964 (grub_cur_term): Split in ...
17965 (grub_cur_term_input): ... this, and ...
17966 (grub_cur_term_output): ... this. Update all users.
17967 (grub_term_set_current): Split in ...
17968 (grub_term_set_current_input): ... this, and ...
17969 (grub_term_set_current_output): ... this.
17970 (grub_term_get_current): Split in ...
17971 (grub_term_get_current_input): ... this, and ...
17972 (grub_term_get_current_output): ... this.
17973 (grub_term_register): Split in ...
17974 (grub_term_register_input): ... this, and ...
17975 (grub_term_register_output): ... this.
17976 (grub_term_unregister): Split in ...
17977 (grub_term_unregister_input): ... this, and ...
17978 (grub_term_unregister_output): ... this.
17979 (grub_term_iterate): Split in ...
17980 (grub_term_iterate_input): ... this, and ...
17981 (grub_term_iterate_output): ... this.
17982
17983 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
17984 a check for input and one for output (and only attempt to get keys
17985 from user when input works).
17986
17987 * util/grub-probe.c (grub_term_get_current): Split in ...
17988 (grub_term_get_current_input): ... this, and ...
17989 (grub_term_get_current_output): ... this.
17990 * util/grub-fstest.c: Likewise.
17991 * util/i386/pc/grub-setup.c: Likewise.
17992 * util/grub-editenv.c: Likewise.
17993
17994 Portability adjustments:
17995
17996 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
17997 `term/i386/pc/at_keyboard.c'.
17998 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
17999 grub_keyboard_controller_init() (now handled by terminal .init).
18000 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
18001 grub_at_keyboard_init().
18002 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
18003 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
18004 at_keyboard.mod via input terminal interface).
18005 * include/grub/i386/coreboot/console.h: Convert into a stub for
18006 `<grub/i386/pc/console.h>'.
18007
18008 Migrate full terminals to new API:
18009
18010 * term/efi/console.c (grub_console_term): Split into ...
18011 (grub_console_term_input): ... this, and ...
18012 (grub_console_term_output): ... this. Update all users.
18013 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
18014 (grub_ofconsole_init): Split into ...
18015 (grub_ofconsole_init_input): ... this, and ...
18016 (grub_ofconsole_init_output): ... this.
18017 (grub_ofconsole_term): Split into ...
18018 (grub_ofconsole_term_input): ... this, and ...
18019 (grub_ofconsole_term_output): ... this. Update all users.
18020 * term/i386/pc/serial.c (grub_serial_term): Split into ...
18021 (grub_serial_term_input): ... this, and ...
18022 (grub_serial_term_output): ... this. Update all users.
18023 * term/i386/pc/console.c (grub_console_term): Split into ...
18024 (grub_console_term_input): ... this, and ...
18025 (grub_console_term_output): ... this. Update all users.
18026 (grub_console_term_input): Only enable it on PC/BIOS platform.
18027 (grub_console_init): Remove grub_keyboard_controller_init() call.
18028
18029 Migrate input terminals to new API:
18030
18031 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
18032 `i386' and `i386/pc' to enable build on x86_64 (this driver is
18033 i386-specific anyway).
18034 (grub_console_checkkey): Rename to ...
18035 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
18036 users.
18037 (grub_keyboard_controller_orig): New variable.
18038 (grub_console_getkey): Rename to ...
18039 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
18040 users.
18041 (grub_keyboard_controller_init): Static-ize. Save original
18042 controller value so that it can be restored ...
18043 (grub_keyboard_controller_fini): ... here (new function).
18044 (grub_at_keyboard_term): New structure.
18045 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
18046 functions.
18047
18048 Migrate output terminals to new API:
18049
18050 * term/i386/pc/vga.c (grub_vga_term): Change type to
18051 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
18052 members. Update all users.
18053 * term/gfxterm.c (grub_video_term): Change type to
18054 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
18055 members. Update all users.
18056 * include/grub/i386/pc/console.h (grub_console_checkkey)
18057 (grub_console_getkey): Do not export (no longer needed by gfxterm,
18058 etc).
18059
18060 Migrate `terminal' command and userland tools to new API:
18061
18062 * commands/terminal.c (grub_cmd_terminal): Split into ...
18063 (grub_cmd_terminal_input): ... this, and ...
18064 (grub_cmd_terminal_output): ... this.
18065 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
18066 `terminal_input' and `terminal_output'.
18067 * util/grub.d/00_header.in: Adjust `terminal' calls to new
18068 `terminal_input' / `terminal_output' API.
18069 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
18070 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
18071 provided ${GRUB_TERMINAL}, convert it).
18072
18073 2008-11-04 Robert Millan <rmh@aybabtu.com>
18074
18075 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
18076 for FreeBSD.
18077 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
18078
18079 2008-11-03 Bean <bean123ch@gmail.com>
18080
18081 * kern/elf.c (grub_elf32_load): Revert to previous code.
18082 (grub_elf64_load): Likewise.
18083
18084 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
18085
18086 2008-11-01 Robert Millan <rmh@aybabtu.com>
18087
18088 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
18089 (TARGET_CPPFLAGS): Likewise.
18090 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
18091
18092 2008-11-01 Carles Pina i Estany <carles@pina.cat>
18093
18094 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
18095
18096 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
18097
18098 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
18099 addition of objects until the code is not going to be able to fail.
18100
18101 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
18102
18103 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
18104 (add a missing NULL check, and correct them by moving the pointer
18105 operations after the actual check).
18106
18107 2008-10-29 Robert Millan <rmh@aybabtu.com>
18108
18109 * util/i386/pc/grub-install.in: Handle empty string as output from
18110 make_system_path_relative_to_its_root().
18111
18112 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
18113
18114 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
18115 circular metadata worst case scenario. If the metadata is circular
18116 then copy the wrap in place.
18117 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
18118 project lib/format_text/layout.h
18119 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
18120
18121 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
18122
18123 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
18124
18125 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
18126
18127 * util/update-grub_lib.in: Mention filename in warning message.
18128
18129 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
18130
18131 * NEWS: Update for rename of update-grub to grub-mkconfig.
18132
18133 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
18134
18135 * util/update-grub_lib.in: Copy to ...
18136 * util/grub-mkconfig_lib.in: ... this. Update all users.
18137 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18138 * util/update-grub.in: Rename to ...
18139 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
18140 option. Add `--output' option to allow users to specify the generated
18141 configuration file. Default to stdout.
18142 (update_grub_dir): Rename to ...
18143 (grub_mkconfig_dir): ... this.
18144 (grub_cfg): Default to an empty string.
18145 * conf/common.rmk (update-grub): Rename to ...
18146 (grub-mkconfig): ... this.
18147 (update-grub_lib): Copy to ...
18148 (grub-mkconfig_lib): ... this.
18149 (update-grub_SCRIPTS): Copy to ...
18150 (grub-mkconfig_SCRIPTS): ... this. Update all users.
18151 (update-grub_DATA): Rename to ...
18152 (grub-mkconfig_DATA): ... this.
18153
18154 2008-09-28 Robert Millan <rmh@aybabtu.com>
18155
18156 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
18157 to `modified'. Add the real `created' field.
18158 (grub_iso9660_uuid): Use `modified' rather than `created' for
18159 constructing the UUID.
18160
18161 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
18162
18163 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
18164 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
18165
18166 2008-09-28 Bean <bean123ch@gmail.com>
18167
18168 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
18169 Thanks to Christian Franke for finding this bug.
18170
18171 2008-09-25 Robert Millan <rmh@aybabtu.com>
18172
18173 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
18174 instances of grub_util_get_disk_name() (see previous commit).
18175
18176 2008-09-25 Robert Millan <rmh@aybabtu.com>
18177
18178 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
18179 `util/i386/get_disk_name.c'.
18180 * conf/i386-efi.rmk: Likewise.
18181 * conf/x86_64-efi.rmk: Likewise.
18182 * conf/i386-coreboot.rmk: Likewise.
18183 * conf/i386-ieee1275.rmk: Likewise.
18184 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
18185 `util/ieee1275/get_disk_name.c'.
18186 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
18187 * util/ieee1275/get_disk_name.c: Remove file.
18188 * util/i386/get_disk_name.c: Remove file.
18189 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
18190 "hd%d" for device.map entries, rather than using
18191 grub_util_get_disk_name().
18192
18193 2008-09-24 Carles Pina i Estany <carles@pina.cat>
18194
18195 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
18196 warning.
18197 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
18198
18199 2008-09-24 Carles Pina i Estany <carles@pina.cat>
18200
18201 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
18202 Changed to 0x5100.
18203 (GRUB_TERM_PPAGE): Changed to 0x4900.
18204
18205 2008-09-24 Robert Millan <rmh@aybabtu.com>
18206
18207 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
18208 macros (they were i386-pc specific).
18209 * include/grub/sparc64/ieee1275/console.h: Likewise.
18210 * include/grub/efi/console.h: Likewise.
18211
18212 2008-09-22 Bean <bean123ch@gmail.com>
18213
18214 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
18215 resident and in attribute list.
18216
18217 * include/grub/ntfs.h (BMP_LEN): Removed.
18218
18219 2008-09-22 Bean <bean123ch@gmail.com>
18220
18221 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
18222 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
18223
18224 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
18225 error occurs, as grub_disk_open will call grub_disk_close, which will
18226 call p->close (scsi).
18227
18228 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
18229
18230 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
18231 (AC_PREREQ): Bumped to 2.59.
18232 (AC_TRY_COMPILE): Replace obsolete macro with ...
18233 (AC_COMPILE_IFELSE): ... this.
18234 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
18235 (AC_LINK_IFELSE): ... this.
18236
18237 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
18238
18239 * autogen.sh: Add a call to `gendistlist.sh'.
18240
18241 2008-09-19 Christian Franke <franke@computer.org>
18242
18243 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
18244 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
18245 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
18246 Export __enable_execute_stack() to modules.
18247 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
18248 New function.
18249
18250 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
18251
18252 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
18253 Sort the list.
18254
18255 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
18256
18257 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
18258 #include <grub/util/hostdisk.h>.
18259
18260 2008-09-08 Robert Millan <rmh@aybabtu.com>
18261
18262 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
18263 segments when their filesz is zero (grub_file_read() interprets
18264 zero-size as "read until EOF", which results in memory corruption).
18265 Use `lowest_segment' rather than 0 for calculating the current
18266 segment load address.
18267
18268 2008-09-08 Robert Millan <rmh@aybabtu.com>
18269
18270 * util/hostdisk.c (open_device): Replace a grub_util_info() call
18271 with grub_dprintf("hostdisk", ...), as it was so verbose that it
18272 clobbered useful information.
18273
18274 2008-09-08 Robert Millan <rmh@aybabtu.com>
18275
18276 * include/grub/util/biosdisk.h: Move to ...
18277 * include/grub/util/hostdisk.h: ... here. Update all users.
18278 * util/biosdisk.c: Move to ...
18279 * util/hostdisk.c: ... here. Update all users.
18280
18281 2008-09-07 Robert Millan <rmh@aybabtu.com>
18282
18283 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
18284 variables.
18285 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
18286 and length can be stored directly in the `mbi->mmap_addr' and
18287 `mbi->mmap_length' struct fields.
18288
18289 2008-09-07 Robert Millan <rmh@aybabtu.com>
18290
18291 * conf/i386.rmk: New file. Provides declaration for building
18292 `cpuid.mod'.
18293 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
18294 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
18295 variables.
18296 Include `conf/i386.mk'.
18297 * conf/i386-efi.rmk: Likewise.
18298 * conf/x86_64-efi.rmk: Likewise.
18299 * conf/i386-coreboot.rmk: Likewise.
18300 * conf/i386-ieee1275.rmk: Likewise.
18301
18302 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
18303
18304 Based on patch created by Colin D Bennett <colin@gibibit.com>.
18305 Adds optimization support for BGR based modes.
18306
18307 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
18308 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
18309 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18310 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18311 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18312 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18313 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18314 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18315 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18316 (grub_video_i386_vbeblit_index_index): Likewise.
18317 (grub_video_i386_vbeblit_replace_directN): Added.
18318 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
18319 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
18320 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
18321 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
18322 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
18323 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
18324 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
18325 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
18326 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
18327 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
18328 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
18329 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
18330 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
18331
18332 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
18333 (grub_video_i386_vbefill_R8G8B8): Likewise.
18334 (grub_video_i386_vbefill_index): Likewise.
18335 (grub_video_i386_vbefill_direct32): Added.
18336 (grub_video_i386_vbefill_direct24): Likewise.
18337 (grub_video_i386_vbefill_direct16): Likewise.
18338 (grub_video_i386_vbefill_direct8): Likewise.
18339
18340 * include/grub/video.h (grub_video_blit_format): Removed
18341 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
18342 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
18343 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
18344 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
18345 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
18346
18347 * video/video.c (grub_video_get_blit_format): Updated to use new
18348 blit formats. Added handling for 16 bit color modes.
18349
18350 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
18351 fillers.
18352 (common_blitter): Updated to use new blitters.
18353
18354 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
18355 Removed.
18356 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
18357 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18358 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18359 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18360 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18361 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18362 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18363 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18364 (grub_video_i386_vbeblit_index_index): Likewise.
18365 (grub_video_i386_vbeblit_replace_directN): Added.
18366 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
18367 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
18368 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
18369 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
18370 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
18371 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
18372 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
18373 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
18374 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
18375 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
18376 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
18377 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
18378 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
18379
18380 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
18381 (grub_video_i386_vbefill_R8G8B8): Likewise.
18382 (grub_video_i386_vbefill_index): Likewise.
18383 (grub_video_i386_vbefill_direct32): Added.
18384 (grub_video_i386_vbefill_direct24): Likewise.
18385 (grub_video_i386_vbefill_direct16): Likewise.
18386 (grub_video_i386_vbefill_direct8): Likewise.
18387
18388 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
18389 types.
18390
18391 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
18392 types.
18393
18394 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
18395 blitter types.
18396
18397 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
18398 types.
18399
18400 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
18401
18402 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
18403 RAID level 1.
18404
18405 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
18406
18407 * fs/iso9660.c (grub_iso9660_date): New structure.
18408 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
18409 (grub_iso9660_uuid): New function.
18410
18411 2008-09-05 Bean <bean123ch@gmail.com>
18412
18413 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
18414
18415 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
18416 insensitive bit for names in Win32 and Win32 & DOS namespace.
18417
18418 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
18419
18420 * include/grub/types.h (LONG_MAX): Likewise.
18421
18422 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
18423
18424 * util/getroot.c: Include <config.h>.
18425 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
18426 add support for /dev/md/N devices and handle LVM double dash escaping.
18427
18428 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
18429
18430 * config.guess: Update to latest version from config git.
18431 * config.sub: Likewise.
18432
18433 2008-09-03 Robert Millan <rmh@aybabtu.com>
18434
18435 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
18436 `disk->total_sectors'.
18437
18438 2008-09-01 Colin D Bennett <colin@gibibit.com>
18439
18440 * include/grub/normal.h: Fixed incorrect comment for
18441 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
18442
18443 2008-09-01 Colin D Bennett <colin@gibibit.com>
18444
18445 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
18446 values with defines.
18447
18448 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
18449 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
18450 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
18451 (GRUB_VBE_MODEATTR_COLOR): Likewise.
18452 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
18453 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
18454 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
18455 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
18456 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
18457 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
18458 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
18459 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
18460 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
18461 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
18462 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
18463 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
18464 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
18465 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
18466 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
18467
18468 2008-08-31 Robert Millan <rmh@aybabtu.com>
18469
18470 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
18471 declaration.
18472 (grub_multiboot): Fix a few warnings.
18473
18474 2008-08-31 Robert Millan <rmh@aybabtu.com>
18475
18476 * loader/i386/pc/multiboot.c: Update comment not to say that
18477 boot_device support is unimplemented.
18478
18479 2008-08-31 Robert Millan <rmh@aybabtu.com>
18480
18481 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
18482 or memory map support are unimplemented.
18483
18484 2008-08-31 Colin D Bennett <colin@gibibit.com>
18485
18486 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
18487
18488 2008-08-31 Colin D Bennett <colin@gibibit.com>
18489
18490 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
18491 total video memory in 'vbeinfo' output; show color format details for
18492 each video mode.
18493
18494 2008-08-30 Pavel Roskin <proski@gnu.org>
18495
18496 * util/genmoddep.c: Remove for real this time.
18497 * DISTLIST: Remove util/genmoddep.c.
18498
18499 2008-08-30 Robert Millan <rmh@aybabtu.com>
18500
18501 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
18502 as required by Multiboot spec (it was already 4-byte aligned, but
18503 only by chance).
18504
18505 2008-08-29 Pavel Roskin <proski@gnu.org>
18506
18507 * kern/powerpc/ieee1275/crt0.S: Rename to ...
18508 * kern/powerpc/ieee1275/startup.S: ... this.
18509 * conf/powerpc-ieee1275.rmk: Adjust for the above.
18510 * DISTLIST: Likewise.
18511
18512 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
18513 grub/cpu/kernel.h. Add start label for consistency with other
18514 platforms. Add grub_prefix immediately after start. Add jump
18515 to the code after grub_prefix.
18516 * include/grub/powerpc/kernel.h: Provide valid values for
18517 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
18518
18519 2008-08-29 Bean <bean123ch@gmail.com>
18520
18521 * configure.ac: Change host_os to cygwin for mingw.
18522 (asprintf): New check for function.
18523
18524 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
18525 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
18526
18527 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
18528 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
18529 sync, sleep and grub_util_get_disk_size for mingw.
18530
18531 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
18532 to get size in mingw.
18533 (open_device): Use flag O_BINARY if it's defined.
18534 (find_root_device): Add dummy code for mingw.
18535
18536 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
18537 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
18538 (get_scsi_disk_name): Return 0 for mingw.
18539
18540 * util/hostfs.c: #include <grub/util/misc.h>.
18541 (grub_hostfs_open): Use "rb" flag to open file, use
18542 grub_util_get_disk_size to get disk size for mingw.
18543
18544 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
18545 (asprintf): New function if HAVE_ASPRINTF is not set.
18546 (sync): New function for mingw.
18547 (sleep): Likewise.
18548 (grub_util_get_disk_size): Likewise.
18549
18550 2008-08-28 Pavel Roskin <proski@gnu.org>
18551
18552 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
18553 kern/time.c.
18554
18555 2008-08-28 Robert Millan <rmh@aybabtu.com>
18556
18557 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
18558
18559 2008-08-28 Robert Millan <rmh@aybabtu.com>
18560
18561 Change find_grub_drive() syntax so it doesn't prevent it from
18562 detecting NULL names as errors.
18563
18564 * util/biosdisk.c (find_grub_drive): Move free slot search code
18565 from here ...
18566 (find_free_slot): ... to here.
18567 (read_device_map): Use find_free_slot() to search for free slots.
18568
18569 2008-08-27 Marco Gerards <marco@gnu.org>
18570
18571 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
18572 (scsi_mod_SOURCES): New variable.
18573 (scsi_mod_CFLAGS): Likewise
18574 (scsi_mod_LDFLAGS): Likewise.
18575
18576 * disk/scsi.c: New file.
18577
18578 * include/grub/scsi.h: Likewise.
18579
18580 * include/grub/scsicmd.h: Likewise.
18581
18582 * disk/ata.c: Include <grub/scsi.h>.
18583 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
18584 instead.
18585 (grub_ata_iterate): Skip ATAPI devices.
18586 (grub_ata_open): Only handle ATAPI devices.
18587 (struct grub_atapi_read): Removed.
18588 (grub_atapi_readsector): Likewise.
18589 (grub_ata_read): No longer handle ATAPI devices.
18590 (grub_ata_write): Likewise.
18591 (grub_atapi_iterate): New function.
18592 (grub_atapi_read): Likewise.
18593 (grub_atapi_write): Likewise.
18594 (grub_atapi_open): Likewise.
18595 (grub_atapi_close): Likewise.
18596 (grub_atapi_dev): New variable.
18597 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
18598 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
18599
18600 * include/grub/disk.h (enum grub_disk_dev_id): Add
18601 `GRUB_DISK_DEVICE_SCSI_ID'.
18602
18603 2008-08-26 Robert Millan <rmh@aybabtu.com>
18604
18605 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
18606 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
18607 descriptive.
18608
18609 2008-08-23 Bean <bean123ch@gmail.com>
18610
18611 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
18612 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
18613 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
18614 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
18615 dm_nv.mod.
18616 (raid5rec_mod_SOURCES): New macro.
18617 (raid5rec_mod_CFLAGS): Likewise.
18618 (raid5rec_mod_LDFLAGS): Likewise.
18619 (raid6rec_mod_SOURCES): Likewise.
18620 (raid6rec_mod_CFLAGS): Likewise.
18621 (raid6rec_mod_LDFLAGS): Likewise.
18622 (mdraid_mod_SOURCES): Likewise.
18623 (mdraid_mod_CFLAGS): Likewise.
18624 (mdraid_mod_LDFLAGS): Likewise.
18625 (dm_nv_mod_SOURCES): Likewise.
18626 (dm_nv_mod_CFLAGS): Likewise.
18627 (dm_nv_mod_LDFLAGS): Likewise.
18628
18629 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
18630 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
18631 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
18632
18633 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
18634 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
18635
18636 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18637
18638 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18639
18640 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18641
18642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18643
18644 * disk/raid5_recover.c: New file.
18645
18646 * disk/raid6_recover.c: Likewise.
18647
18648 * disk/mdraid_linux.c: Likewise.
18649
18650 * disk/dmraid_nvidia.c: Likewise.
18651
18652 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
18653 ULONG_MAX.
18654
18655 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
18656 calculate the size of raid device.
18657 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
18658 different layout of raid5.
18659 (grub_raid_scan_device): Remove code specific to mdraid.
18660 (grub_raid_list): New variable.
18661 (free_array): New function.
18662 (grub_raid_register): Likewise.
18663 (grub_raid_unregister): Likewise.
18664 (grub_raid_rescan): Likewise.
18665 (GRUB_MOD_INIT): Don't iterate device here.
18666 (GRUB_MOD_FINI): Use free_array to release resource.
18667
18668 * include/grub/raid.h: Remove macro and structure specific to mdraid.
18669 (grub_raid5_recover_func_t): New function variable type.
18670 (grub_raid6_recover_func_t): Likewise.
18671 (grub_raid5_recover_func): New variable.
18672 (grub_raid6_recover_func): Likewise.
18673 (grub_raid_register): New function.
18674 (grub_raid_unregister): Likewise.
18675 (grub_raid_rescan): Likewise.
18676 (grub_raid_block_xor): Likewise.
18677
18678 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
18679 (CMD_CRC): New macro.
18680 (part): Removed.
18681 (read_file): Handle device as well as file.
18682 (cmd_crc): New function.
18683 (fstest): Handle multiple disks.
18684 (options): Remove part, raw and long, add root and diskcount.
18685 (usage): Add crc, remove -p, -r, -l, add -r and -c.
18686 (main): Find the first non option entry and ignore subsequent options,
18687 add handling for the new options, support multiple disks.
18688
18689 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
18690
18691 2008-08-23 Bean <bean123ch@gmail.com>
18692
18693 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
18694
18695 * genfslist.sh: Ignore kernel.mod.
18696
18697 * genpartmaplist.sh: Likewise.
18698
18699 2008-08-23 Robert Millan <rmh@aybabtu.com>
18700
18701 * util/getroot.c (find_root_device): Skip anything that starts with
18702 a dot, not just directories. This avoids things like /dev/.tmp.md0.
18703
18704 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
18705
18706 * util/update-grub.in (GRUB_GFXMODE): Export variable.
18707 * util/grub.d/00_header.in: Allow the administrator to change default
18708 gfxmode via ${GRUB_GFXMODE}.
18709
18710 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
18711
18712 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
18713
18714 2008-08-21 Robert Millan <rmh@aybabtu.com>
18715
18716 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
18717 loader.
18718 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
18719 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
18720
18721 2008-08-20 Carles Pina i Estany <carles@pina.cat>
18722
18723 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
18724 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
18725
18726 2008-08-19 Robert Millan <rmh@aybabtu.com>
18727
18728 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
18729 (struct grub_virtual_screen): Remove `cursor_color'.
18730 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
18731 initialization.
18732 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
18733
18734 2008-08-18 Robert Millan <rmh@aybabtu.com>
18735
18736 Unify (identical) linux_normal.c files.
18737 * loader/i386/efi/linux_normal.c: Move from here ...
18738 * loader/linux_normal.c: ... to here. Update all users.
18739 * loader/i386/pc/linux_normal.c: Delete. Update all users.
18740 * loader/i386/ieee1275/linux_normal.c: Likewise.
18741
18742 2008-08-18 Robert Millan <rmh@aybabtu.com>
18743
18744 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
18745 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
18746 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
18747 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
18748 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
18749 New macros.
18750 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
18751 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
18752 (GRUB_LINUX_CL_END_OFFSET): ... to here.
18753 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
18754 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
18755 (GRUB_EFI_CL_END_OFFSET): Rename to ...
18756 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
18757 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
18758 Initialize `params->video_cursor_x' and `params->video_cursor_y'
18759 portably using grub_getxy().
18760 Replace `-EFI' with `-bzImage' in boot message.
18761
18762 2008-08-17 Robert Millan <rmh@aybabtu.com>
18763
18764 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
18765
18766 2008-08-17 Robert Millan <rmh@aybabtu.com>
18767
18768 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
18769
18770 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
18771 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
18772 (grub_machine_mmap_iterate): New function declaration.
18773 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
18774 structure.
18775 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
18776 macros.
18777
18778 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
18779 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
18780 Move e820 parsing from here ...
18781 * kern/i386/pc/mmap.c: New file.
18782 (grub_machine_mmap_iterate): ... to here.
18783
18784 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
18785 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
18786 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
18787 (grub_available_iterate): Redeclare to return `void', and redeclare
18788 its hook to use grub_uint64_t as addr and size parameters, and rename
18789 to ...
18790 (grub_machine_mmap_iterate): ... this. Update all users.
18791
18792 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
18793 to make it more readable. Rename to ...
18794 (grub_machine_mmap_iterate): ... this.
18795
18796 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
18797 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
18798 (grub_multiboot): Allocate an extra region after the payload, and fill
18799 it with a Multiboot memory map. Adjust a.out loader to calculate size
18800 with the extra space.
18801 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
18802 with the extra space.
18803
18804 2008-08-17 Carles Pina i Estany <carles@pina.cat>
18805
18806 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
18807
18808 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
18809
18810 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
18811 mdate-sh to the list `find' searches for.
18812 * DISTLIST: Regenerated.
18813
18814 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
18815
18816 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
18817 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
18818 genmoddep.awk, gensymlist.sh.in.
18819 (DISTDIRS): Add bus, docs, hook, lib.
18820 * DISTLIST: Regenerated.
18821 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
18822
18823 2008-08-16 Robert Millan <rmh@aybabtu.com>
18824
18825 * disk/raid.c (grub_raid_init): Handle/report errors set by
18826 grub_device_iterate().
18827 * disk/lvm.c (grub_lvm_init): Likewise.
18828
18829 2008-08-15 Bean <bean123ch@gmail.com>
18830
18831 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18832 and datehook.mod.
18833 (datetime_mod_SOURCES): New macro.
18834 (datetime_mod_CFLAGS): Likewise.
18835 (datetime_mod_LDFLAGS): Likewise.
18836 (date_mod_SOURCES): Likewise.
18837 (date_mod_CFLAGS): Likewise.
18838 (date_mod_LDFLAGS): Likewise.
18839 (datehook_mod_SOURCES): Likewise.
18840 (datehook_mod_CFLAGS): Likewise.
18841 (datehook_mod_LDFLAGS): Likewise.
18842
18843 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18844 and datehook.mod.
18845 (datetime_mod_SOURCES): New macro.
18846 (datetime_mod_CFLAGS): Likewise.
18847 (datetime_mod_LDFLAGS): Likewise.
18848 (date_mod_SOURCES): Likewise.
18849 (date_mod_CFLAGS): Likewise.
18850 (date_mod_LDFLAGS): Likewise.
18851 (datehook_mod_SOURCES): Likewise.
18852 (datehook_mod_CFLAGS): Likewise.
18853 (datehook_mod_LDFLAGS): Likewise.
18854
18855 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18856 and datehook.mod.
18857 (datetime_mod_SOURCES): New macro.
18858 (datetime_mod_CFLAGS): Likewise.
18859 (datetime_mod_LDFLAGS): Likewise.
18860 (date_mod_SOURCES): Likewise.
18861 (date_mod_CFLAGS): Likewise.
18862 (date_mod_LDFLAGS): Likewise.
18863 (datehook_mod_SOURCES): Likewise.
18864 (datehook_mod_CFLAGS): Likewise.
18865 (datehook_mod_LDFLAGS): Likewise.
18866
18867 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18868 and datehook.mod.
18869 (datetime_mod_SOURCES): New macro.
18870 (datetime_mod_CFLAGS): Likewise.
18871 (datetime_mod_LDFLAGS): Likewise.
18872 (date_mod_SOURCES): Likewise.
18873 (date_mod_CFLAGS): Likewise.
18874 (date_mod_LDFLAGS): Likewise.
18875 (datehook_mod_SOURCES): Likewise.
18876 (datehook_mod_CFLAGS): Likewise.
18877 (datehook_mod_LDFLAGS): Likewise.
18878
18879 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18880 and datehook.mod.
18881 (datetime_mod_SOURCES): New macro.
18882 (datetime_mod_CFLAGS): Likewise.
18883 (datetime_mod_LDFLAGS): Likewise.
18884 (date_mod_SOURCES): Likewise.
18885 (date_mod_CFLAGS): Likewise.
18886 (date_mod_LDFLAGS): Likewise.
18887 (datehook_mod_SOURCES): Likewise.
18888 (datehook_mod_CFLAGS): Likewise.
18889 (datehook_mod_LDFLAGS): Likewise.
18890
18891 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
18892
18893 * commands/date.c: New file.
18894
18895 * hook/datehook.c: Likewise.
18896
18897 * include/grub/lib/datetime.h: Likewise.
18898
18899 * include/grub/i386/cmos.h: Likewise.
18900
18901 * lib/datetime.c: Likewise.
18902
18903 * lib/i386/datetime.c: Likewise.
18904
18905 * lib/efi/datetime.c: Likewise.
18906
18907 2008-08-14 Robert Millan <rmh@aybabtu.com>
18908
18909 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
18910 (grub_mkelfimage_SOURCES): New variable.
18911 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
18912
18913 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
18914 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
18915 * conf/powerpc-ieee1275.rmk: Likewise.
18916 * conf/i386-ieee1275.rmk: Likewise.
18917
18918 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
18919 * kern/i386/coreboot/init.c: Likewise.
18920
18921 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
18922 with `<grub/cpu/kernel.h>'.
18923 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
18924 to ...
18925 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
18926 * kern/i386/coreboot/startup.S: Likewise.
18927
18928 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
18929 (GRUB_MOD_GAP): Remove.
18930 * include/grub/powerpc/kernel.h: New file.
18931 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
18932 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
18933 * include/grub/i386/kernel.h: New file.
18934 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
18935 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
18936 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
18937
18938 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
18939 `grub-mkelfimage'.
18940 Use --directory when invoking grub_mkimage.
18941
18942 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
18943 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
18944 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
18945 and GRUB_KERNEL_CPU_PREFIX.
18946
18947 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
18948
18949 * include/grub/err.h (grub_err_printf): New function prototype.
18950 * util/misc.c (grub_err_printf): New function.
18951 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
18952 grub_printf.
18953 * kern/err.c (grub_print_error): Use grub_err_printf.
18954
18955 2008-08-13 Robert Millan <rmh@aybabtu.com>
18956
18957 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
18958
18959 2008-08-13 Robert Millan <rmh@aybabtu.com>
18960
18961 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
18962 boot entry.
18963
18964 2008-08-12 Robert Millan <rmh@aybabtu.com>
18965
18966 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
18967 of the relocation code from here ...
18968 (grub_multiboot): ... to here.
18969 (forward_relocator, backward_relocator): Move from here ...
18970 * kern/i386/loader.S (grub_multiboot_forward_relocator)
18971 (grub_multiboot_backward_relocator): ... to here.
18972 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
18973 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
18974 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
18975 (grub_multiboot_forward_relocator_end)
18976 (grub_multiboot_backward_relocator)
18977 (grub_multiboot_backward_relocator_end): New variables.
18978
18979 2008-08-12 Bean <bean123ch@gmail.com>
18980
18981 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
18982
18983 2008-08-11 Robert Millan <rmh@aybabtu.com>
18984
18985 * kern/i386/linuxbios/startup.S: Move from here ...
18986 * kern/i386/coreboot/startup.S: ... to here.
18987
18988 * kern/i386/linuxbios/init.c: Move from here ...
18989 * kern/i386/coreboot/init.c: ... to here.
18990
18991 * kern/i386/linuxbios/table.c: Move from here ...
18992 * kern/i386/coreboot/mmap.c: ... to here.
18993
18994 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
18995
18996 2008-08-11 Robert Millan <rmh@aybabtu.com>
18997
18998 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
18999 errors. Leave it to the upper layer to handle them.
19000
19001 2008-08-09 Christian Franke <franke@computer.org>
19002
19003 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
19004 * conf/common.rmk: Install `grub-pe2elf' only if requested.
19005 Install `grub.d/10_windows' only on Cygwin.
19006 * configure.ac: Add subst of `target_os'.
19007 Check `target_os' also before setting TARGET_OBJ2ELF.
19008 Add `--enable-grub-pe2elf'.
19009
19010 2008-08-08 Robert Millan <rmh@aybabtu.com>
19011
19012 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
19013 (grub_last_time): Change type to grub_uint64_t.
19014 (grub_disk_open): Migrate code from to using grub_get_time_ms().
19015 (grub_disk_close): Likewise.
19016
19017 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
19018 (run_menu): Migrate code from to using grub_get_time_ms().
19019
19020 * util/misc.c (grub_get_time_ms): New function.
19021
19022 2008-08-08 Marco Gerards <marco@gnu.org>
19023
19024 * disk/ata.c (grub_ata_regget): Change return type to
19025 `grub_uint8_t'.
19026 (grub_ata_regget2): Likewise.
19027 (grub_ata_wait_status): New function.
19028 (grub_ata_wait_busy): Removed function, updated all users to use
19029 `grub_ata_wait_status'.
19030 (grub_ata_wait_drq): Likewise.
19031 (grub_ata_cmd): New function.
19032 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
19033 error handling.
19034 (grub_ata_pio_write): Add error handling.
19035 (grub_atapi_identify): Likewise.
19036 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
19037 handling.
19038 (grub_ata_identify): Use `grub_ata_cmd' and improve error
19039 handling. Actually use the detected registers. Reorder the
19040 detection logic such that it is easier to read.
19041 (grub_ata_pciinit): Do not assign the same ID to each controller.
19042 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
19043 handling.
19044 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
19045
19046 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
19047
19048 2008-08-08 Marco Gerards <marco@gnu.org>
19049
19050 * NEWS: Update.
19051
19052 2008-08-07 Bean <bean123ch@gmail.com>
19053
19054 * include/grub/x86_64/pci.h: New file.
19055
19056 2008-08-07 Christian Franke <franke@computer.org>
19057
19058 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
19059 (TIMER2_GATE): Likewise.
19060 (grub_pit_wait): Add enable/disable of the timer2 gate
19061 bit of port 0x61. This fixes a possible infinite loop.
19062
19063 2008-08-07 Bean <bean123ch@gmail.com>
19064
19065 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
19066 kern/i386/tsc.c and kern/i386/pit.c.
19067
19068 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
19069 x86_64 platform.
19070
19071 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
19072 <grub/i386/tsc.h>.
19073
19074 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
19075
19076 2008-08-07 Bean <bean123ch@gmail.com>
19077
19078 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
19079
19080 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
19081
19082 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
19083 multiple inclusion. Add #include <grub/types.h>.
19084
19085 2008-08-06 Christian Franke <franke@computer.org>
19086
19087 * conf/common.rmk: Build and install `10_windows'.
19088 * util/grub.d/10_windows.in: New script.
19089
19090 2008-08-06 Pavel Roskin <proski@gnu.org>
19091
19092 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
19093
19094 2008-08-06 Robert Millan <rmh@aybabtu.com>
19095
19096 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
19097 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
19098
19099 2008-08-06 Bean <bean123ch@gmail.com>
19100
19101 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
19102 (grub_pxefs_fs_int): Remove dummy definition.
19103 (grub_pxefs_open): Use data->block_size to store the current block
19104 size setting.
19105 (grub_pxefs_read): Use block size stored in data->block_size. As the
19106 value of grub_pxe_blksize can be changed after the file is opened.
19107
19108 2008-08-06 Bean <bean123ch@gmail.com>
19109
19110 * fs/i386/pc/pxe.c (curr_file): new variable.
19111 (grub_pxefs_open): Simply the handling of pxe file system. Don't
19112 require the dummy internal file system anymore.
19113 (grub_pxefs_read): Removed.
19114 (grub_pxefs_close): Likewise.
19115 (grub_pxefs_fs_int): Likewise.
19116 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
19117 connection when we switch file.
19118 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
19119
19120 2008-08-06 Robert Millan <rmh@aybabtu.com>
19121
19122 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
19123 `halt.mod'.
19124 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
19125 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
19126
19127 * kern/i386/halt.c: New file.
19128 * kern/i386/reboot.c: Likewise.
19129 * include/grub/i386/reboot.h: Likewise.
19130 * include/grub/i386/halt.h: Likewise.
19131
19132 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
19133 Include `<grub/cpu/halt.h>'.
19134 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
19135 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
19136
19137 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
19138 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
19139 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
19140 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
19141 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
19142 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
19143 from here ...
19144 * include/grub/i386/at_keyboard.h: ... to here.
19145
19146 2008-08-05 Robert Millan <rmh@aybabtu.com>
19147
19148 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
19149 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
19150 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
19151 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
19152 `kern/generic/millisleep.c'.
19153
19154 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
19155 instead of grub_get_rtc().
19156 (grub_tsc_init): Initialize `tsc_boot_time'.
19157
19158 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
19159 (grub_machine_init): Use grub_tsc_init() rather than
19160 installing an RTC-based handler via grub_install_get_time_ms().
19161
19162 * kern/i386/pit.c: New file.
19163 * include/grub/i386/pit.h: Likewise.
19164
19165 2008-08-05 Bean <bean123ch@gmail.com>
19166
19167 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
19168
19169 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
19170 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
19171 (pxe_mod_SOURCES): New macro.
19172 (pxe_mod_CFLAGS): Likewise.
19173 (pxe_mod_LDFLAGS): Likewise.
19174 (pxecmd_mod_SOURCES): Likewise.
19175 (pxecmd_mod_CFLAGS): Likewise.
19176 (pxecmd_mod_LDFLAGS): Likewise.
19177
19178 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
19179 (grub_pxe_call): Likewise.
19180
19181 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
19182
19183 * commands/i386/pc/pxecmd.c: New file.
19184
19185 * fs/i386/pc/pxe.c: Likewise.
19186
19187 * include/grub/i386/pc/pxe.h: Likewise.
19188
19189 2008-08-05 Bean <bean123ch@gmail.com>
19190
19191 * util/console.c (grub_console_cur_color): New variable.
19192 (grub_console_standard_color): Likewise.
19193 (grub_console_normal_color): Likewise.
19194 (grub_console_highlight_color): Likewise.
19195 (color_map): Likewise.
19196 (use_color): Likewise.
19197 (NUM_COLORS): New macro.
19198 (grub_ncurses_setcolorstate): Handle color properly.
19199 (grub_ncurses_setcolor): Don't change color here, just remember the
19200 settings, color will be set in grub_ncurses_setcolorstate.
19201 (grub_ncurses_getcolor): New function.
19202 (grub_ncurses_init): Initialize color pairs.
19203 (grub_ncurses_term): New member grub_ncurses_getcolor.
19204
19205 2008-08-05 Colin D Bennett <colin@gibibit.com>
19206
19207 High resolution timer support. Implemented for x86 CPUs using TSC.
19208 Extracted generic grub_millisleep() so it's linked in only as needed.
19209 This requires a Pentium compatible CPU; if the RDTSC instruction is
19210 not supported, then it falls back on the generic grub_get_time_ms()
19211 implementation that uses the machine's RTC.
19212
19213 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
19214 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
19215 `kern/generic/millisleep.c'.
19216
19217 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
19218 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
19219
19220 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
19221 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
19222
19223 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
19224
19225 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19226 `kern/generic/millisleep.c'.
19227
19228 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
19229
19230 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
19231
19232 * kern/generic/rtc_get_time_ms.c: New file.
19233
19234 * kern/generic/millisleep.c: New file.
19235
19236 * kern/misc.c: Don't include
19237 <kern/time.h> anymore.
19238 (grub_millisleep_generic): Removed.
19239
19240 * commands/sleep.c (grub_interruptible_millisleep): Uses
19241 grub_get_time_ms() instead of grub_get_rtc().
19242
19243 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
19244 function.
19245 (grub_cpu_is_cpuid_supported): New inline function.
19246 (grub_cpu_is_tsc_supported): New inline function.
19247 (grub_tsc_init): New function prototype.
19248 (grub_tsc_get_time_ms): New function prototype.
19249
19250 * kern/i386/tsc.c (grub_get_time_ms): New file.
19251
19252 * include/grub/time.h: Include <grub/types.h.
19253 (grub_millisleep_generic): Removed.
19254 (grub_get_time_ms): New prototype.
19255 (grub_install_get_time_ms): New prototype.
19256 (grub_rtc_get_time_ms): New prototype.
19257
19258 * kern/time.c (grub_get_time_ms): New function.
19259 (grub_install_get_time_ms): New function.
19260
19261 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
19262 <grub/time.h> anymore.
19263 (grub_millisleep): Removed.
19264 (grub_machine_init): Call grub_tsc_init.
19265
19266 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
19267 get_time_ms() implementation.
19268
19269 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
19270 (ieee1275_get_time_ms): New function.
19271 (grub_machine_init): Install get_time_ms() implementation.
19272
19273 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
19274 (grub_machine_init): Call grub_tsc_init().
19275 (grub_millisleep): Removed.
19276
19277 * kern/ieee1275/init.c (grub_millisleep): Removed.
19278 (grub_machine_init): Install ieee1275_get_time_ms()
19279 implementation.
19280 (ieee1275_get_time_ms): New function.
19281 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
19282 real work.
19283
19284 2008-08-05 Marco Gerards <marco@gnu.org>
19285
19286 * disk/ata.c: Include <grub/pci.h>.
19287 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
19288 (grub_ata_initialize): Rewritten.
19289 (grub_ata_device_initialize): New function.
19290
19291 2008-08-04 Pavel Roskin <proski@gnu.org>
19292
19293 * kern/main.c: Include grub/mm.h.
19294
19295 2008-08-04 Robert Millan <rmh@aybabtu.com>
19296
19297 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
19298 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
19299 corruption problem).
19300
19301 2008-08-04 Robert Millan <rmh@aybabtu.com>
19302
19303 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
19304 warnings introduced in my last commit.
19305
19306 2008-08-03 Robert Millan <rmh@aybabtu.com>
19307
19308 Make PCI available on all i386 architectures.
19309
19310 * include/grub/i386/pc/pci.h: Move from here ...
19311 * include/grub/i386/pci.h: ... to here.
19312
19313 * include/grub/i386/pc/pci.h: Remove.
19314 * include/grub/i386/efi/pci.h: Remove.
19315 * include/grub/x86_64/efi/pci.h: Remove.
19316
19317 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
19318 `<grub/cpu/pci.h>'.
19319
19320 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
19321 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
19322 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
19323
19324 * conf/i386-ieee1275.rmk: Likewise.
19325
19326 2008-08-03 Robert Millan <rmh@aybabtu.com>
19327
19328 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
19329 (grub_console_setcursor): Make it possible to set cursor off.
19330
19331 2008-08-03 Robert Millan <rmh@aybabtu.com>
19332
19333 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
19334 of modules instead of assuming which platform provides what.
19335 * util/update-grub.in: Likewise.
19336
19337 2008-08-03 Robert Millan <rmh@aybabtu.com>
19338
19339 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
19340 instead of `grub_install_dos_part' to determine whether a drive needs
19341 to be prepended to prefix (`grub_install_dos_part' is not reliable,
19342 because it can be overridden when loading GRUB via Multiboot).
19343
19344 2008-08-02 Robert Millan <rmh@aybabtu.com>
19345
19346 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
19347
19348 2008-08-02 Robert Millan <rmh@aybabtu.com>
19349
19350 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
19351 of informational grub_dprintf() calls.
19352
19353 2008-08-02 Robert Millan <rmh@aybabtu.com>
19354
19355 * disk/memdisk.c (memdisk_size): Don't initialize.
19356 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
19357
19358 * include/grub/i386/pc/kernel.h
19359 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
19360 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
19361 (grub_memdisk_image_size, grub_arch_memdisk_addr)
19362 (grub_arch_memdisk_size): Remove.
19363
19364 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
19365 field (was only used to transfer a constant). Add `type' field to
19366 support multiple module types.
19367 (grub_module_iterate): New function.
19368
19369 * kern/device.c (grub_device_open): Do not hide error messages
19370 when grub_disk_open() fails. Use grub_print_error() instead.
19371
19372 * kern/i386/pc/init.c (grub_arch_modules_addr)
19373 (grub_arch_memdisk_size): Remove functions.
19374 (grub_arch_modules_addr): Return the module address in high memory
19375 (now that it isn't copied anymore).
19376
19377 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
19378 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
19379 decompression routine (grub_total_module_size already includes that
19380 now). Don't copy modules back to low memory.
19381
19382 * kern/main.c: Include `<grub/mm.h>'.
19383 (grub_load_modules): Split out (and use) ...
19384 (grub_module_iterate): ... this function, which iterates through
19385 module objects and runs a hook.
19386 Comment out grub_mm_init_region() call, as it would cause non-ELF
19387 modules to be overwritten.
19388
19389 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
19390 the memdisk image in its own region, make it part of the module list.
19391 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
19392 (main): Parse --memdisk|-m option, and pass user-provided path as
19393 parameter to generate_image().
19394 (add_segments): Pass `memdisk_path' down to load_modules().
19395 (load_modules): Embed memdisk image in module section when requested.
19396 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
19397 `header.type' instead of `header.offset'.
19398
19399 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
19400 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
19401 (memdisk_mod_LDFLAGS): New variables.
19402 * conf/i386-coreboot.rmk: Likewise.
19403 * conf/i386-ieee1275.rmk: Likewise.
19404
19405 2008-08-02 Robert Millan <rmh@aybabtu.com>
19406
19407 * loader/i386/pc/multiboot.c (playground, forward_relocator)
19408 (backward_relocator): New variables. Used to allocate and relocate
19409 the payload, respectively.
19410 (grub_multiboot_load_elf32): Load into heap instead of requested
19411 address, install the appropriate relocator code in each bound of
19412 the payload, and set the entry point such that
19413 grub_multiboot_real_boot() will jump to one of them.
19414
19415 * kern/i386/loader.S (grub_multiboot_payload_size)
19416 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
19417 (grub_multiboot_payload_entry_offset): New variables.
19418 (grub_multiboot_real_boot): Set cpu context to what the relocator
19419 expects, and jump to the relocator instead of the payload.
19420
19421 * include/grub/i386/loader.h (grub_multiboot_payload_size)
19422 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
19423 (grub_multiboot_payload_entry_offset): Export.
19424
19425 2008-08-01 Bean <bean123ch@gmail.com>
19426
19427 * normal/menu_entry.c (editor_getline): Don't return the original
19428 string as result, as it will be released by lexer once it has done
19429 using it.
19430
19431 2008-08-01 Robert Millan <rmh@aybabtu.com>
19432
19433 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
19434 within menuentries, not before them.
19435 util/grub.d/10_hurd.in: Likewise.
19436
19437 2008-08-01 Bean <bean123ch@gmail.com>
19438
19439 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
19440 (bufio_mod_SOURCES): New macro.
19441 (bufio_mod_CFLAGS): Likewise.
19442 (bufio_mod_LDFLAGS): Likewise.
19443
19444 * include/grub/bufio.h: New file.
19445
19446 * io/bufio.c: Likewise.
19447
19448 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
19449 (grub_video_reader_png): Use grub_buffile_open to open file.
19450
19451 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
19452 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
19453
19454 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
19455 (grub_video_reader_tga): Use grub_buffile_open to open file.
19456
19457 * font/manager.c: Include <grub/bufio.h>.
19458 (add_font): Use grub_buffile_open to open file.
19459
19460 2008-07-31 Robert Millan <rmh@aybabtu.com>
19461
19462 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
19463 ELF segments, use a macro for arbitrarily accessing any of them instead
19464 of preparing a pointer that allows access to one at a time.
19465 (grub_multiboot_load_elf64): Likewise.
19466
19467 2008-07-31 Bean <bean123ch@gmail.com>
19468
19469 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
19470 GRUB_KERNEL_MACHINE_DATA_END.
19471
19472 2008-07-30 Robert Millan <rmh@aybabtu.com>
19473
19474 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
19475 Increase from 0x50 to 0x60.
19476 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
19477 use UUIDs to identify the root drive for them. If that's not
19478 possible, abort.
19479 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
19480 check, for cross-disk installs.
19481
19482 2008-07-30 Robert Millan <rmh@aybabtu.com>
19483
19484 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
19485 is non-empty, use it to set the `prefix' environment variable instead
19486 of the usual approach.
19487 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
19488 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
19489 environment variable instead of dummy make_install_device().
19490
19491 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
19492 (start): Insert a data section, with `grub_prefix' variable.
19493 * kern/i386/linuxbios/startup.S: Likewise.
19494
19495 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
19496 New variable reference.
19497 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
19498 New macro. Defines offset of `grub_prefix' within startup.S (relative
19499 to `start').
19500 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
19501 section within startup.S (relative to `start').
19502 * include/grub/i386/coreboot/kernel.h: Likewise.
19503
19504 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
19505 Overwrite grub_prefix with its contents, at the beginning of the
19506 first segment.
19507 (main): Understand -p|--prefix.
19508
19509 2008-07-30 Robert Millan <rmh@aybabtu.com>
19510
19511 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
19512
19513 2008-07-30 Robert Millan <rmh@aybabtu.com>
19514
19515 * term/i386/pc/vga_text.c (grub_console_cls): Use
19516 grub_console_gotoxy() to go back to beginning of the screen.
19517 Found by Patrick Georgi <patrick.georgi@coresystems.de>
19518
19519 2008-07-29 Christian Franke <franke@computer.org>
19520
19521 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
19522 Add conversion of emulated mount points on Cygwin.
19523
19524 2008-07-29 Christian Franke <franke@computer.org>
19525
19526 * util/update-grub.in: Add a check for admin
19527 group on Cygwin.
19528 Remove old `grub.cfg.new' before creation.
19529 Add `-f' to `mv' to handle the different filesystem
19530 semantics of Windows.
19531
19532 2008-07-29 Bean <bean123ch@gmail.com>
19533
19534 * normal/main.c (get_line): Fix buffer overflow bug.
19535
19536 2008-07-28 Robert Millan <rmh@aybabtu.com>
19537
19538 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
19539 (struct grub_apple_header): New struct. Describes the layout of
19540 the partmap header.
19541 (apple_partition_map_iterate): Check the header magic as well as the
19542 partition magic (which was already being checked).
19543
19544 2008-07-28 Pavel Roskin <proski@gnu.org>
19545
19546 * genmk.rb: Add a warning to the beginning of the output that
19547 it's a generated file and should not be edited.
19548
19549 2008-07-28 Robert Millan <rmh@aybabtu.com>
19550
19551 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19552 with the same number are found, just use issue a warning with
19553 grub_dprintf(), as this error has been reported to be non-fatal.
19554
19555 2008-07-27 Robert Millan <rmh@aybabtu.com>
19556
19557 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
19558 information.
19559
19560 2008-07-27 Bean <bean123ch@gmail.com>
19561
19562 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
19563 (grub_fat_find_dir): Ignore case when comparing filename.
19564
19565 2008-07-27 Bean <bean123ch@gmail.com>
19566
19567 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
19568 smallino, as it's more descriptive, and i8count can be confused with
19569 the other field count.
19570 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
19571 inode type.
19572
19573 2008-07-27 Bean <bean123ch@gmail.com>
19574
19575 * commands/crc.c: New file.
19576
19577 * lib/crc.c: Likewise.
19578
19579 * include/grub/lib/crc.h: Likewise.
19580
19581 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
19582
19583 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
19584 (hexdump): Move this function to ...
19585
19586 * lib/hexdump.c: ... here.
19587
19588 * include/grub/hexdump.h: Renamed to ...
19589
19590 * include/grub/lib/hexdump.h: ... this.
19591
19592 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
19593
19594 * util/grub-editenv.c: Likewise.
19595
19596 * include/envblk.h: Renamed to ...
19597
19598 * include/lib/envblk.h: ... this.
19599
19600 * util/envblk.c: Renamed to ...
19601
19602 * lib/envblk.c: ... this.
19603
19604 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
19605 lib/hexdump.c.
19606 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
19607 (pkglib_MODULES): Add crc.mod.
19608 (hexdump_mod_SOURCES): Add lib/hexdump.c.
19609 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
19610 (crc_mod_SOURCES): New macro.
19611 (crc_mod_CFLAGS): Likewise.
19612 (crc_mod_LDFLAGS): Likewise.
19613
19614 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
19615
19616 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19617
19618 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19619
19620 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19621
19622 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19623
19624 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
19625
19626 * commands/help.c: Include <grub/term.h>.
19627 (TERM_WIDTH): Removed. Updated all users.
19628
19629 2008-07-27 Pavel Roskin <proski@gnu.org>
19630
19631 * util/getroot.c (find_root_device): Rephrase a comment to avoid
19632 spurious warnings about a comment within a comment.
19633
19634 2008-07-25 Robert Millan <rmh@aybabtu.com>
19635
19636 * util/getroot.c (find_root_device): Skip devices that match
19637 /dev/dm-[0-9]. This lets the real device be found for any type of
19638 abstraction (LVM, EVMS, RAID..).
19639 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
19640 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
19641 device is found first, find_root_device() will now skip it.
19642
19643 2008-07-24 Pavel Roskin <proski@gnu.org>
19644
19645 * include/grub/types.h: Use __builtin_bswap32() and
19646 __builtin_bswap64() with gcc 4.3 and newer.
19647
19648 2008-07-24 Christian Franke <franke@computer.org>
19649
19650 * util/i386/pc/grub-install.in: If `--debug' is specified,
19651 pass `--verbose' to grub-setup.
19652 Abort script if make_system_path_relative_to_its_root() fails.
19653
19654 2008-07-24 Bean <bean123ch@gmail.com>
19655
19656 * configure.ac: Fixed a bug caused by the previous cygwin patch,
19657 variable `target_platform' should be `platform'.
19658
19659 2008-07-24 Bean <bean123ch@gmail.com>
19660
19661 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
19662 (grub_png_init_fixed_block): New function.
19663 (grub_png_decode_image_data): Handle fixed huffman code compression.
19664
19665 2008-07-24 Bean <bean123ch@gmail.com>
19666
19667 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
19668 (grub_pe2elf_SOURCES): New macro.
19669 (CLEANFILES): Add grub-pe2elf.
19670
19671 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
19672 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
19673 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
19674 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
19675 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
19676 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
19677 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
19678 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
19679 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
19680 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
19681 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
19682 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
19683 (GRUB_PE32_DT_FUNCTION): Likewise.
19684 (GRUB_PE32_REL_I386_DIR32): Likewise.
19685 (GRUB_PE32_REL_I386_REL32): Likewise.
19686 (grub_pe32_symbol): New structure.
19687 (grub_pe32_reloc): Likewise.
19688
19689 * util/grub-pe2elf.c: New file.
19690
19691 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
19692 start symbol in non pc platform.
19693
19694 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
19695
19696 The following patches are from Christian Franke.
19697
19698 * include/grub/dl.h: Remove .previous, gas supports this only
19699 for ELF format.
19700
19701 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
19702 Remove .type, gas supports this only for ELF format.
19703
19704 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
19705 nullbytes in symbol table. This fixes an infinite loop if table is
19706 zero filled.
19707
19708 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
19709 TARGET_IMG_LDFLAGS and EXEEXT.
19710
19711 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
19712 TARGET_IMG_LDFLAGS_AC.
19713 (grub_CHECK_STACK_ARG_PROBE): New function.
19714
19715 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
19716
19717 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
19718
19719 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
19720 to set TARGET_IMG_LD* accordingly.
19721 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
19722 Add call to grub_CHECK_STACK_ARG_PROBE.
19723 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
19724
19725 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
19726
19727 * genmk.rb: Add EXEEXT to CLEANFILES.
19728
19729 2008-07-23 Robert Millan <rmh@aybabtu.com>
19730
19731 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
19732 define the codes for arrows and lines used for the menu).
19733 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
19734 as well.
19735
19736 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
19737 fonts, because the latter are too slow.
19738
19739 2008-07-21 Bean <bean123ch@gmail.com>
19740
19741 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
19742 a20. Run keyboard test last, as it will cause macbook to halt.
19743
19744 2008-07-18 Pavel Roskin <proski@gnu.org>
19745
19746 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
19747 load foreign architecture modules correctly anyway. Keep
19748 support for loading host architecture modules, whether we
19749 compile them or not.
19750
19751 2008-07-17 Pavel Roskin <proski@gnu.org>
19752
19753 * configure.ac: Use -m32 or -m64 regardless of whether we had to
19754 change target_cpu. The compiler default can mismatch target_cpu
19755 in any case.
19756
19757 * disk/efi/efidisk.c: Fix format warnings on x86_64.
19758 * kern/efi/efi.c: Likewise.
19759
19760 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
19761 target compiler is functional.
19762 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
19763 are set up.
19764
19765 * configure.ac: Default to efi platform for x86_64-apple. Allow
19766 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
19767 adjustments from the rest, only do them if target is not
19768 explicitly given. Merge other adjustments with the final sanity
19769 check. Remove an extraneous check for supported CPU. Be
19770 specific which CPU and which platform is not supported.
19771
19772 * configure.ac: Default to pc platform for x86_64.
19773
19774 2008-07-17 Robert Millan <rmh@aybabtu.com>
19775
19776 Partial LinuxBIOS -> Coreboot rename.
19777
19778 * conf/i386-linuxbios.rmk: Renamed to ...
19779 * conf/i386-coreboot.rmk: ... this.
19780 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
19781 * configure.ac: Accept "coreboot" as input platform (but maintain
19782 compatibility with "linuxbios").
19783 * include/grub/i386/linuxbios: Renamed to ...
19784 * include/grub/i386/coreboot: ... this.
19785
19786 2008-07-17 Bean <bean123ch@gmail.com>
19787
19788 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
19789 (appleldr_mod_SOURCE): New variable.
19790 (appleldr_mod_CFLAGS): Likewise.
19791 (appleldr_mod_LDFLAGS): Likewise.
19792 (pci_mod_SOURCES): Likewise.
19793 (pci_mod_CFLAGS): Likewise.
19794 (pci_mod_LDFLAGS): Likewise.
19795 (lspci_mod_SOURCES): Likewise.
19796 (lspci_mod_CFLAGS): Likewise.
19797 (lspci_mod_LDFLAGS): Likewise.
19798
19799 * conf/x86_64-efi.rmk: New file.
19800
19801 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
19802 macro.
19803 (grub_efidisk_write): Likewise.
19804
19805 * include/efi/api.h (efi_call_0): New macro.
19806 (efi_call_1): Likewise.
19807 (efi_call_2): Likewise.
19808 (efi_call_3): Likewise.
19809 (efi_call_4): Likewise.
19810 (efi_call_5): Likewise.
19811 (efi_call_6): Likewise.
19812
19813 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
19814 grub_rescue_cmd_chainloader.
19815
19816 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
19817 (grub_pe32_optional_header): Change some fields based on i386 or
19818 x86_64 platform.
19819 (GRUB_PE32_PE32_MAGIC): Likewise.
19820
19821 * include/grub/efi/uga_draw.h: New file.
19822
19823 * include/grub/elf.h (STN_ABS): New constant.
19824 (R_X86_64_NONE): Relocation constant for x86_64.
19825 (R_X86_64_64): Likewise.
19826 (R_X86_64_PC32): Likewise.
19827 (R_X86_64_GOT32): Likewise.
19828 (R_X86_64_PLT32): Likewise.
19829 (R_X86_64_COPY): Likewise.
19830 (R_X86_64_GLOB_DAT): Likewise.
19831 (R_X86_64_JUMP_SLOT): Likewise.
19832 (R_X86_64_RELATIVE): Likewise.
19833 (R_X86_64_GOTPCREL): Likewise.
19834 (R_X86_64_32): Likewise.
19835 (R_X86_64_32S): Likewise.
19836 (R_X86_64_16): Likewise.
19837 (R_X86_64_PC16): Likewise.
19838 (R_X86_64_8): Likewise.
19839 (R_X86_64_PC8): Likewise.
19840
19841 * include/grub/i386/efi/pci.h: New file.
19842
19843 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
19844 Change it value based on platform.
19845 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
19846 (GRUB_E820_RAM): Likewise.
19847 (GRUB_E820_RESERVED): Likewise.
19848 (GRUB_E820_ACPI): Likewise.
19849 (GRUB_E820_NVS): Likewise.
19850 (GRUB_E820_EXEC_CODE): Likewise.
19851 (GRUB_E820_MAX_ENTRY): Likewise.
19852 (grub_e820_mmap): New structure.
19853 (linux_kernel_header): Change the efi field according to different
19854 kernel version, also field from linux_kernel_header.
19855
19856 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
19857
19858 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
19859 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
19860 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
19861 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
19862 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
19863 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
19864 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
19865 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
19866 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
19867 (GRUB_PCI_ADDR_IO_MASK): Likewise.
19868
19869 * include/grub/x86_64/efi/kernel.h: New file.
19870
19871 * include/grub/x86_64/efi/loader.h: Likewise.
19872
19873 * include/grub/x86_64/efi/machine.h: Likewise.
19874
19875 * include/grub/x86_64/efi/pci.h: Likewise.
19876
19877 * include/grub/x86_64/efi/time.h: Likewise.
19878
19879 * include/grub/x86_64/linux.h: Likewise.
19880
19881 * include/grub/x86_64/setjmp.h: Likewise.
19882
19883 * include/grub/x86_64/time.h: Likewise.
19884
19885 * include/grub/x86_64/types.h: Likewise.
19886
19887 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
19888 GRUB_TARGET_SIZEOF_VOID_P.
19889
19890 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
19891 (grub_efi_locate_handle): Likewise.
19892 (grub_efi_open_protocol): Likewise.
19893 (grub_efi_set_text_mode): Likewise.
19894 (grub_efi_stall): Likewise.
19895 (grub_exit): Likewise.
19896 (grub_reboot): Likewise.
19897 (grub_halt): Likewise.
19898 (grub_efi_exit_boot_services): Likewise.
19899 (grub_get_rtc): Likewise.
19900
19901 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
19902 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
19903 (grub_efi_allocate_pages): Wrap efi calls.
19904 (grub_efi_free_pages): Wrap efi calls.
19905 (grub_efi_get_memory_map): Wrap efi calls.
19906
19907 * kern/x86_64/dl.c: New file.
19908
19909 * kern/x86_64/efi/callwrap.S: Likewise.
19910
19911 * kern/x86_64/efi/startup.S: Likewise.
19912
19913 * loader/efi/appleloader.c: Likewise.
19914
19915 * loader/efi/chainloader.c (cmdline): New variable.
19916 (grub_chainloader_unload): Wrap efi calls.
19917 (grub_chainloader_boot): Likewise.
19918 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
19919 command line.
19920
19921 * loader/efi/chainloader_normal.c (chainloader_command):
19922 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
19923 command line.
19924
19925 * loader/i386/efi/linux.c (allocate_pages): Change allocation
19926 method.
19927 (grub_e820_add_region): New function.
19928 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
19929 booting.
19930 (grub_find_video_card): New function.
19931 (grub_linux_setup_video): New function.
19932 (grub_rescue_cmd_linux): Probe for video information.
19933
19934 * normal/x86_64/setjmp.S: New file.
19935
19936 * term/efi/console.c (map_char): New function.
19937 (grub_console_putchar): Map unicode char.
19938 (grub_console_checkkey): Wrap efi calls.
19939 (grub_console_getkey): Likewise.
19940 (grub_console_getwh): Likewise.
19941 (grub_console_gotoxy): Likewise.
19942 (grub_console_cls): Likewise.
19943 (grub_console_setcolorstate): Likewise.
19944 (grub_console_setcursor): Likewise.
19945
19946 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
19947
19948 2008-07-16 Pavel Roskin <proski@gnu.org>
19949
19950 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
19951 format strings.
19952
19953 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
19954 pointer, not an integer. This fixes a warning and prevents
19955 precision loss on 64-bit systems.
19956 (relocate_addresses): Remove unneeded cast.
19957
19958 2008-07-15 Pavel Roskin <proski@gnu.org>
19959
19960 * kern/i386/ieee1275/init.c: Include grub/cache.h.
19961
19962 * term/ieee1275/ofconsole.c: Disable code unused on i386.
19963
19964 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
19965 Fix comparison between signed and unsigned.
19966
19967 * include/grub/i386/ieee1275/console.h: Declare
19968 grub_console_init() and grub_console_fini().
19969
19970 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
19971 It's empty and unused.
19972
19973 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
19974 beginning to avoid warnings with some compilers.
19975
19976 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
19977 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
19978
19979 2008-07-14 Pavel Roskin <proski@gnu.org>
19980
19981 * kern/env.c (grub_register_variable_hook): Don't copy empty
19982 string, it leaks memory. Pass "" to grub_env_set(), it should
19983 handle constant strings.
19984
19985 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
19986 * commands/cmp.c (grub_cmd_cmp): Likewise.
19987 * kern/dl.c (grub_dl_flush_cache): Likewise.
19988 (grub_dl_load_core): Likewise.
19989 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
19990 (grub_elf64_load_phdrs): Likewise.
19991
19992 2008-07-13 Pavel Roskin <proski@gnu.org>
19993
19994 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
19995 between signed and unsigned.
19996 (LzmaEnc_Finish): Fix warning about an unused parameter.
19997
19998 2008-07-13 Bean <bean123ch@gmail.com>
19999
20000 * Makefile.in (enable_lzo): New rule.
20001
20002 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
20003
20004 * configure.ac (ENABLE_LZO): New option --enable-lzo.
20005
20006 * boot/i386/pc/lnxboot.S: #include <config.h>.
20007
20008 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
20009 its value according to the compression algorithm used, lzo or lzma.
20010
20011 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
20012 compression algorithm according to configure macro.
20013
20014 * kern/i386/pc/startup.S (codestart): Likewise.
20015
20016 * kern/i386/pc/lzma_decode.S: New file.
20017
20018 * include/grub/lib/LzFind.h: Likewise.
20019
20020 * include/grub/lib/LzHash.h: Likewise.
20021
20022 * include/grub/lib/LzmaDec.h: Likewise.
20023
20024 * include/grub/lib/LzmaEnc.h: Likewise.
20025
20026 * include/grub/lib/LzmaTypes.h: Likewise.
20027
20028 * lib/LzFind.c: Likewise.
20029
20030 * lib/LzmaDec.c: Likewise.
20031
20032 * lib/LzmaEnc.c: Likewise.
20033
20034 2008-07-13 Bean <bean123ch@gmail.com>
20035
20036 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
20037 (grub_ext4_extent_header): New structure.
20038 (grub_ext4_extent): Likewise.
20039 (grub_ext4_extent_idx): Likewise.
20040 (grub_ext4_find_leaf): New function.
20041 (grub_ext2_read_block): Handle extents.
20042
20043 2008-07-12 Robert Millan <rmh@aybabtu.com>
20044
20045 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
20046
20047 2008-07-11 Robert Millan <rmh@aybabtu.com>
20048
20049 * util/grub.d/40_custom.in: New file. Example on how to add custom
20050 entries to /etc/grub.d.
20051 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
20052 40_custom (implicitly, by merging all the grub.d rules).
20053
20054 2008-07-11 Pavel Roskin <proski@gnu.org>
20055
20056 * commands/read.c (grub_getline): Fix invalid memory access.
20057 Don't add newline to the variable value.
20058
20059 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
20060 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
20061 (serial_hw_get_port): Check validity of the port number.
20062 (grub_cmd_serial): Check return value of serial_hw_get_port().
20063
20064 2008-07-07 Pavel Roskin <proski@gnu.org>
20065
20066 * boot/i386/pc/diskboot.S (notification_string): Replace
20067 "Loading kernel" with just "loading". This is shorter, less
20068 confusing and saves a few bytes for possible future changes.
20069
20070 2008-07-05 Pavel Roskin <proski@gnu.org>
20071
20072 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
20073 size for ATAPI devices, they are undefined. Output sector
20074 number in decimal form.
20075
20076 * disk/ata.c: Use named constants for status bits.
20077
20078 2008-07-04 Pavel Roskin <proski@gnu.org>
20079
20080 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
20081 grub_addr_t before casting it to the void pointer to fix a
20082 warning. Non-addressable regions are discarded earlier.
20083 (grub_arch_modules_addr): Cast _end to grub_addr_t.
20084 * kern/i386/linuxbios/table.c: Include grub/misc.h.
20085 (check_signature): Don't shadow table_header.
20086 (grub_linuxbios_table_iterate): Cast numeric constants to
20087 grub_linuxbios_table_header_t.
20088 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
20089 grub_stop().
20090
20091 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
20092 prevent warnings.
20093
20094 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
20095 pointer, which can cause warnings. Support 64-bit addresses.
20096
20097 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
20098 of sizeof(long). This fixes PowerPC image generation on x86_64.
20099
20100 2008-07-04 Robert Millan <rmh@aybabtu.com>
20101
20102 This fixes a performance issue when pc & gpt partmap iterators
20103 didn't abort iteration even after our hook found what it was
20104 looking for (often causing expensive probes of non-existent drives).
20105
20106 Some callers relied on previous buggy behaviour, since they would
20107 raise an error when their own hooks caused early abortion of its
20108 iteration.
20109
20110 * kern/device.c (grub_device_open): Improve error message.
20111 * disk/lvm.c (grub_lvm_open): Likewise.
20112 * disk/raid.c (grub_raid_open): Likewise.
20113
20114 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
20115 when hook requests it, independently of grub_errno.
20116 (pc_partition_map_probe): Do not fail when find_func() caused
20117 early abortion of pc_partition_map_iterate().
20118
20119 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
20120 when hook requests it, independently of grub_errno.
20121 (gpt_partition_map_probe): Do not fail when find_func() caused
20122 early abortion of gpt_partition_map_iterate().
20123
20124 * kern/partition.c (grub_partition_iterate): Abort parent iteration
20125 when hook requests it, independently of grub_errno. Do not fail when
20126 part_map_iterate_hook() caused early abortion of p->iterate().
20127
20128 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
20129 when grub_partition_iterate() returned with non-zero.
20130
20131 2008-07-03 Pavel Roskin <proski@gnu.org>
20132
20133 * disk/ata.c (grub_ata_pio_write): Check status before writing,
20134 like we do in grub_ata_pio_read().
20135 (grub_ata_readwrite): Always write individual sectors. Fix the
20136 sector count for the remainder.
20137 (grub_ata_write): Enable writing to ATA devices. Correctly
20138 report error for ATAPI devices.
20139
20140 2008-07-02 Pavel Roskin <proski@gnu.org>
20141
20142 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
20143 warning.
20144
20145 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
20146 for every read sector, we already increment it for the whole
20147 batch. This fixes reading more than 256 sectors at once.
20148
20149 * util/grub-editenv.c (cmd_info): Cast argument to long
20150 explicitly. ptrdiff_t reduces to int on i386.
20151
20152 * util/grub-editenv.c (main): Be specific which parameter is
20153 missing.
20154
20155 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
20156 (memdisk): Make memdisk_orig_addr a pointer.
20157
20158 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
20159 for file offsets, use grub_off_t instead. Fix printf format
20160 warnings.
20161
20162 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
20163 there. Real unexpected warnings should not drown in the noise
20164 about known problems.
20165
20166 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
20167 grub_disk_addr_t for memory addresses.
20168
20169 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
20170 explicitly to fix a warning.
20171
20172 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
20173
20174 * Makefile.in (MODULE_LDFLAGS): New variable.
20175 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
20176 the linker accepts --build-id=none.
20177 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
20178 MODULE_LDFLAGS.
20179 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
20180
20181 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
20182 those in Linux XFS code. Provide a way to access 64-bit parent
20183 inode.
20184 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
20185 the end of struct grub_xfs_dir_header.
20186
20187 2008-07-02 Bean <bean123ch@gmail.com>
20188
20189 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
20190 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
20191 and GRUB_IEEE1275_FLAG_NO_ANSI.
20192
20193 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
20194 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
20195 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
20196
20197 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
20198 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
20199
20200 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
20201 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
20202
20203 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
20204 esc sequence on non ANSI terminal.
20205 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
20206
20207 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
20208 beginning of file.
20209
20210 2008-07-02 Bean <bean123ch@gmail.com>
20211
20212 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
20213 (grub_editenv_SOURCES): New variable.
20214 (pkglib_MODULES): Add loadenv.mod.
20215 (loadenv_mod_SOURCES): New variable.
20216 (loadenv_mod_CFLAGS): Likewise.
20217 (loadenv_mod_LDFLAGS): Likewise.
20218
20219 * include/grub/envblk.h: New file.
20220
20221 * util/envblk.c: New file.
20222
20223 * util/grub-editenv.c: New file.
20224
20225 * commands/loadenv.c: New file.
20226
20227 2008-07-01 Pavel Roskin <proski@gnu.org>
20228
20229 * include/multiboot2.h (struct multiboot_tag_module): Use char,
20230 not unsigned char. This fixes warnings and is consistent with
20231 other tags.
20232
20233 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
20234
20235 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
20236
20237 * term/tparm.c (analyze): Always set *popcount.
20238
20239 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
20240 cast to fix a warning.
20241
20242 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
20243 cast to suppress a warning.
20244
20245 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
20246 grub_fshelp_read_file() expects.
20247
20248 * fs/fat.c: Fix UUID calculation on big-endian systems. We
20249 write uuid as a 32-bit value in CPU byte order, so declare and
20250 use it as such.
20251
20252 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
20253 long if the format specifier expects it.
20254 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
20255 * partmap/pc.c (pc_partition_map_iterate): Likewise.
20256 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
20257 long to fix a warning.
20258 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
20259 grub_dprintf() arguments to fix warnings.
20260
20261 2008-06-30 Pavel Roskin <proski@gnu.org>
20262
20263 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
20264 install_bsd_part immediately before core.img is embedded or
20265 modified on disk. This fixes core.img verification if core.img
20266 cannot be embedded.
20267
20268 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
20269 core_path to calculate the blocklist.
20270 Patch from Javier Martín <lordhabbit@gmail.com>
20271
20272 2008-06-29 Robert Millan <rmh@aybabtu.com>
20273
20274 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
20275 block to disk block.
20276 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
20277 Patch from Niels Böhm <bitbucket@arcor.de>
20278
20279 2008-06-29 Robert Millan <rmh@aybabtu.com>
20280
20281 * util/update-grub_lib.in (font_path): Search for fonts in
20282 /boot/grub first, which is more likely to be readable (we aren't
20283 deciding where fonts live, just looking for them).
20284
20285 2008-06-26 Pavel Roskin <proski@gnu.org>
20286
20287 * util/biosdisk.c (read_device_map): Don't leave dead map
20288 entries for devices failing stat() check.
20289
20290 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
20291 core_path_dev for the core.img path on the target device.
20292
20293 2008-06-26 Robert Millan <rmh@aybabtu.com>
20294
20295 * disk/fs_uuid.c: New file.
20296 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
20297 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
20298 (fs_uuid_mod_LDFLAGS): New variables.
20299 * include/grub/disk.h (grub_disk_dev_id): Add
20300 `GRUB_DISK_DEVICE_UUID_ID'.
20301 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
20302 implement iterate().
20303
20304 2008-06-26 Robert Millan <rmh@aybabtu.com>
20305
20306 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
20307 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
20308 Linux image includes no initrd.
20309
20310 2008-06-21 Javier Martín <lordhabbit@gmail.com>
20311
20312 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
20313 call to resolve the core image location that effectively appended the
20314 name twice.
20315
20316 2008-06-21 Robert Millan <rmh@aybabtu.com>
20317
20318 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
20319 call from here ...
20320
20321 * util/grub.d/10_hurd.in: ... to here ...
20322 * util/grub.d/10_linux.in: ... and here.
20323
20324 2008-06-19 Robert Millan <rmh@aybabtu.com>
20325
20326 * kern/main.c (grub_main): Export `prefix' variable immediately
20327 after it has been set by grub_machine_set_prefix().
20328
20329 2008-06-19 Robert Millan <rmh@aybabtu.com>
20330
20331 * commands/search.c (search_label, search_fs_uuid, search_file): Print
20332 search result when not saving to variable, not the other way around.
20333 When saving to variable, abort iteration as soon as a match is found.
20334
20335 2008-06-19 Robert Millan <rmh@aybabtu.com>
20336
20337 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
20338 check for partition that provides /boot/grub. Its logic is flawed,
20339 as it prevents prepare_grub_to_access_device() from being called
20340 multiple times.
20341
20342 2008-06-19 Robert Millan <rmh@aybabtu.com>
20343
20344 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
20345 "insmod" command directly when abstraction modules are needed,
20346 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
20347 since it had already been processed).
20348
20349 2008-06-19 Pavel Roskin <proski@gnu.org>
20350
20351 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
20352 changed. This is needed in case GRUB_LIBDIR changes.
20353 * conf/i386-ieee1275.rmk: Likewise.
20354 * conf/i386-linuxbios.rmk: Likewise.
20355 * conf/i386-pc.rmk: Likewise.
20356 * conf/powerpc-ieee1275.rmk: Likewise.
20357
20358 2008-06-18 Pavel Roskin <proski@gnu.org>
20359
20360 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
20361 kernel_elf_symlist.c to symlist.c for consistency with other
20362 architectures. Update all users.
20363 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20364
20365 2008-06-18 Robert Millan <rmh@aybabtu.com>
20366
20367 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
20368 it in prefix.
20369
20370 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
20371 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
20372 a RAID device, run setup() for all members independently on whether
20373 LVM abstraction is being used.
20374 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
20375 If grub-mkimage has set `*install_dos_part == -2', don't override this
20376 value.
20377 Perform *install_dos_part adjustments independently on whether
20378 we're embedding or not.
20379 Clarify error message when image is too big for embedding.
20380 Remove duplicate *install_dos_part stanza.
20381
20382 2008-06-17 Robert Millan <rmh@aybabtu.com>
20383
20384 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
20385 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
20386 variables.
20387 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
20388 values in grub_ofconsole_normal_color and
20389 grub_ofconsole_highlight_color (they're not directly related to
20390 background and foreground).
20391 (grub_ofconsole_setcolorstate): Extract background and foreground
20392 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
20393
20394 2008-06-17 Robert Millan <rmh@aybabtu.com>
20395
20396 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
20397 /boot/grub for the check in last commit, not /boot (they could be
20398 different partitions).
20399
20400 2008-06-16 Robert Millan <rmh@aybabtu.com>
20401
20402 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
20403 asked to setup access for the same partition that provides /boot,
20404 don't bother using UUIDs since our root already has the value we
20405 want.
20406
20407 2008-06-16 Robert Millan <rmh@aybabtu.com>
20408
20409 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
20410 I2O devices.
20411 Patch from Sven Mueller <sven@debian.org>.
20412
20413 2008-06-16 Robert Millan <rmh@aybabtu.com>
20414
20415 * util/update-grub.in: Check for $EUID instead of $UID.
20416 Reported by Vincent Zweije.
20417
20418 2008-06-16 Bean <bean123ch@gmail.com>
20419
20420 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
20421 (grub_ext2_read_block): Likewise.
20422 (grub_ext2_read_inode): Likewise.
20423 (grub_ext2_mount): Likewise.
20424 (grub_ext2_close): Likewise.
20425 (grub_ext3_get_journal): Removed.
20426
20427 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
20428 (grub_reiserfs_read_symlink): Likewise.
20429 (grub_reiserfs_mount): Likewise.
20430 (grub_reiserfs_open): Likewise.
20431 (grub_reiserfs_read): Likewise.
20432 (grub_reiserfs_close): Likewise.
20433 (grub_reiserfs_get_journal): Removed.
20434
20435 * fs/fshelp.c (grub_fshelp_read): Removed.
20436 (grub_fshelp_map_block): Likewise.
20437
20438 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
20439 (grub_fshelp_journal): Likewise.
20440 (grub_fshelp_read): Likewise.
20441 (grub_fshelp_map_block): Likewise.
20442
20443 2008-06-16 Pavel Roskin <proski@gnu.org>
20444
20445 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
20446 floating point anymore.
20447 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
20448
20449 2008-06-15 Pavel Roskin <proski@gnu.org>
20450
20451 * commands/ls.c (grub_ls_list_files): Use integer calculations
20452 for human readable format, avoid floating point use.
20453 * kern/misc.c (grub_ftoa): Remove.
20454 (grub_vsprintf): Remove floating point support.
20455
20456 2008-06-15 Robert Millan <rmh@aybabtu.com>
20457
20458 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
20459 devices.
20460 Reported by Max Vozeler.
20461
20462 2008-06-15 Robert Millan <rmh@aybabtu.com>
20463
20464 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
20465 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
20466 skipped later.
20467 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
20468 the beginning of the prefix.
20469
20470 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
20471 It is assumed that if we have a memdisk, grub-mkimage has set
20472 grub_prefix to include the "(memdisk)" drive in it.
20473
20474 2008-06-15 Robert Millan <rmh@aybabtu.com>
20475
20476 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
20477 Initialize keyboard controller after registering the terminal, so that
20478 grub_printf() can be called from grub_keyboard_controller_init().
20479
20480 2008-06-15 Robert Millan <rmh@aybabtu.com>
20481
20482 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
20483 extent-btree which is written as big endian on disk.
20484 Reported by Alain Greppin <al@chilibi.org>.
20485
20486 2008-06-14 Robert Millan <rmh@aybabtu.com>
20487
20488 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
20489 * util/i386/pc/grub-install.in (modules): Likewise.
20490
20491 2008-06-13 Pavel Roskin <proski@gnu.org>
20492
20493 * commands/ls.c (grub_ls_list_files): Fix format warnings.
20494
20495 2008-06-13 Bean <bean123ch@gmail.com>
20496
20497 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
20498
20499 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
20500
20501 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
20502 to indicate sparse block.
20503
20504 2008-06-12 Pavel Roskin <proski@gnu.org>
20505
20506 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
20507 number, grub_fshelp_read() does it for us.
20508
20509 * fs/fshelp.c (grub_fshelp_read): New function. Implement
20510 linear disk read with journal translation.
20511 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
20512 * include/grub/fshelp.h: Declare grub_fshelp_read().
20513
20514 2008-06-09 Pavel Roskin <proski@gnu.org>
20515
20516 * fs/minix.c (grub_minix_mount): Handle error reading
20517 superblock.
20518
20519 2008-06-08 Robert Millan <rmh@aybabtu.com>
20520
20521 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
20522 don't append the RAID prefix afterwards.
20523 Reported by Clint Adams.
20524
20525 2008-06-08 Robert Millan <rmh@aybabtu.com>
20526
20527 Based on description from Pavel:
20528 * kern/disk.c (grub_disk_check_range): Rename to ...
20529 (grub_disk_adjust_range): ... this. Add a comment explaining the
20530 tasks performed by this function.
20531
20532 2008-06-08 Robert Millan <rmh@aybabtu.com>
20533
20534 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
20535 `num_serial' (for consistency with other variables).
20536 (struct grub_ntfs_data): Add `uuid' member.
20537 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
20538 (grub_ntfs_uuid): New function.
20539 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
20540
20541 2008-06-07 Pavel Roskin <proski@gnu.org>
20542
20543 * util/biosdisk.c (open_device): Revert last change to the
20544 function, it broke installation. The sector needs to be
20545 different dependent on which device is opened.
20546
20547 2008-06-06 Robert Millan <rmh@aybabtu.com>
20548
20549 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
20550 rest of GRUB, and breakage doesn't happen if its value were modified.
20551
20552 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20553 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
20554 a constant (same value).
20555 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
20556 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
20557
20558 2008-06-06 Robert Millan <rmh@aybabtu.com>
20559
20560 * util/biosdisk.c (open_device): Do not modify sector offset when
20561 accessing a partition. kern/disk.c already handles this for us.
20562
20563 2008-06-06 Robert Millan <rmh@aybabtu.com>
20564
20565 * util/grub-emu.c (grub_machine_init): Move code in this function from
20566 here ...
20567 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
20568 segfault in case grub_printf() is called).
20569
20570 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
20571 grub_probe. Update all users not to explicitly add it again.
20572 (grub_device): New variable; contains corresponding device for grubdir.
20573 (fs_module, partmap_module, devabstraction_module): Pass
20574 `--device ${grub_device}' to grub_probe to avoid traversing /dev
20575 every time.
20576
20577 2008-06-05 Robert Millan <rmh@aybabtu.com>
20578
20579 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
20580 is found, print it (same layout as with labels).
20581
20582 2008-06-04 Robert Millan <rmh@aybabtu.com>
20583
20584 * util/biosdisk.c (get_drive): Rename to ...
20585 (find_grub_drive): ... this. Update all users.
20586
20587 (get_os_disk): Rename to ...
20588 (convert_system_partition_to_system_disk): ... this. Update all users.
20589
20590 (find_drive): Rename to ...
20591 (find_system_device): ... this. Update all users.
20592
20593 2008-06-04 Robert Millan <rmh@aybabtu.com>
20594
20595 * util/biosdisk.c (get_os_disk): Handle IDA devices.
20596 * util/grub-mkdevicemap.c (get_mmc_disk_name)
20597 (make_device_map): Likewise.
20598
20599 2008-06-01 Robert Millan <rmh@aybabtu.com>
20600
20601 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
20602 before dereferencing it.
20603
20604 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
20605 union with fat12/fat16-specific ones. Add some new fields, including
20606 `num_serial' for both versions.
20607 (struct grub_fat_data): Add `uuid' member.
20608 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
20609 names. Initialize `data->uuid' using `num_serial'.
20610 (grub_fat_uuid): New function.
20611 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
20612
20613 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
20614 (grub_reiserfs_uuid): New function.
20615 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
20616 member.
20617
20618 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
20619 (grub_xfs_uuid): New function.
20620 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
20621
20622 2008-06-01 Robert Millan <rmh@aybabtu.com>
20623
20624 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
20625 code that is backward compatible with pre-uuid search command.
20626
20627 2008-05-31 Robert Millan <rmh@aybabtu.com>
20628
20629 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
20630 floppies after everything else, to ensure floppy drive isn't accessed
20631 unnecessarily (patch from Bean).
20632
20633 2008-05-31 Robert Millan <rmh@aybabtu.com>
20634
20635 * commands/search.c (search_label, search_fs_uuid, search_file): Do
20636 not print device names when we were asked to set a variable.
20637
20638 2008-05-31 Robert Millan <rmh@aybabtu.com>
20639
20640 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
20641 using "cursor-on" and "cursor-off" commands (understood at least by
20642 the Open Firmware flavour on OLPC).
20643
20644 2008-05-31 Michael Gorven <michael@gorven.za.net>
20645
20646 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
20647 on and off sequences.
20648
20649 2008-05-31 Robert Millan <rmh@aybabtu.com>
20650
20651 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
20652 * util/update-grub.in: Likewise.
20653
20654 2008-05-30 Pavel Roskin <proski@gnu.org>
20655
20656 * util/biosdisk.c (linux_find_partition): Simplify logic and
20657 make the code more universal. Keep special processing for
20658 devfs, but use a simple rule for all other devices. If the
20659 device ends with a number, append 'p' and the partition number.
20660 Otherwise, append only the partition number.
20661
20662 2008-05-30 Robert Millan <rmh@aybabtu.com>
20663
20664 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
20665 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
20666 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
20667 the `root' parameter to Linux.
20668
20669 2008-05-30 Robert Millan <rmh@aybabtu.com>
20670
20671 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
20672 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
20673 --fs_uuid with --fs-uuid.
20674 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
20675 all filesystems support them).
20676
20677 2008-05-30 Robert Millan <rmh@aybabtu.com>
20678
20679 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
20680 grub_printf() flags, since we're printing in units of 2 bytes.
20681
20682 2008-05-30 Robert Millan <rmh@aybabtu.com>
20683
20684 * util/grub.d/00_header.in: Remove obsolete comment referencing
20685 convert_system_path_to_grub_path().
20686 * util/update-grub.in: Likewise.
20687 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
20688 (convert_system_path_to_grub_path): Add a warning message explaining
20689 that this function is deprecated. Rely on is_path_readable_by_grub()
20690 for the readability checks.
20691 (font_path): Use is_path_readable_by_grub() for the readability
20692 check rather than convert_system_path_to_grub_path().
20693
20694 2008-05-30 Robert Millan <rmh@aybabtu.com>
20695
20696 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
20697 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
20698 converting it first.
20699 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
20700 grub.cfg for access to font file, and afterwards call it again to set
20701 the root device.
20702
20703 2008-05-30 Robert Millan <rmh@aybabtu.com>
20704
20705 * commands/search.c (options): Add --fs_uuid option.
20706 (search_fs_uuid): New function.
20707 (grub_cmd_search): Fix --set argument passing.
20708 Use search_fs_uuid() when requested via --fs_uuid.
20709 (grub_search_init): Update help message.
20710 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
20711 and redeclare it as an array of 16-bit words.
20712 (grub_ext2_uuid): New function.
20713 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
20714 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
20715 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
20716 (GRUB_DEVICE_BOOT_UUID): New variables.
20717 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
20718 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
20719 whenever possible.
20720 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
20721 just assume `root' variable has the right value.
20722 * util/grub.d/10_linux.in: Likewise.
20723 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
20724 via PRINT_FS_UUID.
20725 (main): Recognise `-t fs_uuid' argument.
20726
20727 2008-05-30 Robert Millan <rmh@aybabtu.com>
20728
20729 * util/biosdisk.c (map): Redefine structure to hold information
20730 about GRUB drive name.
20731 (get_drive): Reimplement without assuming (and verifying) BIOS-like
20732 drive names.
20733 (call_hook): Remove.
20734 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
20735 member. Assume drive has partitions.
20736 (grub_util_biosdisk_open): Access device names via `.device' struct
20737 member.
20738 (open_device): Likewise.
20739 (find_drive): Likewise.
20740 (read_device_map): Adjust map[] usage to match the new struct
20741 definition. Don't check for duplicates (still possible, but not cheap
20742 anymore).
20743 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
20744 (make_device_name): Remove assumption of BIOS-like drive names.
20745
20746 2008-05-30 Pavel Roskin <proski@gnu.org>
20747
20748 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
20749 compiling execute.c doesn't need grub_script.tab.h anymore.
20750 (normal/command.c_DEPENDENCIES): Likewise.
20751 (normal/function.c_DEPENDENCIES): Likewise.
20752 * conf/i386-ieee1275.rmk: Likewise.
20753 * conf/i386-linuxbios.rmk: Likewise.
20754 * conf/i386-pc.rmk: Likewise.
20755 * conf/powerpc-ieee1275.rmk: Likewise.
20756 * conf/sparc64-ieee1275.rmk: Likewise.
20757
20758 2008-05-29 Pavel Roskin <proski@gnu.org>
20759
20760 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
20761 when scanning metadata for volume group name.
20762
20763 * include/grub/script.h: Don't include grub_script.tab.h. It's
20764 a generated file, which may only be included from the files with
20765 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
20766 use union YYSTYPE, as the later allows forward declaration.
20767 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
20768
20769 2008-05-29 Robert Millan <rmh@aybabtu.com>
20770
20771 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
20772 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
20773 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
20774 (grub_console_checkkey): Add grub_dprintf() call to report unknown
20775 scan codes.
20776
20777 2008-05-29 Robert Millan <rmh@aybabtu.com>
20778
20779 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
20780 control key combinations.
20781
20782 2008-05-29 Robert Millan <rmh@aybabtu.com>
20783
20784 * util/powerpc/ieee1275/grub-install.in: Move from here ...
20785 * util/ieee1275/grub-install.in: ... to here.
20786 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
20787 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
20788 (grub_install_SOURCES): Likewise.
20789
20790 2008-05-29 Robert Millan <rmh@aybabtu.com>
20791
20792 * fs/affs.c: Update copyright year.
20793 * fs/ext2.c: Likewise.
20794 * fs/fshelp.c: Likewise.
20795 * fs/hfsplus.c: Likewise.
20796 * fs/ntfs.c: Likewise.
20797 * fs/xfs.c: Likewise.
20798 * include/grub/fshelp.h: Likewise.
20799 * util/grub-mkdevicemap.c: Likewise.
20800
20801 2008-05-28 Robert Millan <rmh@aybabtu.com>
20802
20803 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
20804 might need to be fatfs to support some firmware implementations
20805 (e.g. OFW or EFI).
20806
20807 2008-05-28 Robert Millan <rmh@aybabtu.com>
20808
20809 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
20810 devices.
20811 * util/grub-mkdevicemap.c (get_mmc_disk_name)
20812 (make_device_map): Likewise.
20813
20814 2008-05-20 Bean <bean123ch@gmail.com>
20815
20816 * fs/fshelp.c (grub_fshelp_map_block): New function.
20817 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
20818 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
20819
20820 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
20821 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
20822 (grub_fshelp_journal): New structure.
20823 (grub_fshelp_map_block): New function prototype.
20824 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
20825 (grub_fshelp_map_block): Likewise.
20826
20827 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
20828 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
20829 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
20830 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
20831 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
20832 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
20833 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
20834 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
20835 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
20836 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
20837 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
20838 (grub_ext2_sblock): New members for journal support.
20839 (grub_ext3_journal_header): New structure.
20840 (grub_ext3_journal_revoke_header): Likewise.
20841 (grub_ext3_journal_block_tag): Likewise.
20842 (grub_ext3_journal_sblock): Likewise.
20843 (grub_fshelp_node): New members logfile and journal.
20844 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
20845 grub_fshelp_map_block to get real block number.
20846 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
20847 number.
20848 (grub_ext2_read_inode): Likewise.
20849 (grub_ext3_get_journal): New function.
20850 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
20851 (grub_ext2_close): Release memory used by journal.
20852
20853 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
20854 (REISERFS_MAGIC_DESC_BLOCK): New macro.
20855 (grub_reiserfs_transaction_header): Renamed to
20856 grub_reiserfs_description_block, replace field data with real_blocks.
20857 (grub_reiserfs_commit_block): New structure.
20858 (grub_reiserfs_data): New member journal.
20859 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
20860 number.
20861 (grub_reiserfs_read_symlink): Likewise.
20862 (grub_reiserfs_iterate_dir): Likewise.
20863 (grub_reiserfs_open): Likewise.
20864 (grub_reiserfs_read): Likewise.
20865 (grub_reiserfs_get_journal): New function.
20866 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
20867 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
20868 using grub_reiserfs_get_journal.
20869 (grub_reiserfs_close): Release memory used by journal.
20870
20871 * fs/affs.c (grub_affs_read_block): Change block type to
20872 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
20873
20874 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
20875
20876 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
20877
20878 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
20879
20880 * fs/udf.c (grub_udf_read_block): Change block type to
20881 grub_disk_addr_t. Use type cast to avoid warning.
20882
20883 * fs/xfs.c (grub_xfs_read_block): Likewise.
20884
20885 2008-05-16 Christian Franke <franke@computer.org>
20886
20887 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
20888 to ensure that break with ESC will always work.
20889 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
20890 Remove ESC from keyboard queue.
20891
20892 2008-05-16 Christian Franke <franke@computer.org>
20893
20894 * util/biosdisk.c: [__CYGWIN__] Add includes.
20895 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
20896 (get_os_disk): Move variable declarations to OS specific
20897 parts to avoid warning.
20898 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
20899 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
20900 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
20901 Cygwin.
20902 * util/getroot.c: [__CYGWIN__] Add includes.
20903 (strip_extra_slashes): Fix "/" case.
20904 [__CYGWIN__] (get_win32_path): New function.
20905 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
20906 [__CYGWIN__] (find_root_device): Disable.
20907 [__CYGWIN__] (get_bootsec_serial): New function.
20908 [__CYGWIN__] (find_cygwin_root_device): Likewise.
20909 [__linux__] (grub_guess_root_device): Add early returns to simplify
20910 structure.
20911 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
20912 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
20913 check for Linux only.
20914
20915 2008-05-15 Bean <bean123ch@gmail.com>
20916
20917 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
20918 keyboard hang problem in apple's intel mac.
20919
20920 2008-05-09 Robert Millan <rmh@aybabtu.com>
20921
20922 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
20923 devices.
20924 * util/grub-mkdevicemap.c (get_virtio_disk_name)
20925 (make_device_map): Likewise.
20926 Reported by Aurelien Jarno <aurel32@debian.org>
20927
20928 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
20929
20930 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
20931 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
20932 (make_device_map): Output entries for xvd type disks.
20933
20934 2008-05-07 Robert Millan <rmh@aybabtu.com>
20935
20936 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
20937 devices.
20938 * util/grub-mkdevicemap.c (get_cciss_disk_name)
20939 (make_device_map): Likewise.
20940 Reported by Roland Dreier <rdreier@cisco.com>
20941
20942 2008-05-07 Robert Millan <rmh@aybabtu.com>
20943
20944 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
20945 grub_strstr() call. Correct a few mistakes in failure path handling.
20946
20947 2008-05-06 Robert Millan <rmh@aybabtu.com>
20948
20949 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
20950 Do not print a trailing slash (therefore, the root directory is an
20951 empty string).
20952 (convert_system_path_to_grub_path): Do not remove trailing slash
20953 from make_system_path_relative_to_its_root() output.
20954
20955 * util/i386/pc/grub-install.in: Add trailing slash to output from
20956 make_system_path_relative_to_its_root().
20957
20958 2008-05-06 Robert Millan <rmh@aybabtu.com>
20959
20960 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
20961 ensures that output lines aren't intermangled with those sent to
20962 stderr (via grub_util_info()).
20963 * util/grub-probe.c (grub_refresh): Likewise.
20964 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
20965
20966 2008-05-05 Christian Franke <franke@computer.org>
20967
20968 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
20969 Add Cygwin device names.
20970 (get_ide_disk_name) [__CYGWIN__]: Likewise.
20971 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
20972 (check_device): Return error instead of success on empty name.
20973 (make_device_map): Move label inside linux specific code to
20974 prevent compiler warning.
20975
20976 2008-04-30 Robert Millan <rmh@aybabtu.com>
20977
20978 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
20979 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
20980 first boot option.
20981 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
20982
20983 2008-04-29 Robert Millan <rmh@aybabtu.com>
20984
20985 * docs/grub.cfg: New file (example GRUB configuration).
20986
20987 2008-04-26 Robert Millan <rmh@aybabtu.com>
20988
20989 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
20990 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
20991 and `disk/ieee1275/nand.c'.
20992
20993 2008-04-25 Bean <bean123ch@gmail.com>
20994
20995 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
20996 i386-linuxbios.
20997
20998 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
20999 change the buffer size to 4096 for cdrom device.
21000
21001 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
21002 and nand.mod.
21003 (_linux_mod_SOURCES): New variable.
21004 (_linux_mod_CFLAGS): Likewise.
21005 (_linux_mod_LDFLAGS): Likewise.
21006 (linux_mod_SOURCES): Likewise.
21007 (linux_mod_CFLAGS): Likewise.
21008 (linux_mod_LDFLAGS): Likewise.
21009 (nand_mod_SOURCES): Likewise.
21010 (nand_mod_CFLAGS): Likewise.
21011 (nand_mod_LDFLAGS): Likewise.
21012
21013 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
21014 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
21015 type property. (nand device in olpc don't have this property)
21016
21017 * include/grub/disk.h (grub_disk_dev_id): New macro
21018 GRUB_DISK_DEVICE_NAND_ID.
21019
21020 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
21021 function prototype.
21022 (grub_rescue_cmd_initrd): Likewise.
21023
21024 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
21025 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
21026 ofw_cif_handler and ofw_idt, adjust padding number.
21027
21028 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
21029 GRUB_MACHINE_IEEE1275 is defined.
21030
21031 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
21032 Use NESTED_FUNC_ATTR attribute on the hook parameter.
21033
21034 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
21035 on nested function heap_init.
21036 (grub_upper_mem): New variable for i386-ieee1275.
21037 (grub_get_extended_memory): New function for i386-ieee1275.
21038 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
21039
21040 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
21041 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
21042 property.
21043
21044 * loader/i386/ieee1275/linux.c: New file.
21045
21046 * loader/i386/ieee1275/linux_normal.c: New file.
21047
21048 * disk/ieee1275/nand.c: New file.
21049
21050 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
21051
21052 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
21053 value.
21054 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
21055
21056 2008-04-18 Robert Millan <rmh@aybabtu.com>
21057
21058 Restructures early code path on ieee1275 to unify grub_main() as
21059 the first C function that is executed in every platform.
21060
21061 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
21062 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
21063 cmain().
21064 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
21065 * kern/ieee1275/cmain.c (cmain): Rename to ...
21066 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
21067 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
21068 at the beginning.
21069
21070 2008-04-18 Robert Millan <rmh@aybabtu.com>
21071
21072 * util/update-grub.in: Fix syntax error when setting
21073 `GRUB_PRELOAD_MODULES'.
21074 Reported by Stephane Chazelas <stephane@artesyncp.com>
21075
21076 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
21077
21078 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
21079 section into account, newer toolchains generate unique build ids
21080 * configure.ac: remove the test for --build-id=none acceptance,
21081 we want build ids to be preserved
21082 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
21083 far from other sections don't cause the raw binary images grow
21084 size
21085
21086 2008-04-15 Robert Millan <rmh@aybabtu.com>
21087
21088 * disk/lvm.c: Update copyright year.
21089 * kern/misc.c: Likewise.
21090
21091 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
21092
21093 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
21094 there is no memory left for physical volume name.
21095
21096 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
21097
21098 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
21099 volume name mapping to support bigger than 9 character names properly.
21100
21101 2008-04-13 Robert Millan <rmh@aybabtu.com>
21102
21103 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
21104 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
21105
21106 2008-04-13 Christian Franke <franke@computer.org>
21107
21108 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
21109 to create a floppy emulation boot CD when non emulation mode
21110 does not work.
21111 Enable Joliet CD filesystem extension.
21112
21113 2008-04-13 Robert Millan <rmh@aybabtu.com>
21114
21115 * kern/misc.c (grub_strncat): Fix off-by-one error.
21116 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
21117
21118 * kern/env.c (grub_env_context_close): Clear current context, not
21119 previous one.
21120 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
21121
21122 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
21123
21124 2008-04-13 Robert Millan <rmh@aybabtu.com>
21125
21126 Improve robustness when handling LVM.
21127
21128 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
21129 (and leave `*p' unmodified).
21130 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
21131 through it.
21132 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
21133 iterating through it.
21134 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
21135 through it.
21136 (grub_lvm_scan_device): Check the return value (and fail gracefully
21137 when due) on each grub_lvm_getvalue() or grub_strstr() call.
21138 Don't assume `vg->pvs != NULL' when iterating through it.
21139
21140 2008-04-13 Robert Millan <rmh@aybabtu.com>
21141
21142 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
21143 * genmk.rb (partmap): New variable.
21144 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
21145 (#{partmap}): New target rule.
21146 * genpartmaplist.sh: New file.
21147 * Makefile.in (pkglib_DATA): Add partmap.lst.
21148 (partmap.lst): New target rule.
21149 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
21150 modules (including all partition maps), instead of preloading them.
21151
21152 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
21153
21154 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
21155 `linux-boot-prober' (if installed) to detect other operating
21156 systems which are installed on the computer and add them to
21157 the boot menu.
21158 * conf/common.rmk: Build and install 30_os-prober.
21159
21160 2008-04-12 Robert Millan <rmh@aybabtu.com>
21161
21162 * kern/powerpc/ieee1275/init.c: Move from here ...
21163 * kern/ieee1275/init.c: ... to here. Update all users.
21164
21165 * kern/powerpc/ieee1275/cmain.c: Move from here ...
21166 * kern/ieee1275/cmain.c: ... to here. Update all users.
21167
21168 * kern/powerpc/ieee1275/openfw.c: Move from here ...
21169 * kern/ieee1275/openfw.c: ... to here. Update all users.
21170
21171 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
21172 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
21173
21174 2008-04-10 Pavel Roskin <proski@gnu.org>
21175
21176 * configure.ac: Always use "_cv_" in cache variables for
21177 compatibility with Autoconf 2.62.
21178
21179 2008-04-07 Robert Millan <rmh@aybabtu.com>
21180
21181 Revert grub/machine/init.h addition by Pavel (since it breaks on
21182 i386-ieee1275 and others):
21183 * util/i386/pc/misc.c: Remove grub/machine/init.h.
21184 * util/powerpc/ieee1275/misc.c: Likewise.
21185
21186 2008-04-07 Robert Millan <rmh@aybabtu.com>
21187
21188 * util/grub-probe.c (probe): Improve error message.
21189
21190 2008-04-07 Robert Millan <rmh@aybabtu.com>
21191
21192 * util/biosdisk.c (read_device_map): Skip devices that don't exist
21193 (this prevents the presence of a bogus entry from ruining the whole
21194 thing).
21195
21196 2008-04-06 Pavel Roskin <proski@gnu.org>
21197
21198 * util/biosdisk.c: Include grub/util/biosdisk.h.
21199 * util/grub-fstest.c (execute_command): Make static.
21200 * util/grub-mkdevicemap.c (check_device): Likewise.
21201 * util/i386/pc/misc.c: Include grub/machine/init.h.
21202 * util/powerpc/ieee1275/misc.c: Likewise.
21203 * util/lvm.c: Include grub/util/lvm.h.
21204 * util/misc.c: Include grub/kernel.h, grub/misc.h and
21205 grub/cache.h.
21206 * util/raid.c: Include grub/util/raid.h.
21207 (grub_util_getdiskname): Make static.
21208
21209 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
21210 grub_hostfs_fini(), as they are called from grub_init_all() and
21211 grub_fini_all() respectively. This fixes an infinite loop in
21212 grub-fstest due to double registration of hostfs.
21213 Reported by Christian Franke <Christian.Franke@t-online.de>
21214
21215 2008-04-05 Pavel Roskin <proski@gnu.org>
21216
21217 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
21218 all 8 functions. Otherwise, probe function 0 only.
21219
21220 2008-04-04 Pavel Roskin <proski@gnu.org>
21221
21222 * commands/lspci.c (grub_lspci_iter): Print the bus number
21223 correctly.
21224
21225 * commands/lspci.c (grub_pci_classes): Fix typos.
21226 (grub_lspci_iter): Don't print func twice. Print vendor ID
21227 before device ID, as it's normally done.
21228
21229 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
21230 Fix signedness warnings.
21231 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
21232 Likewise.
21233 * util/ieee1275/get_disk_name.c: Include config.h so that
21234 _GNU_SOURCE is defined and getline() is declared. Mark an
21235 unused argument as such. Fix a signedness warning.
21236
21237 2008-04-02 Pavel Roskin <proski@gnu.org>
21238
21239 * genkernsyms.sh.in: Use more robust assignments for CC and
21240 srcdir. Quote srcdir.
21241 * gensymlist.sh.in: Likewise. Assert at the compile time that
21242 the symbol table is not empty.
21243
21244 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
21245 * fs/cpio.c (grub_cpio_read): Likewise.
21246
21247 2008-04-01 Pavel Roskin <proski@gnu.org>
21248
21249 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
21250 * disk/host.c (grub_host_open): Likewise.
21251 * disk/loopback.c (grub_loopback_open): Likewise.
21252 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
21253 disk->id as in disk/host.c, not a multi-character constant.
21254
21255 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
21256 later is obsolete, potentially dangerous and sets a bad example.
21257 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
21258 * util/misc.c (grub_util_get_image_size): Likewise.
21259
21260 * disk/loopback.c (options): Improve help for "--partitions".
21261
21262 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
21263 options to align them with the short options, e.g. "echo -e".
21264
21265 2008-03-31 Bean <bean123ch@gmail.com>
21266
21267 * video/reader/png.c (grub_png_data): New member is_16bit and
21268 image_data.
21269 (grub_png_decode_image_header): Detect 16 bit png image.
21270 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
21271 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
21272 (grub_video_reader_png): Release memory occupied by image_data.
21273
21274 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
21275 4096 bytes.
21276 (grub_nfs_mount): Skip the test for sector per cluster.
21277
21278 * include/grub/ntfs.h (MAX_SPC): Removed.
21279
21280 2008-03-31 Bean <bean123ch@gmail.com>
21281
21282 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
21283 (grub_probe_SOURCES): Add fs/afs.c.
21284 (grub_fstest_SOURCES): Likewise.
21285 (afs_mod_SOURCES): New variable.
21286 (afs_mod_CFLAGS): Likewise.
21287 (afs_mod_LDFLAGS): Likewise.
21288
21289 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
21290 (grub_emu_SOURCES): Likewise.
21291
21292 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21293
21294 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21295
21296 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21297
21298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21299
21300 * fs/afs.c: New file.
21301
21302 2008-03-30 Pavel Roskin <proski@gnu.org>
21303
21304 * disk/host.c: Include grub/misc.h to fix a warning.
21305 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
21306 warnings about implicit declarations.
21307
21308 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
21309 variable.
21310 * include/grub/i386/loader.h: Change declaration of
21311 grub_linux_boot() to match what grub_loader_set() expects.
21312 * util/getroot.c (grub_guess_root_device): Return const char* to
21313 fix a warning.
21314 * util/grub-probe.c (probe): Fix a warning about uninitialized
21315 abstraction_name variable.
21316 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
21317 second argument as unused to fix a warning.
21318
21319 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
21320 missing grub_error() call.
21321
21322 * util/update-grub_lib.in: Define datarootdir, since Autoconf
21323 2.60 and newer uses it to define datadir.
21324
21325 * commands/sleep.c: Fix warning about implicit declaration.
21326 * disk/memdisk.c: Likewise.
21327 * loader/aout.c: Likewise.
21328 * loader/i386/bsd_normal.c: Likewise.
21329 * util/grub-probe.c: Likewise.
21330
21331 * commands/i386/cpuid.c (has_longmode): Make static.
21332 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
21333 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
21334
21335 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
21336 GDT. This is more robust, as %ds can change.
21337 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
21338 calling real_to_prot().
21339 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
21340
21341 2008-03-28 Pavel Roskin <proski@gnu.org>
21342
21343 * kern/i386/pc/startup.S: Assert that uncompressed functions
21344 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
21345 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
21346 code, as they push parts of the code (error handlers) beyond
21347 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
21348 code as correctness and size.
21349
21350 2008-03-28 Pavel Roskin <proski@gnu.org>
21351
21352 * kern/i386/pc/startup.S
21353 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
21354 data block address to the real mode, keep offset minimal. This
21355 works around a bug in AWARD BIOS on old Athlon systems, which
21356 makes CD detection hang.
21357
21358 2008-03-26 Pavel Roskin <proski@gnu.org>
21359
21360 * normal/color.c (grub_parse_color_name_pair): Make `name' a
21361 const.
21362 * include/grub/normal.h: Add grub_parse_color_name_pair()
21363 declaration.
21364
21365 2008-03-24 Bean <bean123ch@gmail.com>
21366
21367 * disk/i386/pc/biosdisk.c (cd_start): Removed.
21368 (cd_count): Removed.
21369 (cd_drive): New variable.
21370 (grub_biosdisk_get_drive): Don't check for (cdN) device.
21371 (grub_biosdisk_call_hook): Likewise.
21372 (grub_biosdisk_iterate): Change cdrom detection method.
21373 (grub_biosdisk_open): Replace cd_start with cd_drive.
21374 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
21375 detect cdrom device.
21376
21377 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
21378 Removed.
21379 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
21380 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
21381 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
21382 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
21383 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
21384 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
21385 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
21386 (grub_biosdisk_cdrp): New structure.
21387 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
21388
21389 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
21390
21391 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
21392 device.
21393
21394 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
21395 New function.
21396
21397 2008-03-20 Robert Millan <rmh@aybabtu.com>
21398
21399 Remove 2 TiB limit in ata.mod.
21400 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
21401 (grub_ata_dumpinfo): Print sector count with 0x%llx.
21402 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
21403 grub_uint64_t instead of grub_uint32_t.
21404
21405 2008-03-05 Bean <bean123ch@gmail.com>
21406
21407 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
21408 (grub_multiboot): Set boot device.
21409
21410 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
21411
21412 2008-03-02 Bean <bean123ch@gmail.com>
21413
21414 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
21415 symlink_buffer.
21416
21417 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
21418
21419 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
21420 texinfo.tex.
21421
21422 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
21423 modified.
21424
21425 * docs/fdl.texi: New file.
21426
21427 * docs/mdate-sh: New file. Copied from gnulib.
21428 * docs/texinfo.tex: Likewise.
21429
21430 * config.guess: Updated from gnulib.
21431 * install-sh: Likewise.
21432
21433 2008-02-28 Robert Millan <rmh@aybabtu.com>
21434
21435 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
21436 (aout_mod_SOURCES): New variable.
21437 (aout_mod_CFLAGS): Likewise.
21438 (aout_mod_LDFLAGS): Likewise.
21439
21440 * conf/i386-ieee1275.rmk: Likewise.
21441
21442 2008-02-28 Robert Millan <rmh@aybabtu.com>
21443
21444 * util/update-grub.in: Reorganise terminal validity check. Accept
21445 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
21446 Based on suggestion by Franklin PIAT.
21447
21448 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
21449
21450 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
21451 function.
21452 * util/getroot.c (grub_util_check_block_device): New function that
21453 returns the given argument if it is a block device and returns NULL else.
21454 * util/grub-probe.c (argument_is_device): New variable.
21455 (probe): Promote device_name from a variable to an argument. Receive
21456 device_name from grub_util_check_block_device() if path is NULL and from
21457 grub_guess_root_device() else. Do not free() device_name anymore.
21458 (options): Introduce new parameter '-d, --device'.
21459 (main): Add description of the new parameter to the help screen.
21460 Rename path variable to argument. Set argument_is_device if the '-d'
21461 option is given. Pass argument to probe() depending on
21462 argument_is_device.
21463
21464 2008-02-24 Bean <bean123ch@gmail.com>
21465
21466 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
21467 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
21468 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
21469 (GRUB_ISO9660_VOLDESC_PART): Likewise.
21470 (GRUB_ISO9660_VOLDESC_END): Likewise.
21471 (grub_iso9660_primary_voldesc): New member escape.
21472 (grub_iso9660_data): New member joliet.
21473 (grub_iso9660_convert_string): New function.
21474 (grub_iso9660_mount): Detect joliet extension.
21475 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
21476 (grub_iso9660_iso9660_label): Likewise.
21477
21478 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
21479 (grub_setup_SOURCES): Add fs/udf.c.
21480 (grub_fstest_SOURCES): Likewise.
21481 (udf_mod_SOURCES): New variable.
21482 (udf_mod_CFLAGS): Likewise.
21483 (udf_mod_LDFLAGS): Likewise.
21484
21485 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
21486 (grub_emu_SOURCES): Likewise.
21487
21488 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21489
21490 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21491
21492 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21493
21494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21495
21496 * fs/udf.c: New file.
21497
21498 2008-02-24 Robert Millan <rmh@aybabtu.com>
21499
21500 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
21501 (normal/lexer.c_DEPENDENCIES): New variables.
21502 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
21503 (normal/lexer.c_DEPENDENCIES): Likewise.
21504 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
21505 (normal/lexer.c_DEPENDENCIES): Likewise.
21506 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
21507 (normal/lexer.c_DEPENDENCIES): Likewise.
21508 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
21509 (normal/lexer.c_DEPENDENCIES): Likewise.
21510 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
21511 (normal/lexer.c_DEPENDENCIES): Likewise.
21512
21513 2008-02-23 Robert Millan <rmh@aybabtu.com>
21514
21515 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
21516 since they were intended to be in hex. This didn't break previously
21517 because of a bug in gpt_partition_map_iterate() (see below).
21518
21519 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
21520 when checking the validity of GPT header.
21521 Remove `partno', since it always provides the same information as `i'.
21522
21523 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
21524
21525 * include/grub/efi/time.h: Fix a wrong comment.
21526
21527 2008-02-19 Pavel Roskin <proski@gnu.org>
21528
21529 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
21530 message.
21531
21532 2008-02-19 Bean <bean123ch@gmail.com>
21533
21534 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
21535 (aout_mod_SOURCES): New variable.
21536 (aout_mod_CFLAGS): Likewise.
21537 (aout_mod_LDFLAGS): Likewise.
21538 (_bsd_mod_SOURCES): New variable.
21539 (_bsd_mod_CFLAGS): Likewise.
21540 (_bsd_mod_LDFLAGS): Likewise.
21541 (bsd_mod_SOURCES): New variable.
21542 (bsd_mod_CFLAGS): Likewise.
21543 (bsd_mod_LDFLAGS): Likewise.
21544
21545 * include/grub/aout.h: New file.
21546
21547 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
21548
21549 * include/grub/i386/bsd.h: New file.
21550
21551 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
21552 to make it public.
21553
21554 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
21555 function is called, so that it's possible to change it inside the hook.
21556 (grub_elf64_load): Likewise.
21557 (grub_elf_file): Don't close the file if elf header is not found.
21558 (grub_elf_close): Close the file if grub_elf_file fails (The new
21559 grub_elf_file won't close it).
21560 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
21561 (grub_elf64_size): Likewise.
21562
21563 * kern/i386/loader.S (grub_unix_real_boot): New function.
21564
21565 * loader/aout.c: New file.
21566
21567 * loader/i386/bsd.c: New file.
21568
21569 * loader/i386/bsd_normal.c: New file.
21570
21571 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
21572
21573 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
21574 can test other formats.
21575
21576 2008-02-19 Robert Millan <rmh@aybabtu.com>
21577
21578 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
21579 (grub_gpt_partition_type_empty): Redefine with macro from
21580 `<grub/gpt_partition.h>'.
21581 (gpt_partition_map_iterate): Adjust partition type comparison.
21582
21583 Export `entry' as partmap-specific `part.data' struct.
21584 (grub_gpt_header, grub_gpt_partentry): Move from here ...
21585
21586 * include/grub/gpt_partition.h (grub_gpt_header)
21587 (grub_gpt_partentry): ... to here (new file).
21588
21589 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
21590
21591 (grub_gpt_partition_type_bios_boot): New const variable, defined
21592 with macro from `<grub/gpt_partition.h>'.
21593
21594 (setup): Replace `first_start' with `embed_region', which keeps
21595 track of the embed region (and is partmap-agnostic).
21596
21597 Replace find_first_partition_start() with find_usable_region(),
21598 which finds a usable region for embedding using partmap-specific
21599 knowledge (supports PC/MSDOS and GPT).
21600
21601 Fix all assumptions that the embed region start at sector 1, using
21602 `embed_region.start' from now on. Similarly, use `embed_region.end'
21603 rather than `first_start' to calculate available size.
21604
21605 In grub_util_info() message, replace "into after the MBR" with an
21606 indication of the specific sector our embed region starts at.
21607
21608 2008-02-19 Robert Millan <rmh@aybabtu.com>
21609
21610 * DISTLIST: Replace `commands/ieee1275/halt.c' and
21611 `commands/ieee1275/reboot.c' with `commands/halt.c' and
21612 `commands/reboot.c'.
21613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
21614 (halt_mod_SOURCES): Likewise.
21615 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
21616 (halt_mod_SOURCES): Likewise.
21617
21618 2008-02-17 Christian Franke <franke@computer.org>
21619
21620 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
21621
21622 2008-02-17 Robert Millan <rmh@aybabtu.com>
21623
21624 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
21625 set `first_start' to 0 for non-PC/MSDOS partition maps.
21626
21627 2008-02-16 Robert Millan <rmh@aybabtu.com>
21628
21629 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
21630 do not assume partition map is PC/MSDOS before performing checks that
21631 are specific to that layout.
21632
21633 2008-02-13 Robert Millan <rmh@aybabtu.com>
21634
21635 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
21636 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
21637 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
21638
21639 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
21640
21641 * configure.ac: Only a cosmetic change on the handling of
21642 -fno-stack-protector.
21643
21644 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
21645
21646 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
21647 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
21648 reboot.c.
21649 (grub_install_SOURCES): Add halt.mod and reboot.mod.
21650 (halt_mod_SOURCES): New variable.
21651 (halt_mod_CFLAGS): Likewise.
21652 (halt_mod_LDFLAGS): Likewise.
21653 (reboot_mod_SOURCES): Likewise.
21654 (reboot_mod_CFLAGS): Likewise.
21655 (reboot_mod_LDFLAGS): Likewise.
21656
21657 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
21658 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
21659 reboot.c.
21660 (halt_mod_SOURCES): Likewise.
21661 (reboot_mod_SOURCES): Likewise.
21662
21663 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
21664 commands/i386/pc/reboot.c by commands/reboot.c.
21665 (reboot_mod_SOURCES): Likewise.
21666
21667 * commands/i386/pc/reboot.c: merge this file ...
21668
21669 * commands/ieee1275/reboot.c: ... and this file ...
21670
21671 * commands/reboot.c: ... to this file.
21672 Add some precompiler directive to include the correct header for
21673 each machine.
21674
21675 * commands/ieee1275/halt.c: move this file ...
21676
21677 * commands/halt.c: ... to here.
21678 Add some precompiler directive to include the correct header for
21679 each machine.
21680
21681 * include/grub/efi/efi.h (grub_reboot): New function declaration.
21682 (grub_halt): Likewise.
21683
21684 * kern/efi/efi.c (grub_reboot): New function.
21685 (grub_halt): Likewise.
21686
21687 2008-02-12 Robert Millan <rmh@aybabtu.com>
21688
21689 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
21690 /dev (like it is done for /dev/mapper). This doesn't provide support
21691 for EVMS, but at least it is now easy to identify the problem when it
21692 arises.
21693
21694 2008-02-11 Robert Millan <rmh@aybabtu.com>
21695
21696 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
21697 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
21698 comparing it with -1, not 0.
21699
21700 2008-02-10 Robert Millan <rmh@aybabtu.com>
21701
21702 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
21703 `disk/lvm.c'.
21704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21705 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21706
21707 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
21708 `disk/lvm.c' to the end of the list.
21709 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21710 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21711
21712 2008-02-10 Robert Millan <rmh@aybabtu.com>
21713
21714 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
21715 grub_print_error() instead. This will let user know why we're entering
21716 rescue mode.
21717 Based on suggestions from Sam Morris.
21718
21719 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
21720
21721 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
21722 on remaining N args, instead of "--" arg N times.
21723
21724 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
21725
21726 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
21727 (fill_with_default_glyph): Changed to use unknown_glyph for fill
21728 pattern for unknown glyphs.
21729
21730 2008-02-09 Robert Millan <rmh@aybabtu.com>
21731
21732 * configure.ac: Probe for `help2man'.
21733 * Makefile.in (builddir): New variable.
21734 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
21735 or otherwise add a few flags/options to it.
21736 (install-local): For every executable utility or script that is
21737 installed, invoke $(HELP2MAN) to install a manpage based on --help
21738 output.
21739
21740 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
21741 that it doesn't prevent --help from working in build tree.
21742
21743 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
21744 with `bug-grub@gnu.org'.
21745 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
21746 * util/update-grub.in (usage): New function.
21747 Implement proper argument check, with support for --help and --version
21748 (as well as existing -y).
21749
21750 2008-02-09 Christian Franke <franke@computer.org>
21751
21752 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
21753 avoid overwriting previous output.
21754 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
21755
21756 2008-02-09 Robert Millan <rmh@aybabtu.com>
21757
21758 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
21759 drawing the menu.
21760
21761 2008-02-09 Robert Millan <rmh@aybabtu.com>
21762
21763 * commands/sleep.c: New file.
21764 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
21765 (sleep_mod_SOURCES): New variable.
21766 (sleep_mod_CFLAGS): Likewise.
21767 (sleep_mod_LDFLAGS): Likewise.
21768
21769 2008-02-09 Robert Millan <rmh@aybabtu.com>
21770
21771 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
21772 situations in which we can deduce the RAID size and the superblock
21773 doesn't match it.
21774
21775 2008-02-09 Robert Millan <rmh@aybabtu.com>
21776
21777 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
21778 and return a grub_diskmemberlist_t composed of LVM physical volumes.
21779 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
21780
21781 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
21782 and return a grub_diskmemberlist_t composed of physical array members.
21783 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
21784
21785 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
21786 prototype.
21787 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
21788 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
21789 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
21790
21791 * util/grub-probe.c (probe): Move partmap probing code from here ...
21792 (probe_partmap): ... to here.
21793 (probe): Use probe_partmap() once for the disk we're probing, and
21794 additionally, when such disk contains a memberlist() struct member,
21795 once for each disk that is contained in the structure returned by
21796 memberlist().
21797
21798 2008-02-09 Robert Millan <rmh@aybabtu.com>
21799
21800 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
21801 environment variable to 'all' in order to obtain debug output from
21802 non-util/ code.
21803 * util/i386/pc/grub-setup.c (main): Likewise.
21804
21805 2008-02-08 Robert Millan <rmh@aybabtu.com>
21806
21807 * disk/raid.c (grub_raid_scan_device): Check for
21808 `array->device[sb.this_disk.number]' rather than for
21809 `array->device[sb.this_disk.number]->name', since the latter is not
21810 guaranteed to be accessible.
21811
21812 2008-02-08 Robert Millan <rmh@aybabtu.com>
21813
21814 * disk/raid.c: Update copyright.
21815 * fs/cpio.c: Likewise.
21816 * include/grub/raid.h: Likewise.
21817 * loader/i386/pc/multiboot.c: Likewise.
21818 * util/hostfs.c: Likewise.
21819
21820 2008-02-08 Robert Millan <rmh@aybabtu.com>
21821
21822 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
21823 to a grub_disk_t array.
21824 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
21825 `device[x]'.
21826 (grub_raid_scan_device): Replace `device[x].name' accesses with
21827 `device[x]->name'. Simplify initialization of `array->device[x]'.
21828
21829 2008-02-08 Robert Millan <rmh@aybabtu.com>
21830
21831 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
21832 grub_dprintf() calls.
21833 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
21834 error message.
21835
21836 2008-02-07 Christian Franke <franke@computer.org>
21837
21838 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
21839 instead of fseek and ftell to support large files.
21840 (grub_hostfs_read): Likewise.
21841
21842 2008-02-07 Robert Millan <rmh@aybabtu.com>
21843
21844 Patch from Jeroen Dekkers.
21845 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
21846 failure, since successfully reading all array members might not be
21847 required.
21848
21849 2008-02-06 Robert Millan <rmh@aybabtu.com>
21850
21851 * util/grub-probe.c (probe): Simplify partmap probing (with the
21852 assumption that the first word up to the underscore equals to
21853 the module name).
21854
21855 2008-02-06 Christian Franke <franke@computer.org>
21856
21857 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
21858 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
21859 last block of a cpio or tar stream.
21860 Check for "TRAILER!!!" instead of any empty data
21861 block to detect last block of a cpio stream.
21862 (grub_cpio_dir): Fix constness of variable np.
21863 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
21864 cpio or tar trailer is detected. This fixes a crash
21865 on open of a non existing file.
21866
21867 2008-02-05 Bean <bean123ch@gmail.com>
21868
21869 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
21870 address of entry.
21871 (grub_multiboot_load_elf64): Likewise.
21872 (grub_multiboot): Initialize mbi structure.
21873
21874 * util/grub-fstest.c: Don't include unused header file script.h.
21875
21876 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
21877 of file.
21878 (grub_fstest_SOURCES): Likewise.
21879
21880 2008-02-05 Robert Millan <rmh@aybabtu.com>
21881
21882 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
21883 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
21884 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
21885 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
21886
21887 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
21888 (translation_table): Replace hardcoded values with macros
21889 provided by `<grub/term.h>'.
21890
21891 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
21892 (keyboard_map): Correct/add a few values, with macros provided
21893 by `<grub/term.h>'.
21894 (keyboard_map_shift): Zero values that don't differ from their
21895 `keyboard_map' equivalents.
21896 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
21897 Discard the second scan code that is always sent by Caps lock.
21898 Only use `keyboard_map_shift' when it provides a non-zero value,
21899 otherwise fallback to `keyboard_map'.
21900
21901 2008-02-04 Bean <bean123ch@gmail.com>
21902
21903 * Makefile.in (enable_grub_fstest): New variable.
21904
21905 * conf/common.rmk (grub_fstest_init.lst): New rule.
21906 (grub_fstest_init.h): Likewise.
21907 (grub_fstest_init.c): Likewise.
21908 (util/grub-fstest.c_DEPENDENCIES): New variable.
21909 (grub_fstest_SOURCES): Likewise.
21910
21911 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
21912
21913 * util/grub-fstest.c: New file.
21914
21915 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
21916
21917 Make grub-setup handle a separate root device.
21918
21919 * util/i386/pc/grub-setup.c (setup): Always open the root device,
21920 so that the root device can be compared with the destination
21921 device.
21922 When embedding the core image, if the root and destination devices
21923 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
21924 0xFF.
21925 When not embedding, set ROOT_DRIVE to 0xFF.
21926
21927 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
21928
21929 Add support for having a grub directory in a different drive. This
21930 is still only the data handling part.
21931
21932 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
21933 (codestart): Save %dh in GRUB_ROOT_DRIVE.
21934 (grub_root_drive): New variable.
21935
21936 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
21937 instead of GRUB_BOOT_DRIVE to construct a device name. Set
21938 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
21939 as it was.
21940
21941 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
21942
21943 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
21944 macro.
21945 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
21946
21947 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
21948 is bogus, because PXE booting does not specify any drive
21949 correctly.
21950
21951 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
21952 am not sure if this is really correct.
21953
21954 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
21955 is always identical to the boot drive when booting from a CD.
21956
21957 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
21958 longer.
21959 (root_drive): New variable.
21960 (real_start): Unconditionally set %dh to ROOT_DRIVE.
21961 (setup_sectors): Push %dx right after popping it, because %dh will
21962 be modified later.
21963 (copy_buffer): Restore %dx.
21964
21965 2008-02-03 Robert Millan <rmh@aybabtu.com>
21966
21967 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
21968 use `cdboot.img' for cdrom images.
21969
21970 2008-02-03 Robert Millan <rmh@aybabtu.com>
21971
21972 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
21973 only setup gfxterm when `font' command has succeeded.
21974
21975 2008-02-03 Robert Millan <rmh@aybabtu.com>
21976
21977 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
21978 (grub_rescue_cmd_multiboot_loader)
21979 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
21980
21981 2008-02-03 Pavel Roskin <proski@gnu.org>
21982
21983 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
21984 %edx and %esi from stack only after grub_gate_a20() is called.
21985 grub_gate_a20() clobbers %edx.
21986
21987 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
21988
21989 * configure.ac (AC_INIT): Bumped to 1.96.
21990
21991 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
21992 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
21993 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
21994 video/readers/png.c.
21995
21996 2008-02-03 Bean <bean123ch@gmail.com>
21997
21998 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
21999 (cdboot_img_SOURCES): New variable.
22000 (cdboot_img_ASFLAGS): New variable.
22001 (cdboot_img_LDFLAGS): New variable.
22002
22003 * boot/i386/pc/cdboot.S: New file.
22004
22005 * disk/i386/pc/biosdisk.c (cd_start): New variable.
22006 (cd_count): Likewise.
22007 (grub_biosdisk_get_drive): Add support for cd device.
22008 (grub_biosdisk_call_hook): Likewise.
22009 (grub_biosdisk_iterate): Likewise.
22010 (grub_biosdisk_open): Likewise.
22011 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
22012 (grub_biosdisk_rw): Support reading from cd device.
22013 (GRUB_MOD_INIT): Iterate cd devices.
22014
22015 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
22016 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
22017 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
22018
22019 * kern/i386/pc/init.c (make_install_device): Check for cd device.
22020
22021 2008-02-02 Robert Millan <rmh@aybabtu.com>
22022
22023 * commands/read.c: New file.
22024 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
22025 (read_mod_SOURCES): New variable.
22026 (read_mod_CFLAGS): Likewise.
22027 (read_mod_LDFLAGS): Likewise.
22028
22029 2008-02-02 Robert Millan <rmh@aybabtu.com>
22030
22031 * normal/main.c (grub_normal_execute): Check for `menu->size' when
22032 determining whether menu has to be displayed.
22033
22034 2008-02-02 Marco Gerards <marco@gnu.org>
22035
22036 * bus/pci.c: New file.
22037
22038 * include/grub/pci.h: Likewise.
22039
22040 * include/grub/i386/pc/pci.h: Likewise.
22041
22042 * commands/lspci.c: Likewise.
22043
22044 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
22045 `lspci.mod'.
22046 (pci_mod_SOURCES): New variable.
22047 (pci_mod_CFLAGS): Likewise.
22048 (pci_mod_LDFLAGS): Likewise.
22049 (lspci_mod_SOURCES): Likewise.
22050 (lspci_mod_CFLAGS): Likewise.
22051 (lspci_mod_LDFLAGS): Likewise.
22052
22053 2008-02-02 Bean <bean123ch@gmail.com>
22054
22055 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
22056 (grub_ufs_get_file_block): Fix indirect block calculation problem.
22057
22058 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
22059 (grub_xfs_btree_node): New structure.
22060 (grub_xfs_btree_root): New structure.
22061 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
22062 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
22063 (GRUB_XFS_EXTENT_BLOCK): Likewise.
22064 (GRUB_XFS_EXTENT_SIZE): Likewise.
22065 (grub_xfs_read_block): Support btree format type.
22066 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
22067 Use directory block as basic unit.
22068
22069 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
22070
22071 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
22072 __attribute__ ((__regparm__ (1))).
22073
22074 2008-02-01 Robert Millan <rmh@aybabtu.com>
22075
22076 Correct a mistake in previous commit.
22077
22078 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
22079 top.
22080 (normal/command.c_DEPENDENCIES): New variable.
22081
22082 2008-02-01 Robert Millan <rmh@aybabtu.com>
22083
22084 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
22085 top.
22086 (normal/command.c_DEPENDENCIES): New variable.
22087 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
22088 * conf/i386-ieee1275.rmk: Likewise.
22089 * conf/i386-linuxbios.rmk: Likewise.
22090 * conf/i386-pc.rmk: Likewise.
22091 * conf/sparc64-ieee1275.rmk: Likewise.
22092 * conf/powerpc-ieee1275.rmk: Likewise.
22093 (grub_emu_SOURCES): Add `fs/fshelp.c'.
22094
22095 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
22096
22097 2008-02-01 Robert Millan <rmh@aybabtu.com>
22098
22099 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
22100 call at beginning of function.
22101
22102 2008-01-31 Pavel Roskin <proski@gnu.org>
22103
22104 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
22105 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
22106 (grub_mkrescue_SOURCES): Likewise.
22107 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
22108
22109 2008-01-30 Robert Millan <rmh@aybabtu.com>
22110
22111 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
22112 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
22113 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
22114 (grub_probe_SOURCES): ... to here.
22115
22116 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
22117 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
22118 * conf/i386-ieee1275.rmk: Likewise.
22119 * conf/i386-linuxbios.rmk: Likewise.
22120 * conf/powerpc-ieee1275.rmk: Likewise.
22121
22122 2008-01-30 Tristan Gingold <gingold@free.fr>
22123
22124 * kern/rescue.c: Silently accept empty lines.
22125
22126 2008-01-29 Bean <bean123ch@gmail.com>
22127
22128 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
22129 (real_code_2): Code cleanup and change comment style.
22130 (move_memory): Avoid using 32-bit address mode.
22131
22132 2008-01-29 Bean <bean123ch@gmail.com>
22133
22134 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
22135 (png_mod_SOURCES): New variable.
22136 (png_mod_CFLAGS): Likewise.
22137 (png_mod_LDFLAGS): Likewise.
22138
22139 * video/readers/png.c: New file.
22140
22141 2008-01-28 Robert Millan <rmh@aybabtu.com>
22142
22143 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
22144 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
22145 `ifndef GRUB_MOD_GAP' hack.
22146 * util/elf/grub-mkimage.c (add_segments): Likewise.
22147
22148 2008-01-27 Robert Millan <rmh@aybabtu.com>
22149
22150 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
22151 `GRUB_MOD_GAP' for platforms in which it's not defined.
22152 * util/elf/grub-mkimage.c (add_segments): Likewise.
22153
22154 2008-01-27 Robert Millan <rmh@aybabtu.com>
22155
22156 Get grub-emu to build again (including parallel builds).
22157
22158 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
22159 Split into ...
22160 (util/grub-emu.c_DEPENDENCIES): ... this, ...
22161 (normal/execute.c_DEPENDENCIES): ... this, ...
22162 (grub-emu_DEPENDENCIES): ... and this.
22163
22164 * conf/i386-efi.rmk: Likewise.
22165 * conf/i386-linuxbios.rmk: Likewise.
22166 * conf/i386-ieee1275.rmk: Likewise.
22167 * conf/powerpc-ieee1275.rmk: Likewise.
22168 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
22169
22170 2008-01-27 Robert Millan <rmh@aybabtu.com>
22171
22172 * NEWS: Add a few items.
22173
22174 2008-01-27 Robert Millan <rmh@aybabtu.com>
22175
22176 Fix parallel builds with grub-emu. Based on earlier commit for
22177 grub-probe and grub-setup.
22178
22179 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
22180 (util/grub-emu.c_DEPENDENCIES): ... this.
22181 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
22182 (util/grub-emu.c_DEPENDENCIES): ... this.
22183 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
22184 (util/grub-emu.c_DEPENDENCIES): ... this.
22185 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
22186 (util/grub-emu.c_DEPENDENCIES): ... this.
22187 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
22188 (util/grub-emu.c_DEPENDENCIES): ... this.
22189
22190 2008-01-27 Pavel Roskin <proski@gnu.org>
22191
22192 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
22193 to create a gap between _end and the modules added to the image
22194 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
22195 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
22196 * util/elf/grub-mkimage.c (add_segments): Likewise.
22197
22198 2008-01-26 Pavel Roskin <proski@gnu.org>
22199
22200 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
22201 just return an error.
22202
22203 2008-01-26 Bean <bean123ch@gmail.com>
22204
22205 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
22206 (grub_reiserfs_get_item): Save offset of the next item.
22207 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
22208
22209 2008-01-25 Robert Millan <rmh@aybabtu.com>
22210
22211 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
22212 make all filesystem sources appear together (possibly fixing omissions
22213 while at it).
22214 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22215 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22216 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22218
22219 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
22220 add `kern/file.c'.
22221 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
22222 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
22223 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
22224 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
22225
22226 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
22227 (probe): Add a sanity check to make sure of our ability to read
22228 requested files when probing for filesystem type.
22229
22230 * genmk.rb: Update copyright year (2007).
22231
22232 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
22233 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
22234 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
22235 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
22236 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
22237 : Remove function prototypes.
22238
22239 2008-01-25 Robert Millan <rmh@aybabtu.com>
22240
22241 Revert my previous commits (based on wrong assumption of how grub_errno
22242 works).
22243
22244 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
22245 * kern/file.c (grub_file_open): Likewise.
22246
22247 2008-01-24 Pavel Roskin <proski@gnu.org>
22248
22249 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
22250 that hang if GRUB tries to setup colors.
22251 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
22252 colors for firmwares that don't support it.
22253 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
22254 Recognize Open Hack'Ware, set flags to work around its
22255 limitations.
22256
22257 2008-01-24 Robert Millan <rmh@aybabtu.com>
22258
22259 * kern/file.c (grub_file_open): Do not account previous failures of
22260 unrelated functions when grub_errno is checked for.
22261 Reported by Oleg Strikov.
22262
22263 2008-01-24 Bean <bean123ch@gmail.com>
22264
22265 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
22266 (grub_ufs_sblock): New member volume name.
22267 (grub_ufs_find_file): Fix string copy bug.
22268 (grub_ufs_label): Implement this function properly.
22269
22270 * fs/hfs.c (grub_hfs_cnid_type): New enum.
22271 (grub_hfs_iterate_records): Use the correct file number for extents
22272 and catalog file. Fix problem in next index calculation.
22273 (grub_hfs_find_node): Replace recursive function call with loop.
22274 (grub_hfs_iterate_dir): Replace recursive function call with loop.
22275
22276 2008-01-23 Robert Millan <rmh@aybabtu.com>
22277
22278 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
22279 `<grub/symbol.h>' and `<grub/multiboot.h>'.
22280 (grub_multiboot2_real_boot): New function prototype.
22281
22282 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
22283 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
22284
22285 * kern/i386/ieee1275/init.c (grub_os_area_addr)
22286 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
22287
22288 2008-01-23 Robert Millan <rmh@aybabtu.com>
22289
22290 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
22291 #ifdef'ed out grub_printf().
22292
22293 2008-01-23 Robert Millan <rmh@aybabtu.com>
22294
22295 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
22296 grub_dprintf calls, since they make "debug=all" mode unusable.
22297 (grub_console_checkkey): Likewise.
22298
22299 2008-01-23 Robert Millan <rmh@aybabtu.com>
22300
22301 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
22302 `term/i386/pc/at_keyboard.c'.
22303 (pkglib_MODULES): Add `serial.mod'.
22304 (serial_mod_SOURCES): New variable.
22305 (serial_mod_CFLAGS): Likewise.
22306 (serial_mod_LDFLAGS): Likewise.
22307
22308 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
22309 `<grub/powerpc/ieee1275/console.h>'.
22310 (grub_keyboard_controller_init): New function prototype.
22311 (grub_console_checkkey): Likewise.
22312 (grub_console_getkey): Likewise.
22313
22314 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
22315 keyboard on i386.
22316
22317 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
22318 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
22319
22320 2008-01-23 Robert Millan <rmh@aybabtu.com>
22321
22322 * kern/i386/pc/init.c (make_install_device): When memdisk image is
22323 present, "(memdisk)/boot/grub" becomes the default prefix.
22324
22325 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
22326 a memdisk tarball with all the modules. Add --overlay=DIR option that
22327 allows users to overlay additional files into the image.
22328
22329 2008-01-23 Robert Millan <rmh@aybabtu.com>
22330
22331 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
22332 and `machine/memory.h'.
22333 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
22334 (_multiboot_mod_SOURCES): New variable.
22335 (_multiboot_mod_CFLAGS): Likewise.
22336 (_multiboot_mod_LDFLAGS): Likewise.
22337 (multiboot_mod_SOURCES): Likewise.
22338 (multiboot_mod_CFLAGS): Likewise.
22339 (multiboot_mod_LDFLAGS): Likewise.
22340
22341 * include/grub/i386/ieee1275/loader.h: New file.
22342
22343 * include/grub/i386/ieee1275/machine.h: Likewise.
22344
22345 * include/grub/i386/ieee1275/memory.h: Likewise.
22346
22347 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
22348 variable declaration.
22349 (grub_os_area_size): Likewise.
22350
22351 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
22352 (grub_lower_mem, grub_upper_mem): New variables.
22353 (grub_stop_floppy): New function (just to make
22354 grub_multiboot2_real_boot() happy).
22355
22356 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
22357 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
22358 (grub_stop): New function.
22359 Include `"../realmode.S"' and `"../loader.S"'.
22360
22361 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
22362 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
22363
22364 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
22365 rely on grub_multiboot2_real_boot() for final boot.
22366
22367 2008-01-22 Robert Millan <rmh@aybabtu.com>
22368
22369 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
22370 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
22371 device that doesn't look like an SD card.
22372 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
22373 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
22374 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
22375 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
22376 found.
22377
22378 2008-01-22 Robert Millan <rmh@aybabtu.com>
22379
22380 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
22381 avoid claiming over our own code.
22382
22383 2008-01-22 Bean <bean123ch@gmail.com>
22384
22385 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
22386 (jpeg_mod_SOURCES): New variable.
22387 (jpeg_mod_CFLAGS): Likewise.
22388 (jpeg_mod_LDFLAGS): Likewise.
22389
22390 * video/readers/jpeg.c : New file.
22391
22392 2008-01-22 Bean <bean123ch@gmail.com>
22393
22394 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
22395 there are no more items.
22396
22397 2008-01-21 Robert Millan <rmh@aybabtu.com>
22398
22399 * kern/mm.c (grub_mm_init_region): Improve debug message.
22400
22401 2008-01-21 Robert Millan <rmh@aybabtu.com>
22402
22403 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
22404 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
22405 address.
22406 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
22407 a C macro.
22408 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
22409 Indicates start of upper memory.
22410 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
22411 (generate_image): Abort when image size is big enough to corrupt
22412 upper memory.
22413
22414 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
22415 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
22416 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
22417 instead of hardcoding 0xA0000.
22418 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
22419 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
22420 instead of hardcoding 0xA0000.
22421
22422 2008-01-21 Robert Millan <rmh@aybabtu.com>
22423
22424 * disk/memdisk.c (memdisk_size): New variable.
22425 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
22426 `memdisk_size'.
22427 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
22428 image to dynamic memory.
22429 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
22430 `memdisk_size'. Free memdisk block.
22431
22432 2008-01-21 Robert Millan <rmh@aybabtu.com>
22433
22434 Fix detection of very small filesystems (like tar).
22435
22436 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
22437 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
22438 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
22439 a problem with this disk).
22440
22441 2008-01-21 Robert Millan <rmh@aybabtu.com>
22442
22443 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
22444 on grub_biosdisk_rw_standard() error.
22445
22446 2008-01-21 Robert Millan <rmh@aybabtu.com>
22447
22448 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
22449 recent changes.
22450 * kern/elf.c: Likewise.
22451 * kern/ieee1275/ieee1275.c: Likewise.
22452 * kern/powerpc/ieee1275/openfw.c: Likewise.
22453 * term/ieee1275/ofconsole.c: Likewise.
22454
22455 2008-01-21 Robert Millan <rmh@aybabtu.com>
22456
22457 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
22458
22459 * include/grub/kernel.h (grub_arch_memdisk_addr)
22460 (grub_arch_memdisk_size): Moved from here ...
22461
22462 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
22463 (grub_arch_memdisk_size): ... to here.
22464
22465 2008-01-21 Robert Millan <rmh@aybabtu.com>
22466
22467 Mostly based on bugfix from Bean.
22468
22469 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
22470 attribute with hook() parameter.
22471 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
22472 declaration.
22473 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
22474 attribute with hook() parameter.
22475 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
22476 declaration.
22477
22478 2008-01-21 Robert Millan <rmh@aybabtu.com>
22479
22480 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
22481 (pkglib_MODULES): Add `memdisk.mod'.
22482 (memdisk_mod_SOURCES): New variable.
22483 (memdisk_mod_CFLAGS): Likewise.
22484 (memdisk_mod_LDFLAGS): Likewise.
22485
22486 * disk/memdisk.c: New file.
22487
22488 * include/grub/disk.h (grub_disk_dev_id): Add
22489 `GRUB_DISK_DEVICE_MEMDISK_ID'.
22490
22491 * include/grub/i386/pc/kernel.h
22492 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
22493 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
22494 (grub_kernel_image_size): New variable declaration.
22495 (grub_total_module_size): Likewise.
22496 (grub_memdisk_image_size): Likewise.
22497
22498 * include/grub/i386/pc/memory.h
22499 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
22500
22501 * include/grub/kernel.h: Include `<grub/symbol.h>'.
22502 (grub_arch_memdisk_addr): New variable declaration.
22503 (grub_arch_memdisk_size): Likewise.
22504
22505 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
22506 (grub_arch_memdisk_size): Likewise.
22507
22508 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
22509 (codestart): Replace hardcoded `0x100000' with
22510 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
22511
22512 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
22513 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
22514 not NULL, append the contents of the file it refers to, at the end of
22515 the compressed kernel image. Initialize `grub_memdisk_image_size'
22516 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
22517 (options): Add "memdisk"|'m' option.
22518 (main): Parse --memdisk|-m option, and pass user-provided path as
22519 parameter to generate_image().
22520
22521 2008-01-20 Robert Millan <rmh@aybabtu.com>
22522
22523 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
22524 grub_dprintf() calls from here ...
22525 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
22526
22527 2008-01-20 Robert Millan <rmh@aybabtu.com>
22528
22529 Fix detection of "real mode" when /options/real-mode? doesn't exist.
22530
22531 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
22532 declaration.
22533 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
22534 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
22535 `GRUB_IEEE1275_FLAG_REAL_MODE'.
22536 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
22537 property).
22538 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
22539 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
22540
22541 2008-01-19 Robert Millan <rmh@aybabtu.com>
22542
22543 Get rid of confusing function (superseded by
22544 `grub_ieee1275_get_integer_property')
22545 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
22546 prototype.
22547 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
22548 function.
22549 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
22550 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
22551 in native endianness from grub_ieee1275_get_integer_property().
22552
22553 2008-01-19 Robert Millan <rmh@aybabtu.com>
22554
22555 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
22556 command after "shut-down", since implementations differ on which
22557 the command for halt is.
22558
22559 2008-01-19 Robert Millan <rmh@aybabtu.com>
22560
22561 * include/grub/i386/linuxbios/console.h: Add header protection.
22562 (grub_keyboard_controller_init): New function prototype.
22563 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
22564 (KEYBOARD_COMMAND_READ): Likewise.
22565 (KEYBOARD_COMMAND_WRITE): Likewise.
22566 (KEYBOARD_SCANCODE_SET1): Likewise.
22567 (grub_keyboard_controller_write): New function.
22568 (grub_keyboard_controller_read): Likewise.
22569 (grub_keyboard_controller_init): Likewise.
22570
22571 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
22572 (grub_console_init): On coreboot/LinuxBIOS, call
22573 grub_keyboard_controller_init().
22574
22575 2008-01-19 Robert Millan <rmh@aybabtu.com>
22576
22577 PowerPC changes provided by Pavel Roskin.
22578
22579 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
22580 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
22581 don't rely on cmain() doing it.
22582 * kern/i386/ieee1275/startup.S (_start): Store %eax in
22583 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
22584
22585 2008-01-16 Robert Millan <rmh@aybabtu.com>
22586
22587 * include/grub/i386/linuxbios/memory.h
22588 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
22589 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
22590 receive `table_header' as argument. Instead, probe for it in the
22591 known memory ranges where it can be present.
22592 (grub_available_iterate): Do not pass a fixed `table_header' address
22593 to grub_linuxbios_table_iterate().
22594
22595 2008-01-15 Robert Millan <rmh@aybabtu.com>
22596
22597 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
22598 * conf/i386-ieee1275.rmk: New file.
22599 * include/grub/i386/ieee1275/console.h: Likewise.
22600 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
22601 * include/grub/i386/ieee1275/kernel.h: Likewise.
22602 * include/grub/i386/ieee1275/time.h: Likewise.
22603 * kern/i386/ieee1275/init.c: Likewise.
22604 * kern/i386/ieee1275/startup.S: Likewise.
22605
22606 2008-01-15 Robert Millan <rmh@aybabtu.com>
22607
22608 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
22609 when pointers are 32-bit (but still do set it to one when they are
22610 64-bit).
22611
22612 2008-01-15 Robert Millan <rmh@aybabtu.com>
22613
22614 * include/grub/ieee1275/ieee1275.h
22615 (grub_ieee1275_get_integer_property): New function prototype.
22616
22617 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
22618 (grub_ieee1275_get_integer_property): New function. Wraps around
22619 grub_ieee1275_get_property() to handle endianness.
22620
22621 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
22622 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
22623 where appropriate.
22624 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
22625 (grub_map): Likewise.
22626 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
22627
22628 2008-01-15 Bean <bean123ch@gmail.com>
22629
22630 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
22631 (grub_script_execute_cmdline): Reset grub_errno.
22632
22633 * normal/main.c (read_config_file): Reset grub_errno.
22634
22635 * normal/parse.y (script_init): New.
22636 (script): Move function and menuentry here.
22637 (delimiter): New.
22638 (command): Add delimiter at the end of command.
22639 (commands): Adjust to match the new command.
22640 (commandblock): Remove grub_script_lexer_record_start.
22641 (menuentry): Add grub_script_lexer_record_start, use the new commands.
22642 (if): Use the new commands.
22643
22644 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
22645
22646 2008-01-15 Robert Millan <rmh@aybabtu.com>
22647
22648 * normal/menu.c (run_menu): Move timeout message from here ...
22649 (print_timeout): ... to here.
22650 (run_menu): Use print_timeout() once during initial draw to print
22651 the whole message, and again in every clock tick to update only
22652 the number of seconds.
22653
22654 2008-01-15 Robert Millan <rmh@aybabtu.com>
22655
22656 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
22657 actual size of `available' from grub_ieee1275_get_property(), and
22658 restrict parsing to that bound.
22659
22660 2008-01-15 Christian Franke <franke@computer.org>
22661
22662 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
22663 (argp_program_version): Remove variable.
22664 (argp_program_bug_address): Likewise.
22665 (options): Convert from struct argp_option to struct option.
22666 (struct arguments): Remove.
22667 (parse_opt): Remove.
22668 (usage): New function.
22669 (main): Replace struct args members by simple variables.
22670 Replace argp_parse() by getopt_long().
22671 Add switch to evaluate options.
22672 Add missing "(...)" around root_dev in prefix string.
22673
22674 2008-01-14 Robert Millan <rmh@aybabtu.com>
22675
22676 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
22677 for grub_ieee1275_exit(), in order to improve portability.
22678
22679 2008-01-14 Robert Millan <rmh@aybabtu.com>
22680
22681 * util/grub.d/10_linux.in (prefix): Define.
22682 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
22683
22684 2008-01-13 Pavel Roskin <proski@gnu.org>
22685
22686 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
22687 grub_errno if no errors have been detected.
22688
22689 2008-01-12 Robert Millan <rmh@aybabtu.com>
22690
22691 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
22692 (grub_util_get_dev_abstraction): New function prototype.
22693
22694 * util/getroot.c: Include `<grub/util/getroot.h>'
22695 (grub_util_get_grub_dev): Move detection of abstraction type to ...
22696 (grub_util_get_dev_abstraction): ... here (new function).
22697
22698 * util/grub-probe.c: Convert PRINT_* to an enum. Add
22699 `PRINT_ABSTRACTION'.
22700 (probe): Probe for abstraction type when requested.
22701 (main): Understand `--target=abstraction'.
22702
22703 * util/i386/efi/grub-install.in: Add abstraction module to core
22704 image when it is found to be necessary.
22705 * util/i386/pc/grub-install.in: Likewise.
22706 * util/powerpc/ieee1275/grub-install.in: Likewise.
22707
22708 * util/update-grub_lib.in (font_path): Return system path without
22709 converting to GRUB path.
22710 * util/update-grub.in: Convert system path returned by font_path()
22711 to a GRUB path. Use `grub-probe -t abstraction' to determine what
22712 abstraction module is needed for loading fonts (if any). Export
22713 that as `GRUB_PRELOAD_MODULES'.
22714 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
22715 insmod commands).
22716
22717 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
22718
22719 Remove some unused code from reiserfs.
22720
22721 * fs/reiserfs.c (struct grub_reiserfs_key)
22722 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
22723 (struct grub_reiserfs_node_body): Removed.
22724 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
22725 Likewise.
22726 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
22727 Likewise.
22728 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
22729 Likewise.
22730 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
22731 Likewise.
22732 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
22733 Likewise.
22734 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
22735 Likewise.
22736 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
22737 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
22738 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
22739
22740 2008-01-10 Robert Millan <rmh@aybabtu.com>
22741
22742 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
22743 Determines if a file is garbage left by packaging systems, etc.
22744 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
22745 for processing /etc/grub.d scripts.
22746 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
22747 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
22748 as a condition for processing Linux images.
22749
22750 2008-01-10 Pavel Roskin <proski@gnu.org>
22751
22752 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
22753 to compile reiserfs.c on PowerPC.
22754
22755 2008-01-10 Robert Millan <rmh@aybabtu.com>
22756
22757 * kern/device.c (grub_device_iterate): Do not abort device iteration
22758 when one of the devices cannot be opened.
22759 * kern/disk.c (grub_disk_open): Do not account previous failures of
22760 unrelated functions when grub_errno is checked for.
22761
22762 2008-01-08 Robert Millan <rmh@aybabtu.com>
22763
22764 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
22765 `! grub_linux_is_bzimage', change order of address comparison to make
22766 it more intuitive, and improve "too big zImage" error message.
22767
22768 2008-01-08 Robert Millan <rmh@aybabtu.com>
22769
22770 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
22771 `$(update-grub_DATA)'.
22772 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
22773 targets.
22774
22775 2008-01-07 Robert Millan <rmh@aybabtu.com>
22776
22777 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
22778 which instruction is modified by grub-setup during installation
22779 (since it wasn't obvious by only looking at this file).
22780
22781 2008-01-07 Robert Millan <rmh@aybabtu.com>
22782
22783 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
22784 listing actual TODO items.
22785
22786 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22787
22788 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
22789 correctly.
22790 (grub_reiserfs_get_key_offset): Likewise.
22791 (grub_reiserfs_set_key_offset): Likewise.
22792 (grub_reiserfs_set_key_type): Likewise.
22793 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
22794
22795 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
22796 better to remove the bitfield version completely.
22797
22798 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22799
22800 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
22801 allocated from the heap, due to the fshelp implementation.
22802 (grub_reiserfs_dir): Free NODE, due to the same reason.
22803
22804 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22805
22806 Mostly from Vincent Pelletier:
22807
22808 * fs/reiserfs.c: New file.
22809
22810 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
22811 (reiserfs_mod_SOURCES): New variable.
22812 (reiserfs_mod_CFLAGS): Likewise.
22813 (reiserfs_mod_LDFLAGS): Likewise.
22814
22815 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
22816 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
22817 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
22818 normal/color.c.
22819
22820 2008-01-06 Robert Millan <rmh@aybabtu.com>
22821
22822 * normal/color.c: Remove `<grub/env.h>'.
22823
22824 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
22825
22826 * include/grub/normal.h: Include <grub/env.h>.
22827
22828 2008-01-05 Robert Millan <rmh@aybabtu.com>
22829
22830 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
22831 usage example with `(hd0,1)'.
22832 Reported by Samuel Thibault.
22833
22834 2008-01-05 Robert Millan <rmh@aybabtu.com>
22835
22836 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
22837 (grub_linux_boot_zimage): Rename to ...
22838 (grub_linux_boot): ... this.
22839 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
22840 (grub_linux_boot_zimage): Conditionalize zImage copy.
22841
22842 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
22843 (grub_linux_boot_bzimage): Remove prototype.
22844 (grub_linux_boot_zimage): Rename to ...
22845 (grub_linux_boot): ... this.
22846
22847 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
22848 (grub_linux_boot): Remove function.
22849
22850 2008-01-05 Robert Millan <rmh@aybabtu.com>
22851
22852 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
22853 (grub_env_write_color_highlight): Likewise.
22854 (grub_wait_after_message): Likewise.
22855
22856 * normal/color.c: New file.
22857
22858 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22859 (normal_mod_DEPENDENCIES): Likewise.
22860
22861 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22862 (normal_mod_DEPENDENCIES): Likewise.
22863
22864 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22865 (normal_mod_DEPENDENCIES): Likewise.
22866
22867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22868 (normal_mod_DEPENDENCIES): Likewise.
22869
22870 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
22871 for waiting after a message is printed.
22872 * normal/main.c (read_config_file): Likewise.
22873 (grub_normal_init): Register grub_env_write_color_normal() and
22874 grub_env_write_color_highlight() hooks. Mark `color_normal' and
22875 `color_highlight' variables as global.
22876
22877 * normal/menu.c (grub_wait_after_message): New function.
22878 (grub_color_menu_normal): New variable. Replaces ...
22879 (GRUB_COLOR_MENU_NORMAL): ... this macro.
22880 (grub_color_menu_highlight): New variable. Replaces ...
22881 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
22882 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
22883 `GRUB_TERM_COLOR_STANDARD'.
22884 (print_message): Use `grub_setcolorstate' to reload colors. Rename
22885 `normal_code' and `highlight_code' to `old_color_normal' and
22886 `old_color_highlight', respectively.
22887 (grub_menu_init_page): Update colors when drawing the menu, based on
22888 `menu_color_normal' and `menu_color_highlight' variables.
22889 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
22890 a message is printed.
22891
22892 2008-01-05 Robert Millan <rmh@aybabtu.com>
22893
22894 * kern/env.c (grub_env_context_open): Propagate hooks for global
22895 variables to new context.
22896
22897 * kern/main.c (grub_set_root_dev): Export `root' variable.
22898
22899 2008-01-05 Robert Millan <rmh@aybabtu.com>
22900
22901 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
22902 discs unconditionally, since udev and others have options to provide
22903 them.
22904
22905 2008-01-05 Robert Millan <rmh@aybabtu.com>
22906
22907 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
22908
22909 2008-01-04 Christian Franke <franke@computer.org>
22910
22911 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
22912 of eisa_mmap.
22913
22914 2008-01-03 Pavel Roskin <proski@gnu.org>
22915
22916 * kern/i386/linuxbios/init.c: Put "void" to all function
22917 declarations with no arguments.
22918 * kern/powerpc/ieee1275/init.c: Likewise.
22919 * term/i386/pc/at_keyboard.c: Likewise.
22920 * term/i386/pc/vga_text.c: Likewise.
22921 * util/grub-mkdevicemap.c: Likewise.
22922
22923 2008-01-02 Robert Millan <rmh@aybabtu.com>
22924
22925 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
22926 message when loaded image is out of bounds.
22927 (grub_multiboot_load_elf64): Likewise.
22928
22929 2008-01-02 Pavel Roskin <proski@gnu.org>
22930
22931 * util/grub.d/10_linux.in: Try version without ".old" when
22932 looking for initrd. It's better to use initrd from the newer
22933 kernel of the same version than no initrd at all.
22934
22935 2008-01-01 Robert Millan <rmh@aybabtu.com>
22936
22937 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
22938
22939 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
22940
22941 * include/grub/video.h: Added grub_video_unmap_color and
22942 grub_video_get_active_render_target.
22943 (grub_video_adapter): Added unmap_color and get_active_render_target.
22944
22945 * video/video.c: Added grub_video_unmap_color and
22946 grub_video_get_active_render_target.
22947 (grub_video_get_info): Changed method to accept NULL pointer as an
22948 argument to allow detection of active video adapter.
22949
22950 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
22951 grub_video_vbe_unmap_color_int.
22952 Added grub_video_vbe_unmap_color and
22953 grub_video_vbe_get_active_render_target.
22954 (grub_video_vbe_adapter): Added unmap_color and
22955 get_active_render_target.
22956
22957 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
22958 with grub_video_vbe_unmap_color_int.
22959
22960 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
22961 (DEFAULT_NORMAL_COLOR): Likewise.
22962 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
22963 (DEFAULT_FG_COLOR): Removed.
22964 (DEFAULT_BG_COLOR): Likewise.
22965 (DEFAULT_CURSOR_COLOR): Changed value.
22966 (grub_virtual_screen): Added standard_color_setting,
22967 normal_color_setting, highlight_color_setting and term_color.
22968 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
22969 (bitmap_width): Added.
22970 (bitmap_height): Likewise.
22971 (bitmap): Likewise.
22972 (set_term_color): Likewise.
22973 (grub_virtual_screen_setup): Changed to use new terminal coloring
22974 settings.
22975 (grub_gfxterm_init): Added init for bitmap.
22976 (grub_gfxterm_fini): Added destroy for bitmap.
22977 (redraw_screen_rect): Updated to use background bitmap and new
22978 terminal coloring.
22979 (scroll_up): Added optimization for case when there is no bitmap.
22980 (grub_gfxterm_cls): Fixed to use correct background color.
22981 (grub_virtual_screen_setcolorstate): Changed to use new terminal
22982 coloring.
22983 (grub_virtual_screen_setcolor): Likewise.
22984 (grub_virtual_screen_getcolor): Added.
22985 (grub_gfxterm_background_image_cmd): Likewise.
22986 (grub_video_term): Added setcolor and getcolor.
22987 (MOD_INIT): Added registration of background_image command.
22988 (MOD_TERM): Added unregistration for background_image command.
22989
22990 2007-12-30 Pavel Roskin <proski@gnu.org>
22991
22992 * loader/multiboot_loader.c: Fix multiboot command
22993 unregistration. Fix all typos in the word "multiboot".
22994
22995 2007-12-29 Pavel Roskin <proski@gnu.org>
22996
22997 * util/grub.d/10_linux.in: Refactor search for initrd. Add
22998 support for initrd names used in Fedora.
22999
23000 2007-12-26 Bean <bean123ch@gmail.com>
23001
23002 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
23003 (cpio_mod_SOURCES): New variable.
23004 (cpio_mod_CFLAGS): Likewise.
23005 (cpio_mod_LDFLAGS): Likewise.
23006
23007 * fs/cpio.c: New file.
23008
23009 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
23010
23011 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23012
23013 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23014
23015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23016
23017 2007-12-25 Robert Millan <rmh@aybabtu.com>
23018
23019 * include/grub/term.h (struct grub_term): Add `getcolor' function.
23020 (grub_getcolor): New function.
23021
23022 * kern/term.c (grub_getcolor): New function.
23023 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
23024 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
23025 (print_entry): Set normal and highlight colors to
23026 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
23027 respectively, before printing and restore them to old
23028 values afterwards.
23029 (grub_menu_init_page): Likewise. Fill an additional colored space
23030 that would otherwise be left blank.
23031
23032 * term/efi/console.c (grub_console_getcolor): New function.
23033 (struct grub_console_term.getcolor): New variable.
23034 * term/i386/pc/console.c (grub_console_getcolor): New function.
23035 (struct grub_console_term.getcolor): New variable.
23036 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
23037 (struct grub_console_term.getcolor): New variable.
23038
23039 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
23040 (struct grub_console_term.setcolor): Remove variable.
23041 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
23042 (struct grub_console_term.setcolor): Remove variable.
23043 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
23044 (struct grub_console_term.setcolor): Remove variable.
23045 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
23046 (struct grub_console_term.setcolor): Remove variable.
23047
23048 2007-12-25 Robert Millan <rmh@aybabtu.com>
23049
23050 * configure.ac: Search for possible unifont.hex locations, and
23051 define UNIFONT_HEX if found.
23052
23053 * Makefile.in (UNIFONT_HEX): Define variable.
23054 (DATA): Rename to ...
23055 (PKGLIB): ... this. Update all users.
23056 (PKGDATA): New variable.
23057 (pkgdata_IMAGES): Rename to ...
23058 (pkglib_IMAGES): ... this. Update all users.
23059 (pkgdata_MODULES): Rename to ...
23060 (pkglib_MODULES): ... this. Update all users.
23061 (pkgdata_PROGRAMS): Rename to ...
23062 (pkglib_PROGRAMS): ... this. Update all users.
23063 (pkgdata_DATA): Rename to ...
23064 (pkglib_DATA): ... this. Update all users.
23065 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
23066 (unicode.pff, ascii.pff): New rules.
23067 (all-local): Add `$(PKGDATA)' dependency.
23068 (install-local): Process `$(PKGDATA)'.
23069
23070 * util/update-grub_lib.in (font_path): Search for *.pff files in
23071 a few more locations, including `${pkgdata}'.
23072
23073 2007-12-23 Robert Millan <rmh@aybabtu.com>
23074
23075 Patch from Bean <bean123ch@gmail.com>:
23076 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
23077 `size'.
23078
23079 2007-12-21 Bean <bean123ch@gmail.com>
23080
23081 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
23082 (ntfscomp_mod_SOURCES): New variable.
23083 (ntfscomp_mod_CFLAGS): Likewise.
23084 (ntfscomp_mod_LDFLAGS): Likewise.
23085
23086 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
23087 (grub_probe_SOURCES): Likewise.
23088 (grub_emu_SOURCES): Likewise.
23089
23090 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
23091 (grub_emu_SOURCES): Likewise.
23092
23093 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
23094 (grub_emu_SOURCES): Likewise.
23095
23096 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
23097 (grub_emu_SOURCES): Likewise.
23098
23099 * fs/ntfs.c (grub_ntfscomp_func): New variable.
23100 (read_run_list): Renamed to grub_ntfs_read_run_list.
23101 (decomp_nextvcn): Moved to ntfscomp.c.
23102 (decomp_getch): Likewise.
23103 (decomp_get16): Likewise.
23104 (decomp_block): Likewise.
23105 (read_block): Likewise.
23106 (read_data): Partially moved to ntfscomp.c.
23107 (fixup): Change unsigned to grub_uint16_t.
23108 (read_mft): Change unsigned long to grub_uint32_t.
23109 (read_attr): Likewise.
23110 (read_data): Likewise.
23111 (read_run_data): Likewise.
23112 (read_run_list): Likewise.
23113 (read_mft): Likewise.
23114
23115 * fs/ntfscomp.c: New file.
23116
23117 * include/grub/ntfs.h: New file.
23118
23119 2007-12-16 Robert Millan <rmh@aybabtu.com>
23120
23121 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
23122 IDE disk check, since Linux is known to support 20 IDE disks.
23123 Reported by Colin Watson.
23124
23125 2007-12-15 Bean <bean123ch@gmail.com>
23126
23127 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
23128 (lnxboot_img_SOURCES): New variable.
23129 (lnxboot_img_ASFLAGS): Likewise.
23130 (lnxboot_img_LDFLAGS): Likewise.
23131
23132 * boot/i386/pc/lnxboot.S: New file.
23133
23134 2007-11-24 Pavel Roskin <proski@gnu.org>
23135
23136 * configure.ac: Test if '--build-id=none' is supported by the
23137 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
23138 objcopy to generate incorrect binary files (binutils
23139 2.17.50.0.18-1 as shipped by Fedora 8).
23140 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
23141 linking, so that build ID doesn't break the test.
23142
23143 2007-11-24 Pavel Roskin <proski@gnu.org>
23144
23145 * include/grub/i386/time.h: use "void" in the argument list
23146 of grub_cpu_idle().
23147 * include/grub/powerpc/time.h: Likewise.
23148 * include/grub/sparc64/time.h: Likewise.
23149
23150 2007-11-18 Christian Franke <franke@computer.org>
23151
23152 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
23153 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
23154 This fixes the problem that function keys did not work in grub-emu.
23155
23156 2007-11-18 Christian Franke <franke@computer.org>
23157
23158 * disk/host.c (grub_host_open): Remove attribute unused from
23159 name parameter. Add check for "host". This fixes the problem
23160 that grub-emu does not find partitions.
23161
23162 2007-11-18 Christian Franke <franke@computer.org>
23163
23164 * util/hostfs.c (is_dir): New function.
23165 (grub_hostfs_dir): Handle missing dirent.d_type case.
23166 (grub_hostfs_read): Add missing fseek().
23167 (grub_hostfs_label): Clear label pointer. This fixes a crash
23168 of grub-emu on "ls (host)".
23169
23170 2007-11-18 Christian Franke <franke@computer.org>
23171
23172 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
23173 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
23174 to 64 bit boundary by default.
23175
23176 2007-11-18 Bean <bean123ch@gmail.com>
23177
23178 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
23179 (hexdump_mod_SOURCES): New variable.
23180 (hexdump_mod_CFLAGS): Likewise.
23181 (hexdump_mod_LDFLAGS): Likewise.
23182
23183 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
23184
23185 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
23186
23187 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
23188
23189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
23190
23191 * include/grub/hexdump.h: New file.
23192
23193 * commands/hexdump.c: New file.
23194
23195 2007-11-10 Robert Millan <rmh@aybabtu.com>
23196
23197 * commands/i386/pc/play.c (beep_off): Switch order of arguments
23198 in grub_outb() calls.
23199 (beep_on): Likewise.
23200
23201 2007-11-10 Christian Franke <franke@computer.org>
23202
23203 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
23204 (grub_menu_run): Likewise.
23205
23206 2007-11-10 Robert Millan <rmh@aybabtu.com>
23207
23208 * include/grub/i386/efi/machine.h: New file.
23209 * include/grub/i386/linuxbios/machine.h: Likewise.
23210 * include/grub/i386/pc/machine.h: Likewise.
23211 * include/grub/powerpc/ieee1275/machine.h: Likewise.
23212 * include/grub/sparc64/ieee1275/machine.h: Likewise.
23213
23214 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
23215 (serial_hw_io_addr): New variable.
23216 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
23217 instead of `(unsigned short *) 0x400'.
23218
23219 2007-11-10 Bean <bean123ch@gmail.com>
23220
23221 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
23222
23223 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
23224
23225 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
23226 (vga_mod_SOURCES): Added.
23227 (vga_mod_CFLAGS): Likewise.
23228 (vga_mod_LDFLAGS): Likewise.
23229
23230 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
23231 grub_outb() calls.
23232 (set_map_mask): Likewise.
23233 (set_read_map): Likewise.
23234 (set_read_address): Likewise.
23235 (vga_font): Removed variable.
23236 (get_vga_glyph): Removed function.
23237 (invalidate_char): Likewise.
23238 (write_char): Changed to use grub_font_get_glyph() for font
23239 information.
23240 (grub_vga_putchar): Likewise.
23241 (grub_vga_getcharwidth): Likewise.
23242
23243 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
23244
23245 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
23246 flags.
23247 (pxeboot_img_LDFLAGS): Likewise.
23248 (diskboot_img_LDFLAGS): Likewise.
23249 (kernel_img_LDFLAGS): Likewise.
23250
23251 2007-11-06 Robert Millan <rmh@aybabtu.com>
23252
23253 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
23254 in grub_outb() calls.
23255 (serial_hw_init): Likewise.
23256
23257 2007-11-05 Robert Millan <rmh@aybabtu.com>
23258
23259 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
23260 spaces. Skip non-regular files.
23261
23262 2007-11-05 Robert Millan <rmh@aybabtu.com>
23263
23264 * kern/disk.c (grub_disk_firmware_fini)
23265 (grub_disk_firmware_is_tainted): New variables.
23266
23267 * include/grub/disk.h (grub_disk_firmware_fini)
23268 (grub_disk_firmware_is_tainted): Likewise.
23269
23270 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
23271 (grub_disk_biosdisk_fini): ... to here.
23272 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
23273 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
23274 is set. Register grub_disk_biosdisk_fini() in
23275 `grub_disk_firmware_fini'.
23276
23277 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
23278 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
23279 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
23280 to finish existing firmware disk interface.
23281
23282 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
23283 (ata_mod_SOURCES): New variable.
23284 (ata_mod_CFLAGS): Likewise.
23285 (ata_mod_LDFLAGS): Likewise.
23286
23287 2007-11-05 Robert Millan <rmh@aybabtu.com>
23288
23289 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
23290 (grub_ata_wait): Reimplement using grub_millisleep().
23291
23292 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
23293 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
23294
23295 2007-11-03 Marco Gerards <marco@gnu.org>
23296
23297 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
23298 (CRTC_ADDR_PORT): New macro.
23299 (CRTC_DATA_PORT): Likewise.
23300 (CRTC_CURSOR): Likewise.
23301 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23302 (CRTC_CURSOR_ADDR_LOW): Likewise.
23303 (update_cursor): New function.
23304 (grub_console_real_putchar): Call `update_cursor'.
23305 (grub_console_gotoxy): Likewise.
23306 (grub_console_cls): Set the default color when clearing the
23307 screen.
23308 (grub_console_setcursor): Implemented.
23309
23310 2007-11-03 Marco Gerards <marco@gnu.org>
23311
23312 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
23313 become activate.
23314 (grub_ata_pio_write): Likewise.
23315
23316 (grub_atapi_identify): Wait after issuing an ATA command.
23317 (grub_atapi_packet): Likewise.
23318 (grub_ata_identify): Likewise.
23319 (grub_ata_readwrite): Likewise.
23320
23321 2007-11-03 Marco Gerards <marco@gnu.org>
23322
23323 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
23324 (grub_ata_pio_write): Likewise.
23325 (grub_ata_readwrite): Use `grub_error', instead of
23326 returning `grub_errno'.
23327
23328 2007-11-03 Marco Gerards <marco@gnu.org>
23329
23330 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
23331 grub_ata_pio_write once for every single sector, instead of for
23332 multiple sectors.
23333
23334 2007-10-31 Robert Millan <rmh@aybabtu.com>
23335
23336 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
23337
23338 * conf/i386-linuxbios.rmk: New file.
23339
23340 * kern/i386/pc/hardware.c: Likewise.
23341 * term/i386/pc/at_keyboard.c: Likewise.
23342 * term/i386/pc/vga_text.c: Likewise.
23343
23344 * include/grub/i386/linuxbios/boot.h: Likewise.
23345 * include/grub/i386/linuxbios/console.h: Likewise.
23346 * include/grub/i386/linuxbios/init.h: Likewise.
23347 * include/grub/i386/linuxbios/kernel.h: Likewise.
23348 * include/grub/i386/linuxbios/loader.h: Likewise.
23349 * include/grub/i386/linuxbios/memory.h: Likewise.
23350 * include/grub/i386/linuxbios/serial.h: Likewise.
23351 * include/grub/i386/linuxbios/time.h: Likewise.
23352
23353 * kern/i386/linuxbios/init.c: Likewise.
23354 * kern/i386/linuxbios/startup.S: Likewise.
23355 * kern/i386/linuxbios/table.c: Likewise.
23356
23357 2007-10-31 Marco Gerards <marco@gnu.org>
23358
23359 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
23360 (ata_mod_SOURCES): New variable.
23361 (ata_mod_CFLAGS): Likewise.
23362 (ata_mod_LDFLAGS): Likewise.
23363
23364 * disk/ata.c: New file.
23365
23366 * include/grub/disk.h (grub_disk_dev_id): Add
23367 `GRUB_DISK_DEV_ATA_ID'.
23368
23369 2007-10-31 Robert Millan <rmh@aybabtu.com>
23370
23371 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
23372 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
23373
23374 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
23375 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
23376
23377 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
23378 `<grub/types.h>'.
23379
23380 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
23381
23382 2007-10-27 Robert Millan <rmh@aybabtu.com>
23383
23384 * include/grub/types.h (ULONG_MAX): Define macro.
23385
23386 2007-10-22 Robert Millan <rmh@aybabtu.com>
23387
23388 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
23389 `"../realmode.S"'.
23390 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
23391
23392 2007-10-22 Robert Millan <rmh@aybabtu.com>
23393
23394 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
23395 (pkgdata_MODULES): Add `biosdisk.mod'.
23396 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
23397 variables.
23398
23399 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
23400 (grub_biosdisk_init): Replace with ...
23401 (GRUB_MOD_INIT(biosdisk)): ... this.
23402 (grub_biosdisk_fini): Replace with ...
23403 (GRUB_MOD_FINI(biosdisk)): ... this.
23404
23405 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
23406 (grub_machine_init): Remove call to grub_biosdisk_init().
23407 (grub_machine_fini): Remove call to grub_machine_fini().
23408
23409 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
23410
23411 2007-10-22 Robert Millan <rmh@aybabtu.com>
23412
23413 * include/grub/time.h: New file.
23414 * include/grub/i386/time.h: Likewise.
23415 * include/grub/powerpc/time.h: Likewise.
23416 * include/grub/sparc64/time.h: Likewise.
23417
23418 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
23419 instances to ...
23420 (KERNEL_MACHINE_TIME_HEADER): ... this.
23421 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
23422 instances to ...
23423 (KERNEL_MACHINE_TIME_HEADER): ... this.
23424 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
23425 instances to ...
23426 (KERNEL_MACHINE_TIME_HEADER): ... this.
23427
23428 * kern/i386/efi/init.c: Include `<grub/time.h>'.
23429 (grub_millisleep): New function.
23430 * kern/i386/pc/init.c: Include `<grub/time.h>'.
23431 (grub_millisleep): New function.
23432 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
23433 Remove `grub/machine/time.h' include.
23434 (grub_millisleep): New function.
23435 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
23436 Remove `grub/machine/time.h' include.
23437 (grub_millisleep): New function.
23438
23439 * include/grub/misc.h (grub_div_roundup): New function.
23440
23441 * kern/misc.c: Include `<grub/time.h>'.
23442 (grub_millisleep_generic): New function.
23443
23444 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
23445 Add `time.h'.
23446 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
23447 Add `time.h'.
23448 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
23449 `machine/time.h'. Add `time.h'.
23450 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
23451
23452 2007-10-21 Robert Millan <rmh@aybabtu.com>
23453
23454 * include/grub/misc.h (grub_max): New function.
23455
23456 2007-10-21 Robert Millan <rmh@aybabtu.com>
23457
23458 * util/misc.c (grub_util_info): Call fflush() before returning.
23459
23460 2007-10-20 Robert Millan <rmh@aybabtu.com>
23461
23462 * genmk.rb (Image): Copy `extra_flags' from here ...
23463 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
23464
23465 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
23466 to `argc' and `args' arguments.
23467
23468 2007-10-17 Robert Millan <rmh@aybabtu.com>
23469
23470 * kern/i386/loader.S: New file.
23471
23472 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
23473 * kern/i386/loader.S (grub_linux_prot_size)... to here.
23474 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
23475 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
23476 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
23477 * kern/i386/loader.S (grub_linux_real_addr)... to here.
23478 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
23479 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
23480 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
23481 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
23482 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
23483 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
23484 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
23485 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
23486
23487 * kern/i386/realmode.S: New file.
23488
23489 * kern/i386/pc/startup.S (protstack): Moved from here ...
23490 * kern/i386/realmode.S (protstack)... to here.
23491 * kern/i386/pc/startup.S (gdt): Moved from here ...
23492 * kern/i386/realmode.S (gdt)... to here.
23493 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
23494 * kern/i386/realmode.S (prot_to_real)... to here.
23495
23496 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
23497 `kern/i386/realmode.S'.
23498
23499 2007-10-17 Robert Millan <rmh@aybabtu.com>
23500
23501 * include/grub/i386/loader.h: New file.
23502
23503 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
23504 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
23505 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
23506 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
23507 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
23508 * include/grub/i386/loader.h (grub_linux_prot_size)
23509 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
23510 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
23511 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
23512 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
23513
23514 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
23515
23516 2007-10-15 Robert Millan <rmh@aybabtu.com>
23517
23518 * normal/misc.c (grub_normal_print_device_info): Do not probe for
23519 filesystem when dev->disk is unset.
23520 Do probe for filesystem even when dev->disk->has_partitions is set.
23521 In case a filesystem is found, always report it.
23522 In case it isn't, if dev->disk->has_partitions is set, report that
23523 a partition table was found instead of reporting that no filesystem
23524 could be identified.
23525
23526 2007-10-12 Robert Millan <rmh@aybabtu.com>
23527
23528 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
23529 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
23530
23531 * include/grub/types.h (grub_host_to_target16): New macro.
23532 (grub_host_to_target32): Likewise.
23533 (grub_host_to_target64): Likewise.
23534 (grub_target_to_host16): Likewise.
23535 (grub_target_to_host32): Likewise.
23536 (grub_target_to_host64): Likewise.
23537
23538 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
23539 Renamed from to ...
23540 (GRUB_MOD_ALIGN): ...this. Update all users.
23541
23542 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
23543 grub_host_to_target32.
23544 Replace grub_be_to_cpu32 with grub_target_to_host32.
23545 (load_modules): Likewise.
23546 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
23547 Replace grub_be_to_cpu32 with grub_target_to_host32.
23548 Replace grub_cpu_to_be16 with grub_host_to_target16.
23549 Replace grub_cpu_to_be32 grub_host_to_target32.
23550
23551 2007-10-12 Robert Millan <rmh@aybabtu.com>
23552
23553 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
23554 * util/elf/grub-mkimage.c: ... here.
23555
23556 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
23557 `util/powerpc/ieee1275/grub-mkimage.c'.
23558
23559 2007-10-07 Robert Millan <rmh@aybabtu.com>
23560
23561 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
23562 and make it easier to figure out.
23563 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
23564 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
23565 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
23566 leave us with less than HEAP_MIN_SIZE total heap.
23567 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
23568
23569 2007-10-03 Robert Millan <rmh@aybabtu.com>
23570
23571 * include/grub/i386/io.h: New file.
23572 * commands/i386/pc/play.c (inb): Removed.
23573 (outb): Removed.
23574 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23575 with grub_outb().
23576 * term/i386/pc/serial.c (inb): Removed.
23577 (outb): Removed.
23578 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23579 with grub_outb().
23580 * term/i386/pc/vga.c (inb): Removed.
23581 (outb): Removed.
23582 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23583 with grub_outb().
23584
23585 2007-10-02 Robert Millan <rmh@aybabtu.com>
23586
23587 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
23588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23589 Reported by Marcin Kurek.
23590
23591 2007-09-07 Robert Millan <rmh@aybabtu.com>
23592
23593 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
23594 SmartFirmware version updates (as released by Sven Luther), and avoid
23595 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
23596 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
23597 known broken.
23598
23599 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23600
23601 From Hitoshi Ozeki:
23602 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
23603 when merging two regions.
23604
23605 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23606
23607 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
23608 * normal/completion.c (grub_normal_do_completion): Likewise.
23609 Reported by Hitoshi Ozeki.
23610
23611 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23612
23613 Do not use devices at boot in chainloading.
23614
23615 * loader/i386/pc/chainloader.c (boot_drive): New variable.
23616 (boot_part_addr): Likewise.
23617 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
23618 with BOOT_DRIVE and BOOT_PART_ADDR.
23619 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
23620 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
23621
23622 2007-08-29 Robert Millan <rmh@aybabtu.com>
23623
23624 Patch from Simon Peter <dn.tlp@gmx.net>:
23625 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
23626 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
23627 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
23628 util/i386/pc/grub-setup.c_DEPENDENCIES.
23629 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
23630 util/grub-probe.c_DEPENDENCIES.
23631 * conf/powerpc-ieee1275.rmk: Likewise.
23632
23633 2007-08-28 Robert Millan <rmh@aybabtu.com>
23634
23635 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
23636 to tell grub-mkdevicemap how to name devices.
23637 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
23638 feature).
23639
23640 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
23641 util/i386/get_disk_name.c.
23642 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
23643 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
23644 util/ieee1275/get_disk_name.c.
23645
23646 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
23647
23648 * DISTLIST: Add util/i386/get_disk_name.c and
23649 util/ieee1275/get_disk_name.c.
23650
23651 * util/grub-mkdevicemap.c: Replace device naming logic with
23652 grub_util_get_disk_name() calls.
23653
23654 2007-08-20 Robert Millan <rmh@aybabtu.com>
23655
23656 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
23657 (so that it works for both plural and singular quantities).
23658
23659 2007-08-05 Robert Millan <rmh@aybabtu.com>
23660
23661 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
23662 so that [xz] isn't taken into account when determining order.
23663
23664 2007-08-02 Marco Gerards <marco@gnu.org>
23665
23666 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
23667 `include/multiboot2.h', `include/grub/elfload.h',
23668 `include/multiboot.h', `include/grub/multiboot.h',
23669 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
23670 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
23671 `kern/elf.c', `loader/multiboot_loader.c',
23672 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
23673 `loader/i386/pc/multiboot2.c',
23674 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
23675 `util/i386/pc/grub-mkrescue.in'. Remove
23676 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
23677 `include/grub/i386/pc/util/biosdisk.h' and
23678 `include/grub/powerpc/ieee1275/multiboot.h'.
23679
23680 2007-08-02 Bean <bean123ch@gmail.com>
23681
23682 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
23683 (ntfs_mod_SOURCES): New variable.
23684 (ntfs_mod_CFLAGS): Likewise.
23685 (ntfs_mod_LDFLAGS): Likewise.
23686
23687 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
23688 (grub_probe_SOURCES): Likewise.
23689 (grub_emu_SOURCES): Likewise.
23690
23691 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
23692 (grub_emu_SOURCES): Likewise.
23693
23694 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
23695 (grub_emu_SOURCES): Likewise.
23696
23697 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
23698
23699 * fs/ntfs.c: New file.
23700
23701 2007-08-02 Bean <bean123ch@gmail.com>
23702
23703 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
23704
23705 * file.h (grub_file): Likewise.
23706
23707 * fshelp.h (grub_fshelp_read_file): Likewise.
23708
23709 * util/i386/pc/grub-setup.c (setup): Likewise.
23710 (save_first_sector): Likewise.
23711 (save_blocklists): Likewise.
23712
23713 * fs/affs.c (grub_affs_read_file): Likewise.
23714
23715 * fs/ext2.c (grub_ext2_read_file): Likewise.
23716
23717 * fs/fat.c (grub_fat_read_data): Likewise.
23718
23719 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
23720
23721 * fs/hfs.c (grub_hfs_read_file): Likewise.
23722
23723 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23724
23725 * fs/jfs.c (grub_jfs_read_file): Likewise.
23726
23727 * fs/minix.c (grub_minix_read_file): Likewise.
23728
23729 * fs/sfs.c (grub_sfs_read_file): Likewise.
23730
23731 * fs/ufs.c (grub_ufs_read_file): Likewise.
23732
23733 * fs/xfs.c (grub_xfs_read_file): Likewise.
23734
23735 * command/blocklist.c (read_blocklist): Likewise.
23736 (print_blocklist): Likewise.
23737
23738 2007-08-02 Marco Gerards <marco@gnu.org>
23739
23740 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
23741 `util/hostfs.c'.
23742
23743 * disk/host.c: New file.
23744
23745 * util/hostfs.c: Likewise.
23746
23747 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
23748 return `GRUB_ERR_BAD_FS'.
23749 * fs/sfs.c (grub_sfs_mount): Likewise.
23750 * fs/xfs.c (grub_xfs_mount): Likewise.
23751
23752 * include/grub/disk.h (enum grub_disk_dev_id): Add
23753 `GRUB_DISK_DEVICE_HOST_ID'.
23754
23755 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
23756
23757 2007-07-24 Jerone Young <jerone@gmail.com>
23758
23759 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
23760 modules for compilation.
23761 * conf/powerpc-ieee1275.rmk: Likewise.
23762
23763 * include/multiboot.h: Move multiboot definitions to one file. Rename
23764 many definitions to not get grub specific.
23765 * include/multiboot2.h: Create header with multiboot 2 definitions.
23766 * include/grub/multiboot.h: Header for grub specific function
23767 prototypes and definitions.
23768 * include/grub/multiboot2.h: Likewise.
23769 * include/grub/multiboot_loader.h: Likewise.
23770 * include/grub/i386/pc/multiboot.h: Removed.
23771 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
23772
23773 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
23774 and 2 to allow for one multiboot and module commands.
23775 * loader/multiboot2.c: Add multiboot2 functionality.
23776 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
23777 and definition names.
23778 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
23779 2 functions.
23780 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
23781 ieee1275 specific multiboot2 code.
23782
23783 * kern/i386/pc/startup.S: Change headers and definition names for
23784 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
23785
23786 2007-07-22 Robert Millan <rmh@aybabtu.com>
23787
23788 * geninitheader.sh: Process file specified in first parameter rather
23789 than hardcoding grub_modules_init.lst.
23790 * geninit.sh: Likewise. Also, construct header name dynamically rather
23791 than hardcoding grub_modules_init.h.
23792
23793 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
23794 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
23795 grub_probe_init.[ch] and grub_setup_init.[ch].
23796
23797 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
23798 grub_modules_init.h with grub_emu_init.h.
23799 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
23800 grub_probe_init.[ch] files.
23801 * conf/i386-efi.rmk: Likewise.
23802 * conf/i386-pc.rmk: Likewise.
23803 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
23804 grub_setup_init.[ch] files.
23805
23806 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
23807 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
23808 to initialize modules rather than a list of hardcoded functions.
23809 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
23810 grub_init_all() to initialize modules rather than a list of hardcoded
23811 functions.
23812
23813 2007-07-22 Robert Millan <rmh@aybabtu.com>
23814
23815 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23816 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
23817
23818 2007-07-22 Robert Millan <rmh@aybabtu.com>
23819
23820 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
23821 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
23822 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
23823 flag when running on SmartFirmware.
23824 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
23825 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
23826 was set.
23827
23828 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
23829 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
23830 rather than decreasing it.
23831
23832 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
23833 there's not enough space to do it, fail in the same way as when it
23834 can't be done because there are no partitions.
23835
23836 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
23837 when nvsetenv failed.
23838
23839 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
23840
23841 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
23842 because this rule is automatically generated.
23843 (grub-mkrescue): Removed for the same reason as above.
23844
23845 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
23846
23847 Migrate to GNU General Public License Version 3.
23848
23849 * COPYING: Replaced with the plain text version of GPLv3.
23850
23851 * config.guess: Updated from gnulib.
23852 * config.sub: Likewise.
23853
23854 * geninit.sh: Output a GPLv3 copyright notice.
23855 * geninitheader.sh: Likewise.
23856 * genmodsrc.sh: Likewise.
23857 * gensymlist.sh.in: Likewise.
23858
23859 * boot/i386/pc/boot.S: Upgraded to GPLv3.
23860 * boot/i386/pc/diskboot.S: Likewise.
23861 * boot/i386/pc/pxeboot.S: Likewise.
23862 * commands/blocklist.c: Likewise.
23863 * commands/boot.c: Likewise.
23864 * commands/cat.c: Likewise.
23865 * commands/cmp.c: Likewise.
23866 * commands/configfile.c: Likewise.
23867 * commands/echo.c: Likewise.
23868 * commands/help.c: Likewise.
23869 * commands/ls.c: Likewise.
23870 * commands/search.c: Likewise.
23871 * commands/terminal.c: Likewise.
23872 * commands/test.c: Likewise.
23873 * commands/videotest.c: Likewise.
23874 * commands/i386/cpuid.c: Likewise.
23875 * commands/i386/pc/halt.c: Likewise.
23876 * commands/i386/pc/play.c: Likewise.
23877 * commands/i386/pc/reboot.c: Likewise.
23878 * commands/i386/pc/vbeinfo.c: Likewise.
23879 * commands/i386/pc/vbetest.c: Likewise.
23880 * commands/ieee1275/halt.c: Likewise.
23881 * commands/ieee1275/reboot.c: Likewise.
23882 * commands/ieee1275/suspend.c: Likewise.
23883 * disk/loopback.c: Likewise.
23884 * disk/lvm.c: Likewise.
23885 * disk/raid.c: Likewise.
23886 * disk/efi/efidisk.c: Likewise.
23887 * disk/i386/pc/biosdisk.c: Likewise.
23888 * disk/ieee1275/ofdisk.c: Likewise.
23889 * font/manager.c: Likewise.
23890 * fs/affs.c: Likewise.
23891 * fs/ext2.c: Likewise.
23892 * fs/fat.c: Likewise.
23893 * fs/fshelp.c: Likewise.
23894 * fs/hfs.c: Likewise.
23895 * fs/hfsplus.c: Likewise.
23896 * fs/iso9660.c: Likewise.
23897 * fs/jfs.c: Likewise.
23898 * fs/minix.c: Likewise.
23899 * fs/sfs.c: Likewise.
23900 * fs/ufs.c: Likewise.
23901 * fs/xfs.c: Likewise.
23902 * hello/hello.c: Likewise.
23903 * include/grub/acorn_filecore.h: Likewise.
23904 * include/grub/arg.h: Likewise.
23905 * include/grub/bitmap.h: Likewise.
23906 * include/grub/boot.h: Likewise.
23907 * include/grub/cache.h: Likewise.
23908 * include/grub/device.h: Likewise.
23909 * include/grub/disk.h: Likewise.
23910 * include/grub/dl.h: Likewise.
23911 * include/grub/elfload.h: Likewise.
23912 * include/grub/env.h: Likewise.
23913 * include/grub/err.h: Likewise.
23914 * include/grub/file.h: Likewise.
23915 * include/grub/font.h: Likewise.
23916 * include/grub/fs.h: Likewise.
23917 * include/grub/fshelp.h: Likewise.
23918 * include/grub/gzio.h: Likewise.
23919 * include/grub/hfs.h: Likewise.
23920 * include/grub/kernel.h: Likewise.
23921 * include/grub/loader.h: Likewise.
23922 * include/grub/lvm.h: Likewise.
23923 * include/grub/misc.h: Likewise.
23924 * include/grub/mm.h: Likewise.
23925 * include/grub/net.h: Likewise.
23926 * include/grub/normal.h: Likewise.
23927 * include/grub/parser.h: Likewise.
23928 * include/grub/partition.h: Likewise.
23929 * include/grub/pc_partition.h: Likewise.
23930 * include/grub/raid.h: Likewise.
23931 * include/grub/rescue.h: Likewise.
23932 * include/grub/script.h: Likewise.
23933 * include/grub/setjmp.h: Likewise.
23934 * include/grub/symbol.h: Likewise.
23935 * include/grub/term.h: Likewise.
23936 * include/grub/terminfo.h: Likewise.
23937 * include/grub/tparm.h: Likewise.
23938 * include/grub/types.h: Likewise.
23939 * include/grub/video.h: Likewise.
23940 * include/grub/efi/api.h: Likewise.
23941 * include/grub/efi/chainloader.h: Likewise.
23942 * include/grub/efi/console.h: Likewise.
23943 * include/grub/efi/console_control.h: Likewise.
23944 * include/grub/efi/disk.h: Likewise.
23945 * include/grub/efi/efi.h: Likewise.
23946 * include/grub/efi/pe32.h: Likewise.
23947 * include/grub/efi/time.h: Likewise.
23948 * include/grub/i386/linux.h: Likewise.
23949 * include/grub/i386/setjmp.h: Likewise.
23950 * include/grub/i386/types.h: Likewise.
23951 * include/grub/i386/efi/kernel.h: Likewise.
23952 * include/grub/i386/efi/loader.h: Likewise.
23953 * include/grub/i386/efi/time.h: Likewise.
23954 * include/grub/i386/pc/biosdisk.h: Likewise.
23955 * include/grub/i386/pc/boot.h: Likewise.
23956 * include/grub/i386/pc/chainloader.h: Likewise.
23957 * include/grub/i386/pc/console.h: Likewise.
23958 * include/grub/i386/pc/init.h: Likewise.
23959 * include/grub/i386/pc/kernel.h: Likewise.
23960 * include/grub/i386/pc/loader.h: Likewise.
23961 * include/grub/i386/pc/memory.h: Likewise.
23962 * include/grub/i386/pc/multiboot.h: Likewise.
23963 * include/grub/i386/pc/serial.h: Likewise.
23964 * include/grub/i386/pc/time.h: Likewise.
23965 * include/grub/i386/pc/vbe.h: Likewise.
23966 * include/grub/i386/pc/vbeblit.h: Likewise.
23967 * include/grub/i386/pc/vbefill.h: Likewise.
23968 * include/grub/i386/pc/vbeutil.h: Likewise.
23969 * include/grub/i386/pc/vga.h: Likewise.
23970 * include/grub/ieee1275/ieee1275.h: Likewise.
23971 * include/grub/ieee1275/ofdisk.h: Likewise.
23972 * include/grub/powerpc/libgcc.h: Likewise.
23973 * include/grub/powerpc/setjmp.h: Likewise.
23974 * include/grub/powerpc/types.h: Likewise.
23975 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
23976 * include/grub/powerpc/ieee1275/console.h: Likewise.
23977 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
23978 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23979 * include/grub/powerpc/ieee1275/loader.h: Likewise.
23980 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
23981 * include/grub/powerpc/ieee1275/time.h: Likewise.
23982 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
23983 * include/grub/sparc64/libgcc.h: Likewise.
23984 * include/grub/sparc64/setjmp.h: Likewise.
23985 * include/grub/sparc64/types.h: Likewise.
23986 * include/grub/sparc64/ieee1275/console.h: Likewise.
23987 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23988 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23989 * include/grub/sparc64/ieee1275/time.h: Likewise.
23990 * include/grub/util/biosdisk.h: Likewise.
23991 * include/grub/util/getroot.h: Likewise.
23992 * include/grub/util/lvm.h: Likewise.
23993 * include/grub/util/misc.h: Likewise.
23994 * include/grub/util/raid.h: Likewise.
23995 * include/grub/util/resolve.h: Likewise.
23996 * io/gzio.c: Likewise.
23997 * kern/device.c: Likewise.
23998 * kern/disk.c: Likewise.
23999 * kern/dl.c: Likewise.
24000 * kern/elf.c: Likewise.
24001 * kern/env.c: Likewise.
24002 * kern/err.c: Likewise.
24003 * kern/file.c: Likewise.
24004 * kern/fs.c: Likewise.
24005 * kern/loader.c: Likewise.
24006 * kern/main.c: Likewise.
24007 * kern/misc.c: Likewise.
24008 * kern/mm.c: Likewise.
24009 * kern/parser.c: Likewise.
24010 * kern/partition.c: Likewise.
24011 * kern/rescue.c: Likewise.
24012 * kern/term.c: Likewise.
24013 * kern/efi/efi.c: Likewise.
24014 * kern/efi/init.c: Likewise.
24015 * kern/efi/mm.c: Likewise.
24016 * kern/i386/dl.c: Likewise.
24017 * kern/i386/efi/init.c: Likewise.
24018 * kern/i386/efi/startup.S: Likewise.
24019 * kern/i386/pc/init.c: Likewise.
24020 * kern/i386/pc/lzo1x.S: Likewise.
24021 * kern/i386/pc/startup.S: Likewise.
24022 * kern/ieee1275/ieee1275.c: Likewise.
24023 * kern/powerpc/cache.S: Likewise.
24024 * kern/powerpc/dl.c: Likewise.
24025 * kern/powerpc/ieee1275/cmain.c: Likewise.
24026 * kern/powerpc/ieee1275/crt0.S: Likewise.
24027 * kern/powerpc/ieee1275/init.c: Likewise.
24028 * kern/powerpc/ieee1275/openfw.c: Likewise.
24029 * kern/sparc64/cache.S: Likewise.
24030 * kern/sparc64/dl.c: Likewise.
24031 * kern/sparc64/ieee1275/init.c: Likewise.
24032 * kern/sparc64/ieee1275/openfw.c: Likewise.
24033 * loader/efi/chainloader.c: Likewise.
24034 * loader/efi/chainloader_normal.c: Likewise.
24035 * loader/i386/efi/linux.c: Likewise.
24036 * loader/i386/efi/linux_normal.c: Likewise.
24037 * loader/i386/pc/chainloader.c: Likewise.
24038 * loader/i386/pc/chainloader_normal.c: Likewise.
24039 * loader/i386/pc/linux.c: Likewise.
24040 * loader/i386/pc/linux_normal.c: Likewise.
24041 * loader/i386/pc/multiboot.c: Likewise.
24042 * loader/i386/pc/multiboot_normal.c: Likewise.
24043 * loader/powerpc/ieee1275/linux.c: Likewise.
24044 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24045 * normal/arg.c: Likewise.
24046 * normal/cmdline.c: Likewise.
24047 * normal/command.c: Likewise.
24048 * normal/completion.c: Likewise.
24049 * normal/execute.c: Likewise.
24050 * normal/function.c: Likewise.
24051 * normal/lexer.c: Likewise.
24052 * normal/main.c: Likewise.
24053 * normal/menu.c: Likewise.
24054 * normal/menu_entry.c: Likewise.
24055 * normal/misc.c: Likewise.
24056 * normal/parser.y: Likewise.
24057 * normal/script.c: Likewise.
24058 * normal/i386/setjmp.S: Likewise.
24059 * normal/powerpc/setjmp.S: Likewise.
24060 * normal/sparc64/setjmp.S: Likewise.
24061 * partmap/acorn.c: Likewise.
24062 * partmap/amiga.c: Likewise.
24063 * partmap/apple.c: Likewise.
24064 * partmap/gpt.c: Likewise.
24065 * partmap/pc.c: Likewise.
24066 * partmap/sun.c: Likewise.
24067 * term/gfxterm.c: Likewise.
24068 * term/terminfo.c: Likewise.
24069 * term/efi/console.c: Likewise.
24070 * term/i386/pc/console.c: Likewise.
24071 * term/i386/pc/serial.c: Likewise.
24072 * term/i386/pc/vesafb.c: Likewise.
24073 * term/i386/pc/vga.c: Likewise.
24074 * term/ieee1275/ofconsole.c: Likewise.
24075 * util/biosdisk.c: Likewise.
24076 * util/console.c: Likewise.
24077 * util/genmoddep.c: Likewise.
24078 * util/getroot.c: Likewise.
24079 * util/grub-emu.c: Likewise.
24080 * util/grub-mkdevicemap.c: Likewise.
24081 * util/grub-probe.c: Likewise.
24082 * util/lvm.c: Likewise.
24083 * util/misc.c: Likewise.
24084 * util/raid.c: Likewise.
24085 * util/resolve.c: Likewise.
24086 * util/update-grub.in: Likewise.
24087 * util/update-grub_lib.in: Likewise.
24088 * util/grub.d/00_header.in: Likewise.
24089 * util/grub.d/10_hurd.in: Likewise.
24090 * util/grub.d/10_linux.in: Likewise.
24091 * util/i386/efi/grub-install.in: Likewise.
24092 * util/i386/efi/grub-mkimage.c: Likewise.
24093 * util/i386/pc/grub-install.in: Likewise.
24094 * util/i386/pc/grub-mkimage.c: Likewise.
24095 * util/i386/pc/grub-mkrescue.in: Likewise.
24096 * util/i386/pc/grub-setup.c: Likewise.
24097 * util/i386/pc/misc.c: Likewise.
24098 * util/powerpc/ieee1275/grub-install.in: Likewise.
24099 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
24100 * util/powerpc/ieee1275/misc.c: Likewise.
24101 * video/bitmap.c: Likewise.
24102 * video/video.c: Likewise.
24103 * video/i386/pc/vbe.c: Likewise.
24104 * video/i386/pc/vbeblit.c: Likewise.
24105 * video/i386/pc/vbefill.c: Likewise.
24106 * video/i386/pc/vbeutil.c: Likewise.
24107 * video/readers/tga.c: Likewise.
24108
24109 2007-07-02 Robert Millan <rmh@aybabtu.com>
24110
24111 * conf/i386-efi.rmk: Replace obsolete reference to
24112 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
24113 with util/getroot.c.
24114 * conf/powerpc-ieee1275.rmk: Likewise.
24115 * conf/sparc64-ieee1275.rmk: Likewise.
24116
24117 * util/grub-emu.c (main): Fix unchecked pointer handling.
24118
24119 2007-07-02 Robert Millan <rmh@aybabtu.com>
24120
24121 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
24122 invocation to fail, in order to support partition-less media.
24123
24124 * util/i386/pc/grub-install.in: Likewise.
24125
24126 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
24127 which fs or partmap modules are needed (akin to its sister scripts).
24128
24129 Also use grub-probe to get rid of unportable /proc/mounts check.
24130
24131 Print the same informational message that the other scripts do, before
24132 exiting.
24133
24134 2007-06-23 Robert Millan <rmh@aybabtu.com>
24135
24136 * util/update-grub_lib.in (font_path): New function. Determine whether
24137 a font file can be found and, if so, echo the GRUB path to it.
24138
24139 * util/update-grub.in: Handle multiple terminals depending on user
24140 input, platform availability and font file presence. Propagate
24141 variables of our findings to /etc/grub.d/ children.
24142
24143 * util/grub.d/00_header.in: Handle multiple terminals, based on
24144 environment setup by update-grub.
24145
24146 2007-06-23 Robert Millan <rmh@aybabtu.com>
24147
24148 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
24149
24150 2007-06-21 Robert Millan <rmh@aybabtu.com>
24151
24152 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
24153 indicate end of data section in kernel image.
24154 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
24155 GRUB_KERNEL_MACHINE_DATA_END.
24156
24157 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
24158 space for it.
24159 * kern/i386/efi/startup.S: Likewise.
24160
24161 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
24162 during image generation. Implement --prefix option to override this
24163 patch.
24164 * util/i386/efi/grub-mkimage.c: Likewise.
24165
24166 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
24167 code to make path relative to its root into a separate function.
24168
24169 * util/i386/pc/grub-install.in: Use newly provided
24170 make_system_path_relative_to_its_root() to convert ${grubdir}, then
24171 pass the result to grub-install --prefix.
24172
24173 2007-06-13 Robert Millan <rmh@aybabtu.com>
24174
24175 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
24176 DEFAULT_DEVICE_MAP.
24177 * util/grub-emu.c: Use above definitions from misc.h instead of
24178 defining them.
24179 * util/grub-mkdevicemap.c: Likewise.
24180 * util/i386/pc/grub-setup.c: Likewise.
24181 * util/grub-probe.c: Likewise.
24182 (probe): Abort with grub_util_error() when either
24183 grub_guess_root_device or grub_util_get_grub_dev fails.
24184
24185 2007-06-12 Robert Millan <rmh@aybabtu.com>
24186
24187 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
24188 "pager" assignment.
24189 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
24190 "pcdata".
24191 * util/grub-probe.c (probe): Likewise for "drive_name".
24192
24193 2007-06-11 Robert Millan <rmh@aybabtu.com>
24194
24195 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
24196 not just the cdrom one.
24197
24198 2007-06-11 Robert Millan <rmh@aybabtu.com>
24199
24200 * util/i386/pc/grub-mkrescue.in: Add "set -e".
24201 Add --pkglibdir=DIR option to override pkglibdir.
24202 Mention --image-type=TYPE in help output.
24203 Fix --grub-mkimage (it was a no-op).
24204 Abort gracefully when no parameter is given.
24205
24206 2007-06-11 Robert Millan <rmh@aybabtu.com>
24207
24208 * util/i386/pc/grub-mkrescue.in: New file.
24209 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
24210 * Makefile.in: Handle bin_SCRIPTS.
24211
24212 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
24213
24214 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
24215 list of video modes.
24216
24217 2007-06-06 Robert Millan <rmh@aybabtu.com>
24218
24219 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
24220 file doesn't exist, or if it is in a filesystem grub can't read.
24221
24222 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
24223 not abort if GRUB_DRIVE could not be defined. Rearrange generated
24224 header comment to fit in 80 columns when the variables are resolved.
24225
24226 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
24227 could be identified by update-grub. Remove redundant check for
24228 unifont.pff existence (since convert_system_path_to_grub_path now
24229 handles that).
24230
24231 2007-06-04 Robert Millan <rmh@aybabtu.com>
24232
24233 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
24234
24235 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
24236
24237 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
24238
24239 2007-06-04 Robert Millan <rmh@aybabtu.com>
24240
24241 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
24242
24243 * include/grub/partition.h: Declare grub_apple_partition_map_init and
24244 grub_apple_partition_map_fini.
24245
24246 * util/biosdisk.c
24247 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
24248 to access >2 TiB disks).
24249
24250 Print disk->total_sectors with %llu instead of %lu, since this
24251 variable is always 64-bit (prevents wrong disk size from being displayed
24252 on either >2 TiB disk or big-endian CPU).
24253
24254 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
24255 into a generic case that supports all (sane) partition maps.
24256
24257 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
24258 breaks big-endian.
24259
24260 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
24261 and grub_apple_partition_map_fini() after that.
24262
24263 2007-06-01 Robert Millan <rmh@aybabtu.com>
24264
24265 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
24266
24267 * util/grub.d/00_header.in: Only enable gfxterm when
24268 convert_system_path_to_grub_path() succeeds.
24269
24270 2007-05-20 Robert Millan <rmh@aybabtu.com>
24271
24272 * util/update-grub_lib.in: New file.
24273 * DISTLIST: Add update-grub_lib.in.
24274 * conf/common.rmk: Generate update-grub_lib and install it in
24275 $(lib_DATA).
24276 * Makefile.in: Add install routine for $(lib_DATA).
24277
24278 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
24279 function provided by update-grub_lib to support arbitrary paths of
24280 unifont.pff.
24281 * util/update-grub.in: Use convert_system_path_to_grub_path() to
24282 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
24283
24284 2007-05-19 Robert Millan <rmh@aybabtu.com>
24285
24286 * commands/i386/cpuid.c: New module.
24287 * DISTLIST: Add it.
24288 * conf/i386-efi.rmk: Enable cpuid.mod.
24289 * conf/i386-pc.rmk: Likewise.
24290
24291 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
24292
24293 * kern/disk.c (grub_disk_read): Check return value of
24294 grub_realloc().
24295
24296 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
24297
24298 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
24299 arrays.
24300 * disk/raid.c (grub_raid_open): Likewise.
24301
24302 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
24303
24304 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
24305 stack instead of on the heap.
24306
24307 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
24308 before doing a read on it.
24309
24310 * configure.ac: Only use -fno-stack-protector for the target
24311 environment.
24312
24313 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
24314
24315 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
24316 __attribute_ ((unused)) to mode_type argument.
24317
24318 * util/getroot.c (grub_guess_root_device): Fix #endif.
24319
24320 * kern/misc.c (memcmp): Fix prototype.
24321
24322 * include/grub/partition.h [GRUB_UTIL]
24323 (grub_gpt_partition_map_init): Add prototype.
24324 (grub_gpt_partition_map_fini): Likewise.
24325
24326 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
24327 at the right place.
24328
24329 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
24330 (grub_fat_read_data): Likewise.
24331 (grub_fat_find_dir): Likewise.
24332
24333 * font/manager.c (find_glyph): Make table a const.
24334 (grub_font_get_glyph): Remove bitmap from if statement.
24335
24336 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
24337
24338 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
24339 code, first search for device in /dev/mapper, then in /dev.
24340 (grub_util_get_grub_dev): New function.
24341 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
24342 prototype.
24343 * util/grub-probe.c (probe): Remove check for RAID, call
24344 grub_util_get_grub_dev() instead of
24345 grub_util_biosdisk_get_grub_dev().
24346 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
24347 grub_util_biosdisk_get_grub_dev().
24348 * util/i386/pc/grub-setup.c (main): Likewise.
24349
24350 2007-05-16 Robert Millan <rmh@aybabtu.com>
24351
24352 * DISTLIST: Update for the latest changes.
24353 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
24354 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
24355 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
24356 grub/util/biosdisk.h.
24357 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
24358 grub/util/biosdisk.h.
24359
24360 2007-05-16 Robert Millan <rmh@aybabtu.com>
24361
24362 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
24363
24364 2007-05-16 Robert Millan <rmh@aybabtu.com>
24365
24366 * util/i386/efi/grub-install.in: New.
24367 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
24368 newly added grub-install.
24369 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
24370 include.
24371 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
24372 grub/util/biosdisk.h.
24373 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
24374 grub/util/biosdisk.h.
24375
24376 2007-05-16 Robert Millan <rmh@aybabtu.com>
24377
24378 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
24379 * include/grub/util/biosdisk.h: ... here.
24380 * util/i386/pc/biosdisk.c: Moved to ...
24381 * util/biosdisk.c: ... here.
24382 * util/i386/pc/getroot.c: Moved to ...
24383 * util/getroot.c: ... here.
24384 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
24385 * util/grub-mkdevicemap.c: ... here.
24386 * util/i386/pc/grub-probe.c: Moved to ...
24387 * util/grub-probe.c: ... here.
24388
24389 2007-05-15 Robert Millan <rmh@aybabtu.com>
24390
24391 * util/update-grub.in: Remove duplicated line in grub.cfg header
24392 message.
24393
24394 2007-05-13 Robert Millan <rmh@aybabtu.com>
24395
24396 * util/update-grub.in: Fix a few assumptions about the devices holding
24397 /, /boot and /boot/grub being the same.
24398 * util/grub.d/00_header.in: Likewise.
24399 * util/grub.d/10_hurd.in: Likewise.
24400 * util/grub.d/10_linux.in: Likewise.
24401
24402 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
24403 patterns. Use that to define the `.old' suffix as older than `'.
24404
24405 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
24406
24407 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
24408 the grub.cfg header message.
24409
24410 2007-05-11 Robert Millan <rmh@aybabtu.com>
24411
24412 * util/update-grub.in: Create device.map if it doesn't already exist,
24413 before attempting to run grub-probe.
24414 Check for grub-probe and grub-mkdevicemap with the same code
24415 grub-install is using.
24416 Remove test mode.
24417
24418 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
24419
24420 * Makefile.in: Add the datarootdir autoconf variable.
24421
24422 2007-05-09 Robert Millan <rmh@aybabtu.com>
24423
24424 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
24425 fail gracefully if dev->disk->partition == NULL.
24426
24427 2007-05-07 Robert Millan <rmh@aybabtu.com>
24428
24429 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
24430 determine partition map module.
24431 * util/i386/pc/grub-install.in: Use this feature to decide which
24432 partition module to load, instead of hardcoding pc and gpt.
24433
24434 2007-05-07 Robert Millan <rmh@aybabtu.com>
24435
24436 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
24437 source directory differs from build directory.
24438
24439 2007-05-05 Robert Millan <rmh@aybabtu.com>
24440
24441 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
24442 initialisation.
24443
24444 2007-05-05 Robert Millan <rmh@aybabtu.com>
24445
24446 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
24447
24448 2007-05-05 Robert Millan <rmh@aybabtu.com>
24449
24450 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
24451 command-line arguments via ${GRUB_CMDLINE_LINUX}.
24452
24453 2007-05-05 Robert Millan <rmh@aybabtu.com>
24454
24455 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
24456 (grub_probe_SOURCES): Likewise.
24457 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
24458 GPT and initialize dos_part and bsd_part accordingly.
24459 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
24460 install_bsd_part.
24461 (main): Activate gpt module for use during partition identification,
24462 and deactivate it afterwards.
24463 * util/i386/pc/grub-install.in: Add gpt module to core.img.
24464 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
24465 partition identification, and deactivate it afterwards.
24466
24467 2007-05-05 Robert Millan <rmh@aybabtu.com>
24468
24469 * term/i386/pc/console.c (grub_console_fini): Call
24470 grub_term_set_current() before grub_term_unregister().
24471
24472 2007-05-04 Robert Millan <rmh@aybabtu.com>
24473
24474 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
24475 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
24476 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
24477 and update-grub_DATA.
24478 * conf/common.rmk: Build and install update-grub components.
24479 * conf/common.mk: Regenerate.
24480 * util/update-grub.in: New. Core of update-grub.
24481 * util/grub.d/00_header.in: New. Generates grub.cfg header.
24482 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
24483 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
24484 * util/grub.d/README: New. Document grub.d directory layout.
24485
24486 2007-05-01 Robert Millan <rmh@aybabtu.com>
24487
24488 * util/grub-emu.c: Move initialization functions
24489 grub_util_biosdisk_init() and grub_init_all() before
24490 grub_util_biosdisk_get_grub_dev(), which relies on them.
24491
24492 2007-04-19 Robert Millan <rmh@aybabtu.com>
24493
24494 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
24495 it is used later.
24496
24497 2007-04-18 Jerone Young <jerone@gmail.com>
24498
24499 * kernel/elf.c: Add missing parenthesis for conditional statement
24500 stanza.
24501
24502 2007-04-10 Jerone Young <jerone@gmail.com>
24503
24504 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
24505 continue on and look for device node with real device name.
24506
24507 2007-04-10 Jerone Young <jerone@gmail.com>
24508
24509 * configure.ac: Add argument for autoconf to use transformation
24510 ability.
24511 * Makefile.in: Add autoconf package transformation code.
24512 * util/i386/pc/grub-install.in: Likewise.
24513 * util/powerpc/ieee1275/grub-install.in: Likewise.
24514
24515 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
24516
24517 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
24518 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
24519 (EXT2_REVISION): Likewise.
24520 (EXT2_INODE_SIZE): Likewise.
24521 (struct grub_ext2_block_group): Added a missing member
24522 "used_dirs".
24523 (grub_ext2_read_inode): Divide by the inode size in a superblock
24524 instead of 128 to obtain INODES_PER_BLOCK.
24525 Use the macro EXT2_INODE_SIZE instead of directly using
24526 SBLOCK->INODE_SIZE.
24527
24528 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
24529
24530 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
24531 superblock instead of the structure size to compute an
24532 offset. This fixes the problem that GRUB could not read a
24533 filesystem when inode size is different from 128-byte.
24534
24535 2007-03-05 Marco Gerards <marco@gnu.org>
24536
24537 * normal/main.c (read_config_file): When "menu" is not set, create
24538 an initial context.
24539
24540 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
24541
24542 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
24543 (HEAP_LIMIT): New macro.
24544 (grub_claim_heap): Claim memory up to `heaplimit'.
24545
24546 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
24547
24548 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
24549 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
24550 (_start): Likewise.
24551 (grub_arch_modules_addr): Return address after `_end'.
24552 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
24553 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
24554 (add_segments): Calculate `_end' from phdr size and location.
24555 (ALIGN_UP): Moved to ...
24556 * include/grub/misc.h: here.
24557 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
24558 New macro.
24559 (GRUB_IEEE1275_MODULE_BASE): Removed.
24560
24561 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24562
24563 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
24564 loop boundary.
24565
24566 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24567
24568 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
24569 All users updated.
24570 (grub_elf64_load_hook_t): Likewise.
24571 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
24572 debug output.
24573
24574 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24575
24576 * kern/mm.c: Update copyright.
24577 (grub_mm_debug): Correct syntax error.
24578 (grub_mm_dump_free): New function.
24579 (grub_debug_free): Call `grub_free'.
24580 * include/grub/mm.h: Update copyright.
24581 (grub_mm_dump_free): Add declaration.
24582
24583 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
24584
24585 * include/grub/ieee1275/ieee1275.h: Update copyright.
24586 * kern/powerpc/ieee1275/init.c: Likewise.
24587 * kern/powerpc/ieee1275/openfw.c: Likewise.
24588
24589 * loader/powerpc/ieee1275/linux.c: Likewise.
24590 * include/grub/elfload.h: Likewise.
24591 * kern/elf.c: Likewise.
24592 (grub_elf32_load): Pass `base' and `size' parameters. Update all
24593 callers.
24594 (grub_elf64_load): Likewise.
24595 (grub_elf32_load_segment): Move to a nested function.
24596 (grub_elf64_load_segment): Likewise.
24597
24598 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
24599
24600 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
24601 prototype.
24602 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
24603 (grub_heap_len): Likewise.
24604 (HEAP_SIZE): New macro.
24605 (grub_claim_heap): New function.
24606 (grub_machine_init): Don't claim heap directly. Call
24607 `grub_claim_heap'.
24608 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
24609 (grub_available_iterate): New function.
24610
24611 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
24612
24613 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
24614 * configure.ac: Use it for testing the HOST and TARGET compilers.
24615
24616 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
24617
24618 * Makefile.in (enable_grub_emu): New variable.
24619 * configure.ac (--enable-grub-emu): New option.
24620 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
24621 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
24622 * conf/i386-pc.rmk: Likewise.
24623 * conf/powerpc-ieee1275.rmk: Likewise.
24624 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
24625
24626 2006-12-12 Marco Gerards <marco@gnu.org>
24627
24628 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
24629
24630 * kern/env.c (grub_env_unset): Don't free the member `value' when
24631 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
24632 pointer.
24633
24634 * normal/main.c (current_menu): Removed.
24635 (free_menu): Unset the `menu' environment variable.
24636 (grub_normal_menu_addentry): Make use of the environment variable
24637 `menu', instead of using the global `current_menu'. Allocate
24638 memory for the sourcecode of this entry.
24639 (read_config_file): New argument `nested', changed all callers.
24640 Only in the case of a new context, initialize a new menu. Set the
24641 `menu' environment variable.
24642 (grub_normal_execute): Don't set and unset the environment
24643 variable `menu' here anymore. Only free the menu when leaving the
24644 context.
24645
24646 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
24647 leak.
24648
24649 2006-12-11 Marco Gerards <marco@gnu.org>
24650
24651 * normal/menu_entry.c (run): Fix off by one bug so the last line
24652 is executed. Move the loader check to outside the loop.
24653
24654 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
24655
24656 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
24657
24658 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
24659
24660 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
24661 the number of sectors. Reported by Andrey Shuvikov
24662 <mr_hyro@yahoo.com>.
24663
24664 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
24665
24666 * kern/disk.c (grub_disk_read): When there is a read error, always
24667 try to read only the necessary data.
24668
24669 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
24670 disk/raid.c.
24671 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
24672 prototype.
24673 [GRUB_UTIL] (grub_raid_fini): Likewise.
24674 [GRUB_UTIL] (grub_lvm_init): Likewise.
24675 [GRUB_UTIL] (grub_lvm_fini): Likewise.
24676 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
24677 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
24678 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
24679 and grub_raid_fini().
24680
24681 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
24682
24683 * include/grub/types.h (__unused): Rename to UNUSED.
24684 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
24685 (grub_elf64_size): Likewise.
24686
24687 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
24688
24689 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
24690 grub_error_push and grub_error_pop in the error-handling path.
24691 (grub_elf32_load_segment): Only call grub_file_read with non-zero
24692 length.
24693
24694 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
24695
24696 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
24697 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24699 (kernel_elf_SOURCES): Likewise.
24700 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
24701 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
24702 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
24703 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
24704 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
24705 (elf_mod_SOURCES): New variable.
24706 (elf_mod_CFLAGS): Likewise.
24707 (elf_mod_LDFLAGS): Likewise.
24708 * include/grub/types.h (__unused): New macro.
24709 * include/grub/elfload.h: New file.
24710 * kern/elf.c: Likewise.
24711 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
24712 (ELF32_LOADMASK): New macro.
24713 (ELF64_LOADMASK): Likewise.
24714 (vmlinux): Removed.
24715 (grub_linux_load32): New function.
24716 (grub_linux_load64): Likewise.
24717 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
24718 Use grub_elf_t instead of grub_file_t.
24719
24720 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
24721
24722 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
24723 `catch_result' to struct set_color_args.
24724
24725 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
24726
24727 * normal/menu.c: Include grub/script.h.
24728 * normal/menu_entry.c: Likewise.
24729 * include/grub/normal.h: Do not include grub/script.h.
24730
24731 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
24732
24733 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
24734
24735 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
24736
24737 * kern/disk.c (grub_disk_open): Print debug messages when opening a
24738 disk.
24739 (grub_disk_close): Print debug messages when closing a disk.
24740 (grub_disk_read): Print debug messages when disk read fails.
24741 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
24742 filesystem type.
24743 * kern/partition.c: Include misc.h.
24744 (grub_partition_iterate): Print debug messages when detecting
24745 partition type.
24746
24747 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
24748
24749 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
24750 is negative.
24751 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
24752
24753 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
24754
24755 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
24756 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
24757
24758 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
24759
24760 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
24761 instead of sizeof(lv). Patch by Michael Guntsche.
24762
24763 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
24764
24765 * disk/lvm.c: Rename VGS to VG_LIST.
24766 (grub_lvm_iterate): Change VGS->LV to VG-LV.
24767 (grub_lvm_open): Likewise.
24768 Thanks to Michael Guntsche for finding this bug.
24769
24770 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24771
24772 * configure.ac (AC_INIT): Bumped to 1.95.
24773
24774 2006-10-14 Robert Millan <rmh@aybabtu.com>
24775
24776 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
24777 with "/dev/.static/dev/md".
24778
24779 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
24780
24781 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
24782 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
24783 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
24784 DRIVE_NAME are always freed.
24785
24786 * util/i386/pc/biosdisk.c (make_device_name): Add one into
24787 DOS_PART, as a DOS partition is counted from one instead of zero
24788 now. Reported by Robert Millan.
24789
24790 2006-10-14 Robert Millan <rmh@aybabtu.com>
24791
24792 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
24793 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
24794 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
24795 string returned by grub_guess_root_device.
24796 * util/i386/pc/grub-setup.c: Likewise.
24797 * util/i386/pc/grub-probefs.c: Likewise.
24798
24799 * util/i386/pc/grub-probefs.c: Rename to ...
24800 * util/i386/pc/grub-probe.c: ... this.
24801 * DISTLIST: Remove grub-probefs, add grub-probe.
24802 * conf/i386-efi.rmk: Likewise.
24803 * conf/i386-pc.rmk: Likewise.
24804 * util/i386/pc/grub-install.in: Likewise.
24805
24806 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
24807 choose which information we want to print.
24808
24809 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
24810
24811 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
24812 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
24813 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
24814 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
24815 video/readers/tga.c and video/i386/pc/vbeutil.c.
24816
24817 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
24818
24819 Added support for RAID and LVM.
24820
24821 * disk/lvm.c: New file.
24822 * disk/raid.c: Likewise.
24823 * include/grub/lvm.h: Likewise.
24824 * include/grub/raid.h: Likewise.
24825 * include/grub/util/lvm.h: Likewise.
24826 * include/grub/util/raid.h: Likewise.
24827 * util/lvm.c: Likewise.
24828 * util/raid.c: Likewise.
24829
24830 * include/grub/disk.h (grub_disk_dev_id): Add
24831 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
24832 (grub_disk_get_size): New prototype.
24833 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
24834 returns a partition.
24835 (grub_disk_get_size): New function.
24836
24837 * kern/i386/pc/init.c (make_install_device): Copy the prefix
24838 verbatim if grub_install_dos_part is -2.
24839
24840 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
24841 and LVM devices.
24842
24843 * util/i386/pc/grub-setup.c (setup): New argument
24844 MUST_EMBED. Force embedding of GRUB when the argument is
24845 true. Close FILE before returning.
24846 (main): Add support for RAID and LVM.
24847
24848 * conf/common.rmk: Add RAID and LVM modules.
24849 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
24850 util/lvm.c.
24851 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
24852
24853 * kern/misc.c (grub_strstr): New function.
24854 * include/grub/misc.h (grub_strstr): New prototype.
24855
24856 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
24857
24858 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
24859
24860 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
24861
24862 * kern/misc.c (grub_strtoull): Guess the base only if not
24863 specified.
24864
24865 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
24866
24867 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
24868 PowerMac support.
24869
24870 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
24871
24872 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
24873
24874 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
24875 Remove `flags' argument. All callers changed.
24876 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
24877 (IEEE1275_IHANDLE_INVALID): New variable.
24878 (IEEE1275_CELL_INVALID): New variable.
24879 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
24880 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
24881 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
24882 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
24883 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
24884 codes from Open Firmware. All callers updated.
24885 (grub_ieee1275_next_property): Directly return Open Firmware return
24886 code.
24887 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
24888 Standardize error checking from `grub_ieee1275_get_property'.
24889 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
24890 `devalias' to `aliases'. Correct comments. Consolidate error paths.
24891
24892 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
24893
24894 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
24895 `instance_to_package_args' to `instance_to_path_args'.
24896
24897 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
24898 `grub_ieee1275_chosen'.
24899
24900 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
24901 `grub_ieee1275_interpret'.
24902
24903 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
24904
24905 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
24906
24907 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
24908
24909 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
24910 (__cmpdi): Likewise.
24911
24912 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
24913 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
24914 `grub_ssize_t'.
24915
24916 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
24917
24918 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
24919 to type `grub_ssize_t'.
24920 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
24921
24922 2006-09-22 Marco Gerards <marco@gnu.org>
24923
24924 * normal/script.c (grub_script_create_cmdmenu): Skip leading
24925 newlines.
24926
24927 2006-09-22 Marco Gerards <marco@gnu.org>
24928
24929 * commands/echo.c: New file.
24930
24931 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
24932
24933 * conf/common.rmk (echo_mod_SOURCES): New variable.
24934 (echo_mod_CFLAGS): Likewise.
24935 (echo_mod_LDFLAGS): Likewise.
24936
24937 2006-09-22 Marco Gerards <marco@gnu.org>
24938
24939 * normal/main.c (get_line): Malloc memory instead of using
24940 preallocated memory. Removed the arguments `cmdline' and
24941 `max_len'. Updated all callers.
24942
24943 2006-09-22 Marco Gerards <marco@gnu.org>
24944
24945 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
24946 (normal_mod_DEPENDENCIES): Likewise.
24947
24948 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
24949 (normal_mod_DEPENDENCIES): Likewise.
24950
24951 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
24952
24953 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
24954
24955 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
24956 programs.
24957 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
24958 (normal_mod_DEPENDENCIES): Likewise.
24959 * conf/i386-pc.mk: Regenerate.
24960 * conf/i386-efi.mk: Likewise
24961 * conf/common.mk: Likewise.
24962 * conf/powerpc-ieee1275.mk: Likewise.
24963 * conf/sparc64-ieee1275.mk: Likewise.
24964
24965 2006-09-22 Robert Millan <rmh@aybabtu.com>
24966
24967 Sync with i386 version.
24968 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
24969 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
24970
24971 2006-09-21 Robert Millan <rmh@aybabtu.com>
24972
24973 Import from GRUB Legacy (lib/device.c):
24974 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
24975 (init_device_map) [__linux__]: Add support for I2O devices.
24976
24977 2006-09-14 Marco Gerards <marco@gnu.org>
24978
24979 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
24980 `-melf_i386'.
24981
24982 2006-09-14 Robert Millan <rmh@aybabtu.com>
24983
24984 * util/i386/pc/grub-install.in: Skip menu.lst when removing
24985 /boot/grub/*.lst.
24986
24987 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
24988
24989 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
24990 before adding it to device.map.
24991
24992 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
24993
24994 * genmk.rb: Let GCC generate dependencies the first time it
24995 compiles a file; using the -MD option.
24996 * conf/common.mk: Regenerate.
24997 * conf/i386-pc.mk: Likewise.
24998 * conf/i386-efi.mk: Likewise.
24999 * conf/powerpc-ieee1275.mk: Likewise.
25000 * conf/sparc64-ieee1275.mk: Likewise.
25001
25002 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
25003
25004 Move the prototypes of grub_setjmp and grub_longjmp to
25005 cpu/setjmp.h, so that each architecture may specify different
25006 attributes.
25007
25008 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
25009 (grub_longjmp): Likewise.
25010 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
25011 (grub_longjmp): Likewise.
25012 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
25013 (grub_longjmp): Likewise.
25014
25015 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
25016 [!GRUB_UTIL] (grub_longjmp): Removed.
25017
25018 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
25019
25020 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
25021 "color!" method does not return any value.
25022
25023 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
25024
25025 * include/grub/bitmap.h: New file.
25026
25027 * include/grub/i386/pc/vbeutil.h: Likewise.
25028
25029 * video/bitmap.c: Likewise.
25030
25031 * video/readers/tga.c: Likewise.
25032
25033 * video/i386/pc/vbeutil.c: Likewise.
25034
25035 * commands/videotest.c: Code cleanup and updated to reflect to new
25036 video API.
25037
25038 * term/gfxterm.c: Likewise.
25039
25040 * video/video.c: Likewise.
25041
25042 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
25043 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
25044 (bitmap_mod_SOURCES): New entry.
25045 (bitmap_mod_CFLAGS): Likewise.
25046 (bitmap_mod_LDFLAGS): Likewise.
25047 (tga_mod_SOURCES): Likewise.
25048 (tga_mod_CFLAGS): Likewise.
25049 (tga_mod_LDFLAGS): Likewise.
25050
25051 * include/grub/video.h (grub_video_blit_operators): New enum type.
25052 (grub_video_render_target): Changed as forward declaration and moved
25053 actual definition to be video driver specific.
25054 (grub_video_adapter.blit_bitmap): Added blitting operator.
25055 (grub_video_adapter.blit_render_target): Likewise.
25056 (grub_video_blit_bitmap): Likewise.
25057 (grub_video_blit_render_target): Likewise.
25058
25059 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
25060 driver specific render target definition.
25061 (grub_video_vbe_map_rgba): Added driver internal helper.
25062 (grub_video_vbe_unmap_color): Updated to use
25063 grub_video_i386_vbeblit_info.
25064 (grub_video_vbe_get_video_ptr): Likewise.
25065
25066 * include/grub/i386/pc/vbeblit.h
25067 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
25068 grub_video_i386_vbeblit_info.
25069 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25070 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25071 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25072 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25073 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25074 (grub_video_i386_vbeblit_index_index): Likewise.
25075 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
25076 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25077 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25078 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
25079 operator.
25080 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
25081 operator.
25082
25083 * video/i386/pc/vbeblit.c: Updated to reflect changes on
25084 include/grub/i386/pc/vbeblit.h.
25085
25086 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
25087 Updated to use grub_video_i386_vbeblit_info.
25088 (grub_video_i386_vbefill_R8G8B8): Likewise.
25089 (grub_video_i386_vbefill_index): Likewise.
25090 (grub_video_i386_vbefill): Added generic filler.
25091
25092 * video/i386/pc/vbefill.c: Updated to reflect changes on
25093 include/grub/i386/pc/vbefill.h.
25094
25095 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
25096 grub_video_i386_vbeblit_info.
25097 (grub_video_vbe_unmap_color): Likewise.
25098 (grub_video_vbe_blit_glyph): Likewise.
25099 (grub_video_vbe_scroll): Likewise.
25100 (grub_video_vbe_draw_pixel): Removed function.
25101 (grub_video_vbe_get_pixel): Likewise.
25102 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
25103 updated code to use it.
25104 (common_blitter): Added common blitter for render target and bitmap.
25105 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
25106 (grub_video_vbe_blit_render_target): Likewise.
25107
25108 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
25109
25110 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
25111 is in text mode if there is no console control protocol instance
25112 available.
25113
25114 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
25115
25116 * include/grub/video.h: Code cleanup.
25117
25118 * include/grub/i386/pc/vbe.h: Likewise.
25119
25120 * video/i386/pc/vbe.c: Likewise.
25121
25122 * video/i386/pc/vbeblit.c: Likewise.
25123
25124 * video/i386/pc/vbefill.c: Likewise.
25125
25126 * video/video.c: Likewise. Also added more comments.
25127
25128 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
25129
25130 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
25131 (struct grub_biosdisk_dap): Likewise.
25132
25133 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
25134 linkage settings for all functions.
25135
25136 2006-07-12 Marco Gerards <marco@gnu.org>
25137
25138 * configure.ac (--enable-mm-debug): Fix typo.
25139
25140 * genkernsyms.sh.in: Use proper quoting for `CC'.
25141
25142 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
25143
25144 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
25145 (normal_mod_ASFLAGS): Remove "-m32".
25146
25147 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
25148
25149 * util/misc.c: Include config.h.
25150 [!HAVE_MEMALIGN]: Do not include malloc.h.
25151 (grub_memalign): Use posix_memalign, if present. Then, use
25152 memalign, if present. Otherwise, emit an error.
25153
25154 * util/grub-emu.c: Do not include malloc.h.
25155
25156 * include/grub/util/misc.h: Include unistd.h. This is required for
25157 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
25158 D. Eades III <hde@foobar-qux.org>.
25159
25160 * configure.ac (AC_GNU_SOURCE): Added.
25161 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
25162 type.
25163
25164 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
25165
25166 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
25167 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
25168
25169 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
25170
25171 * include/grub/types.h (grub_host_addr_t): Rename to
25172 grub_target_addr_t.
25173 (grub_host_off_t): Rename to grub_target_off_t.
25174 (grub_host_size_t): Rename to grub_target_size_t.
25175 (grub_host_ssize_t): Rename to grub_target_ssize_t.
25176 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
25177
25178 * include/grub/kernel.h (struct grub_module_header): Change type
25179 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
25180 (grub_module_info): Likewise.
25181
25182 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
25183
25184 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
25185 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
25186 Velazquez <jesus.velazquez@gmail.com>.
25187
25188 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
25189
25190 Count partitions from 1 instead of 0 in the string representation
25191 of partitions. Still use 0-based internally.
25192
25193 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
25194 (sun_partition_map_iterate): Use grub_partition_t instead of
25195 struct grub_partition *. Cast DESC->START_CYLINDER to
25196 grub_uint64_t after converting the endian.
25197 (sun_partition_map_probe): Subtract 1 for PARTNUM.
25198 (sun_partition_map_get_name): Add 1 to P->INDEX.
25199
25200 * partmap/pc.c (grub_partition_parse): Subtract 1 for
25201 PCDATA->DOS_PART.
25202 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
25203
25204 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
25205 zero instead of one.
25206 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
25207 (gpt_partition_map_get_name): Add 1 into P->INDEX.
25208
25209 * partmap/apple.c (apple_partition_map_iterate): Change the type
25210 of POS to unsigned.
25211 (apple_partition_map_probe): Subtract 1 for PARTNUM.
25212 (apple_partition_map_get_name): Add 1 into P->INDEX.
25213
25214 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
25215 of POS to unsigned.
25216 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
25217 calculate the offset of a partition.
25218 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
25219 (amiga_partition_map_get_name): Add 1 into P->INDEX.
25220
25221 * partmap/acorn.c (acorn_partition_map_find): Change the type of
25222 SECTOR to grub_disk_addr_t.
25223 (acorn_partition_map_iterate): Likewise.
25224 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
25225 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
25226 top.
25227 (acorn_partition_map_get_name): Add 1 into P->INDEX.
25228
25229 * kern/i386/pc/init.c (make_install_device): Add 1 into
25230 GRUB_INSTALL_DOS_PART.
25231
25232 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
25233 conditional.
25234
25235 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
25236
25237 Clean up the code to support 64-bit addressing in disks and
25238 files. This change is not enough for filesystems yet.
25239
25240 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
25241 type of "start" to grub_uint64_t.
25242 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
25243 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
25244 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
25245 convert addresses.
25246
25247 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
25248 to grub_disk_addr_t.
25249
25250 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
25251 string.
25252
25253 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25254
25255 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
25256 to char *.
25257
25258 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
25259
25260 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
25261
25262 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
25263
25264 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
25265 to grub_off_t, to detect an error from grub_file_seek.
25266 (grub_multiboot_load_elf32): Likewise.
25267
25268 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
25269 maximum unsigned long value when an overflow is detected.
25270 (grub_strtoull): New function.
25271 (grub_divmod64): Likewise.
25272 (grub_lltoa): use grub_divmod64.
25273
25274 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
25275 grub_disk_addr_t.
25276 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
25277 the pointer to next character. Use grub_strtoull instead of
25278 grub_strtoul.
25279 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
25280 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
25281 respectively.
25282
25283 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
25284 return value is signed.
25285 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
25286 test if OFFSET is less than zero, as OFFSET is unsigned now.
25287
25288 * kern/disk.c (struct grub_disk_cache): Change the type of
25289 "sector" to grub_disk_addr_t.
25290 (grub_disk_cache_get_index): Change the type of SECTOR to
25291 grub_disk_addr_t. Calculate the hash with SECTOR casted to
25292 unsigned after shifting.
25293 (grub_disk_cache_invalidate): Change the type of SECTOR to
25294 grub_disk_addr_t.
25295 (grub_disk_cache_unlock): Likewise.
25296 (grub_disk_cache_store): Likewise.
25297 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
25298 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
25299 grub_disk_addr_t and grub_uint64_t, respectively.
25300 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
25301 body, as the value of OFFSET is tweaked by
25302 grub_disk_check_range. Change the types of START_SECTOR, LEN and
25303 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
25304 respectively.
25305 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
25306 body, as the value of OFFSET is tweaked by
25307 grub_disk_check_range. Change the types of LEN and N to
25308 grub_size_t.
25309
25310 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
25311 and "saved_offset" to grub_off_t.
25312 (test_header): Cast BUF to char *.
25313 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
25314 to char *.
25315 (grub_gzio_read): Change the types of OFFSET and SIZE to
25316 grub_off_t and grub_size_t, respectively.
25317
25318 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
25319 Removed.
25320 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
25321 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
25322 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
25323 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
25324 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
25325
25326 * include/grub/types.h (grub_off_t): Unconditionally set to
25327 grub_uint64_t.
25328 (grub_disk_addr_t): Changed to grub_uint64_t.
25329
25330 * include/grub/partition.h (struct grub_partition): Change the
25331 types of "start", "len" and "offset" to grub_disk_addr_t,
25332 grub_uint64_t and grub_disk_addr_t, respectively.
25333 (grub_partition_get_start): Return grub_disk_addr_t.
25334 (grub_partition_get_len): Return grub_uint64_t.
25335
25336 * include/grub/misc.h (grub_strtoull): New prototype.
25337 (grub_divmod64): Likewise.
25338
25339 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
25340 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
25341 grub_off_t, respectively.
25342 All callers and references changed.
25343
25344 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
25345 grub_size_t in "read".
25346 All callers and references changed.
25347
25348 * include/grub/file.h (struct grub_file): Change the types of
25349 "offset" and "size" to grub_off_t and grub_off_t,
25350 respectively. Change the type of SECTOR to grub_disk_addr_t in
25351 "read_hook".
25352 (grub_file_read): Change the type of LEN to grub_size_t.
25353 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
25354 grub_off_t.
25355 (grub_file_size): Return grub_off_t.
25356 (grub_file_tell): Likewise.
25357 All callers and references changed.
25358
25359 * include/grub/disk.h (struct grub_disk_dev): Change the types of
25360 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
25361 "write".
25362 (struct grub_disk): Change the type of "total_sectors" to
25363 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
25364 "read_hook".
25365 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
25366 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
25367 (grub_disk_write): Likewise.
25368 All callers and references changed.
25369
25370 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
25371 char * for grub_strncmp to silence gcc.
25372 (grub_iso9660_mount): Likewise.
25373 (grub_iso9660_mount): Likewise.
25374 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
25375 return statement.
25376 (grub_iso9660_iterate_dir): Likewise.
25377 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
25378
25379 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
25380 LEN to grub_disk_addr_t and grub_size_t, respectively.
25381
25382 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25383
25384 * fs/jfs.c (grub_jfs_read_file): Likewise.
25385
25386 * fs/minix.c (grub_jfs_read_file): Likewise.
25387
25388 * fs/sfs.c (grub_jfs_read_file): Likewise.
25389
25390 * fs/ufs.c (grub_jfs_read_file): Likewise.
25391
25392 * fs/xfs.c (grub_jfs_read_file): Likewise.
25393
25394 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
25395 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
25396 respectively.
25397
25398 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
25399 BLKNR to -1 instead of returning GRUB_ERRNO.
25400 (grub_ext2_read_file): Change the types of SECTOR and
25401 LEN to grub_disk_addr_t and grub_size_t, respectively.
25402
25403 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
25404 LEN to grub_disk_addr_t and grub_size_t, respectively.
25405
25406 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
25407 grub_file_read.
25408
25409 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
25410 string. Do not cast SECTOR explicitly.
25411
25412 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
25413 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
25414 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
25415 grub_disk_addr_t and grub_size_t, respectively. If the sector is
25416 over 2TB and LBA mode is not supported, raise an error.
25417 (get_safe_sectors): New function.
25418 (grub_biosdisk_read): Use get_safe_sectors.
25419 (grub_biosdisk_write): Likewise.
25420
25421 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
25422 (grub_efidisk_write): Likewise.
25423
25424 * disk/loopback.c (delete_loopback): Cosmetic changes.
25425 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
25426 correctly.
25427 (grub_loopback_open): Likewise.
25428 (grub_loopback_read): Likewise. Also, change the type of POS to
25429 grub_off_t, and fix the usage of grub_memset.
25430
25431 * commands/i386/pc/play.c: Include grub/machine/time.h.
25432
25433 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
25434 print FILE->SIZE.
25435
25436 * commands/configfile.c: Include grub/env.h.
25437
25438 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
25439 GRUB_ERRNO directly instead. Change the type of POS to
25440 grub_off_t. Follow the coding standard.
25441
25442 * commands/blocklist.c: Include grub/partition.h.
25443 (grub_cmd_blocklist): Return an error if the underlying device is
25444 not a disk. Take the starting sector of a partition into account,
25445 if a partition is used.
25446
25447 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
25448 a length field.
25449 (lba_mode): Support 64-bit addresses.
25450 (chs_mode): Likewise.
25451 (copy_buffer): Adapted to the new offsets of a length field and a
25452 segment field.
25453 (blocklist_default_start): Allocate 64-bit space.
25454
25455 * boot/i386/pc/boot.S (force_lba): Removed.
25456 (boot_drive): Moved to under KERNEL_SECTOR.
25457 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
25458 space.
25459 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
25460 is useless.
25461 (lba_mode): Refactored to support a 64-bit address. More size
25462 optimization.
25463 (setup_sectors): Likewise.
25464
25465 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
25466
25467 * DISTLIST: Added include/grub/i386/linux.h. Removed
25468 include/grub/i386/pc/linux.h
25469
25470 * configure.ac (AC_INIT): Bumped to 1.94.
25471
25472 * config.guess: Updated from gnulib.
25473 * config.sub: Likewise.
25474 * install-sh: Likewise.
25475 * mkinstalldirs: Likewise.
25476
25477 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
25478
25479 * conf/common.rmk (grub_modules_init.lst): Depended on
25480 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
25481 MODSRCFILES.
25482
25483 * genmk.rb (PModule::rule): Reverted the previous change.
25484
25485 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
25486
25487 * conf/common.rmk (grub_modules_init.lst): Depends on
25488 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
25489 that the target does not exist before producing.
25490 (grub_modules_init.h): Remove the target before generating.
25491 (grub_emu_init.c): Likewise.
25492
25493 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
25494
25495 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
25496
25497 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
25498 for the target-specific tests. Make sure that we also have the
25499 up-to-date target variables for those tests.
25500
25501 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
25502
25503 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
25504 (PModule::rule): Likewise.
25505
25506 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
25507
25508 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
25509 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
25510 target-specific flags should be prefixed.
25511 (PModule::rule): Likewise.
25512
25513 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
25514
25515 * configure.ac (CMP): Check if cmp is available explicitly.
25516
25517 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
25518
25519 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
25520 (target_cpu): New variable.
25521 (pkglibdir): Use target_cpu instead of host_cpu.
25522
25523 * util/i386/pc/grub-install.in (host_cpu): Removed.
25524 (target_cpu): New variable.
25525 (pkglibdir): Use target_cpu instead of host_cpu.
25526
25527 * util/genmoddep.c: Removed.
25528
25529 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
25530 instead of GRUB_HOST_SIZEOF_VOID_P.
25531 * kern/dl.c: Likewise.
25532
25533 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
25534 ...
25535 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
25536 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
25537 (GRUB_TARGET_SIZEOF_LONG): ... this.
25538 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
25539 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
25540 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
25541 to ...
25542 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
25543 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
25544 (GRUB_TARGET_SIZEOF_LONG): ... this.
25545 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
25546 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
25547 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
25548 to ...
25549 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
25550 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
25551 (GRUB_TARGET_SIZEOF_LONG): ... this.
25552 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
25553 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
25554
25555 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
25556 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
25557 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
25558 instead of GRUB_HOST_SIZEOF_LONG.
25559 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
25560 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
25561 GRUB_CPU_WORDS_BIGENDIAN.
25562 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
25563 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
25564 grub_host_ssize_t.
25565
25566 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
25567 (genmoddep_SOURCES): Likewise.
25568 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
25569 (genmoddep_SOURCES): Likewise.
25570 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
25571 (genmoddep_SOURCES): Likewise.
25572 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
25573 Likewise.
25574 (genmoddep_SOURCES): Likewise.
25575
25576 * genmoddep.awk: New file.
25577
25578 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
25579 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
25580 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
25581 (PModule::rule): Likewise.
25582 (Program::rule): Likewise.
25583 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
25584 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
25585 respectively.
25586
25587 * configure.ac: Rewritten intensively to use host and target
25588 instead of build and host, respectively.
25589
25590 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
25591 (host_cpu): Removed.
25592 (target_cpu): New variable.
25593 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
25594 (BUILD_CC): Removed.
25595 (BUILD_CFLAGS): Likewise.
25596 (BUILD_CPPFLAGS): Likewise.
25597 (TARGET_CC): New variable.
25598 (TARGET_CFLAGS): Likewise.
25599 (TARGET_CPPFLAGS): Likewise.
25600 (TARGET_LDFLAGS): Likewise.
25601 (AWK): Likewise.
25602 (include): Use target_cpu instead of host_cpu.
25603 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
25604
25605 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
25606
25607 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
25608
25609 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
25610 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
25611 field 'false' to 'exec_on_false'.
25612 (grub_script_create_cmdif): Renamed argument names to reflect above
25613 changes.
25614
25615 * normal/execute.c (grub_script_execute_cmdif): Likewise.
25616
25617 * normal/script.c (grub_script_create_cmdif): Likewise.
25618
25619 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
25620
25621 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
25622 top.
25623 (grub_hfsplus_btree_recptr): Likewise.
25624 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
25625 FILEBLOCK both to pass a block number and store next block
25626 number.
25627 (grub_hfsplus_read_block): Rewritten heavily to support an extent
25628 overflow file correctly. Specify errors appropriately, because
25629 fshelp expects that GRUB_ERRNO is set when fails. Reuse
25630 grub_hfsplus_btree_recptr to get the pointer to a found key.
25631 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
25632 is found.
25633
25634 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
25635 linux.mod.
25636 (_linux_mod_SOURCES): New variable.
25637 (_linux_mod_CFLAGS): Likewise.
25638 (_linux_mod_LDFLAGS): Likewise.
25639 (linux_mod_SOURCES): Likewise.
25640 (linux_mod_CFLAGS): Likewise.
25641 (linux_mod_LDFLAGS): Likewise.
25642
25643 * DISTLIST: Added loader/i386/efi/linux.c,
25644 loader/i386/efi/linux_normal.c and
25645 include/grub/i386/efi/loader.h.
25646
25647 * loader/i386/efi/linux.c: New file.
25648 * loader/i386/efi/linux_normal.c: Likewise.
25649 * include/grub/i386/efi/loader.h: Likewise.
25650
25651 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
25652
25653 * commands/blocklist.c: New file.
25654
25655 * DISTLIST: Added commands/blocklist.c.
25656
25657 * term/efi/console.c (grub_console_highlight_color): Use a lighter
25658 color for the background, and a darker color for the foreground.
25659 (grub_console_checkkey): Return READ_KEY.
25660 (grub_console_cls): Set the background to
25661 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
25662
25663 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
25664
25665 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
25666 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
25667
25668 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
25669 prototype.
25670
25671 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
25672 BG. The spec is wrong again.
25673
25674 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
25675 prototype.
25676 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
25677
25678 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25679 commands/blocklist.c.
25680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25681
25682 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
25683 (blocklist_mod_SOURCES): New variable.
25684 (blocklist_mod_CFLAGS): Likewise.
25685 (blocklist_mod_LDFLAGS): Likewise.
25686
25687 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
25688
25689 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
25690 duplication.
25691 (lba_mode): Use %eax more intensively to reduce the code size.
25692
25693 2006-05-20 Marco Gerards <marco@gnu.org>
25694
25695 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
25696
25697 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
25698 for `menuentry'.
25699 (script): Accept leading newlines.
25700 (newlines): New rule to describe 0 or more newlines.
25701 (commands): Accept `command' with trailing newline. Fixed the
25702 order in which arguments were passed to `grub_script_add_cmd'.
25703 Accept commands separated by newlines.
25704 (function): Changed to accept newlines.
25705 (menuentry) Rewritten.
25706
25707 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
25708 front of the list, instead of to the end.
25709
25710 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
25711
25712 * util/i386/pc/grub-install.in (bindir): New variable.
25713 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
25714 Shaver <lbgwjl@gmail.com>.
25715
25716 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
25717
25718 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
25719 grub/machine/linux.h
25720 * loader/i386/pc/linux.c: Likewise.
25721
25722 * include/grub/i386/pc/linux.h: Moved to ...
25723 * include/grub/i386/linux.h: ... here.
25724
25725 * include/grub/i386/linux.h (struct linux_kernel_params): New
25726 struct.
25727
25728 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
25729
25730 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
25731 checking.
25732 (grub_video_vbe_blit_glyph): Likewise.
25733 (grub_video_vbe_blit_bitmap): Likewise.
25734 (grub_video_vbe_blit_render_target): Likewise.
25735
25736 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
25737
25738 * configure.ac (--with-platform): Properly quote the square
25739 brackets.
25740
25741 2006-05-08 Marco Gerards <marco@gnu.org>
25742
25743 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
25744 this...
25745 (kernel_elf_HEADERS): ...to this. Updated all users.
25746 (grubof_symlist.c): Renamed from this...
25747 (kernel_elf_symlist.c): ...to this. Updated all users.
25748 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
25749 (grubof_SOURCES): Renamed from this...
25750 (kernel_elf_SOURCES): ...to this.
25751 (grubof_HEADERS): Renamed from this...
25752 (kernel_elf_HEADERS): ...to this.
25753 (grubof_CFLAGS): Renamed from this...
25754 (kernel_elf_CFLAGS): ...to this.
25755 (grubof_ASFLAGS): Renamed from this...
25756 (kernel_elf_ASFLAGS): ...to this.
25757 (grubof_LDFLAGS): Renamed from this...
25758 (kernel_elf_LDFLAGS): ...to this.
25759
25760 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
25761 this...
25762 (kernel_elf_HEADERS): ...to this. Updated all users.
25763 (grubof_symlist.c): Renamed from this...
25764 (kernel_elf_symlist.c): ...to this. Updated all users.
25765 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
25766 (grubof_SOURCES): Renamed from this...
25767 (kernel_elf_SOURCES): ...to this.
25768 (grubof_HEADERS): Renamed from this...
25769 (kernel_elf_HEADERS): ...to this.
25770 (grubof_CFLAGS): Renamed from this...
25771 (kernel_elf_CFLAGS): ...to this.
25772 (grubof_ASFLAGS): Renamed from this...
25773 (kernel_elf_ASFLAGS): ...to this.
25774 (grubof_LDFLAGS): Renamed from this...
25775 (kernel_elf_LDFLAGS): ...to this.
25776
25777 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
25778 `kernel.elf' instead of `grubof'.
25779
25780 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
25781
25782 Add --with-platform to configure. Use pkglibdir instead of
25783 pkgdatadir. This is reported by Roger Leigh.
25784
25785 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
25786 (host_vendor): Likewise.
25787 (host_os): Likewise.
25788 (pkgdatadir): Likewise.
25789 (platform): New variable.
25790 (pkglibdir): Likewise.
25791 Use PKGLIBDIR instead of PKGDATADIR.
25792
25793 * util/i386/pc/grub-install.in (datadir): Removed.
25794 (host_vendor): Likewise.
25795 (host_os): Likewise.
25796 (pkgdatadir): Likewise.
25797 (platform): New variable.
25798 (pkglibdir): Likewise.
25799 Use PKGLIBDIR instead of PKGDATADIR.
25800
25801 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
25802 instead of GRUB_DATADIR.
25803 (main): Likewise.
25804 * util/i386/pc/grub-mkimage.c (usage): Likewise.
25805 (main): Likewise.
25806 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25807 (main): Likewise.
25808
25809 * configure.ac (--with-platform): New option.
25810 Use PLATFORM instead of HOST_VENDOR to specify a platform.
25811
25812 * Makefile.in: Include a makefile based on PLATFORM instead of
25813 HOST_VENDOR.
25814 (pkgdatadir): Not appended by the machine type.
25815 (pkglibdir): Appended by the machine type.
25816 (host_vendor): Removed.
25817 (platform): New variable.
25818 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
25819 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
25820 (uninstall): Likewise.
25821
25822 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
25823
25824 Use the environment context in the menu. Remove the commands
25825 "default" and "timeout", and use variables instead.
25826
25827 * normal/menu.c: Include grub/env.h.
25828 (print_entry): Cast TITLE to silence gcc.
25829 (get_timeout): New function.
25830 (set_timeout): Likewise.
25831 (get_entry_number): Likewise.
25832 (run_menu): Use a default entry, a fallback entry and a timeout
25833 in the environment variables "default", "fallback" and
25834 "timeout". Also, tweak the default entry if it is not within the
25835 current menu entries.
25836 (grub_menu_run): Use a fallback entry in the environment variable
25837 "fallback".
25838
25839 * normal/main.c (read_config_file): Do not initialize
25840 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
25841 NEWMENU->TIMEOUT.
25842 (grub_normal_execute): Use a data slot to store the menu.
25843
25844 * include/grub/normal.h (struct grub_menu): Removed default_entry,
25845 fallback_entry and timeout.
25846 (struct grub_menu_list): Removed.
25847 (grub_menu_list_t): Likewise.
25848 (struct grub_context): Likewise.
25849 (grub_context_t): Likewise.
25850 (grub_context_get): Likewise.
25851 (grub_context_get_current_menu): Likewise.
25852 (grub_context_push_menu): Likewise.
25853 (grub_context_pop_menu): Likewise.
25854 (grub_default_init): Likewise.
25855 (grub_default_fini): Likewise.
25856 (grub_timeout_init): Likewise.
25857 (grub_timeout_fini): Likewise.
25858
25859 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
25860 and timeout.mod.
25861 (normal_mod_SOURCES): Removed normal/context.c.
25862
25863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
25864 commands/default.c, commands/timeout.c and normal/context.c.
25865 (normal_mod_SOURCES): Removed normal/context.c.
25866
25867 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
25868 commands/timeout.c and normal/context.c.
25869 (normal_mod_SOURCES): Removed normal/context.c.
25870
25871 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
25872 commands/default.c, commands/timeout.c and normal/context.c.
25873 (normal_mod_SOURCES): Removed normal/context.c.
25874
25875 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
25876 timeout.mod.
25877 (default_mod_SOURCES): Removed.
25878 (default_mod_CFLAGS): Likewise.
25879 (default_mod_LDFLAGS): Likewise.
25880 (timeout_mod_SOURCES): Removed.
25881 (timeout_mod_CFLAGS): Likewise.
25882 (timeout_mod_LDFLAGS): Likewise.
25883
25884 * DISTLIST: Removed commands/default.c, commands/timeout.c and
25885 normal/context.c.
25886
25887 * commands/default.c: Removed.
25888 * commands/timeout.c: Likewise.
25889 * normal/context.c: Likewise.
25890
25891 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
25892
25893 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
25894
25895 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
25896
25897 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
25898 "next" to "prev" for readability.
25899 (struct grub_env_sorted_var): New struct.
25900 (grub_env_context): Renamed to ...
25901 (initial_context): ... this.
25902 (grub_env_var_context): Renamed to ...
25903 (current_context): ... this.
25904 (grub_env_find): Look only at CURRENT_CONTEXT.
25905 (grub_env_context_open): Rewritten to copy exported variables from
25906 previous context.
25907 (grub_env_context_close): Rewritten according to the new
25908 scheme. Also, add an assertion to prevent the initial context from
25909 removed.
25910 (grub_env_insert): Removed the code for the sorted list.
25911 (grub_env_remove): Likewise.
25912 (grub_env_export): Simply mark the variable with
25913 GRUB_ENV_VAR_GLOBAL.
25914 (grub_env_set): A cosmetic change for naming consistency.
25915 (grub_env_get): Likewise.
25916 (grub_env_unset): Likewise.
25917 (grub_env_iterate): Rewritten to sort variables within this
25918 function.
25919 (grub_register_variable_hook): Fixed for naming consistency. Call
25920 grub_env_find again, only if NAME is not found at the first time.
25921 (mangle_data_slot_name): New function.
25922 (grub_env_set_data_slot): Likewise.
25923 (grub_env_get_data_slot): Likewise.
25924 (grub_env_unset_data_slot): Likewise.
25925
25926 * include/grub/env.h (grub_env_var_type): New enum.
25927 (GRUB_ENV_VAR_LOCAL): New constant.
25928 (GRUB_ENV_VAR_GLOBAL): Likewise.
25929 (GRUB_ENV_VAR_DATA): Likewise.
25930 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
25931 "type".
25932 (grub_env_set): Replace VAR with NAME for consistency.
25933 (grub_register_variable_hook): Likewise.
25934 (grub_env_export): Specify the name of the argument.
25935 (grub_env_set_data_slot): New prototype.
25936 (grub_env_get_data_slot): Likewise.
25937 (grub_env_unset_data_slot): Likewise.
25938
25939 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
25940
25941 Extend the loader so that GRUB can accept a loader which comes
25942 back to GRUB when a loaded image exits. Also, this change adds
25943 support for a chainloader on EFI.
25944
25945 * term/efi/console.c: Include grub/misc.h.
25946 (grub_console_checkkey): Display a scan code on the top for
25947 debugging. This will be removed once the EFI port gets stable.
25948 Correct the scan code mapping.
25949
25950 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
25951 allocate memory from larger regions, in order to reduce the number
25952 of allocated regions. Otherwise, the MacOSX loader panics.
25953 (filter_memory_map): Avoid less than 1MB for compatibility with
25954 other loaders.
25955 (add_memory_regions): Allocate from the tail of a region, if
25956 possible, to avoid allocating a region near to 1MB, for the MacOSX
25957 loader.
25958
25959 * kern/efi/init.c (grub_efi_set_prefix): Specify
25960 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
25961
25962 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
25963 argument IMAGE_HANDLE and specify it to get a loaded image.
25964 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
25965 grub_efi_get_loaded_image.
25966 (grub_efi_get_filename): Divide the length by the size of
25967 grub_efi_char16_t.
25968 (grub_efi_get_device_path): New function.
25969 (grub_efi_print_device_path): Print End Device Path nodes. Divide
25970 the length by the size of grub_efi_char16_t for a file path device
25971 path node.
25972
25973 * kern/loader.c (grub_loader_noreturn): New variable.
25974 (grub_loader_set): Accept a new argument NORETURN. Set
25975 GRUB_LOADER_NORETURN to NORETURN.
25976 All callers changed.
25977 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
25978 grub_machine_fini.
25979
25980 * include/grub/efi/efi.h (grub_efi_get_device_path): New
25981 prototype.
25982 (grub_efi_get_loaded_image): Take an argument to specify an image
25983 handle.
25984
25985 * include/grub/loader.h (grub_loader_set): Added one more argument
25986 NORETURN.
25987
25988 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
25989 instead of grub_efi_open_protocol.
25990 (grub_efidisk_get_device_name): Likewise.
25991 (grub_efidisk_close): Print a newline.
25992 (grub_efidisk_get_device_handle): Fixed to use
25993 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
25994 GRUB_EFI_DEVICE_PATH_TYPE.
25995
25996 * disk/efi/efidisk.c (device_path_guid): Moved to ...
25997 * kern/efi/efi.c (device_path_guid): ... here.
25998
25999 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
26000 chain.mod.
26001 (kernel_mod_HEADERS): Added efi/disk.h.
26002 (_chain_mod_SOURCES): New variable.
26003 (_chain_mod_CFLAGS): Likewise.
26004 (_chain_mod_LDFLAGS): Likewise.
26005 (chain_mod_SOURCES): Likewise.
26006 (chain_mod_CFLAGS): Likewise.
26007 (chain_mod_LDFLAGS): Likewise.
26008
26009 * DISTLIST: Added include/grub/efi/chainloader.h,
26010 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
26011
26012 * include/grub/efi/chainloader.h: New file.
26013 * loader/efi/chainloader.c: Likewise.
26014 * loader/efi/chainloader_normal.c: Likewise.
26015
26016 2006-04-30 Marco Gerards <marco@gnu.org>
26017
26018 * commands/configfile.c (grub_cmd_source): New function.
26019 (GRUB_MOD_INIT): Register the commands `source' and `.'.
26020 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
26021
26022 2006-04-30 Marco Gerards <marco@gnu.org>
26023
26024 * normal/execute.c (grub_script_execute_cmd): Change the return
26025 type to `grub_err_t'. Correctly return the error.
26026 (grub_script_execute_cmdline): In case a command line is not a
26027 command or a function, try to interpret it as an assignment.
26028
26029 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
26030
26031 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
26032 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
26033 skip a node whose name is obviously invalid as UTF-16,
26034 i.e. contains a NUL character. Stop the iteration when the last
26035 directory entry is found. Instead of using the return value of
26036 grub_hfsplus_btree_iterate_node, store the value in RET and use
26037 it, because the iterator can be stopped by the last directory
26038 entry.
26039
26040 2006-04-30 Marco Gerards <marco@gnu.org>
26041
26042 * include/grub/env.h (grub_env_export): New prototype. Reported
26043 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
26044
26045 2006-04-30 Marco Gerards <marco@gnu.org>
26046
26047 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
26048 size of the extents in a catalog file record.
26049
26050 2006-04-29 Marco Gerards <marco@gnu.org>
26051
26052 * commands/configfile.c (grub_cmd_configfile): Execute the
26053 configfile within its own context.
26054
26055 * include/grub/env.h (grub_env_context_open): New prototype.
26056 (grub_env_context_close): Likewise.
26057
26058 * kern/env.c (grub_env): Removed.
26059 (grub_env_sorted): Likewise.
26060 (grub_env_context): New variable.
26061 (grub_env_var_context): Likewise.
26062 (grub_env_find): Search both the active context and the global
26063 context.
26064 (grub_env_context_open): New function.
26065 (grub_env_context_close): Likewise.
26066 (grub_env_insert): Likewise.
26067 (grub_env_remove): Likewise.
26068 (grub_env_export): Likewise.
26069 (grub_env_set): Changed to use helper functions to avoid code
26070 duplication.
26071 (grub_env_iterate): Rewritten so both the current context and the
26072 global context are being used.
26073
26074 * normal/command.c (export_command): New function.
26075 (grub_command_init): Register the `export' function.
26076
26077 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
26078
26079 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
26080 explicitly to suppress gcc's warnings.
26081 * fs/fat.c (grub_fat_find_dir): Likewise.
26082 (grub_fat_label): Likewise.
26083 * fs/xfs.c (grub_xfs_read_inode): Likewise.
26084 (grub_xfs_mount): Likewise.
26085 (grub_xfs_label): Likewise.
26086 * fs/affs.c (grub_affs_mount): Likewise.
26087 (grub_affs_label): Likewise.
26088 (grub_affs_iterate_dir): Likewise.
26089 * fs/sfs.c (grub_sfs_mount): Likewise.
26090 (grub_sfs_iterate_dir): Likewise.
26091 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
26092 * fs/hfs.c (grub_hfs_mount): Likewise.
26093 (grub_hfs_cmp_catkeys): Likewise.
26094 (grub_hfs_find_dir): Likewise.
26095 (grub_hfs_dir): Likewise.
26096 (grub_hfs_label): Likewise.
26097 * fs/jfs.c (grub_jfs_mount): Likewise.
26098 (grub_jfs_opendir): Likewise.
26099 (grub_jfs_getent): Likewise.
26100 (grub_jfs_lookup_symlink): Likewise.
26101 (grub_jfs_label): Likewise.
26102 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
26103 (grub_hfsplus_iterate_dir): Likewise.
26104 (grub_hfsplus_btree_iterate_node): Made static.
26105
26106 * util/grub-emu.c (prefix): New variable.
26107 (grub_machine_set_prefix): New function.
26108 (main): Do not set the environment variable "prefix" here. Only
26109 set PREFIX, which is used later by grub_machine_set_prefix.
26110
26111 * include/grub/video.h: Do not include grub/symbol.h.
26112 (grub_video_register): Not exported. This symbol is not defined in
26113 the kernel.
26114 (grub_video_unregister): Likewise.
26115 (grub_video_iterate): Likewise.
26116 (grub_video_setup): Likewise.
26117 (grub_video_restore): Likewise.
26118 (grub_video_get_info): Likewise.
26119 (grub_video_get_blit_format): Likewise.
26120 (grub_video_set_palette): Likewise.
26121 (grub_video_get_palette): Likewise.
26122 (grub_video_set_viewport): Likewise.
26123 (grub_video_get_viewport): Likewise.
26124 (grub_video_map_color): Likewise.
26125 (grub_video_map_rgb): Likewise.
26126 (grub_video_map_rgba): Likewise.
26127 (grub_video_fill_rect): Likewise.
26128 (grub_video_blit_glyph): Likewise.
26129 (grub_video_blit_bitmap): Likewise.
26130 (grub_video_blit_render_target): Likewise.
26131 (grub_video_scroll): Likewise.
26132 (grub_video_swap_buffers): Likewise.
26133 (grub_video_create_render_target): Likewise.
26134 (grub_video_delete_render_target): Likewise.
26135 (grub_video_set_active_render_target): Likewise.
26136
26137 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
26138 Undefined.
26139 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
26140
26141 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
26142 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
26143 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
26144 instead of $(srcdir)/genkernsyms.sh.
26145
26146 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
26147 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
26148 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
26149 instead of $(srcdir)/genkernsyms.sh.
26150
26151 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
26152 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
26153 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
26154 instead of $(srcdir)/genkernsyms.sh.
26155
26156 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
26157 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
26158 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
26159 instead of $(srcdir)/genkernsyms.sh.
26160
26161 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
26162 genkernsyms.sh.
26163
26164 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
26165 genkernsyms.sh.
26166 (gensymlist.sh): New target.
26167 (genkernsyms.sh): Likewise.
26168
26169 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
26170 genkernsyms.sh.in and gensymlist.sh.in.
26171
26172 * genkernsyms.sh: Removed.
26173 * gensymlist.sh: Likewise.
26174
26175 * genkernsyms.sh.in: New file.
26176 * gensymlist.sh.in: Likewise.
26177
26178 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
26179
26180 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
26181 clobber "prefix", since we may have already set it manually.
26182
26183 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
26184
26185 * kern/misc.c (abort): New alias for grub_abort.
26186
26187 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
26188
26189 A new machine-specific function "grub_machine_set_prefix" is
26190 defined. This is called after loading modules, so that a prefix
26191 initialization can use modules. Also, this change adds an
26192 intensive debugging feature for the memory manager via the
26193 configure option "--enable-mm-debug".
26194
26195 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
26196 PART.LEN.
26197
26198 * kern/sparc64/ieee1275/init.c (abort): Removed.
26199 (grub_stop): Likewise.
26200 (grub_exit): New function.
26201 (grub_set_prefix): Renamed to ...
26202 (grub_machine_set_prefix): ... this.
26203 (grub_machine_init): Do not call grub_set_prefix.
26204
26205 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
26206 (grub_machine_set_prefix): ... this.
26207 (grub_machine_init): Do not call grub_set_prefix.
26208
26209 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
26210 (grub_machine_init): Do not set the prefix here.
26211
26212 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
26213
26214 * kern/efi/init.c: Include grub/mm.h.
26215 (grub_efi_set_prefix): New function.
26216
26217 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
26218 (grub_efi_get_filename): New function.
26219 (grub_print_device_path): Renamed to ...
26220 (grub_efi_print_device_path): ... this.
26221
26222 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
26223 [MM_DEBUG] (grub_realloc): Likewise.
26224 [MM_DEBUG] (grub_free): Likewise.
26225 [MM_DEBUG] (grub_memalign): Likewise.
26226 [MM_DEBUG] (grub_mm_debug): New variable.
26227 [MM_DEBUG] (grub_debug_malloc): New function.
26228 [MM_DEBUG] (grub_debug_free): New function.
26229 [MM_DEBUG] (grub_debug_realloc): New function.
26230 [MM_DEBUG] (grub_debug_memalign): New function.
26231
26232 * kern/misc.c (grub_abort): Print a newline to distinguish
26233 the message.
26234
26235 * kern/main.c (grub_main): Call grub_machine_set_prefix and
26236 grub_set_root_dev after loading modules. This is necessary when
26237 setting a prefix depends on modules.
26238
26239 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
26240 (grub_efi_print_device_path): ... this.
26241 (grub_efi_get_filename): New prototype.
26242 (grub_efi_set_prefix): Likewise.
26243
26244 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
26245 and grub/disk.h.
26246 (grub_efidisk_get_device_handle): New prototype.
26247 (grub_efidisk_get_device_name): Likewise.
26248
26249 * include/grub/mm.h: Include config.h.
26250 (MM_DEBUG): Removed.
26251 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
26252 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
26253 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
26254 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
26255 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
26256 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
26257 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
26258 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
26259 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
26260
26261 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
26262
26263 * disk/efi/efidisk.c: Include grub/partition.h.
26264 (iterate_child_devices): New function.
26265 (add_device): First, compare only last device path nodes, so that
26266 devices are sorted by the types.
26267 (grub_efidisk_get_device_handle): New function.
26268 (grub_efidisk_get_device_name): Likewise.
26269
26270 * configure.ac (--enable-mm-debug): New option to enable the
26271 memory manager debugging feature. This makes the binary much
26272 bigger, so is disabled by default.
26273
26274 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
26275
26276 Use grub_abort instead of grub_stop, and grub_exit must be
26277 define in each architecture now. Also, this change adds support
26278 for EFI disks.
26279
26280 * util/i386/pc/grub-probefs.c: Include grub/term.h.
26281 (grub_getkey): New function.
26282 (grub_term_get_current): Likewise.
26283
26284 * util/i386/pc/grub-setup.c: Include grub/term.h.
26285 (grub_getkey): New function.
26286 (grub_term_get_current): Likewise.
26287
26288 * util/misc.c (grub_stop): Renamed to ...
26289 (grub_exit): ... this.
26290
26291 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
26292 (grub_exit): ... this.
26293 (grub_machine_init): Use grub_abort instead of abort.
26294 (grub_stop): Removed.
26295
26296 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
26297 abort.
26298
26299 * kern/i386/pc/startup.S (grub_exit): New function.
26300 (cold_reboot): New label.
26301
26302 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
26303 (grub_efi_init): Call grub_efidisk_init.
26304 (grub_efi_fini): Call grub_efidisk_fini.
26305
26306 * kern/efi/efi.c: Include grub/mm.h.
26307 (grub_efi_console_control_guid): Renamed to ...
26308 (console_control_guid): ... this.
26309 (grub_efi_loaded_image_guid): Renamed to ...
26310 (loaded_image_guid): ... this.
26311 (grub_efi_locate_handle): New function.
26312 (grub_efi_open_protocol): Likewise.
26313 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
26314 GRUB_EFI_CONSOLE_CONTROL_GUID.
26315 (grub_efi_exit): Removed.
26316 (grub_stop): Likewise.
26317 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
26318 (grub_exit): New function.
26319 (grub_print_device_path): Likewise.
26320
26321 * kern/rescue.c (grub_rescue_cmd_exit): New function.
26322 (grub_enter_rescue_mode): Register "exit".
26323
26324 * kern/misc.c (grub_real_dprintf): A cosmetic change.
26325 (grub_abort): New function.
26326
26327 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
26328
26329 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
26330
26331 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
26332
26333 * include/grub/efi/efi.h (grub_efi_exit): Removed.
26334 (grub_print_device_path): New prototype.
26335 (grub_efi_locate_handle): Likewise.
26336 (grub_efi_open_protocol): Likewise.
26337
26338 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
26339 * disk/efi/efidisk.c: Likewise.
26340
26341 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
26342
26343 * include/grub/efi/console_control.h
26344 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
26345
26346 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
26347 last 8 bytes as an array.
26348 (GRUB_EFI_DISK_IO_GUID): New macro.
26349 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
26350 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
26351 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
26352 grub_uint8_t.
26353 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
26354 (struct grub_efi_device_path): Rename the member "sub_type" to
26355 "subtype".
26356 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
26357 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
26358 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
26359 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
26360 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
26361 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
26362 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
26363 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
26364 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
26365 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
26366 (struct grub_efi_pci_device_path): New structure.
26367 (grub_efi_pci_device_path_t): New type.
26368 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
26369 (struct grub_efi_pccard_device_path): New structure.
26370 (grub_efi_pccard_device_path_t): New type.
26371 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
26372 (struct grub_efi_memory_mapped_device_path): New structure.
26373 (grub_efi_memory_mapped_device_path_t): New type.
26374 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
26375 (struct grub_efi_vendor_device_path): New structure.
26376 (grub_efi_vendor_device_path_t): New type.
26377 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
26378 (struct grub_efi_controller_device_path): New structure.
26379 (grub_efi_controller_device_path_t): New type.
26380 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
26381 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
26382 (struct grub_efi_acpi_device_path): New structure.
26383 (grub_efi_acpi_device_path_t): New type.
26384 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
26385 (struct grub_efi_expanded_acpi_device_path): New structure.
26386 (grub_efi_expanded_acpi_device_path_t): New type.
26387 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
26388 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
26389 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
26390 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
26391 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
26392 (struct grub_efi_atapi_device_path): New structure.
26393 (grub_efi_atapi_device_path_t): New type.
26394 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
26395 (struct grub_efi_fibre_channel_device_path): New structure.
26396 (grub_efi_fibre_channel_device_path_t): New type.
26397 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
26398 (struct grub_efi_1394_device_path): New structure.
26399 (grub_efi_1394_device_path_t): New type.
26400 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
26401 (struct grub_efi_usb_device_path): New structure.
26402 (grub_efi_usb_device_path_t): New type.
26403 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
26404 (struct grub_efi_usb_class_device_path): New structure.
26405 (grub_efi_usb_class_device_path_t): New type.
26406 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
26407 (struct grub_efi_i2o_device_path): New structure.
26408 (grub_efi_i2o_device_path_t): New type.
26409 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
26410 (struct grub_efi_mac_address_device_path): New structure.
26411 (grub_efi_mac_address_device_path_t): New type.
26412 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
26413 (struct grub_efi_ipv4_device_path): New structure.
26414 (grub_efi_ipv4_device_path_t): New type.
26415 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
26416 (struct grub_efi_ipv6_device_path): New structure.
26417 (grub_efi_ipv6_device_path_t): New type.
26418 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
26419 (struct grub_efi_infiniband_device_path): New structure.
26420 (grub_efi_infiniband_device_path_t): New type.
26421 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
26422 (struct grub_efi_uart_device_path): New structure.
26423 (grub_efi_uart_device_path_t): New type.
26424 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
26425 (struct grub_efi_vendor_messaging_device_path): New structure.
26426 (grub_efi_vendor_messaging_device_path_t): New type.
26427 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
26428 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
26429 (struct grub_efi_hard_drive_device_path): New structure.
26430 (grub_efi_hard_drive_device_path_t): New type.
26431 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
26432 (struct grub_efi_cdrom_device_path): New structure.
26433 (grub_efi_cdrom_device_path_t): New type.
26434 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
26435 (struct grub_efi_vendor_media_device_path): New structure.
26436 (grub_efi_vendor_media_device_path_t): New type.
26437 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
26438 (struct grub_efi_file_path_device_path): New structure.
26439 (grub_efi_file_path_device_path_t): New type.
26440 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
26441 (struct grub_efi_protocol_device_path): New structure.
26442 (grub_efi_protocol_device_path_t): New type.
26443 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
26444 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
26445 (struct grub_efi_bios_device_path): New structure.
26446 (grub_efi_bios_device_path_t): New type.
26447 (struct grub_efi_disk_io): New structure.
26448 (grub_efi_disk_io_t): New type.
26449 (struct grub_efi_block_io_media): New structure.
26450 (grub_efi_block_io_media_t): New type.
26451 (struct grub_efi_block_io): New structure.
26452 (grub_efi_block_io_t): New type.
26453
26454 * include/grub/misc.h (grub_stop): Removed.
26455 (grub_exit): New prototype.
26456 (grub_abort): Likewise.
26457
26458 * include/grub/disk.h (enum grub_disk_dev_id): Added
26459 GRUB_DISK_DEVICE_EFIDISK_ID.
26460
26461 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
26462 disk/efi/efidisk.c.
26463 (kernel_syms.lst): Remove the target if an error occurs.
26464
26465 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
26466
26467 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
26468 as it was simply too buggy.
26469
26470 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
26471
26472 * kern/misc.c (grub_lltoa): New function.
26473 (grub_vsprintf): Added support for the long long suffix,
26474 i.e. "ll".
26475
26476 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
26477
26478 * Makefile.in (LDFLAGS): Add variable.
26479 (LD): Remove variable.
26480 * configure.ac: Add -m32 to LDFLAGS.
26481 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
26482 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
26483 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
26484 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
26485 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
26486 variables.
26487 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
26488 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
26489 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
26490
26491 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
26492
26493 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
26494 length for unknown glyph.
26495
26496 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
26497
26498 Add support for pre-loaded modules into the EFI port.
26499
26500 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
26501 completely. Accept one more argument DIR. The caller has changed.
26502
26503 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
26504
26505 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
26506 (grub_efi_loaded_image_guid): New variable.
26507 (grub_efi_get_loaded_image): New function.
26508 (grub_arch_modules_addr): Likewise.
26509
26510 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
26511 prototype.
26512
26513 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
26514 (struct grub_efi_loaded_image): New structure.
26515 (grub_efi_loaded_image_t): New type.
26516
26517 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
26518
26519 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
26520 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
26521 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
26522
26523 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
26524
26525 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
26526
26527 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
26528
26529 * DISTLIST: Added include/grub/efi/console.h,
26530 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
26531 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
26532
26533 * include/grub/efi/console.h: New file.
26534 * include/grub/efi/time.h: Likewise.
26535 * include/grub/i386/efi/kernel.h: Likewise.
26536 * kern/efi/init.c: Likewise.
26537 * kern/efi/mm.c: Likewise.
26538 * term/efi/console.c: Likewise.
26539
26540 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
26541 (grub_stop): Removed.
26542 (grub_get_rtc): Likewise.
26543 (grub_machine_init): Simply call grub_efi_init.
26544 (grub_machine_fini): Call grub_efi_fini.
26545
26546 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
26547 (grub_efi_output_string): Removed.
26548 (grub_efi_stall): New function.
26549 (grub_stop): Likewise.
26550 (grub_get_rtc): Likewise.
26551
26552 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
26553 (grub_efi_stall): New prototype.
26554 (grub_efi_allocate_pages): Likewise.
26555 (grub_efi_free_pages): Likewise.
26556 (grub_efi_get_memory_map): Likewise.
26557 (grub_efi_mm_init): Likewise.
26558 (grub_efi_mm_fini): Likewise.
26559 (grub_efi_init): Likewise.
26560 (grub_efi_fini): Likewise.
26561
26562 * include/grub/i386/efi/time.h: Do not include
26563 grub/symbol.h. Include grub/efi/time.h.
26564 (GRUB_TICKS_PER_SECOND): Removed.
26565 (grub_get_rtc): Likewise.
26566
26567 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
26568 Added padding. The EFI spec is buggy.
26569 (GRUB_EFI_BLACK): New macro.
26570 (GRUB_EFI_BLUE): Likewise.
26571 (GRUB_EFI_GREEN): Likewise.
26572 (GRUB_EFI_CYAN): Likewise.
26573 (GRUB_EFI_RED): Likewise.
26574 (GRUB_EFI_MAGENTA): Likewise.
26575 (GRUB_EFI_BROWN): Likewise.
26576 (GRUB_EFI_LIGHTGRAY): Likewise.
26577 (GRUB_EFI_BRIGHT): Likewise.
26578 (GRUB_EFI_DARKGRAY): Likewise.
26579 (GRUB_EFI_LIGHTBLUE): Likewise.
26580 (GRUB_EFI_LIGHTGREEN): Likewise.
26581 (GRUB_EFI_LIGHTCYAN): Likewise.
26582 (GRUB_EFI_LIGHTRED): Likewise.
26583 (GRUB_EFI_LIGHTMAGENTA): Likewise.
26584 (GRUB_EFI_YELLOW): Likewise.
26585 (GRUB_EFI_WHITE): Likewise.
26586 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
26587 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
26588 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
26589 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
26590 (GRUB_EFI_BACKGROUND_RED): Likewise.
26591 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
26592 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
26593 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
26594 (GRUB_EFI_TEXT_ATTR): Likewise.
26595
26596 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
26597 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
26598 (kernel_mod_HEADERS): Added efi/time.h.
26599
26600 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
26601
26602 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
26603 include/grub/efi/api.h, include/grub/efi/console_control.h,
26604 include/grub/efi/efi.h, include/grub/efi/pe32.h,
26605 include/grub/i386/efi/time.h, kern/efi/efi.c,
26606 kern/i386/efi/init.c, kern/i386/efi/startup.S,
26607 and util/i386/efi/grub-mkimage.c.
26608
26609 * Makefile.in (RMKFILES): Added i386-efi.rmk.
26610
26611 * genmk.rb (PModule#rule): Do not export symbols if
26612 #{prefix}_EXPORTS is set to "no".
26613
26614 * conf/i386-efi.mk: New file.
26615 * conf/i386-efi.rmk: Likewise.
26616 * include/grub/efi/api.h: Likewise.
26617 * include/grub/efi/console_control.h: Likewise.
26618 * include/grub/efi/efi.h: Likewise.
26619 * include/grub/efi/pe32.h: Likewise.
26620 * include/grub/i386/efi/time.h: Likewise.
26621 * kern/efi/efi.c: Likewise.
26622 * kern/i386/efi/init.c: Likewise.
26623 * kern/i386/efi/startup.S: Likewise.
26624 * util/i386/efi/grub-mkimage.c: Likewise.
26625
26626 2006-04-17 Marco Gerards <marco@gnu.org>
26627
26628 * include/grub/script.h: Include <grub/parser.h> and
26629 "grub_script.tab.h".
26630 (struct grub_lexer_param): New struct.
26631 (struct grub_parser_param): Likewise.
26632 (grub_script_create_arglist): Pass the state in an argument.
26633 (grub_script_add_arglist): Likewise.
26634 (grub_script_create_cmdline): Likewise.
26635 (grub_script_create_cmdblock): Likewise.
26636 (grub_script_create_cmdif): Likewise.
26637 (grub_script_create_cmdmenu): Likewise.
26638 (grub_script_add_cmd): Likewise.
26639 (grub_script_arg_add): Likewise.
26640 (grub_script_lexer_ref): Likewise.
26641 (grub_script_lexer_deref): Likewise.
26642 (grub_script_lexer_record_start): Likewise.
26643 (grub_script_lexer_record_stop): Likewise.
26644 (grub_script_mem_record): Likewise.
26645 (grub_script_mem_record_stop): Likewise.
26646 (grub_script_malloc): Likewise.
26647 (grub_script_yylex): Likewise.
26648 (grub_script_yyparse): Likewise.
26649 (grub_script_yyerror): Likewise.
26650 (grub_script_yylex): Likewise.
26651 (grub_script_lexer_init): Return the state.
26652
26653 * normal/lexer.c (grub_script_lexer_state): Removed variable.
26654 (grub_script_lexer_done): Likewise.
26655 (grub_script_lexer_getline): Likewise.
26656 (grub_script_lexer_refs): Likewise.
26657 (script): Likewise.
26658 (newscript): Likewise.
26659 (record): Likewise.
26660 (recording): Likewise.
26661 (recordpos): Likewise.
26662 (recordlen): Likewise.
26663 (grub_script_lexer_init): Return the state instead of setting
26664 global variables.
26665 (grub_script_lexer_ref): Use the newly added argument for state
26666 instead of globals.
26667 (grub_script_lexer_deref): Likewise.
26668 (grub_script_lexer_record_start): Likewise.
26669 (grub_script_lexer_record_stop): Likewise.
26670 (recordchar): Likewise.
26671 (nextchar): Likewise.
26672 (grub_script_yylex2): Likewise.
26673 (grub_script_yylex): Likewise.
26674 (grub_script_yyerror): Likewise.
26675
26676 * normal/parser.y (func_mem): Removed variable.
26677 (menu_entry): Likewise.
26678 (err): Likewise.
26679 (%lex-param): New parser option.
26680 (%parse-param): Likewise.
26681 (script): Always return the AST.
26682 (argument): Pass the state around.
26683 (arguments): Likewise.
26684 (grubcmd): Likewise.
26685 (commands): Likewise.
26686 (function): Likewise.
26687 (menuentry): Likewise.
26688 (if_statement): Likewise.
26689 (if): Likewise.
26690
26691 * normal/script.c (grub_script_memused): Removed variable.
26692 (grub_script_parsed): Likewise.
26693 (grub_script_malloc): Added a state argument. Use that instead of
26694 global variables.
26695 (grub_script_mem_record): Likewise.
26696 (grub_script_mem_record_stop): Likewise.
26697 (grub_script_arg_add): Likewise.
26698 (grub_script_add_arglist): Likewise.
26699 (grub_script_create_cmdline): Likewise.
26700 (grub_script_create_cmdif): Likewise.
26701 (grub_script_create_cmdmenu): Likewise.
26702 (grub_script_add_cmd): Likewise.
26703 (grub_script_parse): Setup the state before calling the parser.
26704
26705 2006-04-16 Marco Gerards <marco@gnu.org>
26706
26707 * normal/command.c (grub_command_init): Remove the title command.
26708
26709 * normal/lexer.c (grub_script_yylex): Renamed from this...
26710 (grub_script_yylex2): ... to this.
26711 (grub_script_yylex): New function. Temporary
26712 introduced to filter some tokens.
26713 (grub_script_yyerror): Print a newline.
26714
26715 * normal/main.c (read_config_file): Output information about the
26716 lines that contain errors. Wait for a key after all lines have
26717 been processed. Don't return an empty menu.
26718
26719 * normal/parser.y (func_mem): Don't initialize.
26720 (menu_entry): Likewise.
26721 (err): New variable.
26722 (script): Don't return anything when an error was encountered.
26723 (ws, returns): Removed rules.
26724 (argument): Disabled concatenated variable support.
26725 (arguments): Remove explicit separators.
26726 (grubcmd): Likewise.
26727 (function): Likewise.
26728 (menuentry): Likewise.
26729 (if): Likewise.
26730 (commands): Likewise. Add error handling.
26731
26732 * normal/script.c (grub_script_create_cmdline): If
26733 `grub_script_parsed' is 0, assume the parser encountered an error.
26734
26735 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
26736
26737 * configure.ac: Add support for EFI. Fix the typo
26738 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
26739
26740 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
26741
26742 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
26743 foreign multibyte characters should be shown correctly.
26744
26745 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
26746
26747 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
26748 calculation.
26749 (read_config_file): Made it to close file before returning.
26750
26751 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
26752
26753 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
26754 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
26755 video/i386/pc/vbefill.c.
26756
26757 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
26758 video/i386/pc/vbefill.c.
26759
26760 * include/grub/video.h (grub_video_blit_format): New enum.
26761 (grub_video_mode_info): Added new member blit_format.
26762 (grub_video_get_blit_format): New function prototype.
26763
26764 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
26765 function prototype.
26766 (grub_video_vbe_map_rgb): Likewise.
26767 (grub_video_vbe_unmap_color): Likewise.
26768
26769 * include/grub/i386/pc/vbeblit.h: New file.
26770
26771 * include/grub/i386/pc/vbefill.h: New file.
26772
26773 * video/video.c (grub_video_get_blit_format): New function.
26774 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
26775 (grub_video_vbe_map_rgb): Likewise.
26776 (grub_video_vbe_unmap_color): Likewise.
26777
26778 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
26779 optimized fills.
26780 (grub_video_vbe_blit_render_target): Changed to use more optimized
26781 blits.
26782 (grub_video_vbe_setup): Added detection for optimized settings.
26783 (grub_video_vbe_create_render_target): Likewise.
26784
26785 * video/i386/pc/vbeblit.c: New file.
26786
26787 * video/i386/pc/vbefill.c: New file.
26788
26789 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
26790
26791 * font/manager.c (grub_font_get_glyph): Removed font fixup from
26792 here...
26793
26794 * util/unifont2pff.rb: ... and moved it to here. Improved argument
26795 parsing to support both hex and dec ranges. If filename was missing
26796 show usage information.
26797
26798 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
26799
26800 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
26801 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
26802
26803 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
26804 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
26805 (video_mod_SOURCES): Added.
26806 (video_mod_CFLAGS): Likewise.
26807 (video_mod_LDFLAGS): Likewise.
26808 (gfxterm_mod_SOURCES): Likewise.
26809 (gfxterm_mod_CFLAGS): Likewise.
26810 (gfxterm_mod_LDFLAGS): Likewise.
26811 (videotest_mod_SOURCES): Likewise.
26812 (videotest_mod_CFLAGS): Likewise.
26813 (videotest_mod_LDFLAGS): Likewise.
26814 (vesafb_mod_SOURCES): Removed.
26815 (vesafb_mod_CFLAGS): Likewise.
26816 (vesafb_mod_LDFLAGS): Likewise.
26817 (vga_mod_SOURCES): Likewise.
26818 (vga_mod_CFLAGS): Likewise.
26819 (vga_mod_LDFLAGS): Likewise.
26820
26821 * commands/videotest.c: New file.
26822
26823 * font/manager.c (fill_with_default_glyph): Modified to use
26824 grub_font_glyph.
26825 (grub_font_get_glyph): Likewise.
26826 (fontmanager): Renamed from this...
26827 (font_manager): ... to this.
26828
26829 * include/grub/font.h (grub_font_glyph): Added new structure.
26830 (grub_font_get_glyph): Modified to use grub_font_glyph.
26831
26832 * include/grub/misc.h (grub_abs): Added as inline function.
26833
26834 * include/grub/video.h: New file.
26835
26836 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
26837 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
26838 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
26839 (grub_vbe_get_controller_info): Renamed from this...
26840 (grub_vbe_bios_get_controller_info): ... to this.
26841 (grub_vbe_get_mode_info): Renamed from this...
26842 (grub_vbe_bios_get_mode_info): ... to this.
26843 (grub_vbe_set_mode): Renamed from this...
26844 (grub_vbe_bios_set_mode): ... to this.
26845 (grub_vbe_get_mode): Renamed from this...
26846 (grub_vbe_bios_get_mode): ... to this.
26847 (grub_vbe_set_memory_window): Renamed from this...
26848 (grub_vbe_bios_set_memory_window): ... to this.
26849 (grub_vbe_get_memory_window): Renamed from this...
26850 (grub_vbe_bios_get_memory_window): ... to this.
26851 (grub_vbe_set_scanline_length): Renamed from this...
26852 (grub_vbe_set_scanline_length): ... to this.
26853 (grub_vbe_get_scanline_length): Renamed from this...
26854 (grub_vbe_bios_get_scanline_length): ... to this.
26855 (grub_vbe_set_display_start): Renamed from this...
26856 (grub_vbe_bios_set_display_start): ... to this.
26857 (grub_vbe_get_display_start): Renamed from this...
26858 (grub_vbe_bios_get_display_start): ... to this.
26859 (grub_vbe_set_palette_data): Renamed from this...
26860 (grub_vbe_bios_set_palette_data): ... to this.
26861 (grub_vbe_set_pixel_rgb): Removed.
26862 (grub_vbe_set_pixel_index): Likewise.
26863
26864 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
26865 from this...
26866 (grub_vbe_bios_get_controller_info): ... to this.
26867 (grub_vbe_get_mode_info): Renamed from this...
26868 (grub_vbe_bios_get_mode_info): ... to this.
26869 (grub_vbe_set_mode): Renamed from this...
26870 (grub_vbe_bios_set_mode): ... to this.
26871 (grub_vbe_get_mode): Renamed from this...
26872 (grub_vbe_bios_get_mode): ... to this.
26873 (grub_vbe_set_memory_window): Renamed from this...
26874 (grub_vbe_bios_set_memory_window): ... to this.
26875 (grub_vbe_get_memory_window): Renamed from this...
26876 (grub_vbe_bios_get_memory_window): ... to this.
26877 (grub_vbe_set_scanline_length): Renamed from this...
26878 (grub_vbe_set_scanline_length): ... to this.
26879 (grub_vbe_get_scanline_length): Renamed from this...
26880 (grub_vbe_bios_get_scanline_length): ... to this.
26881 (grub_vbe_set_display_start): Renamed from this...
26882 (grub_vbe_bios_set_display_start): ... to this.
26883 (grub_vbe_get_display_start): Renamed from this...
26884 (grub_vbe_bios_get_display_start): ... to this.
26885 (grub_vbe_set_palette_data): Renamed from this...
26886 (grub_vbe_bios_set_palette_data): ... to this.
26887 (grub_vbe_bios_get_controller_info): Fixed problem with registers
26888 getting corrupted after calling it. Added more pushes and pops.
26889 (grub_vbe_bios_set_mode): Likewise.
26890 (grub_vbe_bios_get_mode): Likewise.
26891 (grub_vbe_bios_get_memory_window): Likewise.
26892 (grub_vbe_bios_set_scanline_length): Likewise.
26893 (grub_vbe_bios_get_scanline_length): Likewise.
26894 (grub_vbe_bios_get_display_start): Likewise.
26895 (grub_vbe_bios_set_palette_data): Likewise.
26896
26897 * normal/cmdline.c (cl_set_pos): Refresh the screen.
26898 (cl_insert): Likewise.
26899 (cl_delete): Likewise.
26900
26901 * term/gfxterm.c: New file.
26902
26903 * term/i386/pc/vesafb.c: Removed file.
26904
26905 * video/video.c: New file.
26906
26907 * video/i386/pc/vbe.c (real2pm): Added new function.
26908 (grub_video_vbe_draw_pixel): Likewise.
26909 (grub_video_vbe_get_video_ptr): Likewise.
26910 (grub_video_vbe_get_pixel): Likewise
26911 (grub_video_vbe_init): Likewise.
26912 (grub_video_vbe_fini): Likewise.
26913 (grub_video_vbe_setup): Likewise.
26914 (grub_video_vbe_get_info): Likewise.
26915 (grub_video_vbe_set_palette): Likewise.
26916 (grub_video_vbe_get_palette): Likewise.
26917 (grub_video_vbe_set_viewport): Likewise.
26918 (grub_video_vbe_get_viewport): Likewise.
26919 (grub_video_vbe_map_color): Likewise.
26920 (grub_video_vbe_map_rgb): Likewise.
26921 (grub_video_vbe_map_rgba): Likewise.
26922 (grub_video_vbe_unmap_color): Likewise.
26923 (grub_video_vbe_fill_rect): Likewise.
26924 (grub_video_vbe_blit_glyph): Likewise.
26925 (grub_video_vbe_blit_bitmap): Likewise.
26926 (grub_video_vbe_blit_render_target): Likewise.
26927 (grub_video_vbe_scroll): Likewise.
26928 (grub_video_vbe_swap_buffers): Likewise.
26929 (grub_video_vbe_create_render_target): Likewise.
26930 (grub_video_vbe_delete_render_target): Likewise.
26931 (grub_video_vbe_set_active_render_target): Likewise.
26932 (grub_vbe_set_pixel_rgb): Remove function.
26933 (grub_vbe_set_pixel_index): Likewise.
26934 (index_color_mode): Remove static variable.
26935 (active_mode): Likewise.
26936 (framebuffer): Likewise.
26937 (bytes_per_scan_line): Likewise.
26938 (grub_video_vbe_adapter): Added new static variable.
26939 (framebuffer): Likewise.
26940 (render_target): Likewise.
26941 (initial_mode): Likewise.
26942 (mode_in_use): Likewise.
26943 (mode_list): Likewise.
26944
26945 2006-03-10 Marco Gerards <marco@gnu.org>
26946
26947 * configure.ac (AC_INIT): Bumped to 1.93.
26948
26949 * DISTLIST: Added `include/grub/hfs.h'.
26950
26951 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
26952
26953 * boot/i386/pc/boot.S (general_error): Before looping, try INT
26954 18H, which might help the BIOS falling back to next boot media.
26955
26956 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
26957
26958 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
26959 Poe Chen <poe.poechen@gmail.com>.
26960
26961 2006-01-17 Marco Gerards <marco@gnu.org>
26962
26963 * include/grub/normal.h: Include <grub/script.h>.
26964 (grub_command_list): Removed struct.
26965 (grub_command_list_t): Removed type.
26966 (grub_menu_entry): Remove members `num' and `command_list'. Add
26967 members `commands' and `sourcecode'.
26968 * include/grub/script.h: Add inclusion guards.
26969 (grub_script_cmd_menuentry): New struct.
26970 (grub_script_execute_menuentry): New prototype.
26971 (grub_script_lexer_record_start): Likewise.
26972 (grub_script_lexer_record_stop): Likewise.
26973 * normal/execute.c (grub_script_execute_menuentry): New function.
26974 * normal/lexer.c (record, recording, recordpos, recordlen): New
26975 variables.
26976 (grub_script_lexer_record_start): New function.
26977 (grub_script_lexer_record_stop): Likewise.
26978 (recordchar): Likewise.
26979 (nextchar): Likewise.
26980 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
26981 2048 as the buffer size. Add the tokens `menuentry' and `@'.
26982 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
26983 (current_menu): New variable.
26984 (free_menu): Mainly rewritten.
26985 (grub_normal_menu_addentry): New function.
26986 (read_config_file): Rewritten.
26987 * normal/menu.c (run_menu_entry): Mainly rewritten.
26988 * normal/menu_entry.c (make_screen): Rewritten the code to insert
26989 the menu entry.
26990 (run): Mainly rewritten.
26991 * normal/parser.y (menu_entry): New variable.
26992 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
26993 (menuentry): New rule.
26994 (command): Add `menuentry'.
26995 (if_statement): Allow additional returns before `fi'.
26996 * normal/script.c (grub_script_create_cmdmenu): New function.
26997
26998 2006-01-03 Marco Gerards <marco@gnu.org>
26999
27000 * INSTALL: GNU Bison is required.
27001 * configure.ac: Rewritten the test to detect Bison.
27002 * Makefile.in (YACC): New variable. Reported by Xun Sun
27003 <xun.sun.cn@gmail.com>.
27004
27005 2006-01-03 Marco Gerards <marco@gnu.org>
27006
27007 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
27008 the HFS+ filesystem to filesystem blocks.
27009 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
27010 GCC warning is silenced.
27011
27012 2006-01-03 Marco Gerards <marco@gnu.org>
27013
27014 * partmap/apple.c (apple_partition_map_iterate): Convert the data
27015 read from disk from big endian to host byte order.
27016
27017 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
27018
27019 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
27020 documentation.
27021 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
27022 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
27023 embedded HFS+ filesystem.
27024 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
27025 (grub_hfs_sblock): Move from here...
27026 * include/grub/hfs.h: To here... New file.
27027 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
27028 documentation.
27029 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
27030 New macros.
27031 (grub_hfsplus_volheader): Change type of member `magic' to
27032 `grub_uint16_t'.
27033 (grub_hfsplus_data): Add new member `embedded_offset'.
27034 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
27035 returned block.
27036 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
27037 Calculate the offset.
27038
27039 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
27040
27041 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
27042 Removed.
27043 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
27044
27045 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
27046
27047 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
27048 ENV->NAME is NULL after allocating ENV->VALUE.
27049
27050 2005-12-25 Marco Gerards <marco@gnu.org>
27051
27052 * kern/env.c (grub_env_set): Rewritten the error handling code.
27053
27054 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
27055
27056 * geninit.sh: Made more robust, and more portable.
27057
27058 2005-12-25 Marco Gerards <marco@gnu.org>
27059
27060 Add support for Apple HFS+ filesystems.
27061
27062 * fs/hfsplus.c: New file.
27063
27064 * DISTLIST: Added `fs/hfsplus.c'.
27065
27066 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
27067 (hfsplus_mod_SOURCES): New variable.
27068 (hfsplus_mod_CFLAGS): Likewise.
27069 (hfsplus_mod_LDFLAGS): Likewise.
27070 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
27071 (grub_setup_SOURCES): Likewise.
27072 (grub_mkdevicemap_SOURCES): Likewise.
27073 (grub_emu_SOURCES): Likewise.
27074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27075
27076 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
27077
27078 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
27079
27080 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
27081
27082 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
27083 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
27084 include/grub/parser.h, include/grub/script.h, kern/parser.c,
27085 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
27086 normal/lexer.c, normal/parser.y, normal/script.c, and
27087 partmap/gpt.c.
27088 Removed kern/sparc64/cache.c.
27089
27090 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
27091 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
27092 grub_emu_init.c.
27093
27094 * configure.ac (AC_INIT): Bumped to 1.92.
27095
27096 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
27097
27098 * kern/err.c (grub_error_push): Added new function to support error
27099 stacks.
27100 (grub_error_pop): Likewise.
27101 (grub_error_stack_items): New local variable to support error stacks.
27102 (grub_error_stack_pos): Likewise.
27103 (grub_error_stack_assert): Likewise.
27104 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
27105 stack depth.
27106 (grub_print_error): Added support to print errors from error stack.
27107
27108 * include/grub/err.h (grub_error_push): Added function prototype.
27109 (grub_error_pop): Likewise.
27110
27111 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
27112
27113 * configure.ac: Accept `powerpc64' as host_cpu.
27114 (amd64): Rename to `biarch32'.
27115
27116 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
27117 non-cacheline-aligned addresses.
27118
27119 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
27120 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
27121 if `size' is non-zero.
27122
27123 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
27124
27125 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
27126 and `cd' to make sure the filename is not prefixed with a
27127 directory name.
27128 (pkgdata_MODULES): Add `gpt.mod'.
27129 (gpt_mod_SOURCES): New variable.
27130 (gpt_mod_CFLAGS): Likewise.
27131 (gpt_mod_LDFLAGS): Likewise.
27132
27133 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
27134
27135 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
27136 New macro.
27137
27138 * partmap/gpt.c: New file.
27139
27140 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
27141 GPT partition map is detected.
27142
27143 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
27144
27145 * commands/i386/pc/play.c: New file.
27146 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
27147 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
27148 macros.
27149
27150 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
27151
27152 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
27153 ((unused))' to silence gcc warning.
27154
27155 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
27156
27157 * configure.ac: Correct `AC_PROG_YACC' test.
27158
27159 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
27160
27161 * util/powerpc/ieee1275/grub-install.in: Run the mount point
27162 check before installing files.
27163
27164 2005-11-22 Mike Small <smallm@panix.com>
27165
27166 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
27167 number regex so multidigit numbers are recognized correctly.
27168
27169 2005-11-22 Mike Small <smallm@panix.com>
27170
27171 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
27172 debugging message before attempting to claim memory.
27173 (grub_rescue_cmd_initrd): Add a claim debugging message and try
27174 multiple addresses in case of failure.
27175
27176 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
27177
27178 * term/tparm.c (get_space): Remove empty `if' statement.
27179
27180 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
27181
27182 * kern/parser.c (check_varstate): Rename `state' to 's'.
27183
27184 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
27185
27186 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
27187 variable definitions to the beginning of each function. Sort stack
27188 variables by size.
27189 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
27190 `buf' argument to `char *'.
27191
27192 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
27193
27194 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
27195 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
27196 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
27197 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
27198 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
27199 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
27200 configfile.mod, search.mod, gzio.mod and test.mod.
27201 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
27202 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
27203 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
27204 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
27205 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
27206 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
27207 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
27208 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
27209 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
27210 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
27211 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
27212 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
27213 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
27214 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
27215 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
27216 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
27217 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27218 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
27219 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
27220 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
27221 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
27222 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
27223 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
27224
27225 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
27226 `grep --include'.
27227 (pkgdata_MODULES): Add test.mod.
27228
27229 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27230
27231 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
27232 appending to variables with "+=".
27233 (PModule): Use full pathname to generate *.lst filenames.
27234
27235 * Makefile.in: Fixed list rules moved from genmk.rb.
27236 (.DELETE_ON_ERROR): New special target.
27237 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
27238
27239 * conf/i386-pc.rmk: Include conf/common.mk.
27240 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
27241 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
27242 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
27243 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
27244 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
27245 configfile.mod, search.mod, gzio.mod and test.mod.
27246 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
27247 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
27248 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
27249 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
27250 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
27251 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
27252 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
27253 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
27254 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
27255 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
27256 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
27257 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
27258 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
27259 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
27260 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
27261 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
27262 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27263 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
27264 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
27265 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
27266 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
27267 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
27268 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
27269 here...
27270 * conf/common.rmk: ... to here. New file.
27271
27272 * conf/common.mk: New file.
27273
27274 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
27275
27276 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
27277 (grub_script.tab.c): ... here.
27278
27279 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
27280 (grub_script.tab.c): ... here.
27281
27282 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
27283 (grub_script.tab.c): ... here.
27284
27285 * normal/command.c (grub_command_find): Fixed a memory leak of
27286 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
27287
27288 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27289
27290 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
27291 "@" which marks the start of a comment on ARM.
27292 (VARIABLE): Likewise.
27293
27294 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27295
27296 Add support for Linux/ADFS partition tables.
27297
27298 * partmap/acorn.c: New file.
27299
27300 * include/grub/acorn_filecore.h: Likewise.
27301
27302 * DISTLIST: Added `partmap/acorn.c' and
27303 `include/grub/acorn_filecore.h'.
27304
27305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27306 `partmap/acorn.c'.
27307 (pkgdata_MODULES): Add `acorn.mod'.
27308 (acorn_mod_SOURCES): New variable.
27309 (acorn_mod_CFLAGS): Likewise.
27310
27311 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
27312 `partmap/acorn.c'.
27313 (pkgdata_MODULES): Add `acorn.mod'.
27314 (acorn_mod_SOURCES): New variable.
27315 (acorn_mod_CFLAGS): Likewise.
27316
27317 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
27318 (pkgdata_MODULES): Add `acorn.mod'.
27319 (acorn_mod_SOURCES): New variable.
27320 (acorn_mod_CFLAGS): Likewise.
27321 (acorn_mod_LDFLAGS): Likewise.
27322
27323 * include/types.h (grub_disk_addr_t): New typedef.
27324
27325 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
27326
27327 * geninit.sh: New file.
27328
27329 * geninitheader.sh: Likewise.
27330
27331 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
27332 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
27333 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
27334 * commands/configfile.c (grub_configfile_init)
27335 (grub_configfile_fini): Likewise.
27336 * commands/default.c (grub_default_init, grub_default_fini):
27337 Likewise.
27338 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
27339 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
27340 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
27341 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
27342 Likewise.
27343 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
27344 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
27345 Likewise.
27346 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
27347 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
27348 Likewise.
27349 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
27350 Likewise.
27351 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
27352 Likewise.
27353 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
27354 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
27355 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
27356 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
27357 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
27358 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
27359 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
27360 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
27361 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
27362 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
27363 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
27364 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
27365 * partmap/amiga.c (grub_amiga_partition_map_init)
27366 (grub_amiga_partition_map_fini): Likewise.
27367 * partmap/apple.c (grub_apple_partition_map_init)
27368 (grub_apple_partition_map_fini): Likewise.
27369 * partmap/pc.c (grub_pc_partition_map_init)
27370 (grub_pc_partition_map_fini): Likewise.
27371 * partmap/sun.c (grub_sun_partition_map_init,
27372 grub_sun_partition_map_fini): Likewise.
27373 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
27374 Likewise.
27375
27376 * util/grub-emu.c: Include <grub_modules_init.h>.
27377 (main): Don't initialize and de-initialize any modules directly,
27378 use `grub_init_all' and `grub_fini_all' instead.
27379
27380 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
27381 `grub_vesafb_mod_init'.
27382 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
27383 all users.
27384 * term/i386/pc/vga.c (grub_vga_init): Renamed to
27385 `grub_vga_mod_init'. Updated all users.
27386 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
27387
27388 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
27389 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
27390 rules.
27391
27392 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
27393 Generate a function to initialize the module in utilities.
27394 Updated all callers.
27395 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
27396 initialize the module in utilities. Updated all callers.
27397
27398 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
27399
27400 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
27401 escape sequence and a literal ^L to clear the screen.
27402
27403 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
27404 when returning from Open Firmware.
27405
27406 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
27407
27408 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
27409 (grub_ofconsole_height): Likewise.
27410 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
27411 manually insert a '\n'.
27412 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
27413 `grub_ofconsole_height'. Return early if these are already set.
27414
27415 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
27416
27417 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
27418 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
27419 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
27420 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
27421 and `normal/script.c'.
27422 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
27423 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27424 (test_mod_SOURCES): New variable.
27425 (test_mod_CFLAGS): Likewise.
27426 (test_mod_LDFLAGS): Likewise.
27427 (pkgdata_MODULES): Add `test.mod'.
27428 (grub_script.tab.c): New rule.
27429 (grub_script.tab.h): Likewise.
27430
27431 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
27432
27433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27434 `commands/test.c', `normal/execute.c', `normal/lexer.c',
27435 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27436 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
27437 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27438 (test_mod_SOURCES): New variable.
27439 (test_mod_CFLAGS): Likewise.
27440 (pkgdata_MODULES): Add `test.mod'.
27441 (grub_script.tab.c): New rule.
27442 (grub_script.tab.h): Likewise.
27443
27444 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
27445
27446 Add initial scripting support.
27447
27448 * commands/test.c: New file.
27449 * include/grub/script.h: Likewise.
27450 * normal/execute.c: Likewise.
27451 * normal/function.c: Likewise.
27452 * normal/lexer.c: Likewise.
27453 * normal/parser.y: Likewise.
27454 * normal/script.c: Likewise.
27455
27456 * configure.ac: Add `AC_PROG_YACC' test.
27457
27458 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
27459 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
27460 `normal/function.c' and `normal/script.c'.
27461 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
27462 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27463 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
27464 variables.
27465 (pkgdata_MODULES): Add `test.mod'.
27466 (grub_script.tab.c): New rule.
27467 (grub_script.tab.h): Likewise.
27468
27469 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
27470
27471 * include/grub/normal.h (grub_test_init): New prototype.
27472 (grub_test_fini): Likewise.
27473
27474 * normal/command.c: Include <grub/script.h>.
27475 (grub_command_execute): Rewritten.
27476
27477 * util/grub-emu.c (main): Call `grub_test_init' and
27478 `grub_test_fini'.
27479
27480 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27481
27482 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
27483 to 0.
27484 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
27485 there are no pending characters.
27486
27487 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27488
27489 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
27490 `grub_strndup' to drop device arguments. Replace unnecessary
27491 `grub_strndup' with `grub_strdup'.
27492
27493 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27494
27495 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
27496 `debug' environment variable has been set.
27497
27498 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
27499
27500 * Makefile.in (install-local): Use $(DATA).
27501 (uninstall): Likewise.
27502 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
27503 (sbin_UTILITIES): ... to here.
27504 (sbin_SCRIPTS): New variable.
27505 (grub_install_SOURCES): New variable.
27506 * util/powerpc/ieee1275/grub-install.in: New file.
27507 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
27508 variable.
27509 (add_segments): Call `grub_util_get_path'.
27510
27511 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
27512
27513 From Timothy Baldwin:
27514 * commands/ls.c (grub_ls_list_files): Close FILE with
27515 grub_file_close.
27516 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
27517
27518 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
27519
27520 * include/grub/parser.h: New file.
27521
27522 * kern/parser.c: Likewise.
27523
27524 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
27525 (grub_setup_SOURCES): Likewise.
27526 (grub_probefs_SOURCES): Likewise.
27527 (grub_emu_SOURCES): Likewise.
27528 (kernel_img_HEADERS): Add `parser.h'.
27529
27530 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
27531 (grub_emu_SOURCES): Add `kern/parser.c'.
27532 (grubof_SOURCES): Likewise.
27533
27534 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
27535 (grubof_SOURCES): Add `kern/parser.c'.
27536
27537 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
27538
27539 * kern/misc.c (grub_split_cmdline): Removed function.
27540
27541 * kern/rescue.c: Include <grub/parser.h>.
27542 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
27543 of `grub_split_cmdline'.
27544
27545 * normal/command.c: Include <grub/parser.h>.
27546 (grub_command_execute): Use `grub_parser_split_cmdline' instead
27547 of `grub_split_cmdline'.
27548
27549 * normal/completion.c: Include <grub/parser.h>.
27550 (cmdline_state): New variable.
27551 (iterate_dir): End the filename with a quote depending on the
27552 command line state.
27553 (get_state): new function.
27554 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
27555 split the arguments and determine the current argument. When the
27556 argument string is not quoted, escape all spaces.
27557
27558 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27559
27560 * normal/sparc64/setjmp.S: New file.
27561
27562 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27563
27564 * include/grub/sparc64/libgcc.h: New file.
27565 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
27566 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
27567 normal/sparc64/setjmp.c.
27568
27569 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27570
27571 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
27572 * kern/sparc64/cache.S: New file.
27573 * kern/sparc64/cache.c: Removed.
27574 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
27575 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
27576 -mtune=ultrasparc.
27577 (COMMON_LDFLAGS): Add -melf64_sparc.
27578 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
27579 (grubof_SOURCES): Use cache.S instead of cache.c.
27580 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
27581 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
27582 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
27583 commented though.
27584 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
27585 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
27586 (linux_mod_CFLAGS): Commented out.
27587 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
27588 out because module isn't built.
27589 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
27590 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
27591 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
27592 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
27593 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
27594 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
27595 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
27596 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
27597 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
27598 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
27599 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
27600 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
27601 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
27602 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
27603
27604 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
27605
27606 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
27607 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
27608 longer, because HFS should not be used on PC.
27609
27610 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27611
27612 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
27613 consistently within the loop.
27614
27615 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
27616
27617 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
27618 directory can not be read.
27619
27620 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27621
27622 * configure.ac (AC_INIT): Increase the version number to 1.91.
27623
27624 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
27625 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
27626 term/i386/pc/serial.c.
27627
27628 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27629
27630 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
27631 file size must be permitted.
27632
27633 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
27634 between %ah and %al.
27635
27636 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27637
27638 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
27639 grub_uint64_t.
27640 Call the hook with a NUL-terminated filename.
27641 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
27642 grub_cpu_to_be32.
27643
27644 * kern/term.c (cursor_state): New variable.
27645 (grub_term_set_current): Reset the cursor state on a new
27646 terminal.
27647 (grub_setcursor): Rewritten to use CURSOR_STATE.
27648 (grub_getcursor): New function.
27649
27650 * include/grub/term.h (grub_getcursor): New prototype.
27651
27652 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
27653 integers on ARM. Reported by Timothy Baldwin
27654 <T.E.Baldwin99@members.leeds.ac.uk>.
27655
27656 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
27657
27658 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
27659 allocated.
27660 (grub_sfs_dir): Likewise.
27661
27662 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
27663
27664 Add support for the SFS filesystem.
27665
27666 * fs/sfs.c: New file.
27667
27668 * DISTLIST: Added `fs/sfs.c'.
27669
27670 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
27671 (grub_probefs_SOURCES): Likewise.
27672 (grub_emu_SOURCES): Likewise.
27673 (pkgdata_MODULES): Add `sfs.mod'.
27674 (sfs_mod_SOURCES): New variable.
27675 (sfs_mod_CFLAGS): Likewise.
27676 (sfs_mod_LDFLAGS): Likewise.
27677
27678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
27679 (pkgdata_MODULES): Add `sfs.mod'.
27680 (sfs_mod_SOURCES): New variable.
27681 (sfs_mod_CFLAGS): Likewise.
27682
27683 * util/grub-emu.c (main): Call `grub_sfs_init' and
27684 `grub_sfs_fini'.
27685
27686 * include/grub/fs.h (grub_sfs_init): New prototype.
27687 (grub_sfs_fini): Likewise.
27688
27689 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
27690
27691 Add support for the AFFS filesystem.
27692
27693 * fs/affs.c: New file.
27694
27695 * DISTLIST: Added `fs/affs.c'.
27696
27697 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
27698 (grub_probefs_SOURCES): Likewise.
27699 (grub_emu_SOURCES): Likewise.
27700 (pkgdata_MODULES): Add `affs.mod'.
27701 (affs_mod_SOURCES): New variable.
27702 (affs_mod_CFLAGS): Likewise.
27703 (affs_mod_LDFLAGS): Likewise.
27704
27705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
27706 (pkgdata_MODULES): Add `affs.mod'.
27707 (affs_mod_SOURCES): New variable.
27708 (affs_mod_CFLAGS): Likewise.
27709
27710 * util/grub-emu.c (main): Call `grub_affs_init' and
27711 `grub_affs_fini'.
27712
27713 * include/grub/fs.h (grub_affs_init): New prototype.
27714 (grub_affs_fini): Likewise.
27715
27716 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
27717
27718 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
27719
27720 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
27721
27722 * configure.ac: Accept `x86_64' as host_cpu. In that case add
27723 `-m32' to CFLAGS.
27724
27725 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
27726 linking.
27727
27728 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
27729 (COMMON_LDFLAGS): New variable.
27730 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
27731 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
27732 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
27733 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
27734 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
27735 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
27736 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
27737 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
27738 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
27739 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
27740 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
27741 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
27742 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
27743 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
27744 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
27745 variables.
27746 (normal_mod_ASFLAGS): Add `-m32'.
27747
27748 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
27749 (grub_host_size_t, grub_host_ssize_t): New types.
27750 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
27751 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
27752 `GRUB_HOST_SIZEOF_VOID_P'.
27753
27754 * include/grub/kernel.h (struct grub_module_header): Type of
27755 member offset changed to `grub_host_off_t'. Type of member size
27756 changed to `grub_host_size_t'.
27757 (struct grub_module_info): Type of member offset changed to
27758 `grub_host_off_t'. Type of member size changed to
27759 `grub_host_size_t'.
27760
27761 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
27762
27763 Make GRUB's kernel compliant to Multiboot Specification.
27764
27765 * kern/i386/pc/startup.S (multiboot_header): New label.
27766 (multiboot_entry): Likewise.
27767 (multiboot_trampoline): Likewise.
27768
27769 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27770 Increased to 0x4A0.
27771
27772 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
27773 put parentheses after a question mark.
27774 [!GRUB_UTIL] (my_mod): New variable.
27775
27776 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
27777
27778 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
27779
27780 Adds support for the XFS filesystem. Btrees are not supported
27781 yet.
27782
27783 * fs/xfs.c: New file.
27784
27785 * DISTLIST: Added `fs/xfs.c'.
27786
27787 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
27788 (grub_probefs_SOURCES): Likewise.
27789 (grub_emu_SOURCES): Likewise.
27790 (pkgdata_MODULES): Add `xfs.mod'.
27791 (xfs_mod_SOURCES): New variable.
27792 (xfs_mod_CFLAGS): Likewise.
27793
27794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
27795 (pkgdata_MODULES): Add `xfs.mod'.
27796 (xfs_mod_SOURCES): New variable.
27797 (xfs_mod_CFLAGS): Likewise.
27798
27799 * util/grub-emu.c (main): Call `grub_xfs_init' and
27800 `grub_xfs_fini'.
27801
27802 * include/grub/fs.h (grub_xfs_init): New prototype.
27803 (grub_xfs_fini): Likewise.
27804
27805
27806 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
27807
27808 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
27809 color modes, allow greater than 16 colors to be configured as
27810 a default palette.
27811
27812 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27813
27814 * normal/completion.c (complete_arguments): Add the qualifier
27815 const into OPTIONS.
27816
27817 From Omniflux <omniflux+lists@omniflux.com>:
27818 * include/grub/terminfo.h: New file.
27819 * include/grub/tparm.h: Likewise.
27820 * include/grub/i386/pc/serial.h: Likewise.
27821 * term/terminfo.c: Likewise.
27822 * term/tparm.c: Likewise.
27823 * term/i386/pc/serial.c: Likewise.
27824 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
27825 serial.mod.
27826 (terminfo_mod_SOURCES): New variable.
27827 (terminfo_mod_CFLAGS): Likewise.
27828 (serial_mod_SOURCES): Likewise.
27829 (serial_mod_CFLAGS): Likewise.
27830
27831 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
27832
27833 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
27834 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
27835 and kern/powerpc/ieee1275/cmain.c, respectively.
27836
27837 * boot/powerpc/ieee1275/crt0.S: Moved to ...
27838 * kern/powerpc/ieee1275/crt0.S: ... here.
27839
27840 * boot/powerpc/ieee1275/cmain.c: Moved to ...
27841 * kern/powerpc/ieee1275/cmain.c: ... here.
27842
27843 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
27844 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
27845 instead of boot/powerpc/ieee1275/crt0.S and
27846 boot/powerpc/ieee1275/cmain.c, respectively.
27847
27848 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
27849 sectors. It was not used anyway.
27850
27851 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
27852
27853 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
27854 `unused parameter' warning.
27855
27856 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
27857
27858 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
27859 function.
27860 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
27861 getcharwidth.
27862
27863 2005-08-28 Marco Gerards <metgerards@student.han.nl>
27864
27865 * include/grub/normal.h (enum grub_completion_type): Added
27866 `GRUB_COMPLETION_TYPE_ARGUMENT'.
27867
27868 * normal/cmdline.c (print_completion): Handle
27869 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
27870 * normal/menu_entry.c (store_completion): Likewise.
27871
27872 * normal/completion.c (complete_arguments): New function.
27873 (grub_normal_do_completion): Call `complete_arguments' when the
27874 current words start with a dash.
27875
27876 2005-08-27 Marco Gerards <metgerards@student.han.nl>
27877
27878 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
27879 `gzio.mod' instead of `io.mod').
27880
27881 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
27882
27883 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
27884 (DISTDIRS): Added io and video.
27885 Rewrite the search routine to make an output consistently.
27886
27887 * DISTLIST: Added conf/sparc64-ieee1275.mk,
27888 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
27889 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
27890 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
27891 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
27892 util/powerpc/ieee1275/misc.c.
27893
27894 * include/grub/gzio.h: New file.
27895 * io/gzio.c: Likewise.
27896
27897 * kern/file.c (grub_file_close): Call grub_device_close only if
27898 FILE->DEVICE is not NULL.
27899
27900 * include/grub/mm.h [!NULL] (NULL): New macro.
27901
27902 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
27903
27904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
27905 (pkgdata_MODULES): Added gzio.mod.
27906 (gzio_mod_SOURCES): New variable.
27907 (gzio_mod_CFLAGS): Likewise.
27908
27909 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
27910 (pkgdata_MODULES): Added gzio.mod.
27911 (gzio_mod_SOURCES): New variable.
27912 (gzio_mod_CFLAGS): Likewise.
27913
27914 * commands/cat.c: Include grub/gzio.h.
27915 (grub_cmd_cat): Use grub_gzfile_open instead of
27916 grub_file_open.
27917
27918 * commands/cmp.c: Include grub/gzio.h.
27919 (grub_cmd_cmp): Use grub_gzfile_open instead of
27920 grub_file_open.
27921
27922 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
27923 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
27924 grub_file_open.
27925 (grub_rescue_cmd_module): Likewise.
27926
27927 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
27928
27929 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
27930 kern/sparc64/ieee1275/init.c because it contains _start.
27931 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
27932
27933 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
27934
27935 * configure.ac: Add support for sparc64 host with ieee1275
27936 firmware.
27937 * configure: Generated from configure.ac.
27938 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
27939 instead of int.
27940 (grub_ofdisk_read): Likewise.
27941 (grub_ofdisk_open): Use %p to print pointer values, and cast the
27942 pointers as (void *) to remove a warning.
27943 (grub_ofdisk_close): Likewise.
27944 (grub_ofdisk_read): Likewise.
27945 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
27946 returns, so make it return void to remove a warning.
27947 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
27948 Corresponding prototype change.
27949 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
27950 values, and cast the pointers as (void *) to remove a warning.
27951 (grub_mm_dump): Likewise.
27952 * conf/sparc64-ieee1275.mk: New file.
27953 * conf/sparc64-ieee1275.rmk: Likewise.
27954 * include/grub/sparc64/setjmp.h: Likewise.
27955 * include/grub/sparc64/types.h: Likewise.
27956 * include/grub/sparc64/ieee1275/console.h: Likewise.
27957 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27958 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27959 * include/grub/sparc64/ieee1275/time.h: Likewise.
27960 * kern/sparc64/cache.c: Likewise.
27961 * kern/sparc64/dl.c: Likewise.
27962 * kern/sparc64/ieee1275/init.c: Likewise.
27963 * kern/sparc64/ieee1275/openfw.c: Likewise.
27964
27965 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27966
27967 * util/console.c (grub_ncurses_putchar): If C is greater than
27968 0x7f, set C to a question mark.
27969 (grub_ncurses_getcharwidth): New function.
27970 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
27971 getcharwidth.
27972
27973 * normal/menu.c (print_entry): Made aware of Unicode. First,
27974 convert TITLE to UCS-4, and predict the cursor position by
27975 grub_getcharwidth.
27976
27977 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
27978 const to SRC.
27979 * kern/misc.c (grub_utf16_to_utf8): Likewise.
27980
27981 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
27982
27983 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
27984 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
27985 grub_strcat.
27986
27987 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
27988 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
27989 grub_strcpy and grub_strlen. Take it into account that a space
27990 character is inserted as a delimiter.
27991
27992 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
27993
27994 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
27995 invalid magic in the error.
27996
27997 * commands/search.c: New file.
27998
27999 * util/grub-emu.c (main): Call grub_search_init and
28000 grub_search_fini.
28001
28002 * kern/rescue.c (grub_rescue_print_disks): Removed.
28003 (grub_rescue_print_devices): New function.
28004 (grub_rescue_cmd_ls): Use grub_device_iterate with
28005 grub_rescue_print_devices instead of grub_disk_dev_iterate with
28006 grub_rescue_print_disks.
28007
28008 * kern/partition.c (grub_partition_iterate): Return the result of
28009 PARTMAP->ITERATE instead of GRUB_ERRNO.
28010
28011 * kern/device.c: Include grub/partition.h.
28012 (grub_device_iterate): New function.
28013
28014 * include/grub/partition.h (grub_partition_iterate): Return int
28015 instead of grub_err_t.
28016
28017 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
28018 prototype.
28019 [GRUB_UTIL] (grub_search_fini): Likewise.
28020
28021 * include/grub/device.h (grub_device_iterate): New prototype.
28022
28023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
28024 commands/search.c.
28025 (pkgdata_MODULES): Added search.mod.
28026 (search_mod_SOURCES): New variable.
28027 (search_mod_CFLAGS): Likewise.
28028
28029 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
28030 (pkgdata_MODULES): Added search.mod.
28031 (search_mod_SOURCES): New variable.
28032 (search_mod_CFLAGS): Likewise.
28033
28034 * commands/ls.c (grub_ls_list_disks): Renamed to ...
28035 (grub_ls_list_devices): ... this, and use grub_device_iterate.
28036 All callers changed.
28037
28038 * DISTLIST: Added commands/search.c.
28039
28040 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
28041
28042 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
28043 conversion.
28044 (grub_getcharwidth): New function.
28045
28046 * kern/misc.c (grub_utf8_to_ucs4): New function.
28047
28048 * include/grub/term.h (struct grub_term): Added a new member
28049 "getcharwidth".
28050 (grub_getcharwidth): New prototype.
28051
28052 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
28053
28054 * term/i386/pc/console.c (map_char): New function. Segregated from
28055 grub_console_putchar.
28056 (grub_console_putchar): Use map_char.
28057 (grub_console_getcharwidth): New function.
28058 (grub_console_term): Specified grub_console_getcharwidth as
28059 getcharwidth.
28060
28061 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
28062 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
28063
28064 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
28065 GRUB_ERRNO.
28066 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
28067 on grub_strtoul completely.
28068 (write_char): Declare local variables in the beginning of the
28069 function.
28070 (grub_vesafb_getcharwidth): New function.
28071 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
28072 getcharwidth.
28073
28074 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
28075
28076 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
28077 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
28078 commands/i386/pc/vbetest.c.
28079
28080 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
28081 call grub_vbe_get_controller_info again, because the returned
28082 information is volatile.
28083 (grub_vbe_set_video_mode): Mostly rewritten.
28084 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
28085 grub_vbe_status_t correctly.
28086 (grub_vbe_get_video_mode_info): Likewise.
28087 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
28088 several if statements.
28089
28090 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
28091 * commands/i386/pc/vbeinfo.c: ... this.
28092
28093 * commands/i386/pc/vbe_test.c: Renamed to ...
28094 * commands/i386/pc/vbetest.c: ... this.
28095
28096 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
28097 ...
28098 (grub_cmd_vbeinfo): ... this. Save video modes before
28099 iterating. Skip a video mode, if it is not available, not enough
28100 information is given or it is monochrome. Show the memory
28101 model. Leave the interpretation of MODEVAR to grub_strtoul
28102 completely.
28103 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
28104 (GRUB_MOD_FINI): Likewise.
28105
28106 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
28107 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
28108 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
28109 duplicated grub_env_get. Leave the interpretation of MODEVAR to
28110 grub_strtoul completely.
28111 (real2pm): Removed.
28112 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
28113 (GRUB_MOD_FINI): Likewise.
28114
28115 * normal/misc.c: Include grub/mm.h.
28116
28117 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
28118 vbe_list_modes with vbetest.mod and vbeinfo.mod.
28119 (vbe_list_modes_mod_SOURCES): Removed.
28120 (vbe_list_modes_mod_CFLAGS): Likewise.
28121 (vbe_test_mod_SOURCES): Likewise.
28122 (vbe_test_mod_CFLAGS): Likewise.
28123 (vbeinfo_mod_SOURCES): New variable.
28124 (vbeinfo_mod_CFLAGS): Likewise.
28125 (vbetest_mod_SOURCES): Likewise.
28126 (vbetest_mod_CFLAGS): Likewise.
28127
28128 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
28129
28130 * normal/misc.c: New file.
28131
28132 * DISTLIST: Added normal/misc.c.
28133
28134 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
28135 DISK to HOOK. Call HOOK with DISK.
28136 * partmap/apple.c (apple_partition_map_iterate): Likewise.
28137 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28138 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28139
28140 * normal/menu_entry.c (struct screen): Added a new member
28141 "completion_shown".
28142 (completion_buffer): New global variable.
28143 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
28144 (store_completion): New function.
28145 (complete): Likewise.
28146 (clear_completions): Likewise.
28147 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
28148 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
28149 a tab, call complete.
28150
28151 * normal/completion.c (disk_dev): Removed.
28152 (print_simple_completion): Likewise.
28153 (print_partition_completion): Likewise.
28154 (print_func): New global variable.
28155 (add_completion): Do not take the arguments WHAT or PRINT any
28156 longer. Added a new argument TYPE. Instead of printing directly,
28157 call PRINT_FUNC if not NULL.
28158 All callers changed.
28159 (complete_device): Use a local variable DEV instead of
28160 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
28161 (grub_normal_do_completion): Take a new argument HOOK. Do not
28162 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
28163 empty string, return NULL instead.
28164 All callers changed.
28165
28166 * normal/cmdline.c (print_completion): New function.
28167
28168 * kern/partition.c (grub_partition_iterate): Add an argument DISK
28169 to HOOK.
28170 All callers changed.
28171
28172 * kern/disk.c (grub_print_partinfo): Removed.
28173
28174 * include/grub/partition.h (struct grub_partition_map): Add a new
28175 argument DISK into HOOK of ITERATE.
28176 (grub_partition_iterate): Add a new argument DISK to HOOK.
28177
28178 * include/grub/normal.h (enum grub_completion_type): New enum.
28179 (grub_completion_type_t): New type.
28180 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
28181 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
28182 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
28183 (GRUB_COMPLETION_TYPE_FILE): Likewise.
28184 (grub_normal_do_completion): Added a new argument HOOK.
28185 (grub_normal_print_device_info): New prototype.
28186
28187 * include/grub/disk.h (grub_print_partinfo): Removed.
28188
28189 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
28190 (normal_mod_SOURCES): Likewise.
28191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28192 (normal_mod_SOURCES): Likewise.
28193
28194 * commands/ls.c (grub_ls_list_disks): Use
28195 grub_normal_print_device_info instead of grub_print_partinfo. Free
28196 PNAME.
28197 (grub_ls_list_files): Use grub_normal_print_device_info instead of
28198 duplicating the code.
28199
28200 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
28201
28202 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
28203 follow GCS more precisely.
28204 * commands/i386/pc/vbe_test.c: Likewise.
28205 * include/grub/i386/pc/vbe.h: Likewise.
28206 * term/i386/pc/vesafb.c: Likewise.
28207 * video/i386/pc/vbe.c: Likewise.
28208
28209 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
28210
28211 * DISTLIST: Added term/i386/pc/vesafb.c
28212 DISTLIST: Added video/i386/pc/vbe.c
28213 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
28214 DISTLIST: Added commands/i386/pc/vbe_test.c.
28215 * commands/i386/pc/vbe_list_modes.c: New file.
28216 * commands/i386/pc/vbe_test.c: Likewise.
28217 * term/i386/pc/vesafb.c: Likewise.
28218 * video/i386/pc/vbe.c: Likewise.
28219 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
28220 (grub_vbe_probe) Added prototype.
28221 (grub_vbe_set_video_mode) Likewise.
28222 (grub_vbe_get_video_mode) Likewise.
28223 (grub_vbe_get_video_mode_info) Likewise.
28224 (grub_vbe_set_pixel_rgb) Likewise.
28225 (grub_vbe_set_pixel_index) Likewise.
28226 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
28227 (pkgdata_MODULES): Added vesafb.mod.
28228 (pkgdata_MODULES): Added vbe_list_modes.mod.
28229 (pkgdata_MODULES): Added vbe_test.mod.
28230 (vbe_mod_SOURCES): Added.
28231 (vbe_mod_CFLAGS): Likewise.
28232 (vesafb_mod_SOURCES): Likewise.
28233 (vesafb_mod_CFLAGS): Likewise.
28234 (vbe_list_modes_mod_SOURCES): Likewise.
28235 (vbe_list_modes_mod_CFLAGS): Likewise.
28236 (vbe_test_mod_SOURCES): Likewise.
28237 (vbe_test_mod_CFLAGS): Likewise.
28238
28239 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
28240
28241 * normal/command.c (grub_command_execute): If INTERACTIVE is
28242 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
28243 CMDLINE. Disable the pager if INTERACTIVE is true.
28244 All callers are changed.
28245
28246 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
28247 before reading a config file.
28248 * normal/main.c (read_config_file): Even if a command is not
28249 found, register it if it is within an entry.
28250
28251 * util/grub-emu.c: Include sys/types.h and unistd.h.
28252 (options): Added --hold.
28253 (struct arguments): Added a new member "hold".
28254 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
28255 missing.
28256 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
28257 cleared by a debugger, if it is not zero.
28258
28259 * include/grub/normal.h (grub_command_execute): Add an argument
28260 INTERACTIVE.
28261
28262 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
28263
28264 * DISTLIST: Added include/grub/i386/pc/vbe.h.
28265
28266 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
28267
28268 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
28269 program with another one, because the old one didn't detect a bug
28270 in gcc-3.4. Always use regparm 2, because the new test is still
28271 not enough for gcc-4.0. Someone must investigate a simple test
28272 case which detects a bug in gcc-4.0.
28273
28274 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
28275
28276 * DISTLIST: Added normal/completion.c.
28277
28278 * normal/completion.c: New file.
28279
28280 * term/i386/pc/console.c (grub_console_getwh): New function.
28281 (grub_console_term): Assign grub_console_getwh to getwh.
28282
28283 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
28284 function is defined in normal/completion.c as
28285 grub_normal_do_completion.
28286 (grub_cmdline_get): Use grub_normal_do_completion instead of
28287 grub_tab_complete.
28288
28289 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
28290 returns non-zero, otherwise return 0.
28291 (grub_partition_iterate): First, probe the partition map. Then,
28292 call ITERATE only for this partition map.
28293
28294 * kern/misc.c (grub_strncmp): Rewritten.
28295
28296 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
28297 returns non-zero. Otherwise return 0.
28298
28299 * include/grub/partition.h (grub_partition_map_iterate): Return
28300 int instead of void.
28301
28302 * include/grub/normal.h (grub_normal_do_completion): New prototype.
28303
28304 * include/grub/misc.h (grub_strncmp): Change the type of N to
28305 grub_size_t.
28306
28307 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
28308 of void.
28309
28310 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
28311 unsigned explicitly before comparing it with I.
28312
28313 * kern/main.c (grub_env_write_root): Add the attribute unused into
28314 VAR.
28315
28316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
28317 normal/completion.c.
28318 (normal_mod_SOURCES): Likewise.
28319 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28320 (normal_mod_SOURCES): Likewise.
28321
28322 * normal/command.c (grub_iterate_commands): If ITERATE returns
28323 non-zero, return one immediately.
28324
28325 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
28326
28327 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
28328 * kern/i386/pc/startup.S: Updated Global Descriptor table's
28329 descriptions.
28330 (grub_vbe_get_controller_info): New function.
28331 (grub_vbe_get_mode_info): Likewise.
28332 (grub_vbe_set_mode): Likewise.
28333 (grub_vbe_get_mode): Likewise.
28334 (grub_vbe_set_memory_window): Likewise.
28335 (grub_vbe_get_memory_window): Likewise.
28336 (grub_vbe_set_scanline_length): Likewise.
28337 (grub_vbe_get_scanline_length): Likewise.
28338 (grub_vbe_set_display_start): Likewise.
28339 (grub_vbe_get_display_start): Likewise.
28340 (grub_vbe_set_palette_data): Likewise.
28341 * include/grub/i386/pc/vbe.h: New file.
28342
28343 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
28344
28345 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
28346 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
28347 * DISTLIST: Likewise.
28348 * kern/ieee1275/of.c: Moved to ...
28349 * kern/ieee1275/ieee1275.c: ... here.
28350
28351 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
28352
28353 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
28354 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
28355 Pass 0 as `end' parameter to grub_strtoul().
28356
28357 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
28358
28359 * include/grub/powerpc/ieee1275/console.h: Do not include
28360 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
28361 ifdef.
28362 (grub_console_cur_color): Remove i386-specific prototype.
28363 (grub_console_real_putchar): Likewise.
28364 (grub_console_checkkey): Likewise.
28365 (grub_console_getkey): Likewise.
28366 (grub_console_getxy): Likewise.
28367 (grub_console_gotoxy): Likewise.
28368 (grub_console_cls): Likewise.
28369 (grub_console_setcursor): Likewise.
28370 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
28371 Include <grub/machine/console.h>.
28372 * term/ieee1275/ofconsole.c: Likewise.
28373
28374 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
28375
28376 * Makefile.in (LIBLZO): New variable.
28377
28378 * configure.ac: Check for LZO version 2.
28379
28380 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
28381 lzo/lzo1x.h instead of lzo1x.h.
28382
28383 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
28384 of -llzo.
28385
28386 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
28387 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
28388
28389 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
28390 copying the data from PARTITION to P.
28391
28392 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28393
28394 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
28395 negative, unload the module.
28396
28397 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
28398 map is "pc_partition_map" but not "pc".
28399 (usage): Fix the description. The options are --boot-image and
28400 --core-image but not --boot-file or --core-file.
28401 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
28402 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
28403 DEFAULT_DIRECTORY.
28404
28405 * util/i386/pc/grub-install.in: Do not specify --boot-file or
28406 --core-file. Specify INSTALL_DEVICE as an argument.
28407
28408 * util/console.c: Include config.h.
28409 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
28410 [HAVE_NCURSES_H]: Include ncurses.h.
28411 [HAVE_CURSES_H]: Include curses.h.
28412 [!A_NORMAL] (A_NORMAL): Defined as zero.
28413 [!A_STANDOUT] (A_STANDOUT): Likewise.
28414
28415 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
28416 -lncurses.
28417 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
28418
28419 * configure.ac: Check for curses libraries and headers.
28420
28421 * Makefile.in (LIBCURSES): New variable.
28422
28423 * genmk.rb (Script::rule): Set the executable bits.
28424
28425 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
28426 name of the PC partition map is "pc_partition_map" but not "pc".
28427
28428 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28429
28430 * util/i386/pc/grub-install.in (grub_probefs): New variable.
28431 (modules): Likewise.
28432 (usage): Added descriptions for --modules and --grub-probefs.
28433 Handle --modules and --grub-probefs. Save the arguments in MODULES
28434 and GRUB_PROBEFS, respectively.
28435 Auto-detect a filesystem module against GRUBDIR. If the result is
28436 empty and modules are not specified explicitly, abort the
28437 installation. Add the result to MODULES.
28438
28439 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
28440 disk/powerpc/ieee1275/ofdisk.c,
28441 include/grub/powerpc/ieee1275/init.h and
28442 term/powerpc/ieee1275/ofconsole.c.
28443 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
28444 term/ieee1275/ofconsole.c.
28445
28446 * include/grub/powerpc/ieee1275/console.h: Resurrected.
28447
28448 * COPYING: Upgraded to the latest version. Only the address of the
28449 FSF office has changed.
28450
28451 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28452
28453 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
28454 kern/ieee1275.c with kern/ieee1275/of.c.
28455
28456 * kern/ieee1275.c: Moved to ...
28457 * kern/ieee1275/of.c: ... here.
28458
28459 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
28460
28461 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
28462 readability.
28463
28464 * config.guess: Updated to the latest version from gnulib.
28465 * config.sub: Likewise.
28466 * install.sh: Likewise.
28467 * mkinstalldirs: Likewise.
28468
28469 * include/grub/console.h: Removed. This file is arch-specific. Do
28470 not put this in include/grub.
28471
28472 * include/grub/i386/pc/console.h: Resurrected.
28473
28474 * util/console.c: Include grub/machine/console.h instead of
28475 grub/console.h.
28476 * util/grub-emu.c: Likewise.
28477
28478 2005-08-04 Marco Gerards <metgerards@student.han.nl>
28479
28480 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
28481 hardcoded value.
28482
28483 From Vincent Pelletier <subdino2004@yahoo.fr>
28484 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
28485 Redefined to use grub_getwh.
28486 (grub_term): New member named getwh.
28487 (grub_getwh): New prototype.
28488 * kern/term.c (grub_getwh): New function.
28489 * term/i386/pc/console.c (grub_console_getwh): New function.
28490 (grub_console_term): New member `getwh'.
28491 * term/i386/pc/vga.c (grub_vga_getwh): New function.
28492 (grub_vga_term): New member `getwh'.
28493 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
28494 grub_ssize_t.
28495 (grub_ofconsole_getw): New function.
28496 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
28497 (grub_ofconsole_term): New field named getwh and new initial
28498 value.
28499
28500 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
28501
28502 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
28503 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
28504 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
28505 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
28506 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
28507 of <grub/machine/ieee1275.h>.
28508 * commands/ieee1275/reboot.c: Likewise.
28509 * boot/powerpc/ieee1275/ieee1275.c: Move ...
28510 * kern/ieee1275.c: ... to here. All users updated. Change all
28511 parameter structs to use new type `grub_ieee1275_cell_t'.
28512 * term/powerpc/ieee1275/ofconsole.c: Move ...
28513 * term/ieee1275/ofconsole.c: ... to here. All users updated.
28514 * disk/powerpc/ieee1275/ofdisk.c: Move ...
28515 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
28516 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
28517 to return int.
28518 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
28519 Remove unused prototypes. All users updated.
28520 * include/grub/powerpc/ieee1275/console.h: Removed.
28521 * include/grub/powerpc/ieee1275/ieee1275.h: Define
28522 `grub_ieee1275_cell_t'.
28523 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
28524 Cast comparisons with -1 to the correct type.
28525 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
28526 type to match `grub_ieee1275_entry_fn'.
28527
28528 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
28529
28530 * DISTLIST: Added util/i386/pc/grub-probefs.c.
28531
28532 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
28533 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
28534 partmap/sun.c.
28535 (grub_probefs_SOURCES): New variable.
28536
28537 * util/i386/pc/grub-probefs.c: New file.
28538
28539 * util/i386/pc/grub-setup.c (main): Call
28540 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
28541 grub_hfs_init and grub_jfs_init to initialize the system. Call
28542 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
28543 grub_pc_partition_map_fini to finish the system.
28544
28545 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
28546
28547 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
28548 function.
28549 (grub_multiboot_load_elf32): Likewise.
28550 (grub_multiboot_is_elf64): Likewise.
28551 (grub_multiboot_load_elf64): Likewise.
28552 (grub_multiboot_load_elf): Likewise.
28553 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
28554 an ELF32 or ELF64 file.
28555 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
28556
28557 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
28558 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
28559 NULL before calling FS->LABEL.
28560 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
28561 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
28562 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
28563 before calling FS->LABEL.
28564
28565 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
28566
28567 * util/i386/pc/grub-install.in (datadir): New variable.
28568 (libdir): Removed.
28569 (pkgdatadir): New variable.
28570 (pkglibdir): Removed.
28571
28572 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
28573
28574 * DISTLIST: Added util/i386/pc/grub-install.in.
28575
28576 * util/i386/pc/grub-install.in: New file.
28577
28578 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
28579 (grub_install_SOURCES): Likewise.
28580
28581 * genmk.rb: Added support for scripts.
28582 (Script): New class.
28583 (scripts): New variable.
28584
28585 * Makefile.in (install-local): Install sbin_SCRIPTS by
28586 INSTALL_SCRIPT.
28587 (uninstall): Remove sbin_SCRIPTS.
28588
28589 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
28590 device, try to get a GRUB device by
28591 grub_util_biosdisk_get_grub_dev.
28592 Free DEST_DEV.
28593
28594 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
28595 description for --device-map.
28596
28597 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
28598
28599 Change the semantics of variable hooks. They now return strings
28600 instead of error values.
28601
28602 * util/i386/pc/grub-setup.c: Include grub/env.h.
28603 (setup): Use grub_device_set_root instead of grub_env_set.
28604
28605 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
28606 grub_env_get instead of grub_device_set_root and
28607 grub_device_get_root, respectively.
28608
28609 * kern/main.c (grub_env_write_root): New function.
28610 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
28611 grub_env_set instead of grub_device_set_root.
28612
28613 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
28614 many variables.
28615 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
28616 rather than calling ENV->WRITE_HOOK afterwards.
28617 (grub_env_get): Return the result of ENV->READ_HOOK rather than
28618 passing a pointer of a pointer.
28619 (grub_register_variable_hook): Change the types of "read_hook" and
28620 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
28621 respectively.
28622 Allocate the default empty string on the heap, because this string
28623 may be freed later.
28624
28625 * kern/device.c: Include grub/env.h.
28626 (grub_device_set_root): Removed.
28627 (grub_device_get_root): Likewise.
28628 (grub_device_open): Use grub_env_get instead of
28629 grub_device_get_root.
28630
28631 * include/grub/env.h (grub_env_read_hook_t): New type.
28632 (grub_env_write_hook_t): Likewise.
28633 (grub_env_var): Change the types of "read_hook" and "write_hook"
28634 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
28635 (grub_register_variable_hook): Likewise.
28636
28637 * include/grub/device.h (grub_device_set_root): Removed.
28638 (grub_device_set_root): Likewise.
28639
28640 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
28641 make sure that DIRNAME terminates with '/', so that
28642 grub_fat_find_dir will fail if PATH is not a directory.
28643
28644 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
28645 from DIRNAME.
28646 Use the qualifier auto for print_files and print_files_long.
28647 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
28648 as a regular file.
28649 Put a newline only if there is no error.
28650 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
28651 used.
28652
28653 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
28654
28655 * kern/partition.c (grub_partition_probe): Initialize PART to
28656 NULL. Otherwise, when no partition map is registered, this returns
28657 a garbage.
28658
28659 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
28660
28661 * partmap/apple.c (apple_partition_map_iterate): Check if POS
28662 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
28663 valid.
28664
28665 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
28666
28667 * commands/ls.c (grub_ls_list_disks): Print the filesystem
28668 information on each device, if it does not have partitions. Print
28669 "Device" instead of "Disk", because this function is not specific
28670 to disk devices.
28671
28672 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
28673 static to ensure that it is put on the memory rather than a
28674 register.
28675
28676 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
28677
28678 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
28679 (grub_cat_init): Likewise.
28680 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
28681 (options): Likewise.
28682 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28683 (grub_configfile_init): Likewise.
28684 * font/manager.c (GRUB_MOD_INIT): Likewise.
28685 * commands/help.c (GRUB_MOD_INIT): Likewise.
28686 (grub_help_init): Likewise.
28687 * normal/command.c (grub_command_init): Likewise.
28688 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
28689 * disk/loopback.c (grub_loop_init): Likewise.
28690 (GRUB_MOD_INIT): Likewise.
28691 * commands/ls.c (grub_ls_init): Likewise.
28692 (GRUB_MOD_INIT): Likewise.
28693 (options): Likewise.
28694 * commands/boot.c (grub_boot_init): Likewise.
28695 (GRUB_MOD_INIT): Likewise.
28696 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
28697 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
28698 (GRUB_MOD_INIT): Likewise.
28699 * commands/cmp.c (grub_cmp_init): Likewise.
28700 (GRUB_MOD_INIT): Likewise.
28701
28702 * normal/arg.c: Use <> instead of "" to include header files.
28703 (SHORT_ARG_HELP): New macro.
28704 (SHORT_ARG_USAGE): Likewise.
28705 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
28706 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
28707 descriptions.
28708 (find_short): Check if C is 'h' or 'u' explicitly.
28709 (grub_arg_show_help): Use space characters instead of tabs. Treat
28710 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
28711 are shown with --help and --usage only if they are not used for
28712 the command itself.
28713 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
28714 'h' and 'u'.
28715
28716 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
28717 const into "longarg". Change the type of "shortarg" to int.
28718
28719 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
28720
28721 * boot/i386/pc/boot.S (boot_drive_check): New label.
28722
28723 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
28724 macro.
28725
28726 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
28727 which do not pass a boot drive correctly. Copied from GRUB Legacy.
28728
28729 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
28730
28731 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
28732 When turning off Gate A20, skip the check and return immediately,
28733 because this is not fatal usually.
28734
28735 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
28736
28737 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
28738 be 0x7C00 instead of 0x8000.
28739
28740 * boot/i386/pc/pxeboot.S: Rewritten.
28741
28742 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
28743 EXT_C.
28744 (gate_a20_check_state): Read a byte from 0x108000. Invert the
28745 result.
28746
28747 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
28748
28749 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
28750 robustness. This routine now supports a BIOS call and System
28751 Control Port A to modify the gate A20.
28752
28753 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28754 Increased to 0x440.
28755
28756 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
28757
28758 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
28759 device path and resulting ihandle.
28760 (grub_ofdisk_close): dprintf the ihandle being closed.
28761 (grub_ofdisk_read): dprintf function parameters.
28762 * kern/mm.c (grub_mm_init_region): Likewise.
28763 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
28764 (grub_linux_boot): dprintf the Linux entry point, initrd address and
28765 size, and boot arguments.
28766 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
28767 before loading into memory.
28768 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
28769 before loading into memory.
28770
28771 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
28772
28773 * kern/mm.c: Added much documentation.
28774 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
28775 8, set to 5 instead of 8.
28776
28777 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
28778
28779 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
28780
28781 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
28782 (grub_mkdevicemap_SOURCES): New variable.
28783
28784 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
28785 lib/device.c of GRUB Legacy.
28786
28787 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
28788
28789 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
28790 instead of PATH is NULL.
28791
28792 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
28793
28794 * commands/cmp.c (BUFFER_SIZE): New macro.
28795 (grub_cmd_cmp): Close the right file at the right time. Compare
28796 only data just read. Don't report files of different size as
28797 identical. Dynamically allocate buffers. Move variable
28798 declarations at the beginning of function.
28799
28800 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
28801
28802 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
28803 reverse.
28804
28805 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
28806
28807 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
28808 when backspace is pressed at beginning of line.
28809
28810 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
28811
28812 * DISTLIST: Added genfslist.sh.
28813
28814 * normal/main.c (fs_module_list): New variable.
28815 (autoload_fs_module): New function.
28816 (read_fs_list): Likewise.
28817 (grub_normal_execute): Call read_fs_list.
28818
28819 * kern/fs.c (grub_fs_autoload_hook): New variable.
28820 (grub_fs_probe): Added support for auto-loading.
28821
28822 * include/grub/normal.h (struct grub_fs_module_list): New struct.
28823 (grub_fs_module_list_t): New type.
28824
28825 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
28826 (grub_fs_autoload_hook): New prototype.
28827
28828 * genfslist.sh: New file.
28829
28830 * genmk.rb: Added a rule to generate a filesystem list.
28831
28832 2005-06-30 Marco Gerards <metgerards@student.han.nl>
28833
28834 * configure.ac: Fix the test for cross-compiling.
28835
28836 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
28837 define GRUB_UTIL anymore.
28838
28839 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
28840 so this function works on other systems than just big endian.
28841 (load_modules): Likewise.
28842 (add_segments): Likewise.
28843
28844 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
28845
28846 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
28847 contains `l' modifier, get a long from va_arg().
28848
28849 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
28850
28851 * kern/mm.c (grub_free): If the next free block which is being
28852 merged is the first free block, set the first block to the block
28853 being freed.
28854 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
28855
28856 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
28857
28858 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
28859 `grub_ieee1275_chosen'.
28860
28861 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
28862
28863 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
28864 (grub_ieee1275_chosen): New variable.
28865 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
28866 `chosen'.
28867 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
28868 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
28869 Rename first argument to `phandle' for consistency.
28870 (grub_ieee1275_get_property_length): Likewise.
28871 (grub_ieee1275_next_property): Likewise. Change type of first argument
28872 to grub_ieee1275_phandle_t.
28873 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
28874 Move export next to declaration.
28875 (grub_ieee1275_chosen): New variable.
28876 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
28877 Correct cosmetic typo.
28878 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
28879 `grub_ieee1275_chosen'.
28880 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
28881 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
28882 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
28883 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
28884 `grub_ieee1275_chosen'.
28885
28886 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
28887
28888 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
28889 /chosen/bootargs.
28890 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
28891 /chosen/bootargs as "variable=value" pairs.
28892
28893 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
28894
28895 * include/grub/misc.h (grub_dprintf): New macro.
28896 (grub_real_dprintf): New prototype.
28897 (grub_strword): Likewise.
28898 (grub_iswordseparator): Likewise.
28899 * kern/misc.c (grub_real_dprintf): New function.
28900 (grub_strword): Likewise.
28901 (grub_iswordseparator): Likewise.
28902
28903 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
28904
28905 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
28906 (roundup): Remove macro.
28907 (grub_ieee1275_flags): Make static.
28908 (grub_ieee1275_realmode): Remove.
28909 (grub_ieee1275_test_flag): New function.
28910 (grub_ieee1275_set_flag): Likewise.
28911 (find_options): Rename to `grub_ieee1275_find_options'; update
28912 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
28913 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
28914 (cmain): New prototype.
28915 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
28916 `grub_ieee1275_flags' directly.
28917 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
28918 machine/biosdisk.h.
28919 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
28920 Don't include grub/machine/init.h.
28921 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
28922 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
28923 Remove prototype.
28924 (grub_ieee1275_realmode): Likewise.
28925 (grub_ieee1275_flag): New enum.
28926 (grub_ieee1275_test_flag): New prototype.
28927 (grub_ieee1275_set_flag): New prototype.
28928 * include/grub/powerpc/ieee1275/init.h: Remove file.
28929 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
28930 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
28931 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
28932 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
28933 comment.
28934 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
28935 `grub_ieee1275_test_flag'.
28936 (grub_ieee1275_encode_devname): Likewise.
28937
28938 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
28939
28940 * include/grub/powerpc/ieee1275/ieee1275.h
28941 (grub_ieee1275_encode_devname): New prototype.
28942 (grub_ieee1275_get_filename): Likewise.
28943 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
28944 function.
28945 (grub_set_prefix): Likewise.
28946 (grub_machine_init): Call grub_set_prefix.
28947 * kern/powerpc/ieee1275/openfw.c: Fix typos.
28948 (grub_parse_type): New enum.
28949 (grub_ieee1275_get_devargs): New function.
28950 (grub_ieee1275_get_devname): Likewise.
28951 (grub_ieee1275_parse_args): Likewise.
28952 (grub_ieee1275_get_filename): Likewise.
28953 (grub_ieee1275_encode_devname): Likewise.
28954
28955 2005-03-30 Marco Gerards <metgerards@student.han.nl>
28956
28957 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
28958 `grub_loader_unset'.
28959
28960 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
28961
28962 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
28963 instead of grub_ieee1275_interpret.
28964 (grub_halt_init): New function.
28965 (grub_halt_fini): Likewise.
28966 (GRUB_MOD_INIT): Correct message grammar.
28967 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
28968 instead of grub_ieee1275_interpret.
28969 (grub_reboot_init): New function.
28970 (grub_reboot_fini): Likewise.
28971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
28972 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
28973 util/i386/pc/misc.c with commands/ieee1275/halt.c,
28974 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
28975 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
28976 function.
28977 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
28978 Add prototype.
28979 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
28980 prototype.
28981 (grub_halt): Likewise.
28982 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
28983 (cmain): Remove __attribute__((unused)).
28984 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
28985 (grub_heap_len): Likewise.
28986 (grub_machine_fini): New function.
28987 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
28988 (grub_halt): Likewise.
28989 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
28990 function.
28991 * util/powerpc/ieee1275/misc.c: New file.
28992
28993 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28994
28995 * DISTLIST: New file.
28996 * gendistlist.sh: Likewise.
28997
28998 * Makefile.in (COMMON_DISTFILES): Removed.
28999 (BOOT_DISTFILES): Likewise.
29000 (CONF_DISTFILES): Likewise.
29001 (DISK_DISTFILES): Likewise.
29002 (FS_DISTFILES): Likewise.
29003 (INCLUDE_DISTFILES): Likewise.
29004 (KERN_DISTFILES): Likewise.
29005 (LOADER_DISTFILES): Likewise.
29006 (TERM_DISTFILES): Likewise.
29007 (UTIL_DISTFILES): Likewise.
29008 (DISTFILES): Likewise.
29009 (uninstall): Uninstall files in $(pkgdata_DATA).
29010 (DISTLIST): New target.
29011 (distdir): Use the contents of the file DISTLIST to get a list of
29012 distributed files.
29013
29014 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
29015
29016 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
29017 descriptor. This is ported from GRUB Legacy.
29018
29019 * gencmdlist.sh: Added an extra semicolon to make it work with
29020 old sed versions. Reported by Robert Bihlmeyer
29021 <robbe@orcus.priv.at>.
29022
29023 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
29024
29025 Automatic loading of commands is supported.
29026
29027 * normal/main.c (read_command_list): New function.
29028 (grub_normal_execute): Call read_command_list.
29029
29030 * normal/command.c (grub_register_command): Return zero or CMD.
29031 Allocate CMD->NAME from the heap.
29032 Initialize CMD->MODULE_NAME to zero.
29033 Find the same name as well. If the same command is found and it is
29034 a dummy command, overwrite members. If it is not a dummy command,
29035 return zero.
29036 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
29037 (grub_command_find): If a dummy command is found, load a module
29038 and retry to find a command only once.
29039
29040 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
29041 make sure that each command is loaded.
29042
29043 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
29044 macro.
29045 (struct grub_command): Remove const from the member `name'.
29046 Add a new member `module_name'.
29047 (grub_register_command): Return grub_command_t.
29048
29049 * commands/help.c (grub_cmd_help): Call grub_command_find to make
29050 sure that each command is loaded.
29051
29052 * genmk.rb (PModule::rule): Specify a module name without the
29053 suffix ".mod" to gencmdlist.sh.
29054
29055 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
29056
29057 * gencmdlist.sh: New file.
29058
29059 * genmk.rb (PModule::rule): Generate a rule for a command list.
29060 Clean command.lst.
29061 Generate command.lst from $(COMMANDFILES).
29062
29063 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
29064 (DATA): Added $(pkgdata_DATA).
29065 (install-local): Install files in $(pkgdata_DATA).
29066
29067 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
29068
29069 * term/i386/pc/vga.c (debug_command): Removed.
29070 (GRUB_MOD_INIT): Do not register the command "debug".
29071
29072 From Hollis Blanchard:
29073 * commands/configfile.c: New file.
29074 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29075 commands/configfile.c.
29076 (pkgdata_MODULES): Added configfile.mod.
29077 (configfile_mod_SOURCES): New variable.
29078 (configfile_mod_CFLAGS): Likewise.
29079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
29080 commands/configfile.c.
29081 (pkgdata_MODULES): Added configfile.mod.
29082 (configfile_mod_SOURCES): New variable.
29083 (configfile_mod_CFLAGS): Likewise.
29084 * util/grub-emu.c (main): Call grub_configfile_init and
29085 grub_configfile_fini.
29086 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
29087 prototype.
29088 [GRUB_UTIL] (grub_configfile_fini): Likewise.
29089
29090 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
29091
29092 * normal/arg.c (grub_arg_show_help): Do not show the bug report
29093 address.
29094
29095 * commands/help.c (grub_cmd_help): Do not print newlines after
29096 the last command in print_command_help.
29097
29098 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
29099
29100 * commands/default.h: New file.
29101 * commands/timeout.h: Likewise.
29102 * normal/context.c: Likewise.
29103
29104 * util/misc.c: Do not include sys/times.h.
29105 Include sys/time.h and grub/machine/time.h.
29106 (grub_get_rtc): Rewritten with gettimeofday.
29107
29108 * util/grub-emu.c (main): Call grub_default_init and
29109 grub_timeout_init before grub_normal_init, and call
29110 grub_timeout_fini and grub_default_fini after grub_main.
29111
29112 * util/console.c (grub_ncurses_checkkey): Return the read
29113 character or -1.
29114
29115 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
29116 timeouts.
29117
29118 * normal/main.c (read_config_file): Push MENU. If this fails,
29119 print an error and wait for a user input.
29120 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
29121 If a menu is empty or an error occurs, pop MENU.
29122 (grub_normal_execute): Pop and free MENU after grub_menu_run
29123 returns.
29124
29125 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
29126
29127 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
29128 include time.h.
29129 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
29130 without GRUB_UTIL.
29131 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
29132 time.h.
29133 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
29134 without GRUB_UTIL.
29135
29136 * include/grub/normal.h (struct grub_menu_list): New struct.
29137 (grub_menu_list_t): New type.
29138 (struct grub_context): New struct.
29139 (grub_context_t): New type.
29140 (grub_register_command): Got rid of EXPORT_FUNC.
29141 (grub_unregister_command): Likewise.
29142 (grub_context_get): New prototype.
29143 (grub_context_get_current_menu): Likewise.
29144 (grub_context_push_menu): Likewise.
29145 (grub_context_pop_menu): Likewise.
29146 [GRUB_UTIL] (grub_default_init): Likewise.
29147 [GRUB_UTIL] (grub_default_fini): Likewise.
29148 [GRUB_UTIL] (grub_timeout_init): Likewise.
29149 [GRUB_UTIL] (grub_timeout_fini): Likewise.
29150
29151 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
29152 commands/timeout.c and normal/context.c.
29153 (pkgdata_MODULES): Added default.mod and timeout.mod.
29154 (normal_mod_SOURCES): Added normal/context.c.
29155 (default_mod_SOURCES): New variable.
29156 (default_mod_CFLAGS): Likewise.
29157 (timeout_mod_SOURCES): Likewise.
29158 (timeout_mod_CFLAGS): Likewise.
29159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
29160 conf/i386-pc.rmk.
29161 (pkgdata_MODULES): Added default.mod and timeout.mod.
29162 (normal_mod_SOURCES): Added normal/context.c.
29163 (default_mod_SOURCES): New variable.
29164 (default_mod_CFLAGS): Likewise.
29165 (timeout_mod_SOURCES): Likewise.
29166 (timeout_mod_CFLAGS): Likewise.
29167
29168 * Makefile.in (all-local): Added $(MKFILES).
29169
29170 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
29171
29172 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
29173 (grub_emu_SOURCES): Likewise.
29174 (pkgdata_MODULES): Add `sun.mod'.
29175 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
29176 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29177 `partmap/sun.c'.
29178 (pkgdata_MODULES): Add `sun.mod'.
29179 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
29180 * include/grub/partition.h (grub_sun_partition_map_init): New
29181 prototype.
29182 (grub_sun_partition_map_fini): Likewise.
29183 * partmap/sun.c: New file.
29184 * util/grub-emu.c (main): Initialize and de-initialize the sun
29185 partitionmap support.
29186
29187 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
29188
29189 This implements an Emacs-like menu entry editor.
29190
29191 * normal/menu_entry.c: New file.
29192
29193 * util/console.c (grub_ncurses_putchar): Translate some Unicode
29194 characters to ASCII.
29195 (saved_char): New variable.
29196 (grub_ncurses_checkkey): Rewritten completely.
29197 (grub_ncurses_getkey): Likewise.
29198 (grub_ncurses_init): Call raw instead of cbreak.
29199
29200 * normal/menu.c (print_entry): Do not put a space.
29201 (init_page): Renamed to ...
29202 (grub_menu_init_page): ... this. All callers changed.
29203 (edit_menu_entry): Removed.
29204 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
29205
29206 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
29207
29208 * kern/misc.c (grub_vprintf): Call grub_refresh.
29209
29210 * normal/menu.c (DISP_LEFT): Renamed to ...
29211 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
29212 * normal/menu.c (DISP_UP): Renamed to ...
29213 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
29214 * normal/menu.c (DISP_RIGHT): Renamed to ...
29215 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
29216 * normal/menu.c (DISP_DOWN): Renamed to ...
29217 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
29218 * normal/menu.c (DISP_HLINE): Renamed to ...
29219 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
29220 * normal/menu.c (DISP_VLINE): Renamed to ...
29221 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
29222 * normal/menu.c (DISP_UL): Renamed to ...
29223 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
29224 * normal/menu.c (DISP_UR): Renamed to ...
29225 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
29226 * normal/menu.c (DISP_LL): Renamed to ...
29227 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
29228 * normal/menu.c (DISP_LR): Renamed to ...
29229 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
29230 * normal/menu.c (TERM_WIDTH): Renamed to ...
29231 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
29232 * normal/menu.c (TERM_HEIGHT): Renamed to ...
29233 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
29234 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
29235 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
29236 * normal/menu.c (TERM_MARGIN): Renamed to ...
29237 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
29238 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
29239 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
29240 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
29241 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
29242 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
29243 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
29244 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
29245 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
29246 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
29247 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
29248 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
29249 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
29250 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
29251 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
29252 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
29253 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
29254 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
29255 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
29256 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
29257 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
29258 All callers changed.
29259
29260 * include/grub/normal.h: New prototype.
29261
29262 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29263 normal/menu_entry.c.
29264 (normal_mod_SOURCES): Likewise.
29265 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29266 (normal_mod_SOURCES): Likewise.
29267
29268 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
29269
29270 * include/grub/normal.h (grub_halt_init): New prototype.
29271 (grub_halt_fini): Likewise.
29272 (grub_reboot_init): Likewise.
29273 (grub_reboot_fini): Likewise.
29274
29275 * util/grub-emu.c: Include signal.h.
29276 (main_env): New global variable.
29277 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
29278 catch C-c.
29279 (grub_machine_fini): New function.
29280 (main): Call grub_halt_init and grub_reboot_init before
29281 grub_main, and grub_reboot_fini and grub_halt_fini after it.
29282 Call setjmp with MAIN_ENV to go back afterwards.
29283 Call grub_machine_fini right before return.
29284
29285 * include/grub/util/misc.h: Include setjmp.h.
29286 (main_env): New prototype.
29287
29288 * include/grub/kernel.h (grub_machine_fini): New prototype.
29289 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
29290 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
29291
29292 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
29293 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
29294 * term/i386/pc/console.c (grub_console_fini): Likewise.
29295
29296 * util/i386/pc/misc.c: New file.
29297
29298 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29299 util/i386/pc/misc.c, commands/i386/pc/halt.c and
29300 commands/i386/pc/reboot.c.
29301
29302 2005-02-14 Guillem Jover <guillem@hadrons.org>
29303
29304 * include/grub/dl.h (grub_dl_check_header): New prototype.
29305 (grub_arch_dl_check_header): Change return type to grub_err_t,
29306 remove size parameter and export function. Update all callers.
29307 * kern/dl.c (grub_dl_check_header): New function.
29308 (grub_dl_load_core): Use `grub_dl_check_header' instead of
29309 `grub_arch_dl_check_header'. Check ELF type. Check if sections
29310 are inside the core.
29311 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
29312 independent ELF header checks.
29313 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
29314 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
29315 `grub_dl_check_header' instead of explicit checks. Check for the
29316 ELF type.
29317 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
29318 `grub_dl_check_header' instead of explicit checks. Remove arch
29319 specific ELF header checks.
29320
29321 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
29322 argument SIZE.
29323
29324 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
29325
29326 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
29327 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
29328
29329 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
29330
29331 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
29332 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
29333 (part_map_iterate): Clear `grub_errno' and return 0 if
29334 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
29335 * partmap/amiga.c (amiga_partition_map_iterate): Return
29336 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
29337 * partmap/apple.c (apple_partition_map_iterate): Likewise.
29338
29339 2005-02-01 Guillem Jover <guillem@hadrons.org>
29340
29341 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
29342 help info.
29343
29344 2005-01-31 Marco Gerards <metgerards@student.han.nl>
29345
29346 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
29347 Removed prototype.
29348 (grub_rescue_cmd_linux): New prototype.
29349 (grub_rescue_cmd_initrd): Likewise.
29350 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
29351 `bi_rec'.
29352 (grub_linux_release_mem): Release the memory for the initrd.
29353 (grub_load_linux): Renamed from this...
29354 (grub_rescue_cmd_linux): ...To this. Changed all callers.
29355 Changed `entry' not to be static. Loop over memory regions to
29356 find another one when the default fails.
29357 (grub_rescue_cmd_initrd): New function.
29358 (grub_linux_init): Remove function.
29359 (grub_linux_fini): Likewise.
29360 (GRUB_MOD_INIT): Register `initrd'.
29361 (GRUB_MOD_FINI): Unregister `initrd'.
29362 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
29363 Function removed.
29364 (grub_linux_normal_fini): Likewise.
29365 (GRUB_MOD_INIT): Register `initrd'.
29366 (GRUB_MOD_FINI): Unregister `initrd'.
29367
29368 2005-01-31 Marco Gerards <metgerards@student.han.nl>
29369
29370 * commands/help.c: New file.
29371 * normal/arg.c (show_help): Renamed to...
29372 (grub_arg_show_help): ... this.
29373 * commands/i386/pc/halt.c: New file.
29374 * commands/i386/pc/reboot.c: Likewise.
29375 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
29376 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
29377 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
29378 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
29379 variables.
29380 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29381 `commands/help.c'.
29382 (pkgdata_MODULES): Add `help.mod'.
29383 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
29384 * grub/i386/pc/init.h (grub_reboot): New prototype.
29385 (grub_halt): Likewise.
29386 * include/grub/normal.h (grub_arg_show_help): New prototype.
29387 (grub_help_init): Likewise.
29388 (grub_help_fini): Likewise.
29389 * util/grub-emu.c (main): Initialize and deinitialize the help
29390 command.
29391
29392 * normal/cmdline.c (grub_cmdline_get): Doc fix.
29393
29394 * normal/command.c (grub_command_init): Fixed the description of
29395 the `set' and `unset' commands.
29396
29397 2005-01-31 Marco Gerards <metgerards@student.han.nl>
29398
29399 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
29400 function.
29401 * commands/ieee1275/halt.c: New file.
29402 * commands/ieee1275/reboot.c: Likewise.
29403 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
29404 `__attribute__ ((unused))'. Some GCS related fixed.
29405 (grub_suspend_init) [GRUB_UTIL]: Function removed.
29406 (grub_suspend_fini): Likewise.
29407 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
29408 and `halt.mod'.
29409 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
29410 (halt_mod_CFLAGS): New variables.
29411 * include/grub/powerpc/ieee1275/ieee1275.h
29412 (grub_ieee1275_interpret): New prototype.
29413
29414 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
29415
29416 * include/grub/misc.h (memmove): New prototype.
29417 (memcpy): Likewise.
29418
29419 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
29420
29421 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
29422 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
29423
29424 2005-01-22 Marco Gerards <metgerards@student.han.nl>
29425
29426 * kern/misc.c (grub_strndup): Function rewritten.
29427
29428 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
29429
29430 * normal/menu.c (TERM_WIDTH): Macro redefined.
29431 (TERM_TOP_BORDER_Y): Likewise.
29432 (draw_border): Replaced while-loop by a for-loop. Make the number
29433 of lines consistent with the number of lines displayed in
29434 print_entries. Added a margin below the rectangle.
29435 (print_entry): Make the entry fit in the rectangle.
29436 (print_entries): Display the scroll arrows next to the right
29437 border.
29438
29439 2005-01-21 Marco Gerards <metgerards@student.han.nl>
29440
29441 * fs/minix.c (grub_minix_find_file): Reserve more space for
29442 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
29443 `grub_strncpy' to copy `path' into it.
29444
29445 2005-01-21 Marco Gerards <metgerards@student.han.nl>
29446
29447 Add the loopback device, a device via which files can be accessed
29448 as devices.
29449
29450 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
29451 (pkgdata_MODULES): Add loopback.mod.
29452 (loopback_mod_SOURCES): New variable.
29453 (loopback_mod_CFLAGS): Likewise.
29454 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29455 `disk/loopback.c'.
29456 (pkgdata_MODULES): Add loopback.mod.
29457 (loopback_mod_SOURCES): New variable.
29458 (loopback_mod_CFLAGS): Likewise.
29459 * disk/loopback.c: new file.
29460 * include/grub/normal.h (grub_loop_init): New prototype.
29461 (grub_loop_fini): New prototype.
29462 * util/grub-emu.c (main): Initialize and de-initialize loopback
29463 support.
29464 * include/grub/disk.h (grub_disk_dev_id): Add
29465 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
29466
29467 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
29468
29469 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
29470 function.
29471 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
29472 (suspend_mod_SOURCES): New variable.
29473 (suspend_mod_CFLAGS): Likewise.
29474 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
29475 New prototype.
29476 * commands/ieee1275/suspend.c: New file.
29477
29478 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29479
29480 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
29481 ((unused))' to `__attribute__ ((used))'.
29482 (GRUB_MOD_FINI): Likewise.
29483 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
29484 * genmk.rb (PModule): Assign space to common symbols when linking
29485 modules.
29486
29487 2005-01-20 Marco Gerards <metgerards@student.han.nl>
29488
29489 * include/grub/mm.h (grub_mm_init_region): Change the type of the
29490 `unsigned' arguments to `grub_size_t'.
29491 (grub_malloc): Likewise.
29492 (grub_realloc): Likewise.
29493 (grub_memalign): Likewise.
29494 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
29495 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
29496 * util/misc.c (grub_malloc): Likewise.
29497 (grub_realloc): Likewise.
29498 * kern/mm.c (get_header_from_pointer): Change the casts to
29499 `unsigned' into a cast to `grub_size_t'.
29500
29501 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
29502 point to `currnode' when `currnode' is changed.
29503
29504 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
29505 Schottelius <nico-linux@schottelius.org>.
29506
29507 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
29508
29509 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
29510 (note_path): Remove variable.
29511 (GRUB_IEEE1275_NOTE_NAME): New macro.
29512 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
29513 (grub_ieee1275_note_hdr): New structure.
29514 (grub_ieee1275_note_desc): Likewise.
29515 (grub_ieee1275_note): Likewise.
29516 (load_note): Remove `dir' argument. All callers updated. Remove
29517 `note_img' and `path'. Do not load a file from `note_path'.
29518 Initialize a struct grub_ieee1275_note and write that to `out'.
29519 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
29520
29521 2005-01-05 Marco Gerards <metgerards@student.han.nl>
29522
29523 * util/misc.c (grub_util_read_image): Revert last change. It
29524 called `grub_util_read_at', which seeks from the beginning of the
29525 file.
29526
29527 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
29528
29529 * TODO: Add note about endianness in grub-mkimage.
29530 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
29531 section.
29532 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
29533 (grub_mkimage_SOURCES): New target.
29534 * include/grub/kernel.h (grub_start_addr): Remove variable.
29535 (grub_end_addr): Likewise.
29536 (grub_total_module_size): Likewise.
29537 (grub_kernel_image_size): Likewise.
29538 (GRUB_MODULE_MAGIC): New constant.
29539 (grub_module_info): New structure.
29540 (grub_arch_modules_addr): New prototype.
29541 (grub_get_end_addr): Remove prototype.
29542 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
29543 * include/grub/powerpc/ieee1275/kernel.h: New file.
29544 * include/grub/util/misc.h (grub_util_get_fp_size): New
29545 prototype.
29546 (grub_util_read_at): Likewise.
29547 (grub_util_write_image_at): Likewise.
29548 * kern/main.c (grub_get_end_addr): Remove function.
29549 (grub_load_modules): Call grub_arch_modules_addr instead of using
29550 grub_end_addr. Look for a grub_module_info struct in memory. Use
29551 the grub_module_info fields instead of calling grub_get_end_addr
29552 as loop conditions. Move grub_add_unused_region code here.
29553 (grub_add_unused_region): Remove function.
29554 * kern/i386/pc/init.c: Include grub/cache.h.
29555 (grub_machine_init): Remove call to grub_get_end_addr. Remove
29556 one call to add_mem_region.
29557 (grub_arch_modules_addr): New function.
29558 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
29559 (grub_total_module_size): Likewise.
29560 Include grub/machine/kernel.h.
29561 (grub_arch_modules_addr): New function.
29562 * util/grub-emu.c (grub_end_addr): Remove variable.
29563 (grub_total_module_size): Likewise.
29564 (grub_arch_modules_addr): New function.
29565 * util/misc.c: Include unistd.h.
29566 (grub_util_get_fp_size): New function.
29567 (grub_util_read_at): Likewise.
29568 (grub_util_write_image_at): Likewise.
29569 (grub_util_read_image): Call grub_util_read_at.
29570 (grub_util_write_image): Call grub_util_write_image_at.
29571 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
29572 additional memory in kernel_img for a struct grub_module_info.
29573 Fill in that grub_module_info.
29574 * util/powerpc/ieee1275/grub-mkimage.c: New file.
29575
29576 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
29577
29578 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
29579 New function.
29580 * include/grub/powerpc/ieee1275/ieee1275.h
29581 (grub_ieee1275_milliseconds): New prototype.
29582 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
29583 Change to 1000.
29584 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
29585 grub_ieee1275_milliseconds.
29586
29587 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
29588
29589 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
29590 variable.
29591 (find_options): New function.
29592 (cmain): Call find_options.
29593 * include/grub/powerpc/ieee1275/ieee1275.h
29594 (grub_ieee1275_realmode): New extern variable.
29595 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
29596 grub_map if grub_ieee1275_realmode is false.
29597
29598 2004-12-29 Marco Gerards <metgerards@student.han.nl>
29599
29600 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
29601 lines are inserted and make it work like readline. Reported by
29602 Vincent Pelletier <subdino2004@yahoo.fr>.
29603
29604 2004-12-28 Marco Gerards <metgerards@student.han.nl>
29605
29606 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
29607
29608 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
29609 `kern/powerpc/cache.S'.
29610
29611 2004-12-27 Marco Gerards <metgerards@student.han.nl>
29612
29613 * genmk.rb: Handle the `Program' class in the main loop. Written
29614 by Johan Rydberg <jrydberg@gnu.org>.
29615 (Program): New class.
29616 (programs): New variable.
29617 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
29618 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
29619 instead of "grub/kernel.h". Include <grub/machine/init.h>.
29620 (help_arch): Function removed.
29621 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
29622 `powerpc/libgcc.h' and `loader.h'.
29623 (pkgdata_PROGRAMS): New variable.
29624 (sbin_UTILITIES): Variable removed.
29625 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
29626 (grubof_SOURCES): Variable re-defined so it only includes the
29627 core functionality.
29628 (grubof_CFLAGS): Remove `-DGRUBOF'.
29629 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
29630 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
29631 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
29632 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
29633 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
29634 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
29635 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
29636 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
29637 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
29638 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
29639 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29640 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
29641 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
29642 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
29643 (pc_mod_CFLAGS): New variables.
29644 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
29645 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
29646 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
29647 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
29648 Moved from here...
29649 * include/grub/i386/pc/init.h (grub_os_area_addr)
29650 (rub_os_area_size): ... to here.
29651 * include/grub/powerpc/ieee1275/ieee1275.h
29652 (grub_ieee1275_entry_fn): Export symbol.
29653 * include/grub/powerpc/ieee1275/init.h: New file.
29654 * include/grub/powerpc/libgcc.h: Likewise.
29655 * include/grub/cache.h: Likewise.
29656 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
29657 <hollis@penguinppc.org>.
29658 * kern/dl.c: Include <grub/cache.h>.
29659 (grub_dl_flush_cache): New function.
29660 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
29661 for this module.
29662 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
29663 (grub_console_init): Removed prototypes.
29664 (grub_machine_init): Don't initialize the modules anymore.
29665 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
29666 static.
29667 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
29668 Macro undef removed.
29669 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
29670 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
29671 relocation `R_PPC_REL32'. Return an error when the relocation is
29672 unknown.
29673 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
29674 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
29675 * util/misc.c (grub_arch_sync_caches): Likewise.
29676
29677 2004-12-19 Marco Gerards <metgerards@student.han.nl>
29678
29679 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
29680 `symlist.c', add `grubof_symlist.c'.
29681 (symlist.c): Variable removed.
29682 (grubof_HEADERS): Variable added.
29683 (grubof_symlist.c): New target.
29684 (kernel_syms.lst): Use `grubof_HEADERS' instead of
29685 `kernel_img_HEADERS'.
29686 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
29687 * kern/powerpc/dl.c: New file.
29688 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
29689 Function removed.
29690 (grub_arch_dl_relocate_symbols): Likewise.
29691 (grub_register_exported_symbols): Likewise.
29692
29693 2004-12-13 Marco Gerards <metgerards@student.han.nl>
29694
29695 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
29696 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
29697 to fail instead. Reported by Vincent Pelletier
29698 <subdino2004@yahoo.fr>.
29699
29700 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
29701 it is not allocated. Reported by Vincent Pelletier
29702 <subdino2004@yahoo.fr>.
29703
29704 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
29705 output so the output looks better.
29706
29707 2004-12-04 Marco Gerards <metgerards@student.han.nl>
29708
29709 Modulize the partition map support and add support for the amiga
29710 partition map.
29711
29712 * commands/ls.c: Include <grub/partition.h> instead of
29713 <grub/machine/partition.h>.
29714 * kern/disk.c: Likewise.
29715 * kern/rescue.c: Likewise.
29716 * loader/i386/pc/chainloader.c: Likewise.
29717 * normal/cmdline.c: Likewise.
29718 * kern/powerpc/ieee1275/init.c: Likewise.
29719 (grub_machine_init): Call `grub_pc_partition_map_init',
29720 `grub_amiga_partition_map_init' and
29721 `grub_apple_partition_map_init'.
29722 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
29723 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
29724 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
29725 `partition.h' and `pc_partition.h'.
29726 (grub_setup_SOURCES): Remove
29727 `disk/i386/pc/partition.c'. Add `kern/partition.c',
29728 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
29729 (grub_emu_SOURCES): Likewise.
29730 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
29731 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
29732 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
29733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
29734 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
29735 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
29736 (grubof_SOURCES): Likewise.
29737 * disk/i386/pc/partition.c: File removed.
29738 * disk/powerpc/ieee1275/partition.c: Likewise.
29739 * include/grub/powerpc/ieee1275/partition.h: Likewise.
29740 * include/grub/i386/pc/partition.h: Likewise.
29741 * kern/partition.c: New file.
29742 * partmap/amiga.c: Likewise.
29743 * partmap/apple.c: Likewise.
29744 * partmap/pc.c: Likewise.
29745 * include/grub/partition.h: Likewise..
29746 * include/grub/pc_partition.h: Likewise.
29747 * util/grub-emu.c: Include <grub/partition.h> instead of
29748 <grub/machine/partition.h>.
29749 (main): Call `grub_pc_partition_map_init',
29750 `grub_amiga_partition_map_init' and
29751 `grub_apple_partition_map_init' and deinitialize afterwards.
29752 * util/i386/pc/biosdisk.c: Include `#include
29753 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
29754 `<grub/machine/partition.h>'.
29755 * util/i386/pc/grub-setup.c: Likewise.
29756 * util/i386/pc/biosdisk.c: Likewise.
29757 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
29758 partition information in case of a PC partition.
29759 * util/i386/pc/grub-setup.c: Include `#include
29760 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
29761 `<grub/machine/partition.h>'.
29762 (setup): Only access the PC specific partition information in case
29763 of a PC partition.
29764
29765 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
29766
29767 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
29768 (grub_longjmp): Likewise.
29769 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
29770 20.
29771 * normal/powerpc/setjmp.S: New file.
29772 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
29773 `normal/powerpc/setjmp.S'.
29774 (grubof_CFLAGS): Add `-DGRUBOF'.
29775 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
29776 [GRUB_UTIL && !GRUBOF].
29777
29778 2004-11-16 Marco Gerards <metgerards@student.han.nl>
29779
29780 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
29781 property named `name'. Correctly handle the error returned by
29782 `grub_ieee1275_finddevice' if a device can not be opened.
29783
29784 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
29785
29786 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
29787 `actual' for negativity.
29788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
29789 kern/fshelp.c.
29790
29791 2004-11-01 Marco Gerards <metgerards@student.han.nl>
29792
29793 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
29794 (PAGE_OFFSET): New macro.
29795 (CRTC_ADDR_PORT): Likewise.
29796 (CRTC_DATA_PORT): Likewise.
29797 (START_ADDR_HIGH_REGISTER): Likewise.
29798 (START_ADDR_LOW_REGISTER): Likewise.
29799 (GRAPHICS_ADDR_PORT): Likewise.
29800 (GRAPHICS_DATA_PORT): Likewise.
29801 (READ_MAP_REGISTER): Likewise.
29802 (INPUT_STATUS1_REGISTER): Likewise.
29803 (INPUT_STATUS1_VERTR_BIT): Likewise.
29804 (page): New variable.
29805 (wait_vretrace): New function.
29806 (set_read_map): Likewise.
29807 (set_start_address): Likewise.
29808 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
29809 the right page.
29810 (check_vga_mem): Take the page into account.
29811 (write_char): Likewise.
29812 (write_cursor): Likewise.
29813 (scroll_up): Likewise. Copy the page to the page that is not
29814 shown and switch between both pages.
29815 (grub_vga_putchar): Fix off by one error.
29816 (grub_vga_cls): Wait for the vertical retrace. Take the page into
29817 account.
29818
29819 2004-11-01 Marco Gerards <metgerards@student.han.nl>
29820
29821 Add support for iso9660 (including rockridge).
29822
29823 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
29824 (iso9660_mod_SOURCES): New variable.
29825 (iso9660_mod_CFLAGS): Likewise.
29826 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
29827 * include/grub/fs.h (grub_iso9660_init): New prototype.
29828 * util/grub-emu.c (main): Call `grub_iso9660_init'.
29829 * fs/iso9660.c: New file.
29830
29831 * include/grub/misc.h (grub_strncat): New prototype.
29832 * kern/misc.c (grub_strncat): New function.
29833
29834 * fs/hfs.c (grub_hfs_mount): Translate the error
29835 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
29836 * fs/jfs.c (grub_jfs_mount): Likewise.
29837 * fs/ufs.c (grub_ufs_mount): Likewise.
29838
29839 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
29840
29841 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
29842 which initialized BAT registers.
29843 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
29844 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
29845 Move from here...
29846 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
29847 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
29848 ... to here.
29849 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
29850 (grub_mapclaim): Likewise.
29851 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
29852 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
29853 hand.
29854
29855 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
29856
29857 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
29858 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
29859 -ffreestanding and -msoft-float.
29860
29861 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
29862
29863 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
29864 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
29865 set in grub_ieee1275_flags.
29866
29867 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
29868
29869 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
29870 prototype.
29871 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
29872 grub_console_init first.
29873 Change the memory range used for grub_ieee1275_claim and
29874 grub_mm_init_region.
29875 Print an error message if the claim fails.
29876 Include <grub/misc.h>.
29877
29878 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
29879
29880 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
29881 Call grub_children_iterate for device nodes of type `scsi',
29882 `ide', or `ata'.
29883 (grub_ofdisk_open): Remove manual device alias resolution.
29884 Fix memory leak when device cannot be opened.
29885 * include/grub/powerpc/ieee1275/ieee1275.h
29886 (grub_children_iterate): New prototype.
29887 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
29888 New function.
29889 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
29890 Return -1 if args.size was -1.
29891
29892 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
29893
29894 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
29895 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
29896 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
29897 Open Firmware's memory for it; claim memory from _start to _end.
29898 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
29899 (_end): New extern.
29900 (_start): Zero BSS from __bss_start to _end.
29901 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
29902 New extern.
29903 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
29904
29905 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
29906
29907 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
29908 -1 if args.base was -1.
29909
29910 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
29911
29912 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
29913 escape sequence instead of a literal ^L. Also call
29914 grub_ofconsole_gotoxy.
29915
29916 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
29917
29918 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
29919 void * arguments to grub_addr_t. All callers updated. Also make
29920 the `result' argument optional.
29921 (grub_ieee1275_release): change void * arguments to grub_addr_t.
29922 All callers updated.
29923
29924 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
29925
29926 * commands/ls.c (grub_ls_list_files): Use the string following the
29927 initial ')', if present, as the filesystem path.
29928 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
29929
29930 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
29931
29932 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
29933
29934 Make the source code of the menu interface more readable.
29935
29936 * normal/menu.c: Include grub/mm.h.
29937 (TERM_WIDTH): New macro.
29938 (TERM_HEIGHT): Likewise.
29939 (TERM_INFO_HEIGHT): Likewise.
29940 (TERM_MARGIN): Likewise.
29941 (TERM_SCROLL_WIDTH): Likewise.
29942 (TERM_TOP_BORDER_Y): Likewise.
29943 (TERM_LEFT_BORDER_X): Likewise.
29944 (TERM_BORDER_WIDTH): Likewise.
29945 (TERM_MESSAGE_HEIGHT): Likewise.
29946 (TERM_BORDER_HEIGHT): Likewise.
29947 (TERM_NUM_ENTRIES): Likewise.
29948 (TERM_FIRST_ENTRY_Y): Likewise.
29949 (TERM_ENTRY_WIDTH): Likewise.
29950 (TERM_CURSOR_X): Likewise.
29951 (draw_border): Use macros instead of magic numbers.
29952 (print_entry): Likewise.
29953 (print_entries): Likewise.
29954 (run_menu): Likewise. Also, handle the key 'e'.
29955 (run_menu_entry): Ignore empty command lines.
29956 (print_message): Added a new argument EDIT. If EDIT is true,
29957 print a different message.
29958 (init_page): Likewise.
29959 (edit_menu_entry): New function. Not implemented yet.
29960
29961 2004-09-17 Marco Gerards <metgerards@student.han.nl>
29962
29963 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
29964 can be loaded from normal mode.
29965
29966 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
29967 `multiboot.mod'.
29968 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
29969 (multiboot_mod_CFLAGS): New variables.
29970 * loader/i386/pc/linux_normal.c: New file.
29971 * loader/i386/pc/multiboot_normal.c: Likewise.
29972
29973 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
29974 attribute `unused'.
29975
29976 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
29977 `fdiro' to read the mode information from instead of `diro'.
29978
29979 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
29980 looking up a symlink.
29981
29982 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
29983 macro.
29984 * normal/command.c (grub_command_execute): Don't parse the
29985 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
29986 flags of the command.
29987
29988 * normal/menu.c (grub_menu_run): Fix typo.
29989
29990 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
29991
29992 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
29993
29994 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
29995 `y + 1' instead of `y - 1'.
29996
29997 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
29998
29999 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
30000
30001 From Hollis Blanchard <hollis@penguinppc.org>:
30002 * kern/misc.c (memmove): New alias for grub_memmove.
30003 (memcmp): New alias for grub_memcmp.
30004 (memset): New alias for grub_memset.
30005 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
30006 Change "int handle" to "grub_ieee1275_phandle_t handle".
30007 * include/grub/powerpc/ieee1275/ieee1275.h
30008 (grub_ieee1275_get_property): Likewise.
30009
30010 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
30011
30012 Added normal mode command `chainloader' as module chain.mod, which
30013 depends on normal.mod and _chain.mod.
30014
30015 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
30016 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
30017 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
30018 Deleted prototype.
30019 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
30020 but arguments parsing moved to ...
30021 (grub_chainloader_cmd): ... here. New function.
30022 * include/grub/i386/pc/chainloader.h: New file.
30023 * loader/i386/pc/chainloader_normal.c: Likewise.
30024
30025 2004-09-11 Marco Gerards <metgerards@student.han.nl>
30026
30027 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
30028 (grub_mkimage_LDFLAGS): Likewise.
30029 (grub_emu_SOURCES): Likewise.
30030 (kernel_img_HEADERS): Added fshelp.h.
30031 * fs/ext2.c: Include <grub/fshelp.h>.
30032 (FILETYPE_REG): New macro.
30033 (FILETYPE_INO_REG): Likewise.
30034 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
30035 Changed all users.
30036 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
30037 all users.
30038 (grub_fshelp_node): New struct.
30039 (grub_ext2_data): Added member `diropen'. Changed member `inode'
30040 to a pointer.
30041 (grub_ext2_get_file_block): Removed function.
30042 (grub_ext2_read_block): New function.
30043 (grub_ext2_read_file): Replaced parameter `data' by `node'.
30044 This function was written.
30045 (grub_ext2_mount): Read the root inode. Create a diropen struct.
30046 (grub_ext2_find_file): Removed function.
30047 (grub_ext2_read_symlink): New function.
30048 (grub_ext2_iterate_dir): Likewise.
30049 (grub_ext2_open): Rewritten.
30050 (grub_ext2_dir): Rewritten.
30051 * include/grub/fshelp.h: New file.
30052 * fs/fshelp.c: Likewise.
30053
30054 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
30055
30056 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
30057 (print_message): Add a missing newline.
30058 (run_menu): Added timeout support.
30059 (run_menu_entry): New local function.
30060 (grub_menu_run): Added support for booting.
30061
30062 * kern/loader.c (grub_loader_is_loaded): New function.
30063
30064 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
30065 (grub_get_rtc): Exported.
30066
30067 * include/grub/i386/pc/time.h: Include grub/symbol.h.
30068 (grub_get_rtc): Exported.
30069
30070 * include/grub/normal.h (struct grub_command_list): Remove
30071 constant from the member `command'.
30072
30073 * include/grub/loader.h (grub_loader_is_loaded): Declared.
30074
30075 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
30076
30077 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
30078
30079 2004-08-28 Marco Gerards <metgerards@student.han.nl>
30080
30081 Add support for the JFS filesystem.
30082
30083 * fs/jfs.c: New file.
30084 * include/grub/fs.h (grub_jfs_init): New prototype.
30085 (grub_jfs_fini): New prototype.
30086 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
30087 (grub_emu_SOURCES): Likewise.
30088 (pkgdata_MODULES): Add jfs.mod.
30089 (jfs_mod_SOURCES): New variable.
30090 (jfs_mod_CFLAGS): Likewise.
30091 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
30092 (grubof_SOURCES): Likewise.
30093 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
30094
30095 * fs/fat.c (grub_fat_find_dir): Convert the filename little
30096 endian to the host endian.
30097 (grub_fat_utf16_to_utf8): Move function from there...
30098 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
30099 the endianness of the source string anymore.
30100 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
30101
30102 2004-08-24 Marco Gerards <metgerards@student.han.nl>
30103
30104 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
30105 (grub_boot_fini) [GRUB_UTIL]: Likewise.
30106 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
30107 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
30108
30109 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
30110 (grub_hfs_iterate_dir): Make the function static. Add prototypes
30111 for `node_found' and `it_dir'.
30112 (grub_hfs_dir): Add prototype for `dir_hook'.
30113
30114 * fs/minix.c (grub_minix_get_file_block): Add prototype for
30115 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
30116 and `indir32' to silence a gcc warning.
30117
30118 * include/grub/fs.h (grub_hfs_init): New prototype.
30119 (grub_hfs_fini): Likewise.
30120
30121
30122 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
30123
30124 Each disk device has its own id now. This is useful to make use
30125 of multiple disk devices.
30126
30127 * include/grub/disk.h (grub_disk_dev_id): New enum.
30128 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
30129 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
30130
30131 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
30132 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
30133
30134 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
30135 GRUB_DISK_DEVICE_OFDISK_ID as an id.
30136
30137 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
30138 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
30139
30140 * include/grub/disk.h (struct grub_disk_dev): Added a new member
30141 "id" which is used by the cache manager.
30142
30143 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
30144 of just "GRUB".
30145
30146 2004-08-18 Marco Gerards <metgerards@student.han.nl>
30147
30148 * fs/hfs.c: New file.
30149 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
30150 (grub_emu_SOURCES): Likewise.
30151 (pkgdata_MODULES): Add hfs.mod.
30152 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
30153 (grubof_SOURCES): Likewise.
30154 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
30155
30156 * include/grub/misc.h (grub_strncasecmp): Add prototype.
30157 * kern/misc.c (grub_strncasecmp): Add function.
30158
30159 2004-08-14 Marco Gerards <metgerards@student.han.nl>
30160
30161 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
30162 with parentheses.
30163
30164 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
30165 (grub_ext2_dir): In case the directory entry type is unknown, read
30166 it from the inode.
30167
30168 2004-08-02 Peter Bruin <pjbruin@dds.nl>
30169
30170 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
30171 grub_load_linux instead of grub_rescue_cmd_linux as second
30172 argument of grub_rescue_register_command.
30173
30174 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
30175
30176 2004-07-27 Marco Gerards <metgerards@student.han.nl>
30177
30178 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
30179 function.
30180 * commands/boot.c: Remove the check for `GRUB_UTIL'.
30181 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
30182 `loader/powerpc/ieee1275/linux.c',
30183 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
30184 * include/grub/powerpc/ieee1275/ieee1275.h
30185 (grub_ieee1275_release): New prototype.
30186 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
30187 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
30188 normal, boot, linux and linux_normal.
30189 * loader/powerpc/ieee1275/linux.c: New file.
30190 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30191
30192 2004-07-12 Marco Gerards <metgerards@student.han.nl>
30193
30194 * normal/arg.c (grub_arg_parse): Correct error handling after
30195 reallocating the argumentlist (check if `argl' is not null instead
30196 of checking if `args' is not null).
30197 * kern/mm.c (grub_realloc): Return the same pointer when using the
30198 same region, instead of returning the header address.
30199
30200 2004-07-11 Marco Gerards <metgerards@student.han.nl>
30201
30202 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
30203 one block instead of two when looking for the initial partition.
30204 (grub_partition_probe): Initialize the local variable `p' with 0.
30205 Use base 10 for the grub_strtoul call.
30206 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
30207 need for one local variable.
30208 (grub_strtoul): Don't add the new value to `num', instead of that
30209 just assign it.
30210
30211 2004-07-11 Marco Gerards <metgerards@student.han.nl>
30212
30213 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
30214 (pxeboot_img_SOURCES): New variable.
30215 (pxeboot_img_ASFLAGS): Likewise.
30216 (pxeboot_img_LDFLAGS): Likewise.
30217 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
30218 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
30219 <lode_leroy@hotmail.com>.
30220
30221 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
30222
30223 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
30224 there was no input.
30225
30226 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
30227
30228 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
30229 the history buffer logic.
30230
30231 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
30232
30233 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
30234 (FILETYPE_INO_SYMLINK): New macros.
30235 (grub_ext2_find_file): Check if the node is a directory using the
30236 inode stat information instead of using the filetype in the
30237 dirent. Exclude the first character of an absolute symlink.
30238 (grub_ext2_dir): Mask out the filetype part of the mode member of
30239 the inode.
30240
30241 2004-05-24 Marco Gerards <metgerards@student.han.nl>
30242
30243 Add support for UFS version 1 and 2. Add support for the minix
30244 filesystem version 1 and 2, both the variants with 14 and 30 long
30245 filenames.
30246
30247 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
30248 fs/minix.c.
30249 (grub_emu_SOURCES): Likewise.
30250 (pkgdata_MODULES): Add ufs.mod and minix.mod.
30251 (ufs_mod_SOURCES): New variable.
30252 (ufs_mod_CFLAGS): Likewise.
30253 (minix_mod_SOURCES): Likewise.
30254 (minix_mod_CFLAGS): Likewise.
30255 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
30256 fs/minix.c.
30257 (grubof_SOURCES): Likewise.
30258 * fs/ufs.c: New file.
30259 * fs/minix.c: New file.
30260 * include/grub/fs.h (grub_ufs_init): New prototype.
30261 (grub_ufs_fini): Likewise.
30262 (grub_minix_init): Likewise.
30263 (grub_minix_fini): Likewise.
30264 * util/grub-emu.c (main): Initialize and deinitialize UFS and
30265 minix fs.
30266
30267 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
30268
30269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
30270 commands/ls.c, commands/terminal.c, commands/boot.c,
30271 commands/cmp.c and commands/cat.c.
30272 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
30273
30274 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
30275 "env.h"
30276
30277 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30278
30279 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
30280 and grub_, respectively. Because the conversion is trivial and
30281 mechanical, I omit the details here. Please refer to the CVS
30282 if you need more information.
30283
30284 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30285
30286 * include/pupa: Renamed to ...
30287 * include/grub: ... this.
30288 * util/i386/pc/pupa-mkimage.c: Renamed to ...
30289 * util/i386/pc/grub-mkimage.c: ... this.
30290 * util/i386/pc/pupa-setup.c: Renamed to ...
30291 * util/i386/pc/grub-setup.c: ... this.
30292 * util/pupa-emu.c: Renamed to ...
30293 * util/grub-emu.c: ... this.
30294
30295 2004-03-29 Marco Gerards <metgerards@student.han.nl>
30296
30297 Add support for the newworld apple macintosh (PPC). This has been
30298 tested on the powerbook 2000 only. It only adds support for
30299 generic ieee1275 functions, console and disk support. This should
30300 be easy to port to other architectures with support for Open
30301 Firmware.
30302
30303 * configure.ac: Accept the powerpc as host_cpu. In the case of
30304 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
30305 specific tests are only executed while building for the i386.
30306 Inverse test for crosscompile.
30307 * genmk.rb (Utility): Allow assembler files.
30308 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
30309 * conf/powerpc-ieee1275.rmk: New file.
30310 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
30311 * disk/powerpc/ieee1275/partition.c: Likewise.
30312 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
30313 * include/pupa/powerpc/ieee1275/console.h: Likewise.
30314 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
30315 * include/pupa/powerpc/ieee1275/time.h: Likewise.
30316 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
30317 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
30318 * include/pupa/powerpc/ieee1275/loader.h
30319 * include/pupa/powerpc/setjmp.h: Likewise.
30320 * include/pupa/powerpc/types.h: Likewise.
30321 * kern/powerpc/ieee1275/init.c: Likewise.
30322 * kern/powerpc/ieee1275/openfw.c: Likewise.
30323 * term/powerpc/ieee1275/ofconsole.c: Likewise.
30324
30325 These files were written by Johan Rydberg
30326 (jrydberg@night.trouble.net) and I only modified them slightly.
30327
30328 * boot/powerpc/ieee1275/cmain.c: New file.
30329 * boot/powerpc/ieee1275/crt0.S: Likewise.
30330 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
30331 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
30332
30333 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
30334
30335 * Makefile.in: Update copyright.
30336 * genmodsrc.sh: Likewise.
30337 * gensymlist.sh: Likewise.
30338 * term/i386/pc/vga.c: Indent correctly.
30339
30340 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
30341 bugreporting address.
30342 * util/i386/pc/pupa-setup.c (usage): Likewise,
30343 (main): Call pupa_ext2_init and pupa_ext2_fini.
30344
30345 * fs/fat.c (log2): Renamed to ...
30346 (fat_log2): ... this.
30347 All callers changed.
30348 * kern/misc.c (memcpy): Alias to pupa_memmove.
30349 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
30350 lvalue cast.
30351 * util/console.c (pupa_ncurses_fini): Return 0.
30352
30353 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
30354 Move fail label here.
30355 [__GNU__]: Don't warn when using stat.
30356 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
30357 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
30358 long int. Use strtol instead of strtoul.
30359
30360 2004-03-14 Marco Gerards <metgerards@student.han.nl>
30361
30362 * commands/boot.c: New file.
30363 * commands/cat.c: Likewise.
30364 * commands/cmp.c: Likewise.
30365 * commands/ls.c: Likewise.
30366 * commands/terminal.c: Likewise.
30367 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
30368 (pupa_register_command): Changed interface to match the new
30369 argument parser.
30370 (pupa_command_execute): Changed (almost rewritten) so it uses
30371 pupa_split_command. Added support for setting variables using the
30372 syntax `foo=bar'.
30373 (rescue_command): Changed to work with the new argument parser.
30374 (terminal_command): Moved from here to commands/terminal.c.
30375 (set_command): New function.
30376 (unset_command): New function.
30377 (insmod_command): New function.
30378 (rmmod_command): New function.
30379 (lsmod_command): New function.
30380 (pupa_command_init): Don't initialize the command terminal
30381 anymore. Initialize the commands set, unset, insmod, rmmod and
30382 lsmod.
30383 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
30384 (kernel_img_HEADERS): Add arg.h and env.h.
30385 (pupa_mkimage_LDFLAGS): Add kern/env.c.
30386 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
30387 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
30388 normal/arg.c.
30389 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
30390 terminal.mod.
30391 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
30392 (boot_mod_SOURCES): New variable.
30393 (terminal_mod_SOURCES): Likewise.
30394 (ls_mod_SOURCES): Likewise.
30395 (cmp_mod_SOURCES): Likewise.
30396 (cat_mod_SOURCES): Likewise.
30397
30398 * normal/arg.c: New file.
30399 * kern/env.c: Likewise.
30400 * include/pupa/arg.h: Likewise.
30401 * include/pupa/env.h: Likewise.
30402 * font/manager.c (font_command): Changed to match argument parsing
30403 interface changes.
30404 (PUPA_MOD_INIT): Likewise.
30405 * hello/hello.c (pupa_cmd_hello): Likewise.
30406 (PUPA_MOD_INIT): Likewise.
30407 * include/pupa/disk.h: Include <pupa/device.h>.
30408 (pupa_print_partinfo): New prototype.
30409 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
30410 (pupa_dl_get_prefix): Likewise.
30411 * include/pupa/misc.h: Include <pupa/err.h>.
30412 (pupa_isgraph): New prototype.
30413 (pupa_isdigit): Likewise.
30414 (pupa_split_cmdline): Likewise.
30415 * include/pupa/normal.h: Include <pupa/arg.h>.
30416 (pupa_command): Changed the prototype of the member `func' to
30417 match the argument parsing interface. Added member `options'.
30418 (pupa_register_command): Updated to match function.
30419 (pupa_arg_parse): New prototype.
30420 (pupa_hello_init) [PUPA_UTIL]: New prototype.
30421 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
30422 (pupa_ls_init) [PUPA_UTIL]: Likewise.
30423 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
30424 (pupa_cat_init) [PUPA_UTIL]: Likewise.
30425 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
30426 (pupa_boot_init) [PUPA_UTIL]: Likewise.
30427 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
30428 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
30429 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
30430 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
30431 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
30432 * kern/disk.c: Include <pupa/file.h>.
30433 (pupa_print_partinfo): New function.
30434 * kern/dl.c: Include <pupa/env.h>.
30435 (pupa_dl_dir): Variable removed.
30436 (pupa_dl_load): Use the environment variable `prefix' instead of
30437 the variable pupa_dl_dir.
30438 (pupa_dl_set_prefix): Function removed.
30439 (pupa_dl_get_prefix): Likewise.
30440 * kern/i386/pc/init.c: Include <pupa/env.h>.
30441 (pupa_machine_init): Use the environment variable `prefix' instead of
30442 using pupa_dl_set_prefix to set the prefix.
30443 * kern/main.c: Include <pupa/env.h>.
30444 (pupa_set_root_dev): Use the environment variable `prefix' instead of
30445 using pupa_dl_get_prefix to get the prefix.
30446 * kern/misc.c: Include <pupa/env.h>.
30447 (pupa_isdigit): New function.
30448 (pupa_isgraph): Likewise.
30449 (pupa_ftoa): Likewise.
30450 (pupa_vsprintf): Added support for printing values of the type
30451 `double'. Make it possible to format variable output when using
30452 formatting like `%1.2%f'.
30453 (pupa_split_cmdline): New function.
30454 * kern/rescue.c: Include <pupa/env.h>.
30455 (next_word): Removed function.
30456 (pupa_rescue_cmd_prefix): Likewise.
30457 (pupa_rescue_cmd_set): New function.
30458 (pupa_rescue_cmd_unset): New function.
30459 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
30460 split the command line instead of splitting it here. Added
30461 support for setting variables using the syntax `foo=bar'. Don't
30462 initialize the prefix command anymore. Initialized the set and
30463 unset commands.
30464 * normal/cmdline.c: Include <pupa/env.h>.
30465 (pupa_tab_complete): Added prototypes for print_simple_completion,
30466 print_partition_completion, add_completion, iterate_commands,
30467 iterate_dev, iterate_part and iterate_dir. Moved code to print
30468 partition information from here to kern/disk.c.
30469 (pupa_cmdline_run): Don't check if the function exists anymore.
30470 * normal/main.c: Include <pupa/env.h>.
30471 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
30472 instead of using pupa_dl_get_prefix to get the prefix.
30473 * term/i386/pc/vga.c: Include <pupa/arg.h>.
30474 (check_vga_mem): Cast pointers to `void *' to silence a gcc
30475 warning.
30476 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
30477 (pupa_vga_setcolor): Declare unused variables with `__attribute__
30478 ((unused))' to silence a gcc warning.
30479 (pupa_vga_setcolor): Likewise.
30480 (debug_command): Changed to match argument parsing
30481 interface changes.
30482 * util/pupa-emu.c: Include <pupa/env.h>.
30483 (options): Added 0's for unused fields to silence a gcc warning.
30484 (argp): Likewise.
30485 (main): Use the environment variable `prefix' instead of using
30486 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
30487 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
30488 and terminal.
30489
30490 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
30491 * util/misc.c: Include <malloc.h>.
30492 (pupa_malloc): Rewritten so errors are correctly reported.
30493 (pupa_realloc): Likewise.
30494 (pupa_memalign): Likewise.
30495 (pupa_mm_init_region): Declare unused variables with
30496 `__attribute__ ((unused))' to silence a gcc warning.
30497 * normal/i386/setjmp.S: Remove tab at the end of the file to
30498 silence a gcc warning.
30499 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
30500 variables with `__attribute__ ((unused))' to silence a gcc
30501 warning.
30502 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
30503 local variable i unsigned to silence a gcc warning.
30504
30505 * kern/term.c: Include <pupa/misc.h>.
30506 (pupa_more_lines): New variable.
30507 (pupa_more): Likewise.
30508 (pupa_putcode): When the pager is active pause at the end of every
30509 screen.
30510 (pupa_set_more): New function.
30511 * include/pupa/term.h (pupa_set_more): New prototype.
30512
30513
30514 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
30515
30516 Now this project is GRUB 2 rather than PUPA. The location of
30517 the CVS repository was moved to GRUB's.
30518
30519 * configure.ac: Use bug-grub as the reporting address.
30520 Use GRUB instead of PUPA.
30521 Change the version number to 1.90.
30522
30523 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
30524
30525 * genkernsyms.sh: Updated copyright information.
30526 * genmk.rb: Likewise.
30527 * genmodsrc.sh: Likewise.
30528 * gensymlist.sh: Likewise.
30529 * boot/i386/pc/boot.S: Likewise.
30530 * boot/i386/pc/diskboot.S: Likewise.
30531 * disk/i386/pc/biosdisk.c: Likewise.
30532 * disk/i386/pc/partition.c: Likewise.
30533 * font/manager.c: Likewise.
30534 * fs/ext2.c: Likewise.
30535 * fs/fat.c: Likewise.
30536 * include/pupa/boot.h: Likewise.
30537 * include/pupa/device.h: Likewise.
30538 * include/pupa/disk.h: Likewise.
30539 * include/pupa/dl.h: Likewise.
30540 * include/pupa/elf.h: Likewise.
30541 * include/pupa/err.h: Likewise.
30542 * include/pupa/file.h: Likewise.
30543 * include/pupa/font.h: Likewise.
30544 * include/pupa/fs.h: Likewise.
30545 * include/pupa/kernel.h: Likewise.
30546 * include/pupa/loader.h: Likewise.
30547 * include/pupa/misc.h: Likewise.
30548 * include/pupa/mm.h: Likewise.
30549 * include/pupa/net.h: Likewise.
30550 * include/pupa/normal.h: Likewise.
30551 * include/pupa/rescue.h: Likewise.
30552 * include/pupa/setjmp.h: Likewise.
30553 * include/pupa/symbol.h: Likewise.
30554 * include/pupa/term.h: Likewise.
30555 * include/pupa/types.h: Likewise.
30556 * include/pupa/i386/setjmp.h: Likewise.
30557 * include/pupa/i386/types.h: Likewise.
30558 * include/pupa/i386/pc/biosdisk.h: Likewise.
30559 * include/pupa/i386/pc/boot.h: Likewise.
30560 * include/pupa/i386/pc/console.h: Likewise.
30561 * include/pupa/i386/pc/init.h: Likewise.
30562 * include/pupa/i386/pc/kernel.h: Likewise.
30563 * include/pupa/i386/pc/linux.h: Likewise.
30564 * include/pupa/i386/pc/loader.h: Likewise.
30565 * include/pupa/i386/pc/memory.h: Likewise.
30566 * include/pupa/i386/pc/multiboot.h: Likewise.
30567 * include/pupa/i386/pc/partition.h: Likewise.
30568 * include/pupa/i386/pc/time.h: Likewise.
30569 * include/pupa/i386/pc/vga.h: Likewise.
30570 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
30571 * include/pupa/util/getroot.h: Likewise.
30572 * include/pupa/util/misc.h: Likewise.
30573 * include/pupa/util/resolve.h: Likewise.
30574 * kern/device.c: Likewise.
30575 * kern/disk.c: Likewise.
30576 * kern/dl.c: Likewise.
30577 * kern/err.c: Likewise.
30578 * kern/file.c: Likewise.
30579 * kern/fs.c: Likewise.
30580 * kern/loader.c: Likewise.
30581 * kern/main.c: Likewise.
30582 * kern/misc.c: Likewise.
30583 * kern/mm.c: Likewise.
30584 * kern/rescue.c: Likewise.
30585 * kern/term.c: Likewise.
30586 * kern/i386/dl.c: Likewise.
30587 * kern/i386/pc/init.c: Likewise.
30588 * kern/i386/pc/lzo1x.S: Likewise.
30589 * kern/i386/pc/startup.S: Likewise.
30590 * loader/i386/pc/chainloader.c: Likewise.
30591 * loader/i386/pc/linux.c: Likewise.
30592 * loader/i386/pc/multiboot.c: Likewise.
30593 * normal/cmdline.c: Likewise.
30594 * normal/command.c: Likewise.
30595 * normal/main.c: Likewise.
30596 * normal/menu.c: Likewise.
30597 * normal/i386/setjmp.S: Likewise.
30598 * term/i386/pc/console.c: Likewise.
30599 * term/i386/pc/vga.c: Likewise.
30600 * util/console.c: Likewise.
30601 * util/genmoddep.c: Likewise.
30602 * util/misc.c: Likewise.
30603 * util/pupa-emu.c: Likewise.
30604 * util/resolve.c: Likewise.
30605 * util/unifont2pff.rb: Likewise.
30606 * util/i386/pc/biosdisk.c: Likewise.
30607 * util/i386/pc/getroot.c: Likewise.
30608 * util/i386/pc/pupa-mkimage.c: Likewise.
30609 * util/i386/pc/pupa-setup.c: Likewise.
30610
30611 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
30612
30613 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
30614 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
30615 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
30616 reading and reset it after reading.
30617 (pupa_ext2_close): Return PUPA_ERR_NONE.
30618
30619 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
30620 Correct value.
30621 (struct linux_kernel_header): Add kernel_version and
30622 initrd_addr_max.
30623 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
30624 pupa_file_read succeeds.
30625 (pupa_rescue_cmd_initrd): Implement.
30626
30627 2003-12-03 Marco Gerards <metgerards@student.han.nl>
30628
30629 * fs/ext2.c (pupa_ext2_label): New function.
30630 (pupa_ext2_fs): Added label.
30631 * fs/fat.c (pupa_fat_label): New function.
30632 (pupa_fat_fs): Added label.
30633 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
30634
30635 * kern/misc.c (pupa_strndup): New function.
30636 * include/pupa/misc.h (pupa_strndup): New prototype.
30637
30638 * include/pupa/normal.h: Include <pupa/err.h>.
30639 (pupa_set_history): New prototype.
30640 (pupa_iterate_commands): New prototype.
30641 * normal/cmdline.c: Include <pupa/machine/partition.h>,
30642 <pupa/disk.h>, <pupa/file.h>.
30643 (hist_size): New variable.
30644 (hist_lines): Likewise.
30645 (hist_end): Likewise.
30646 (hist_used): Likewise.
30647 (pupa_set_history): New function.
30648 (pupa_history_get): Likewise.
30649 (pupa_history_add): Likewise.
30650 (pupa_history_replace): Likewise.
30651 (pupa_tab_complete): Likewise.
30652 (pupa_cmdline_run): Added tab completion and history buffer. Tab
30653 completion shows partitionnames while completing partitions, this
30654 feature was suggested by Jeff Bailey.
30655 * normal/command.c (pupa_iterate_commands): New function.
30656 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
30657 (pupa_normal_init): Initialize history buffer.
30658 (PUPA_MOD_INIT): Likewise.
30659 (pupa_normal_fini): Free the history buffer.
30660 (PUPA_MOD_FINI): Likewise.
30661
30662 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
30663 key.
30664
30665 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
30666 * configure.ac [i386]: Check for regparam bug.
30667 (NESTED_FUNC_ATTR) [! i386]: Defined.
30668
30669 2003-11-17 Marco Gerards <metgerards@student.han.nl>
30670
30671 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
30672 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
30673 (pupa_emu_SOURCES): New variable.
30674 (pupa_emu_LDFLAGS): Likewise.
30675 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
30676 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
30677 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
30678 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
30679 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
30680 (pupa_jmp_buf): New typedef.
30681 (pupa_setjmp) [PUPA_UTIL]: New macro.
30682 (pupa_longjmp) [PUPA_UTIL]: Likewise.
30683 * include/pupa/term.h (struct pupa_term): New member `refresh'.
30684 (pupa_refresh): New prototype.
30685 * include/pupa/util/getroot.h: New file.
30686 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
30687 it.
30688 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
30689 (pupa_rescue_cmd_cat): Likewise.
30690 (pupa_rescue_cmd_ls): Likewise.
30691 (pupa_rescue_cmd_testload): Likewise.
30692 (pupa_rescue_cmd_lsmod): Likewise.
30693 * normal/cmdline.c (pupa_cmdline_get): Likewise.
30694 * normal/menu.c (run_menu): Likewise.
30695 * kern/term.c (pupa_cls): Likewise.
30696 (pupa_refresh): New function.
30697 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
30698 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
30699 * util/console.c: New file.
30700
30701 * util/i386/pc/getroot.c: New file.
30702 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
30703 (pupa_putchar): New function.
30704 (pupa_refresh): Likewise.
30705 (xgetcwd): Function moved to ...
30706 (strip_extra_slashes): Likewise.
30707 (get_prefix): Likewise.
30708 * util/i386/pc/getroot.c: ... here.
30709 (find_root_device): Function moved and renamed to...
30710 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
30711 Changed all callers.
30712 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
30713 and renamed to...
30714 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
30715 Changed all callers.
30716 * util/misc.c (pupa_memalign): New function.
30717 (pupa_mm_init_region): Likewise.
30718 (pupa_register_exported_symbols): Likewise.
30719 (pupa_putchar): Function removed.
30720 * util/pupa-emu.c: New file.
30721
30722 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
30723
30724 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
30725 (_multiboot_mod_SOURCES): New variable.
30726 (_multiboot_mod_CFLAGS): Likewise.
30727 * loader/i386/pc/multiboot.c: New file.
30728 * include/pupa/i386/pc/multiboot.h: Likewise.
30729 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
30730 (pupa_multiboot_real_boot): New function.
30731 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
30732 (pupa_multiboot_real_boot): New prototype.
30733 (pupa_rescue_cmd_multiboot): Likewise
30734 (pupa_rescue_cmd_module): Likewise.
30735
30736 * kern/loader.c (pupa_loader_set): Continue when
30737 pupa_loader_unload_func() fails.
30738 (pupa_loader_unset): New function.
30739 * include/pupa/loader.h (pupa_loader_unset): New prototype.
30740
30741 * kern/misc.c (pupa_stpcpy): New function.
30742 * include/pupa/misc.h (pupa_stpcpy): New prototype.
30743
30744 2003-11-12 Marco Gerards <metgerards@student.han.nl>
30745
30746 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
30747 for available extensions.
30748
30749 * include/pupa/i386/pc/time.h: New file.
30750 * kern/disk.c: Include <pupa/machine/time.h>.
30751 (PUPA_CACHE_TIMEOUT): New macro.
30752 (pupa_last_time): New variable.
30753 (pupa_disk_open): Flush the cache when there was a timeout.
30754 (pupa_disk_close): Reset the timer.
30755 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
30756 pupa_currticks.
30757 * util/misc.c: Include <sys/times.h>
30758 (pupa_get_rtc): New function.
30759
30760 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
30761
30762 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
30763 as blocks.
30764 (pupa_ext2_get_file_block): Use blocks member.
30765
30766 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
30767 first block. Return -1 instead of pupa_errno on error.
30768
30769 2003-10-27 Marco Gerards <metgerards@student.han.nl>
30770
30771 * README: In the pupa-mkimage example use _chain instead of chain
30772 and ext2 instead of fat.
30773 * TODO: Replace ext2fs with jfs as an example. Add an item for
30774 adding journal playback for ext2fs.
30775 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
30776 (pkgdata_MODULES): Added ext2.mod.
30777 (ext2_mod_SOURCES): New variable.
30778 (ext2_mod_CFLAGS): Likewise.
30779 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
30780 * include/pupa/misc.h (pupa_strncpy): New prototype.
30781 (pupa_strcat): Likewise.
30782 (pupa_strncmp): Likewise.
30783 * kern/misc.c (pupa_strcat): Enable function.
30784 (pupa_strncpy): New function.
30785 (pupa_strncmp): Likewise.
30786 * fs/ext2.c: New file.
30787
30788 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
30789 when the read failed before retrying.
30790 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
30791 (_FILE_OFFSET_BITS): Likewise.
30792 * configure.ac: Added AC_SYS_LARGEFILE.
30793
30794 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
30795
30796 * genmk.rb (PModule#rule): Make sure to get only symbol names
30797 from the output of nm.
30798 Reported by Robert Millan <rmh.grub@aybabtu.com>.
30799
30800 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
30801
30802 I forgot to check in these changes for a long time. This adds
30803 incomplete support for VGA console, and this is still very
30804 buggy. Also, a lot of consideration is required for I18N,
30805 UNICODE, and VGA font issues. Therefore, assume that this is
30806 such that "better than nothing".
30807
30808 * font/manager.c: New file.
30809 * include/pupa/font.h: Likewise.
30810 * include/pupa/i386/pc/vga.h: Likewise.
30811 * term/i386/pc/vga.c: Likewise.
30812 * util/unifont2pff.rb: Likewise.
30813
30814 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
30815 (pkgdata_MODULES): Added vga.mod and font.mod.
30816 (vga_mod_SOURCES): New variables.
30817 (vga_mod_CFLAGS): Likewise.
30818 (font_mod_SOURCES): Likewise.
30819 (font_mod_CFLAGS): Likewise.
30820
30821 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
30822
30823 * include/pupa/term.h: Include pupa/err.h.
30824 (struct pupa_term): Added init and fini.
30825 Changed the argument of putchar to pupa_uint32_t.
30826
30827 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
30828 (pupa_console_real_putchar): New prototype.
30829 (pupa_console_putchar): Removed.
30830 (pupa_console_checkkey): Exported.
30831 (pupa_console_getkey): Likewise.
30832
30833 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
30834 characters.
30835
30836 * kern/term.c (pupa_term_set_current): Rewritten.
30837 (pupa_putchar): Likewise.
30838 (pupa_putcode): New function.
30839
30840 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
30841 (pupa_console_real_putchar): ... this.
30842 (pupa_vga_set_mode): New function.
30843 (pupa_vga_get_font): Likewise.
30844
30845 * normal/command.c: Include pupa/term.h.
30846 (terminal_command): New function.
30847 (pupa_command_init): Register the command "terminal".
30848
30849 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
30850 (DISP_UP): Likewise.
30851 (DISP_RIGHT): Likewise.
30852 (DISP_DOWN): Likewise.
30853 (DISP_HLINE): Likewise.
30854 (DISP_VLINE): Likewise.
30855 (DISP_UL): Likewise.
30856 (DISP_UR): Likewise.
30857 (DISP_LL): Likewise.
30858 (DISP_LR): Likewise.
30859
30860 * term/i386/pc/console.c (pupa_console_putchar): New function.
30861
30862 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
30863
30864 * util/resolve.c (pupa_util_resolve_dependencies): BUG
30865 FIX. Reverse the path_list.
30866
30867 * include/pupa/normal.h: Export pupa_register_command and
30868 pupa_unregister_command.
30869
30870 * hello/hello.c (pupa_cmd_hello): New module.
30871 * conf/i386-pc.rmk: Added hello.mod.
30872
30873 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
30874
30875 * kern/i386/pc/lzo1x.S: New file.
30876
30877 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
30878 (compress_kernel): New variable.
30879 (generate_image): Heavily modified to support compressing a
30880 large part of the core image.
30881
30882 * util/misc.c (pupa_util_read_image): Fix a file descriptor
30883 leak.
30884 (pupa_util_load_image): New function.
30885
30886 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
30887 (pupa_compressed_size): New variable.
30888 (codestart): Enable Gate A20 here.
30889 Decompress the compressed part of the core image.
30890 Rearrange the code to put functions and variables which are
30891 required for initialization in the non-compressed part.
30892 Include lzo1x.S.
30893
30894 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
30895 here.
30896
30897 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
30898
30899 * include/pupa/i386/pc/kernel.h
30900 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
30901 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
30902 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
30903 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
30904 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
30905
30906 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
30907
30908 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
30909 (Utility#rule): Likewise.
30910
30911 * configure.ac: Check if LZO is available.
30912
30913 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
30914
30915 * include/pupa/normal.h: New file.
30916 * include/pupa/setjmp.h: Likewise.
30917 * include/pupa/i386/setjmp.h: Likewise.
30918 * normal/cmdline.c: Likewise.
30919 * normal/command.c: Likewise.
30920 * normal/main.c: Likewise.
30921 * normal/menu.c: Likewise.
30922 * normal/i386/setjmp.S: Likewise.
30923
30924 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
30925 (pupa_rescue_cmd_initrd): Likewise.
30926
30927 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
30928 Likewise.
30929
30930 * kern/i386/pc/startup.S (translation_table): New variable.
30931 (translate_keycode): New function.
30932 (pupa_console_getkey): Call translate_keycode.
30933
30934 * kern/rescue.c (attempt_normal_mode): New function.
30935 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
30936 it failed, print a message.
30937
30938 * kern/mm.c (pupa_real_malloc): Print more information when a
30939 free magic is broken.
30940 (pupa_free): If the first free header is not free actually, set
30941 it to P.
30942
30943 * kern/main.c (pupa_load_normal_mode): Just load the module
30944 "normal".
30945 (pupa_main): Don't print the message
30946 "Entering into rescue mode..." here.
30947
30948 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
30949 Declared.
30950 (pupa_rescue_cmd_initrd): Likewise.
30951 (pupa_rescue_cmd_initrd): Likewise.
30952
30953 * include/pupa/symbol.h (FUNCTION): Specify the type.
30954 (VARIABLE): Likewise.
30955
30956 * include/pupa/err.h (pupa_err_t): Added
30957 PUPA_ERR_UNKNOWN_COMMAND.
30958
30959 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
30960 (pupa_dl_get_prefix): Likewise.
30961
30962 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
30963 Added _chain.mod and _linux.mod instead of chain.mod and
30964 linux.mod.
30965 (chain_mod_SOURCES): Renamed to ...
30966 (_chain_mod_SOURCES): ... this.
30967 (chain_mod_CFLAGS): Renamed to ...
30968 (_chain_mod_CFLAGS): ... this.
30969 (linux_mod_SOURCES): Renamed to ...
30970 (_linux_mod_SOURCES): ... this.
30971 (linux_mod_CFLAGS): Renamed to ...
30972 (_linux_mod_CFLAGS): ... this.
30973 (normal_mod_SOURCES): New variable.
30974 (normal_mod_CFLAGS): Likewise.
30975 (normal_mod_ASFLAGS): Likewise.
30976
30977 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
30978
30979 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
30980 possible.
30981
30982 * kern/dl.c (pupa_dl_ref): Refer depending modules
30983 recursively.
30984 (pupa_dl_unref): Unrefer depending modules recursively.
30985 Don't call pupa_dl_unload implicitly, because PUPA can crash if
30986 a module is unloaded before one depending on that module is
30987 unloaded.
30988 (pupa_dl_unload): Unload depending modules explicitly,
30989 if possible.
30990
30991 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
30992
30993 * include/pupa/i386/pc/linux.h: New file.
30994 * loader/i386/pc/linux.c: Likewise.
30995
30996 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
30997 Removed.
30998 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
30999 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
31000 of PUPA_CHAINLOADER_BOOT_SECTOR.
31001
31002 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
31003 (pupa_linux_prot_size): New variable.
31004 (pupa_linux_tmp_addr): Likewise.
31005 (pupa_linux_real_addr): Likewise.
31006 (pupa_linux_boot_zimage): New function.
31007 (pupa_linux_boot_bzimage): Likewise.
31008
31009 * kern/i386/pc/init.c (struct mem_region): New structure.
31010 (MAX_REGIONS): New macro.
31011 (mem_regions): New variable.
31012 (num_regions): Likewise.
31013 (pupa_os_area_addr): Likewise.
31014 (pupa_os_area_size): Likewise.
31015 (pupa_lower_mem): Likewise.
31016 (pupa_upper_mem): Likewise.
31017 (add_mem_region): New function.
31018 (compact_mem_regions): Likewise.
31019 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
31020 the size of the conventional memory and that of so-called upper
31021 memory (before the first memory hole).
31022 Instead of adding each found region to free memory, use
31023 add_mem_region and add them after removing overlaps.
31024 Also, add only 1/4 of the upper memory to free memory. The rest
31025 is used for loading OS images. Maybe this is ad hoc, but this
31026 makes it much easier to relocate OS images when booting.
31027
31028 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
31029 (pupa_enter_rescue_mode): Don't register initrd and module.
31030
31031 * kern/mm.c: Include pupa/dl.h.
31032
31033 * kern/main.c: Include pupa/file.h and pupa/device.h.
31034
31035 * kern/loader.c (pupa_loader_load_module_func): Removed.
31036 (pupa_loader_load_module): Likewise.
31037
31038 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
31039 ``.o''.
31040
31041 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
31042 (pupa_linux_tmp_addr): Likewise.
31043 (pupa_linux_real_addr): Likewise.
31044 (pupa_linux_boot_zimage): Likewise.
31045 (pupa_linux_boot_bzimage): Likewise.
31046
31047 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
31048 (pupa_upper_mem): Likewise.
31049 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
31050 module is too dangerous.
31051
31052 * include/pupa/loader.h (pupa_os_area_addr): Declared.
31053 (pupa_os_area_size): Likewise.
31054 (pupa_loader_set): Remove the first argument. Loader doesn't
31055 manage modules or initrd any longer.
31056 (pupa_loader_load_module): Removed.
31057
31058 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
31059 (linux_mod_SOURCES): New variable.
31060 (linux_mod_CFLAGS): Likewise.
31061
31062 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
31063
31064 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
31065 the length of a blocklist correctly.
31066
31067 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
31068 Use ioctl only if the OS file is a block device.
31069 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
31070 not very useful for normal files.
31071
31072 * kern/main.c (pupa_set_root_dev): New function.
31073 (pupa_load_normal_mode): Likewise.
31074 (pupa_main): Call those above.
31075
31076 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
31077 pupa_uint16_t.
31078
31079 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
31080
31081 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31082
31083 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
31084 (setup): Configure the installed partition information and the
31085 dl prefix.
31086
31087 * loader/i386/pc/chainloader.c (my_mod): New variable.
31088 (pupa_chainloader_unload): New function.
31089 (pupa_rescue_cmd_chainloader): Refer itself.
31090 (PUPA_MOD_INIT): Save its own module in MY_MOD.
31091
31092 * kern/i386/pc/startup.S (install_partition): Removed.
31093 (version_string): Likewise.
31094 (config_file): Likewise.
31095 (pupa_install_dos_part): New variable.
31096 (pupa_install_bsd_part): Likewise.
31097 (pupa_prefix): Likewise.
31098 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
31099
31100 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
31101 and pupa/misc.h.
31102 (make_install_device): New function.
31103 (pupa_machine_init): Set the dl prefix.
31104
31105 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
31106 (buf): Renamed to ...
31107 (linebuf): ... this.
31108 (pupa_rescue_cmd_prefix): New function.
31109 (pupa_rescue_cmd_insmod): Likewise.
31110 (pupa_rescue_cmd_rmmod): Likewise.
31111 (pupa_rescue_cmd_lsmod): Likewise.
31112 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
31113 rmmod and lsmod.
31114
31115 * kern/mm.c (pupa_memalign): If failed even after invalidating
31116 disk caches, unload unneeded modules and retry.
31117
31118 * kern/misc.c (pupa_memmove): New function.
31119 (pupa_memcpy): Removed.
31120 (pupa_strcpy): New function.
31121 (pupa_itoa): Made static.
31122
31123 * kern/dl.c (pupa_dl_iterate): New function.
31124 (pupa_dl_ref): Likewise.
31125 (pupa_dl_unref): Likewise.
31126 (pupa_dl_unload): Return if succeeded or not.
31127 (pupa_dl_unload_unneeded): New function.
31128 (pupa_dl_unload_all): Likewise.
31129 (pupa_dl_init): Renamed to ...
31130 (pupa_dl_set_prefix): ... this.
31131 (pupa_dl_get_prefix): New function.
31132
31133 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
31134 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
31135 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
31136 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
31137 (pupa_install_dos_part): Declared.
31138 (pupa_install_bsd_part): Likewise.
31139 (pupa_prefix): Likewise.
31140 (pupa_boot_drive): Likewise.
31141
31142 * include/pupa/types.h: Fix a typo.
31143
31144 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
31145 pupa_memmove.
31146 (pupa_memmove): Declared.
31147 (pupa_strcpy): Likewise.
31148
31149 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
31150 pupa_mod_init takes one argument, its own module.
31151 (pupa_dl_unload_unneeded): Declared.
31152 (pupa_dl_unload_all): Likewise.
31153 (pupa_dl_ref): Likewise.
31154 (pupa_dl_unref): Likewise.
31155 (pupa_dl_iterate): Likewise.
31156 (pupa_dl_init): Renamed to ...
31157 (pupa_dl_set_prefix): ... this.
31158 (pupa_dl_get_prefix): Declared.
31159
31160 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
31161 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
31162 unloaded.
31163 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
31164 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
31165
31166 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
31167 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
31168
31169 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
31170
31171 * util/i386/pc/pupa-setup.c (setup): Define the internal
31172 function find_first_partition_start at the top level, because GCC
31173 3.0.x cannot compile internal functions in deeper scopes
31174 correctly.
31175 (find_root_device): Use lstat instead of stat.
31176 Don't follow symbolic links.
31177 Fix the path-constructing code.
31178
31179 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
31180 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
31181 by a BLKGETSIZE ioctl first, because block devices don't fill
31182 the member st_mode of the structure stat on Linux.
31183 [__linux__] (linux_find_partition): Use a temporary buffer
31184 REAL_DEV for the working space. Copy it to DEV before returning.
31185 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
31186 buffer cache consistent.
31187 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
31188 strncmp. The previous value was merely wrong.
31189 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
31190
31191 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
31192 FAT size is 12. The previous value was merely wrong.
31193
31194 * kern/main.c (pupa_main): Don't split the starting message from
31195 newlines.
31196
31197 * kern/term.c (pupa_putchar): Put CR after LF instead of before
31198 LF, because BIOS goes crazy about character attributes in this
31199 case.
31200
31201 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
31202
31203 * include/i386/pc/util/biosdisk.h: New file.
31204 * util/i386/pc/biosdisk.c: Likewise.
31205 * util/i386/pc/pupa-setup.c: Likewise.
31206
31207 * Makefile.in (INCLUDE_DISTFILES): Added
31208 include/pupa/i386/pc/util/biosdisk.h.
31209 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
31210 directory util/i386/pc.
31211 (install-local): Added a rule for sbin_UTILITIES.
31212 (uninstall): Likewise.
31213
31214 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
31215
31216 * util/misc.c (xrealloc): New function.
31217 (pupa_malloc): Likewise.
31218 (pupa_free): Likewise.
31219 (pupa_realloc): Likewise.
31220 (pupa_stop): Likewise.
31221 (pupa_putchar): Likewise.
31222
31223 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
31224
31225 * include/pupa/util/misc.h (xrealloc): Declared.
31226
31227 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
31228 macro.
31229 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
31230 (PUPA_BOOT_MACHINE_BPB_END): ... this.
31231
31232 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
31233 [PUPA_UTIL] (pupa_fat_fini): Likewise.
31234
31235 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
31236 way should be implemented.
31237 [PUPA_UTIL] (pupa_fat_fini): Likewise.
31238
31239 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
31240 the size of NAME for safety.
31241 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
31242 0x88.
31243
31244 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
31245 (pupa_setup_SOURCES): Likewise.
31246
31247 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
31248
31249 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
31250
31251 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
31252 bunch of pushl's from pusha, because this destroys the return
31253 value.
31254
31255 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
31256
31257 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
31258 This means that any missing prototypes could be fatal. Also, you
31259 must take care when writing assembly code. See the comments at
31260 the beginning of startup.S, for more details.
31261
31262 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
31263 compilation mechanism.
31264 (pupa_chainloader_real_boot): Likewise.
31265 (pupa_biosdisk_rw_int13_extensions): Likewise.
31266 (pupa_biosdisk_rw_standard): Likewise.
31267 (pupa_biosdisk_check_int13_extensions): Likewise.
31268 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
31269 (pupa_biosdisk_get_diskinfo_standard): Likewise.
31270 (pupa_get_memsize): Likewise.
31271 (pupa_get_mmap_entry): Likewise.
31272 (pupa_console_putchar): Likewise.
31273 (pupa_console_setcursor): Likewise.
31274 (pupa_getrtsecs): Use pushl instead of push.
31275
31276 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
31277 memory instead of the stack for a mmap entry, because some
31278 BIOSes may ignore the maximum size and overflow.
31279
31280 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
31281
31282 * genmk.rb (PModule#rule): Compile automatically generated
31283 sources with module-specific CFLAGS as well as other sources.
31284
31285 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
31286
31287 * configure.ac: Check ld.
31288 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
31289 respectively, before checking endianness and sizes.
31290
31291 * Makefile.in (LD): New variable.
31292
31293 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
31294
31295 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
31296
31297 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
31298
31299 * Changelog: New file.
31300