]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Add forgotten commit part
[grub2.git] / ChangeLog
1 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Split minix.mod into minix.mod and minix2.mod.
4
5 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
6 * grub-core/Makefile.core.def (minix2): New module.
7 * grub-core/fs/minix.c: Use definitions instead of runtime version
8 checking.
9 * grub-core/fs/minix2.c: New file.
10
11 2010-09-08 Yves Blusseau <blusseau@zetam.org>
12
13 Add new --boot-directory option to replace --root-directory
14
15 * util/grub-install.in: Add new --boot-directory option
16 * util/grub-reboot.in: Likewise.
17 * util/grub-set-default.in: Likewise.
18
19 2010-09-08 Yves Blusseau <blusseau@zetam.org>
20
21 * util/grub-mkconfig.in: Use new variable.
22
23 2010-09-08 Yves Blusseau <blusseau@zetam.org>
24
25 * configure.ac: Define some useful variables.
26
27 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
30 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
31 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
32 Use terminfo and don't use cursor-on/cursor-off unless it's known
33 to work.
34 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
35 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
36
37 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
38
39 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
40 starts with "(,", fill the drive containing the loaded image in
41 between those two characters, but expect that a full partition
42 specification including partition map names will follow.
43
44 2010-09-08 Robert Millan <rmh@gnu.org>
45
46 * configure.ac: Remove `--enable-grub-fstest' option.
47 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
48
49 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
50 `grub-fstest' instead of `grub-probe' for readability verification.
51 * util/grub-probe.c (probe): Remove readability verification kludge.
52
53 2010-09-08 Robert Millan <rmh@gnu.org>
54
55 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
56 initializing `GRUB_FS'.
57
58 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
59
60 Not command (!) support to GRUB script.
61
62 * tests/grub_script_not.in: New test.
63 * Makefile.util.def: Rules for new test.
64
65 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
66 ! command as a special case.
67 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
68
69 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
70
71 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
72 grub_free.
73
74 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
75
76 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
77
78 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
79
80 * docs/grub.texi (Shell-like scripting): Documentation for break,
81 continue, shift and return commands.
82
83 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
84
85 Rename CD-ROM to cd on BIOS.
86
87 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
88 "cd".
89 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
90
91 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
94 * util/grub-probe.c (main): Likewise.
95 * util/i386/pc/grub-setup.c (main): Likewise.
96 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
97 Reported and debugged by: alexxy
98
99 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
102 diagnostic info.
103
104 2010-09-05 Jo Shields <directhex@apebox.org>
105
106 * util/grub.d/30_os-prober.in: Add missing classes.
107
108 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * docs/grub.texi (Theme file format): Document new position format.
111
112 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
115 a table. Use @code instead of @verbatim.
116
117 2010-09-05 Colin D Bennett <colin@gibibit.com>
118
119 Gfxmenu documentation.
120
121 * docs/grub.texi (Theme file format): New chapter.
122
123 2010-09-05 Szymon Janc <szymon@janc.net.pl>
124
125 * grub-core/Makefile.core.def (xzio): New module.
126 * grub-core/io/xzio.c: New file.
127 * grub-core/lib/xzembed/xz.h: New file (from xembed).
128 * grub-core/lib/xzembed/xz_config.h: Likewise.
129 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
130 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
131 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
132 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
133 * grub-core/lib/xzembed/xz_private.h: Likewise.
134 * grub-core/lib/xzembed/xz_stream.h: Likewise.
135 * include/grub/file.h (grub_file_filter_id): New compression filter
136 GRUB_FILE_FILTER_XZIO.
137
138 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
141 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
142 size.
143
144 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
147 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
148
149 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
150
151 Uncompressed checksum support.
152
153 * grub-core/commands/hashsum.c (options): Add option --uncompress.
154 (check_list): New parameter uncompress.
155 (grub_cmd_hashsum): Handle --uncompress.
156
157 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
158
159 Reintroduce testload.
160
161 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
162 from here ...
163 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
164 (GRUB_MOD_INIT): New function.
165 (GRUB_MOD_FINI): Likewise.
166 * grub-core/Makefile.core.def (testload): New module.
167
168 2010-09-05 Szymon Janc <szymon@janc.net.pl>
169
170 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
171 (uint8_t): New type.
172 (uint16_t): Likewise.
173 (uint32_t): Likewise.
174 (uint64_t): Likewise.
175
176 2010-09-05 Szymon Janc <szymon@janc.net.pl>
177
178 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
179
180 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
183 Made static.
184 (grub_gzfile_open): Removed. All users updated.
185 (GRUB_MOD_INIT): New function.
186 (GRUB_MOD_FINI): Likewise.
187 * grub-core/kern/file.c (grub_file_filters_all): New variable.
188 (grub_file_filters_enabled): Likewise.
189 (grub_file_open): Handle filters.
190 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
191 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
192 * include/grub/file.h (grub_file_filter_id_t): New type.
193 (grub_file_filter_t): Likewise.
194 (grub_file_filters_all): New extern variable.
195 (grub_file_filters_enabled): Likewise.
196 (grub_file_filter_register): New inline function.
197 (grub_file_filter_unregister): Likewise.
198 (grub_file_filter_disable): Likewise.
199 (grub_file_filter_disable_compression): Likewise.
200 * include/grub/gzio.h: Removed.
201
202 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
203
204 Filename expansion support for wildcards in GRUB script.
205
206 * tests/grub_script_expansion.in: New test.
207 * Makefile.util.def: Rule for new test.
208
209 * grub-core/commands/wildcard.c: New file, implements filename
210 expansion support for GRUB script.
211 * grub-core/Makefile.core.def: Rule update for regexp.mod.
212 * grub-core/script/argv.c: Cosmetic changes.
213 * grub-core/script/execute.c (grub_script_arglist_to_argv):
214 Refactored to perform wildcard expansion on arguments.
215 * include/grub/script_sh.h (grub_script_wildcard_translator): New
216 struct.
217
218 * tests/util/grub-shell.in: Fix quoting for read input.
219
220 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
221
222 Support for updating environment variables with matched substrings
223 of regexp.
224
225 * tests/grub_cmd_regexp.in: New test.
226 * Makefile.util.def: Rule for new test.
227
228 * grub-core/commands/regexp.c: New option -s to update environment
229 variables with regexp matches.
230
231 2010-09-04 Szymon Janc <szymon@janc.net.pl>
232
233 * include/grub/file.h (grub_file): New member not_easly_seekable.
234 (grub_file_seekable): New inline function.
235 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
236 easily seekable.
237 (grub_gzio_open): Set not_easly_seekable.
238 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
239 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
240
241 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
242
243 Support for options to appear multiple times on cmdline.
244
245 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
246 * grub-core/commands/extcmd.c: Support for repeatable option.
247 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
248 repeatable option support.
249
250 Refactor menuentry into a regular command.
251
252 * grub-core/commands/menuentry.c: New file, menuentry command
253 implementation.
254 * grub-core/Makefile.core.def: Rule update for normal.mod.
255 * grub-core/normal/main.c: Moved menuentry creation to
256 grub-core/commands/menuentry.c.
257 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
258 (grub_menu_execute_entry_real): Removed.
259 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
260 function.
261 (grub_script_execute_menuentry): Removed.
262 * grub-core/script/parser.y (menuentry): Removed.
263 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
264 * grub-core/script/yylex.l (menuentry): Removed.
265 * include/grub/menu.h (grub_menu_init): New prototype.
266 (grub_menu_fini): New prototype.
267 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
268 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
269 (grub_script_execute_sourcecode): New prototype.
270
271 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
272
273 "return" command for GRUB script functions.
274
275 * tests/grub_script_return.in: New test.
276 * Makefile.util.def: Rules for new test.
277
278 * grub-core/script/execute.c (grub_script_return): New function.
279 * grub-core/script/main.c: Register/unregister return commaond.
280 * include/grub/script_sh.h (grub_script_return): New prototype.
281
282 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
283
284 "setparams" command to update positional parameters.
285
286 * tests/grub_script_setparams.in: New test.
287 * Makefile.util.def: Rules for new test.
288
289 * grub-core/script/argv.c (grub_script_argv_make): New function.
290 * grub-core/script/execute.c (replace_scope): New function.
291 (grub_script_setparams): New function.
292 * grub-core/script/lexer.c: Remove unused variables.
293 * grub-core/script/main.c: Register/unregister setparams command.
294 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
295 (grub_script_setparams): New prototype.
296
297 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
298
299 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
300 grub_free order.
301
302 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
303
304 Support for passing block of commands as an argument to extcmds.
305
306 * Makefile.util.def: Rules for new test.
307 * tests/grub_script_blockarg.in: New test.
308 * grub-core/tests/test_blockarg.c: New file, block argument
309 command used in the test.
310
311 * include/grub/extcmd.h (grub_extcmd_context): New struct.
312 (grub_register_extcmd_prio): New function prototype.
313 (grub_extcmd_dispatcher): New function prototype.
314 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
315 type.
316 * include/grub/script_sh.h (struct grub_script): New members
317 `children', `next_siblings' and `refcnt' for block arguments and
318 reference counting.
319 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
320 (grub_script_arg): New member `script' for block argument.
321 (grub_script_argv): New member `script' for block argument.
322 (grub_parser_param): New member `scripts' for block argument.
323 (grub_script_mem_free): New extern function prototype.
324 (grub_script_ref): New function prototype.
325 (grub_script_unref): New function prototype.
326
327 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
328 extcmd form to support block arguments.
329 * grub-core/script/argv.c: Block arguments support.
330 * grub-core/script/execute.c: Likewise.
331 * grub-core/script/lexer.c: Likewise.
332 * grub-core/script/main.c: Likewise.
333 * grub-core/script/script.c: Likewise.
334 * grub-core/script/parser.y: Likewise. New `block' and `block0'
335 non-terminals.
336
337 * grub-core/commands/acpi.c: Update extcmd implementations with
338 grub_extcmd_context_t.
339 * grub-core/commands/cat.c: Likewise.
340 * grub-core/commands/echo.c: Likewise.
341 * grub-core/commands/extcmd.c: Likewise.
342 * grub-core/commands/hashsum.c: Likewise.
343 * grub-core/commands/hdparm.c: Likewise.
344 * grub-core/commands/help.c: Likewise.
345 * grub-core/commands/hexdump.c: Likewise.
346 * grub-core/commands/i386/cpuid.c: Likewise.
347 * grub-core/commands/i386/pc/drivemap.c: Likewise.
348 * grub-core/commands/i386/pc/halt.c: Likewise.
349 * grub-core/commands/i386/pc/sendkey.c: Likewise.
350 * grub-core/commands/iorw.c: Likewise.
351 * grub-core/commands/keystatus.c: Likewise.
352 * grub-core/commands/loadenv.c: Likewise.
353 * grub-core/commands/ls.c: Likewise.
354 * grub-core/commands/lspci.c: Likewise.
355 * grub-core/commands/memrw.c: Likewise.
356 * grub-core/commands/probe.c: Likewise.
357 * grub-core/commands/search_wrap.c: Likewise.
358 * grub-core/commands/setpci.c: Likewise.
359 * grub-core/commands/sleep.c: Likewise.
360 * grub-core/disk/loopback.c: Likewise.
361 * grub-core/hello/hello.c: Likewise.
362 * grub-core/loader/i386/bsd.c: Likewise.
363 * grub-core/loader/xnu.c: Likewise.
364 * grub-core/term/gfxterm.c: Likewise.
365 * grub-core/term/serial.c: Likewise.
366 * grub-core/tests/lib/functional_test.c: Likewise.
367
368 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
369
370 Multi-line quoted strings support.
371
372 * grub-core/script/lexer.c (append_newline): Removed.
373 (grub_script_lexer_yywrap): Refactored.
374 (grub_script_lexer_init): Refactored.
375 * grub-core/script/yylex.l (yywrap): New function.
376 (grub_lexer_resplit): New function.
377 (grub_lexer_unput): New function.
378 * include/grub/script_sh.h (grub_lexer_param): New members, unput
379 and resplit.
380 * tests/grub_script_echo1.in: Added few more testcases.
381
382 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * grub-core/kern/misc.c: Don't add abort alias in utils.
385 Reported by: echoline.
386
387 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
388
389 Add missing files into "make dist" tarball for other platforms.
390
391 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
392 * conf/Makefile.common (dist_noinst_DATA): New variable.
393 * conf/Makefile.extra-dist: Added missing make dist files.
394 * grub-core/Makefile.core.def: Likewise.
395
396 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
397
398 Compress grub_prefix.
399
400 * grub-core/boot/i386/pc/lnxboot.S: Use
401 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
402 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
403 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
404 GRUB_MACHINE_PREFIX_END. All users updated.
405 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
406 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
407 + 0x40.
408 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
409 * util/grub-mkimage.c (image_target_desc): Change data_end to
410 prefix_end. All users updated.
411
412 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
415 value.
416 (grub_openbsd_boot): Likewise.
417 (grub_netbsd_boot): Likewise.
418 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
419 (grub_xnu_boot): Likewise.
420
421 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * configure.ac: Clean LIBS variable after tests.
424
425 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
426
427 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
428
429 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
432 echo if libdevmapper will be used.
433
434 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
435
436 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
437 constant for the same file.
438
439 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
442
443 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
444
445 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
446 grub-core/*.pp.
447
448 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
449
450 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
451 required by the boot protocol.
452
453 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
454 ebp and edi members.
455 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
456 state.ebp and state.edi.
457 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
458 %ebp and %edi according to grub_relocator32_ebp and
459 grub_relocator32_edi respectively.
460 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
461 and state.edi.
462
463 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
464
465 Add i386-pc-pxe image target.
466
467 * util/grub-mkimage.c (image_target_desc): New enum value
468 IMAGE_I386_PC_PXE.
469 (image_targets): New target i386-pc-pxe.
470 (generate_image): Handle i386-pc-pxe image.
471
472 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
473
474 Fix grub_pxe_scan.
475
476 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
477 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
478 All users updated.
479 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
480 (grub_pxe_pxenv): Correct type.
481
482 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
483
484 * NEWS: Document most of the important changes since 1.98.
485
486 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
487
488 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
489 generated manual page) a little.
490
491 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
492
493 * docs/grub.texi: Add myself as an author.
494
495 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * Makefile.util.def (libgrub.a): Add missing sunpc.
498 Reported by: Seth Goldberg.
499
500 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
501
502 Interrupt wrapping and code simplifications.
503
504 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
505 x86_noieee1275 which are functionaly equivalent in this case.
506 (grub-install): Make source on each platform explicit. Enable on
507 all noemu.
508 * gentpl.py (x86_efi_pc): Removed group.
509 (x86_noefi): Likewise.
510 (i386_noefi): Likewise.
511 (x86_noieee1275): Likewise.
512 (i386_noieee1275): Likewise.
513 (i386_noefi_noieee1275): Likewise.
514 (i386_pc_qemu_coreboot): Likewise.
515 (i386_coreboot_multiboot): Likewise.
516 (i386_pc_coreboot_multiboot_qemu): Likewise.
517 (x86_noefi_mips): Likewise.
518 (noieee1275): Likewise.
519 (ieee1275_mips): Likewise.
520 (noemu_noieee1275): Likewise.
521 (cmos): New group.
522 (usb): Likewise.
523 (videoinkernel): Likewise.
524 (videomodules): Likewise.
525 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
526 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
527 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
528 include/grub/loader.h, include/grub/msdos_partition.h,
529 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
530 include/grub/machine/console.h, include/grub/machine/vga.h,
531 include/grub/machine/vbe.h, include/grub/machine/init.h,
532 include/grub/machine/kernel.h, include/grub/cpu/time.h,
533 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
534 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
535 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
536 * grub-core/Makefile.core.def (kernel): Explicit the source for
537 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
538 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
539 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
540 Use videoinkernel tag.
541 (usb): Enable on all usb.
542 (usbserial_common): Likewise.
543 (usbserial_pl2303): Likewise.
544 (usbserial_ftdi): Likewise.
545 (uhci): Enable on all x86.
546 (ohci): Enable on all pci.
547 (cmostest): Enable on all CMOS.
548 (acpi): Include commands/acpi.c on all platforms.
549 (halt): Add relevant lib/*/halt.c.
550 (hdparm): Enable on all pci.
551 (lspci): Likewise.
552 (usbtest): Enable on all usb.
553 (ata): Enable on all pci.
554 (ata_pthru): Likewise.
555 (usbms): Enable on all usb.
556 (usb_keyboard): Likewise.
557 (font): Use tag videomodules.
558 (bufio): Likewise.
559 (datetime): Use tag cmos. Enable on all noemu.
560 (mmap): Use tags common and x86.
561 (gfxterm): Use tag videomodules.
562 (bitmap): Likewise.
563 (bitmap_scale): Likewise.
564 (video_fb): Likewise.
565 (video): Likewise.
566 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
567 adjust padding accordingly. All users updated.
568 (grub_ohci_transaction): Fix bad format specification.
569 (GRUB_MOD_INIT): Add asserts for struct size.
570 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
571 (grub_alloc_td): Likewise.
572 (grub_free_queue): Likewise.
573 (grub_uhci_transfer): Likewise.
574 (grub_uhci_transaction): Fix bad format specification.
575 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
576 (grub_usb_bulk_readwrite): Likewise.
577 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
578 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
579 Made static.
580 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
581 Made static.
582 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
583 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
584 Transformed into C.
585 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
586 Moved from here ...
587 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
588 ... here. Transformed into C. Made static.
589 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
590 Moved from here ...
591 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
592 ... here. Transformed into C. Made static.
593 * grub-core/kern/i386/pc/startup.S
594 (grub_biosdisk_check_int13_extensions): Moved from here ...
595 * grub-core/disk/i386/pc/biosdisk.c
596 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
597 Made static.
598 * grub-core/kern/i386/pc/startup.S
599 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
600 * grub-core/disk/i386/pc/biosdisk.c
601 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
602 Transformed into C. Made static.
603 * grub-core/kern/i386/pc/startup.S
604 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
605 * grub-core/disk/i386/pc/biosdisk.c
606 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
607 Transformed into C. Made static.
608 * grub-core/kern/i386/pc/startup.S
609 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
610 * grub-core/disk/i386/pc/biosdisk.c
611 (grub_biosdisk_get_diskinfo_standard): ... here.
612 Transformed into C. Made static.
613 * grub-core/kern/i386/pc/startup.S
614 (grub_biosdisk_get_num_floppies): Moved from here ...
615 * grub-core/disk/i386/pc/biosdisk.c
616 (grub_biosdisk_get_num_floppies): ... here.
617 Transformed into C. Made static.
618 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
619 New function.
620 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
621 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
622 Transformed into C. Made static.
623 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
624 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
625 Transformed into C. Made static.
626 * grub-core/kern/i386/ieee1275/init.c: Removed.
627 * grub-core/kern/i386/misc.S: Likewise.
628 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
629 Splitted from here ...
630 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
631 Transformed into C. Made static. All users updated.
632 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
633 Transformed into C. Made static. All users updated.
634 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
635 Moved from here...
636 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
637 Transformed into C. Made static. All users updated.
638 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
639 Moved from here...
640 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
641 Transformed into C. Made static. All users updated.
642 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
643 Removed (replaced by C version).
644 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
645 Moved from here...
646 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
647 Transformed into C. Made static.
648 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
649 Moved from here...
650 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
651 ... here. Transformed into C.
652 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
653 Moved from here...
654 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
655 ... here. Transformed into C.
656 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
657 Moved from here...
658 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
659 ... here. Transformed into C. Made static.
660 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
661 Moved from here...
662 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
663 ... here. Transformed into C.
664 * grub-core/kern/i386/pc/startup.S
665 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
666 * grub-core/video/i386/pc/vbe.c
667 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
668 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
669 Moved from here...
670 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
671 ... here. Transformed into C.
672 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
673 Moved from here...
674 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
675 ... here. Transformed into C.
676 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
677 Moved from here...
678 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
679 ... here. Transformed into C.
680 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
681 Moved from here...
682 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
683 ... here. Transformed into C.
684 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
685 Moved from here...
686 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
687 ... here. Transformed into C. Made static.
688 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
689 Moved from here...
690 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
691 ... here. Transformed into C. Made static.
692 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
693 Moved from here...
694 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
695 ... here. Transformed into C. Made static.
696 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
697 pxe_rm_entry as third argument.
698 (grub_bios_interrupt): New function.
699 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
700 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
701 of calling grub_stop.
702 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
703 * grub-core/lib/efi/halt.c (grub_halt): ...here.
704 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
705 * grub-core/lib/emu/halt.c (grub_halt): ... here.
706 * grub-core/lib/i386/halt.c: Moved from here ...
707 * grub-core/lib/i386/halt.c: ... here.
708 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
709 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
710 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
711 grub_stop_floppy.
712 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
713 * include/grub/i386/coreboot/init.h: Removed.
714 * include/grub/i386/multiboot/init.h: Likewise.
715 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
716 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
717 * include/grub/i386/pc/int.h: New file.
718 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
719 (grub_pxe_scan): Removed.
720 (grub_pxe_call): Update prototype.
721 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
722 prototypes.
723 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
724 * include/grub/i386/qemu/init.h: Removed.
725 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
726 noreturn.
727 (grub_halt): Likewise.
728 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
729 (grub_reboot): Likewise.
730 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
731 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
732 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
733
734 2010-08-30 Robert Millan <rmh@gnu.org>
735
736 * NEWS: Document addition of ZFS support in `grub-install' and
737 `grub-mkconfig'.
738
739 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
740
741 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
742 dprintf output.
743
744 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
745
746 Remove leftover embedding of font objects.
747
748 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
749 * util/grub-install.in (font): Removed.
750 * util/grub-mkimage.c (generate_image): Remove font support. All users
751 updated.
752
753 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * docs/grub.texi (Network): Fix reference to pxe_blksize.
756 Reported by: Ian Turner
757
758 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
761 timeout to avoid indefinite boot stalling.
762
763 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
766 (grub_env_write_color_highlight): Likewise.
767
768 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * grub-core/normal/term.c (print_more): Return to normal and not
771 to standard state after printing "---MORE---".
772
773 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
776 Mask out the bit 0x80 since it has other meaning that specifiing color.
777
778 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
779
780 New relocator. Allows for more kernel support and more straightforward
781 loader writing.
782
783 * Makefile.am (BOOTTARGET): New variable.
784 (QEMU32): Likewise.
785 (linux.init.x86_64): New target.
786 (linux.init.i386): Likewise.
787 (multiboot.elf): Likewise.
788 (kfreebsd.elf): Likewise.
789 (kfreebsd.aout): Likewise.
790 (pc-chainloader.elf): Likewise.
791 (pc-chainloader.bin): Likewise.
792 (ntldr.elf): Likewise.
793 (ntldr.bin): Likewise.
794 (multiboot2.elf): Likewise.
795 (kfreebsd.init.x86_64): Likewise.
796 (kfreebsd.init.i386): Likewise.
797 (knetbsd.init.i386): Likewise.
798 (kopenbsd.init.i386): Likewise.
799 (knetbsd.init.x86_64): Likewise.
800 (kopenbsd.init.x86_64): Likewise.
801 (linux-initramfs.i386): Likewise.
802 (linux-initramfs.x86_64): Likewise.
803 (kfreebsd-mfsroot.i386.img): Likewise.
804 (knetbsd.image.i386): Likewise.
805 (kopenbsd.image.i386): Likewise.
806 (kopenbsd.image.x86_64): Likewise.
807 (knetbsd.miniroot-image.i386.img): Likewise.
808 (kfreebsd-mfsroot.x86_64.img): Likewise.
809 (knetbsd.image.x86_64): Likewise.
810 (knetbsd.miniroot-image.x86_64.img): Likewise.
811 (kfreebsd-mfsroot.i386.gz): Likewise.
812 (bootcheck-kfreebsd-i386): Likewise.
813 (kfreebsd-mfsroot.x86_64.gz): Likewise.
814 (bootcheck-kfreebsd-x86_64): Likewise.
815 (knetbsd.miniroot-image.i386.gz): Likewise.
816 (bootcheck-knetbsd-i386): Likewise.
817 (bootcheck-kopenbsd-i386): Likewise.
818 (bootcheck-kopenbsd-x86_64): Likewise.
819 (knetbsd.miniroot-image.x86_64.gz): Likewise.
820 (bootcheck-knetbsd-x86_64): Likewise.
821 (bootcheck-linux-i386): Likewise.
822 (bootcheck-linux-x86_64): Likewise.
823 (bootcheck-linux16-i386): Likewise.
824 (bootcheck-linux16-x86_64): Likewise.
825 (bootcheck-multiboot): Likewise.
826 (bootcheck-multiboot2): Likewise.
827 (bootcheck-kfreebsd-aout): Likewise.
828 (bootcheck-pc-chainloader): Likewise.
829 (bootcheck-ntldr): Likewise.
830 (CLEANFILES): Add new targets.
831 (BOOTCHECKS): New variable.
832 (.PHONY): Add bootchecks.
833 (SUCCESSFUL_BOOT_STRING): New variable.
834 (BOOTCHECK_TIMEOUT): Likewise.
835 (bootcheck): New target
836 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
837 * configure.ac: Correct efiemu excuse.
838 * docs/grub.texi (Supported kernels): New chapter.
839 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
840 include/grub/mm_private.h. Simplify inclusion of
841 include/grub/boot.h, include/grub/loader.h
842 and include/grub/msdos_partition.h
843 (KERNEL_HEADER_FILES) [i386_coreboot]:
844 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
845 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
846 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
847 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
848 include/grub/machine/loader.h.
849 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
850 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
851 extra_dist.
852 (pci.mod): Enable on i386-multiboot.
853 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
854 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
855 i386-qemu.
856 (relocator.mod): Rewritten.
857 (aout.mod): Enable on all x86.
858 (bsd.mod): Likewise.
859 (ntldr.mod): New module.
860 (linux.mod): Use loader/i386/linux.c on all x86.
861 (xnu.mod): Enable on all x86.
862 (vga_text.mod): disable on EFI and QEMU.
863 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
864 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
865 * grub-core/efiemu/loadcore.c: Likewise.
866 * grub-core/efiemu/main.c: Likewise.
867 (grub_efiemu_exit_boot_services): Removed.
868 (grub_efiemu_finish_boot_services): Likewise.
869 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
870 function.
871 * grub-core/efiemu/i386/nocfgtables.c: New file.
872 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
873 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
874 (grub_efi_finish_boot_services): Moved from here ...
875 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
876 Fille finish memory map and related data.
877 (finish_mmap_buf): New variable.
878 (grub_efi_uintn_t finish_mmap_size): Likewise.
879 (grub_efi_uintn_t finish_key): Likewise.
880 (grub_efi_uintn_t finish_desc_size): Likewise.
881 (grub_efi_uint32_t finish_desc_version): Likewise.
882 (grub_efi_is_finished): Likewise.
883 (grub_efi_get_memory_map): Use saved memory map if EFI is already
884 finished.
885 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
886 (grub_elf64_phdr_iterate): Likewise.
887 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
888 (grub_os_area_size): Likewise.
889 (grub_machine_init): Don't reserve os area.
890 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
891 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
892 * grub-core/kern/i386/loader.S: Removed.
893 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
894 (grub_os_area_size): Likewise.
895 (grub_machine_init): Don't reserve os area.
896 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
897 Don't call grub_dl_unload_all.
898 Don't include loader.S.
899 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
900 Declare the memory after _end as available.
901 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
902 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
903 (GRUB_MM_ALLOC_MAGIC): Moved from here...
904 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
905 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
906 * include/grub/mm_private.h (grub_mm_header): ... here.
907 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
908 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
909 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
910 (grub_mm_region): ..here. Removed addr. Added pre_size.
911 All users updated.
912 * grub-core/kern/mm.c (base): Renamed to ...
913 (grub_mm_base): ... this. Made global.
914 (grub_real_malloc): Alloc from end of region.
915 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
916 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
917 * grub-core/kern/powerpc/cache_flush.S: ... here.
918 * grub-core/lib/efi/relocator.c: New file.
919 * grub-core/lib/i386/relocator.c: Rewritten.
920 * grub-core/lib/i386/relocator16.S: New file.
921 * grub-core/lib/i386/relocator32.S: Likewise.
922 * grub-core/lib/i386/relocator64.S: Likewise.
923 * grub-core/lib/i386/relocator_asm.S: Rewritten.
924 * grub-core/lib/i386/relocator_common.S: New file.
925 * grub-core/lib/ieee1275/relocator.c: Likewise.
926 * grub-core/lib/mips/relocator.c: Rewritten.
927 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
928 stylistic adjustments.
929 * grub-core/lib/powerpc/relocator.c: New file.
930 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
931 * grub-core/lib/relocator.c: Rewritten.
932 * grub-core/lib/x86_64/relocator_asm.S: New file.
933 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
934 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
935 (bsd_tag): New struct.
936 (tags): New variable.
937 (tags_last): Likewise.
938 (netbsd_module): New struct.
939 (netbsd_mods): New variable.
940 (netbsd_mods_last): Likewise.
941 (openbsd_opts): New parameter "serial".
942 (OPENBSD_SERIAL_ARG): New definition.
943 (netbsd_opts): New parameter "serial".
944 (NETBSD_SERIAL_ARG): New definition.
945 (grub_freebsd_add_meta): Reorganised into ...
946 (grub_bsd_add_meta): ...this. All users updated.
947 (grub_freebsd_add_mmap): Reorganised into ...
948 (generate_e820_mmap): ...this...
949 (grub_bsd_add_mmap): ...and this. All users updated.
950 (grub_freebsd_list_modules): Use tags.
951 (grub_netbsd_add_meta_module): New function.
952 (grub_netbsd_list_modules): Likewise.
953 (grub_freebsd_boot): Use relocator and finish EFI.
954 (grub_openbsd_boot): Likewise.
955 (grub_netbsd_setup_video): New function.
956 (grub_netbsd_add_modules): Likewise.
957 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
958 and finish EFI.
959 (grub_bsd_unload): Unload tags.
960 (grub_bsd_load_aout): Use relocator.
961 (grub_bsd_elf32_size_hook): New function.
962 (grub_bsd_elf32_hook): Use relocator.
963 (grub_bsd_elf64_size_hook): New function.
964 (grub_bsd_elf64_hook): Use relocator.
965 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
966 (grub_bsd_load): Zero-out openbsd_ramdisk.
967 (grub_bsd_load): Use relocator.
968 (grub_cmd_openbsd): Support serial.
969 (grub_cmd_netbsd): Support modules.
970 (grub_cmd_freebsd_module): Use relocator.
971 (grub_netbsd_module_load): New function.
972 (grub_cmd_netbsd_module): Likewise.
973 (grub_cmd_openbsd_ramdisk): Likewise.
974 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
975 kopenbsd_ramdisk.
976 (GRUB_MOD_FINI): Unregister new commands.
977 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
978 (grub_freebsd_load_elfmodule_obj): Use relocator.
979 (grub_freebsd_load_elfmodule): Likewise.
980 (grub_freebsd_load_elf_meta): Likewise.
981 (grub_netbsd_load_elf_meta): New function.
982 (grub_openbsd_find_ramdisk): Likewise.
983 * grub-core/loader/i386/bsd_helper.S: Removed.
984 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
985 * grub-core/loader/i386/bsd_trampoline.S: Removed.
986 * grub-core/loader/i386/efi/linux.c: Likewise.
987 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
988 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
989 (DEFAULT_VIDEO_MODE): Likewise.
990 (real_mode_target): New variable.
991 (prot_mode_target): Likewise.
992 (initrd_mem_target): Likewise.
993 (relocator): Likewise.
994 (efi_mmap_buf): Likewise.
995 (efi_mmap_size): Likewise.
996 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
997 (free_pages): Use relocator.
998 (allocate_pages): Account for efi_mmap and use relocator. Return error.
999 (grub_linux_setup_video): Return error.
1000 (grub_linux_trampoline_start): Removed.
1001 (grub_linux_trampoline_end): Likewise.
1002 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
1003 andd video parameters depending on firmware.
1004 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
1005 [GRUB_MACHINE_EFI]: Pass EFI parameters.
1006 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
1007 (grub_cmd_initrd): Use relocator.
1008 * grub-core/loader/i386/linux_trampoline.S: Removed.
1009 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
1010 (elf_sec_entsize): Likewise.
1011 (elf_sec_shstrndx): Likewise.
1012 (elf_sections): Likewise.
1013 (grub_multiboot_load): Use relocator.
1014 (grub_multiboot_get_mbi_size): Account for sections.
1015 (grub_multiboot_make_mbi): Use relocator and support sections.
1016 (grub_multiboot_add_elfsyms): New function.
1017 (grub_multiboot_free_mbi): Free sections.
1018 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
1019 (grub_linux_real_target): Likewise.
1020 (grub_linux_real_chunk): Likewise.
1021 (grub_linux16_prot_size): Likewise.
1022 (grub_linux16_boot): Use relocator.
1023 (grub_linux_unload): Unload relocator.
1024 (grub_cmd_linux): Use relocator.
1025 (grub_cmd_initrd): Likewise.
1026 * grub-core/loader/i386/pc/ntldr.c: New file.
1027 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
1028 Don't try to guess CPU frequency.
1029 (grub_xnu_set_video): Stretch bitmap.
1030 (grub_xnu_boot): Use relocator.
1031 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
1032 (grub_linux_unload): Free relocator.
1033 (grub_linux_load32): Use relocator.
1034 (grub_linux_load64): Likewise.
1035 (grub_cmd_initrd): Likewise.
1036 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
1037 (grub_multiboot_unload): Unload relocator.
1038 (grub_cmd_multiboot): Use relocator.
1039 (grub_cmd_module): Likewise.
1040 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
1041 Use relocator and support sections.
1042 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
1043 (elf_sec_entsize): Likewise.
1044 (elf_sec_shstrndx): Likewise.
1045 (elf_sections): Likewise.
1046 (grub_multiboot_load): Use relocator.
1047 (grub_multiboot_get_mbi_size): Account for sections.
1048 (grub_multiboot_make_mbi): Use relocator and support sections.
1049 (grub_multiboot_add_elfsyms): New function.
1050 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
1051 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
1052 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
1053 Prototype changed. All users updated.
1054 (grub_xnu_align_heap): Simplified.
1055 (grub_xnu_writetree_toheap): Likewise.
1056 (grub_xnu_unload): Unload relocator.
1057 (grub_cmd_xnu_kernel): Use relocator.
1058 (grub_cmd_xnu_kernel64): Likewise.
1059 (grub_xnu_register_memory): Simplified.
1060 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1061 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
1062 EFI is finished.
1063 (grub_console_checkkey): Likewise.
1064 (grub_console_getkey): Likewise.
1065 (grub_console_getwh): Likewise.
1066 (grub_console_getxy): Likewise.
1067 (grub_console_gotoxy): Likewise.
1068 (grub_console_cls): Likewise.
1069 (grub_console_setcolorstate): Likewise.
1070 (grub_console_setcursor): Likewise.
1071 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
1072 * grub-core/tests/boot/kbsd.init-i386.S: New file.
1073 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
1074 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
1075 * grub-core/tests/boot/kernel-8086.S: Likewise.
1076 * grub-core/tests/boot/kernel-i386.S: Likewise.
1077 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
1078 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
1079 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
1080 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
1081 * grub-core/tests/boot/knetbsd.cfg: Likewise.
1082 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
1083 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
1084 * grub-core/tests/boot/linux.cfg: Likewise.
1085 * grub-core/tests/boot/linux.init-i386.S: Likewise.
1086 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
1087 * grub-core/tests/boot/linux16.cfg: Likewise.
1088 * grub-core/tests/boot/multiboot.cfg: Likewise.
1089 * grub-core/tests/boot/multiboot2.cfg: Likewise.
1090 * grub-core/tests/boot/ntldr.cfg: Likewise.
1091 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
1092 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
1093 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
1094 New definition.
1095 * include/grub/dl.h (grub_dl_unload_all): Removed.
1096 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
1097 (grub_efi_finish_boot_services): Change prototype.
1098 (grub_efi_is_finished): New variable.
1099 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
1100 Changed prototype.
1101 (grub_efiemu_finish_boot_services): Removed.
1102 (grub_machine_efiemu_init_tables): New prototype.
1103 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
1104 (grub_elf64_phdr_iterate): Likewise.
1105 * include/grub/i386/bsd.h: Include relocator.h.
1106 (freebsd_tag_header): New struct.
1107 (grub_openbsd_bios_mmap): Removed.
1108 (grub_unix_real_boot): Removed.
1109 (grub_freebsd_load_elfmodule32): Changed prototype.
1110 (grub_freebsd_load_elfmodule_obj64): Likewise.
1111 (grub_freebsd_load_elf_meta32): Likewise.
1112 (grub_freebsd_load_elf_meta64): Likewise.
1113 (grub_freebsd_add_meta): Removed.
1114 (grub_netbsd_load_elf_meta32): New prototype.
1115 (grub_netbsd_load_elf_meta64): Likewise.
1116 (grub_bsd_add_meta): Likewise.
1117 (grub_openbsd_ramdisk_descriptor): New struct.
1118 (grub_openbsd_find_ramdisk32): New prototype.
1119 (grub_openbsd_find_ramdisk64): Likewise.
1120 * include/grub/i386/coreboot/loader.h: Removed.
1121 * include/grub/i386/efi/loader.h: Likewise.
1122 * include/grub/i386/ieee1275/loader.h: Likewise.
1123 * include/grub/i386/linux.h (linux_kernel_header): Change void *
1124 to grub_uint32_t.
1125 * include/grub/i386/loader.h: Removed.
1126 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
1127 value.
1128 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
1129 (grub_phys_addr_t): New type.
1130 (grub_vtop): New inline function.
1131 (grub_map_memory): Likewise.
1132 (grub_unmap_memory): Likewise.
1133 * include/grub/i386/multiboot/loader.h: Removed.
1134 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
1135 (NETBSD_BTINFO_CONSOLE): New definition.
1136 (NETBSD_BTINFO_SYMTAB): Likewise.
1137 (NETBSD_BTINFO_MODULES): Likewise.
1138 (NETBSD_BTINFO_FRAMEBUF): Likewise.
1139 (grub_netbsd_bootinfo): New struct.
1140 (grub_netbsd_btinfo_common): Use explicit bitsize.
1141 (grub_netbsd_btinfo_mmap_entry): Removed.
1142 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
1143 (grub_netbsd_btinfo_bootdisk): New struct.
1144 (grub_netbsd_btinfo_symtab): Likewise.
1145 (grub_netbsd_btinfo_serial): Likewise.
1146 (grub_netbsd_btinfo_modules): Likewise.
1147 (grub_netbsd_btinfo_framebuf): Likewise.
1148 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
1149 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
1150 Likewise.
1151 (grub_openbsd_bootargs): Use explicit bitsize.
1152 (grub_openbsd_bootarg_console): New struct.
1153 (GRUB_OPENBSD_COM_MAJOR): New definition.
1154 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
1155 * include/grub/i386/pc/efiemu.h: Removed.
1156 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
1157 * include/grub/i386/qemu/loader.h: Removed.
1158 * include/grub/i386/relocator.h: Rewritten.
1159 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
1160 * include/grub/mips/memory.h: New file.
1161 * include/grub/mips/multiboot.h: Rewritten.
1162 * include/grub/mips/relocator.h: Rewritten.
1163 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
1164 (grub_vtop): New function.
1165 (grub_map_memory): Likewise.
1166 (grub_unmap_memory): Likewise.
1167 * include/grub/misc.h (ALIGN_DOWN): New definition.
1168 * include/grub/mm.h (grub_mm_check_real): New proto.
1169 (GRUB_MM_CHECK): New definition.
1170 * include/grub/mm_private.h: New file.
1171 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
1172 (grub_multiboot_get_mbi_size): Removed.
1173 (grub_multiboot_make_mbi): Change prottype.
1174 (grub_multiboot_set_accepts_video): New proto.
1175 (grub_multiboot_add_elfsyms): Likewise.
1176 (grub_multiboot_payload_eip): New variable.
1177 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
1178 New prototype.
1179 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
1180 New definition.
1181 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
1182 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
1183 * include/grub/powerpc/ieee1275/loader.h: Removed.
1184 * include/grub/powerpc/memory.h: New file.
1185 * include/grub/powerpc/relocator.h: Likewise.
1186 * include/grub/relocator.h: Likewise.
1187 * include/grub/relocator_private.h: Likewise.
1188 * include/grub/sparc64/ieee1275/loader.h: Removed.
1189 * include/grub/x86_64/memory.h: New file.
1190 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
1191 (grub_xnu_heap_malloc): Likewise.
1192 (grub_xnu_heap_real_start): Removed.
1193 (grub_xnu_heap_start): Likewise.
1194 (grub_xnu_relocator): New variable.
1195 (grub_xnu_heap_target_start): Likewise.
1196 * tests/util/grub-shell.in: Support non-pc.
1197 * util/grub-mkimage.c (image_targets): Fix multiboot target.
1198
1199 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
1202 on malloc error.
1203 (grub_bidi_logical_to_visual): Check that malloc succeded.
1204 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
1205 puts.
1206 (grub_xputs_normal): Likewise.
1207
1208 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
1211 extra_dist.
1212
1213 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * grub-core/efiemu/runtime/efiemu.sh: Removed.
1216
1217 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
1220
1221 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
1224 dprintf.
1225
1226 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
1227
1228 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
1229
1230 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * grub-core/normal/term.c (print_more): Fix a memory leak.
1233 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
1234 (grub_xputs_normal): Likewise.
1235
1236 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
1239 the begining of the string
1240
1241 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/script/script.c (grub_script_parse): Free parsed on
1244 failure.
1245
1246 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
1249 on failure.
1250
1251 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
1254 return.
1255
1256 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
1259 (scroll_up): Fix a memory leak.
1260
1261 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
1264 errors.
1265
1266 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 Handle USB pendrives exposed as floppies.
1269
1270 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
1271 floppy.
1272 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
1273 Check for partitions on all devices.
1274
1275 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
1278 (readkey): Likewise.
1279
1280 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1281
1282 Multiple variable names support to "export" command.
1283
1284 * normal/context.c (grub_cmd_export): "export" command supports
1285 multiple variable names.
1286
1287 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
1288
1289 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
1290 --target=drive output to Mach device name.
1291
1292 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
1293
1294 New Automake based build system for GRUB.
1295
1296 * ABOUT-NLS: New file.
1297 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
1298 in Makefile.util.def file.
1299 * Makefile.util.def: New file. Autogen build definitions file for
1300 GRUB host utils.
1301 * conf/Makefile.common: New file. Common variables for GRUB host
1302 utils and target modules.
1303 * conf/Makefile.extra-dist: New file. Extra files for make dist.
1304 * docs/Makefile.am: New file. Automake file for docs.
1305 * gentpl.py: New file. Python script to generate Autogen
1306 template.
1307 * grub-core/Makefile.am: New file. GRUB target modules' rules
1308 that doesn't fit in Makefile.core.def file.
1309 * grub-core/Makefile.core.def: New file. Autogen build
1310 definitions file for GRUB target modules.
1311 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
1312 specific setjmp.S file.
1313 * po/Makefile.am: New file.
1314
1315 * .bzrignore: New ignores.
1316 * INSTALL: New requirements, without Ruby.
1317 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
1318 * autogen.sh: Updated to invoke autogen as necessary.
1319 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
1320 and defines for Automake conditionals.
1321 * geninit.sh: Refactoring.
1322
1323 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
1324 necessary.
1325 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
1326 New prototype.
1327
1328 * include/grub/test.h: Fix functional test modules' naming.
1329 * grub-core/tests/example_functional_test.c: Fix test module name.
1330
1331 * util/misc.c: Hosted versions' of grub functions for libgrub.a
1332 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
1333 * util/grub-editenv.c: Likewise.
1334 * util/grub-fstest.c: Likewise.
1335 * util/grub-mkdevicemap.c: Likewise.
1336 * util/grub-mkfont.c: Likewise.
1337 * util/grub-mkimage.c: Likewise.
1338 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1339 * util/grub-probe.c: Likewise.
1340 * util/grub-script-check.c: Likewise.
1341 * util/i386/pc/grub-setup.c: Likewise.
1342 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1343
1344 * tests/util/grub-shell.in: Fix override directory path.
1345 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
1346 * util/import_gcry.py: Create Makefile.gcry.def file instead.
1347
1348 * util/lvm.c: Update #includes.
1349 * util/raid.c: Likewise.
1350 * util/resolve.c: Likewise.
1351 * grub-core/bus/emu/pci.c: Likewise.
1352 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
1353 * grub-core/lib/posix_wrap/string.h: Likewise.
1354 * grub-core/kern/emu/main.c: Likewise.
1355
1356 * grub-core/gensymlist.sh: New file. Script for generating kernel
1357 symbols file.
1358 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
1359
1360 * grub-core/gentrigtables.c: Fix unused variable warnings.
1361
1362 * Makefile.in: Removed.
1363 * conf/any-emu.rmk: Removed.
1364 * conf/common.rmk: Removed.
1365 * conf/i386-coreboot.rmk: Removed.
1366 * conf/i386-efi.rmk: Removed.
1367 * conf/i386-ieee1275.rmk: Removed.
1368 * conf/i386-multiboot.rmk: Removed.
1369 * conf/i386-pc.rmk: Removed.
1370 * conf/i386-qemu.rmk: Removed.
1371 * conf/i386.rmk: Removed.
1372 * conf/mips-yeeloong.rmk: Removed.
1373 * conf/mips.rmk: Removed.
1374 * conf/powerpc-ieee1275.rmk: Removed.
1375 * conf/sparc64-ieee1275.rmk: Removed.
1376 * conf/tests.rmk: Removed.
1377 * conf/x86-efi.rmk: Removed.
1378 * conf/x86_64-efi.rmk: Removed.
1379 * gendistlist.sh: Removed.
1380 * geninitheader.sh: Removed.
1381 * genkernsyms.sh.in: Removed.
1382 * genmk.rb: Removed.
1383 * gensymlist.sh.in: Removed.
1384 * mkinstalldirs: Removed.
1385 * boot: Moved ...
1386 * grub-core/boot: ... to here.
1387 * bus: Moved ...
1388 * grub-core/bus: ... to here.
1389 * commands: Moved ...
1390 * grub-core/commands: ... to here.
1391 * disk: Moved ...
1392 * grub-core/disk: ... to here.
1393 * efiemu: Moved ...
1394 * grub-core/efiemu: ... to here.
1395 * font: Moved ...
1396 * grub-core/font: ... to here.
1397 * fs: Moved ...
1398 * grub-core/fs: ... to here.
1399 * gencmdlist.sh: Moved ...
1400 * grub-core/gencmdlist.sh: ... to here.
1401 * genemuinit.sh: Moved ...
1402 * grub-core/genemuinit.sh: ... to here.
1403 * genemuinitheader.sh: Moved ...
1404 * grub-core/genemuinitheader.sh: ... to here.
1405 * genfslist.sh: Moved ...
1406 * grub-core/genfslist.sh: ... to here.
1407 * genhandlerlist.sh: Moved ...
1408 * grub-core/genhandlerlist.sh: ... to here.
1409 * genmoddep.awk: Moved ...
1410 * grub-core/genmoddep.awk: ... to here.
1411 * genmodsrc.sh: Moved ...
1412 * grub-core/genmodsrc.sh: ... to here.
1413 * genpartmaplist.sh: Moved ...
1414 * grub-core/genpartmaplist.sh: ... to here.
1415 * genparttoollist.sh: Moved ...
1416 * grub-core/genparttoollist.sh: ... to here.
1417 * genterminallist.sh: Moved ...
1418 * grub-core/genterminallist.sh: ... to here.
1419 * gentrigtables.c: Moved ...
1420 * grub-core/gentrigtables.c: ... to here.
1421 * genvideolist.sh: Moved ...
1422 * grub-core/genvideolist.sh: ... to here.
1423 * gettext: Moved ...
1424 * grub-core/gettext: ... to here.
1425 * gfxmenu: Moved ...
1426 * grub-core/gfxmenu: ... to here.
1427 * gnulib: Moved ...
1428 * grub-core/gnulib: ... to here.
1429 * hello: Moved ...
1430 * grub-core/hello: ... to here.
1431 * hook: Moved ...
1432 * grub-core/hook: ... to here.
1433 * io: Moved ...
1434 * grub-core/io: ... to here.
1435 * kern: Moved ...
1436 * grub-core/kern: ... to here.
1437 * lib: Moved ...
1438 * grub-core/lib: ... to here.
1439 * loader: Moved ...
1440 * grub-core/loader: ... to here.
1441 * mmap: Moved ...
1442 * grub-core/mmap: ... to here.
1443 * normal: Moved ...
1444 * grub-core/normal: ... to here.
1445 * partmap: Moved ...
1446 * grub-core/partmap: ... to here.
1447 * parttool: Moved ...
1448 * grub-core/parttool: ... to here.
1449 * script: Moved ...
1450 * grub-core/script: ... to here.
1451 * term: Moved ...
1452 * grub-core/term: ... to here
1453 * tests/example_functional_test.c: Moved ...
1454 * grub-core/tests/example_functional_test.c: ... to here.
1455 * tests/lib/functional_test.c: Moved ...
1456 * grub-core/tests/lib/functional_test.c: ... to here.
1457 * tests/lib/test.c: Moved ...
1458 * grub-core/tests/lib/test.c: ... to here.
1459 * video: Moved ...
1460 * grub-core/video: ... to here.
1461
1462 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
1463
1464 Replace --enable-grub-emu-modules with grub-emu-lite.
1465
1466 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
1467 cache.S.
1468
1469 * include/grub/emu/misc.h (grub_emu_init): New prototype.
1470 * kern/emu/full.c: New file. For grub-emu specific initialization.
1471 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
1472 * kern/emu/main.c: Call initialization function grub_emu_init.
1473
1474 * Makefile.in: Include grub-emu-lite in install.
1475 * commands/parttool.c: Use grub_no_autoload to differentiate
1476 between grub-emu and grub-emu-lite.
1477 * include/grub/misc.h: New variable grub_no_autoload.
1478
1479 * conf/any-emu.rmk: New rules for grub-emu-lite.
1480 * configure.ac: Remove --enable-grub-emu-modules.
1481 * genmk.rb: Cleanup unnecessary rules.
1482 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
1483
1484 * normal/main.c: Don't load list files on grub-emu-lite.
1485 * util/misc.c (grub_arch_sync_caches): Removed.
1486
1487 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
1488
1489 * kern/mips/startup.S (grub_prefix): Update comment to refer to
1490 grub-mkimage rather than grub-mkelfimage.
1491 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
1492
1493 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
1496 a key after CapsLock or NumLock. It's just a qemu bug.
1497
1498 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
1501 needed by libusb wrapper.
1502
1503 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
1504
1505 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
1506
1507 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
1510 --nounzip is passed.
1511
1512 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 USB hotunplugging and USB serial support.
1515
1516 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
1517 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
1518 (grub_uhci_transfer): Respect timeout and set *actual.
1519 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
1520 non-standard length.
1521 (grub_usb_device_attach): Autoload modules.
1522 (GRUB_MOD_INIT): Set grub_term_poll_usb.
1523 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
1524 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
1525 users updated.
1526 (grub_usb_add_hub): Fill nports and children.
1527 (attach_root_port): Receive hub instead of controller.
1528 All users updated. Fill hub->devices.
1529 (grub_usb_root_hub): Allocate hub->devices.
1530 (detach_device): New function.
1531 (poll_nonroot_hub): Fill children and detach devices.
1532 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
1533 actual arguments. All users updated.
1534 (grub_usb_bulk_read_extended): New function.
1535 * bus/usb/serial/common.c: New file.
1536 * bus/usb/serial/ftdi.c: Likewise.
1537 * bus/usb/serial/pl2303.c: Likewise.
1538 * commands/terminal.c (handle_command): Support wildcard.
1539 * commands/usbtest.c: Output "Unknown" instead of empty string.
1540 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
1541 (usbserial_common_mod_SOURCES): New variable.
1542 (usbserial_common_mod_CFLAGS): Likewise.
1543 (usbserial_common_mod_LDFLAGS): Likewise.
1544 (pkglib_MODULES): Add usbserial_pl2303.mod.
1545 (usbserial_pl2303_mod_SOURCES): New variable.
1546 (usbserial_pl2303_mod_CFLAGS): Likewise.
1547 (usbserial_pl2303_mod_LDFLAGS): Likewise.
1548 (pkglib_MODULES): Add usbserial_ftdi.mod.
1549 (usbserial_ftdi_mod_SOURCES): New variable.
1550 (usbserial_ftdi_mod_CFLAGS): Likewise.
1551 (usbserial_ftdi_mod_LDFLAGS): Likewise.
1552 (pkglib_MODULES): Add serial.mod.
1553 (serial_mod_SOURCES): New variable.
1554 (serial_mod_CFLAGS): Likewise.
1555 (serial_mod_LDFLAGS): Likewise.
1556 * conf/i386-pc.rmk: Likewise.
1557 * conf/mips-yeeloong.rmk: Likewise.
1558 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
1559 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
1560 * disk/usbms.c (first_available_slot): New variable.
1561 (grub_usbms_attach): Don't reuse free slots due to potential cache
1562 problems.
1563 * include/grub/serial.h: Moved to ..
1564 * include/grub/ns8250.h: ...this.
1565 * include/grub/serial.h: New file.
1566 * include/grub/term.h (grub_term_poll_usb): New variable.
1567 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
1568 readkey. All users updated.
1569 (grub_terminfo_output_state): Pass term to put.
1570 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
1571 (grub_usb_controller_dev): Add timeout and actual arguments to
1572 transfer. All users updated.
1573 (grub_usb_interface): New field detach_data.
1574 (grub_usb_device): New fields children and nports.
1575 (grub_usb_ep_type_t): New type.
1576 (grub_usb_get_ep_type): New function.
1577 (grub_usb_bulk_read_extended): Likewise.
1578 * include/grub/usbdesc.h (grub_usb_desc): New type.
1579 * include/grub/usbserial.h: New file.
1580 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
1581 * kern/term.c (grub_term_poll_usb): New variable.
1582 (grub_getkey): Call grub_term_poll_usb if set.
1583 (grub_checkkey): Likewise.
1584 (grub_getkeystatus): Likewise.
1585 * term/serial.c: Moved controller-specific parts to ...
1586 * term/ns8250.c: ... here.
1587 * term/serial.c: Mostly rewritten.
1588 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
1589 according to spec.
1590
1591 2010-08-20 Robert Millan <rmh@gnu.org>
1592
1593 Make kFreeBSD code more generic to support ext2fs as root, ufs as
1594 a separate module and maybe other interesting combinations.
1595
1596 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
1597 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
1598 (kfreebsd_entry): Add generic filesystem module load routine.
1599 Map GRUB `ext2' to kFreeBSD `ext2fs'.
1600
1601 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
1602
1603 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
1604 "numcenter" (I misunderstood the purpose of this entry).
1605 * docs/grub.texi (sendkey): Likewise.
1606
1607 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
1608
1609 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
1610 status flag options; simply omitting the option is equivalent and
1611 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
1612 (keysym_table): Rename "num5numlock" to "numlock".
1613 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
1614 can uniformly say that only the last of multiple `sendkey'
1615 invocations has any effect.
1616 * docs/grub.texi (sendkey): New section.
1617
1618 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
1619
1620 * commands/i386/pc/sendkey.c (options): Fix three typos.
1621
1622 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 Implement sendkey support.
1625
1626 * commands/i386/pc/sendkey.c: New file.
1627 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
1628 (sendkey_mod_SOURCES): New variable.
1629 (sendkey_mod_CFLAGS): Likewise.
1630 (sendkey_mod_LDFLAGS): Likewise.
1631
1632 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
1633
1634 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
1635 fix warnings from Autoconf.
1636
1637 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
1638
1639 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
1640 to avoid false positives with some assemblers that output things
1641 like "someprefix_func" as part of their output.
1642
1643 2010-08-15 Robert Millan <rmh@gnu.org>
1644
1645 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
1646 errors.
1647 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
1648 grub_get_libzfs_handle() errors.
1649
1650 2010-08-14 Robert Millan <rmh@gnu.org>
1651
1652 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
1653 filesystem is not ZFS.
1654
1655 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1656
1657 Fix for misspelled color names defaulting to black/black (bug
1658 reported by Doug Nazar)
1659
1660 * include/grub/normal.h (grub_parse_color_name_pair): Add return
1661 status to prototype.
1662 * normal/color.c (grub_parse_color_name_pair): Return failure
1663 status.
1664 (grub_env_write_color_normal): Ignore bad color names.
1665 (grub_env_write_color_highlight): Likewise.
1666 * normal/main.c (GRUB_MOD_INIT): Set default color names.
1667
1668 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1669
1670 "shift" command support to GRUB script.
1671
1672 * include/grub/script_sh.h (grub_script_shift): New prototype.
1673 * script/execute.c (grub_script_shift): New function.
1674 * script/main.c (grub_script_init): Register shift command.
1675 (grub_script_fini): Unregister shift command.
1676 * util/grub-script-check.c (grub_script_cmd_shift): New function.
1677
1678 * tests/grub_script_shift.in: New testcase.
1679 * conf/tests.rmk: Rules for new testcase.
1680
1681 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1682
1683 "continue" command support to GRUB script.
1684
1685 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
1686 (grub_script_break): Continue support.
1687 * script/main.c (grub_script_init): Register continue command.
1688 (grub_script_fini): Unregister continue command.
1689
1690 * tests/grub_script_continue.in: New testcase.
1691 * conf/tests.rmk: Rules for new testcase.
1692
1693 2010-08-12 BVK Chaitanya <bvk@dbook>
1694
1695 "break" command support to GRUB script.
1696
1697 * conf/common.rmk: Rule updates to grub-script-check.
1698 * include/grub/misc.h (grub_min): New function.
1699 * include/grub/script_sh.h (grub_script_init): New prototype.
1700 (grub_script_fini): New prototype.
1701 (grub_script_break): New prototype.
1702 * script/main.c (grub_script_init): New function.
1703 (grub_script_fini): New function.
1704 * script/execute.c (grub_script_break): New function.
1705 * normal/main.c: Calls to grub_script_{init,fini}.
1706 * util/grub-script-check.c (grub_script_break): New function.
1707
1708 * tests/grub_script_break.in: New testcase.
1709 * conf/tests.rmk: Rules for new test case.
1710
1711 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1712
1713 Function parameters support to GRUB script.
1714
1715 * script/yylex.l (VARIABLE): Regular expression update.
1716 * script/function.c (grub_script_function_call): Moved ...
1717 * script/execute.c (grub_script_function_call): ... to here.
1718 (grub_script_execute_arglist_to_argv): Removed.
1719 (grub_script_arglist_to_argv): New function.
1720 * script/argv.c: New file.
1721 (grub_script_argv_free): New function.
1722 (grub_script_argv_next): Likewise.
1723 (grub_script_argv_append): Likewise.
1724 (grub_script_argv_split_append): Likewise.
1725 * include/grub/script_sh.h (grub_script_argv): New struct.
1726 (grub_script_argv_free): New function.
1727 (grub_script_argv_next): Likewise.
1728 (grub_script_argv_append): Likewise.
1729 (grub_script_argv_split_append): Likewise.
1730
1731 * conf/common.rmk (normal.mod): New source script/argv.c.
1732
1733 * tests/grub_script_echo1.in: More tests.
1734 * tests/grub_script_vars1.in: Likewise.
1735 * tests/grub_script_functions.in: New test case.
1736 * conf/tests.rmk: Rules for new testcase.
1737
1738 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1739
1740 Remove grub_script_cmdblock struct.
1741
1742 * include/grub/script_sh.h: Remove grub_script_cmdblock.
1743 * script/parser.y: Likewise.
1744 * script/execute.c: Rename cmdblock suffix to cmdlist.
1745 * script/script.c: Likewise.
1746 * util/grub-script-check.c: Likewise.
1747
1748 2010-08-11 Yves Blusseau <blusseau@zetam.org>
1749
1750 * .bzrignore: add grub-macho2img
1751
1752 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
1755
1756 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 Remove the dump of sm712 initialisation sequence.
1759
1760 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
1761 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
1762 (GRUB_VGA_IO_MISC_WRITE): Likewise.
1763 (GRUB_VGA_CR_*): Added many registers.
1764 (GRUB_VGA_SR_*): Likewise.
1765 (GRUB_VGA_GR_*): Likewise.
1766 (grub_vga_write_arx): New function.
1767 (grub_video_hw_config): New struct.
1768 (grub_vga_set_geometry): New function.
1769 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
1770 GRUB_PCI_CLASS_SUBCLASS_VGA.
1771 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
1772 * video/sm712.c (grub_sm712_write_reg): New function
1773 (grub_sm712_read_reg): Likewise.
1774 (grub_sm712_sr_write): Likewise.
1775 (grub_sm712_gr_write): Likewise.
1776 (grub_sm712_cr_write): Likewise.
1777 (grub_sm712_write_arx): Likewise.
1778 (grub_sm712_cr_shadow_write): Likewise.
1779 (grub_sm712_write_dda_lookup): Likewise.
1780 (grub_video_sm712_setup): Initialise the video rather then
1781 blindly replay the dump.
1782 (main) [TEST]: Add a routine to be able to compile as standalone for
1783 tests.
1784 * video/sm712_init.c (sm712_init): Removed.
1785 (sm712_sr_seq1): New array.
1786 (sm712_sr_seq2): Likewise.
1787
1788 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * include/grub/vga.h: Add missing grub/pci.h include.
1791
1792 2010-08-10 Yves Blusseau <blusseau@zetam.org>
1793
1794 * util/grub-macho2img.c (main): fix typo
1795
1796 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
1799 (grub_vga_gr_read): Likewise.
1800 (grub_vga_cr_write): Likewise.
1801 (grub_vga_cr_read): Likewise.
1802 (grub_vga_sr_write): Likewise.
1803 (grub_vga_sr_read): Likewise.
1804 (grub_vga_palette_read): Likewise.
1805 (grub_vga_palette_write): Likewise.
1806 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
1807 (grub_sm712_sr_read): New function.
1808 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
1809 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
1810
1811 2010-08-09 Robert Millan <rmh@gnu.org>
1812
1813 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
1814 out unused variables on non-ZFS build.
1815
1816 2010-08-08 Robert Millan <rmh@gnu.org>
1817
1818 Fix path generation for sub-filesystems in ZFS.
1819
1820 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
1821 missing slash.
1822
1823 2010-08-08 Robert Millan <rmh@gnu.org>
1824
1825 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
1826
1827 2010-08-08 Robert Millan <rmh@gnu.org>
1828
1829 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
1830 exist, issue a proper error message (rely on `ls' for translated
1831 strings).
1832
1833 2010-08-08 Robert Millan <rmh@gnu.org>
1834
1835 Fix grub-probe invocation.
1836
1837 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
1838
1839 2010-08-04 Robert Millan <rmh@gnu.org>
1840
1841 * configure.ac: Remove checks for getfsstat() and getmntany().
1842 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
1843 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
1844 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
1845 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
1846 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
1847 function.
1848 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
1849 via find_mount_point_from_dir() and getfsstat() / getmntany().
1850
1851 2010-08-04 Robert Millan <rmh@gnu.org>
1852
1853 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
1854 (grub_find_zpool_from_mount_point): Merge into ...
1855 (grub_find_zpool_from_dir): ... this.
1856 * kern/emu/misc.c: Likewise.
1857
1858 * kern/emu/misc.c
1859 (grub_make_system_path_relative_to_its_root): Replace
1860 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
1861 with grub_find_zpool_from_dir().
1862 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
1863
1864 2010-08-04 Robert Millan <rmh@gnu.org>
1865
1866 Support OpenSolaris in ZFS device resolution.
1867
1868 * configure.ac: Check for getmntany().
1869 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
1870 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
1871 support.
1872
1873 2010-08-03 Robert Millan <rmh@gnu.org>
1874
1875 Fix grub-emu build.
1876
1877 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
1878 * include/grub/emu/misc.h: ... here.
1879
1880 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
1881 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
1882
1883 * util/misc.c: Remove `<grub/util/libzfs.h>'.
1884 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
1885 (grub_get_libzfs_handle): Move to ...
1886 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
1887 (grub_get_libzfs_handle): ... here.
1888
1889 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
1890
1891 * script/execute.c (grub_script_execute_cmdline): Check for NULL
1892 as command name case.
1893
1894 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
1895
1896 * disk/raid.c (insert_array): Select unique numbers for named arrays
1897 as well, for use as keys in the disk cache.
1898
1899 2010-08-01 Robert Millan <rmh@gnu.org>
1900
1901 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
1902 kFreeBSD device name, except on ZFS where the filesystem label is
1903 used.
1904 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
1905 `/boot/zfs/zpool.cache'.
1906 Set mountfrom kernel variable using ${kfreebsd_device}.
1907
1908 2010-08-01 Robert Millan <rmh@gnu.org>
1909
1910 Make it even harder to use uninitialized `libzfs_handle' (and
1911 make the interface a bit simpler).
1912
1913 * include/grub/util/misc.h (grub_util_init_libzfs)
1914 (libzfs_handle): Remove.
1915 (grub_get_libzfs_handle): New prototype.
1916
1917 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
1918 attribute.
1919 (grub_util_init_libzfs): Remove.
1920 (grub_get_libzfs_handle): New function.
1921
1922 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
1923 grub_get_libzfs_handle() to obtain a libzfs handle instead of
1924 accessing `libzfs_handle' directly.
1925
1926 2010-08-01 Robert Millan <rmh@gnu.org>
1927
1928 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
1929 (grub_find_zpool_from_mount_point): New function prototypes.
1930
1931 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
1932 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
1933
1934 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
1935 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
1936 `static' attribute.
1937
1938 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
1939 finding zpool from mount point into ...
1940 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
1941
1942 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
1943 requested path is part of a ZFS pool, use
1944 grub_find_zpool_from_mount_point() to detect its filesystem name,
1945 and generate a path with `/fsname@path' syntax.
1946
1947 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
1948
1949 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
1950 (void) rather than () so that this is a proper prototype.
1951
1952 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
1955
1956 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
1959 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
1960
1961 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
1962
1963 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
1964
1965 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
1966
1967 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
1968
1969 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
1970
1971 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
1972 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
1973 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
1974 disable gfxpayload.
1975 (Shell-like scripting): Add real content.
1976 (Serial terminal): Suggest `terminal_input serial; terminal_output
1977 serial' rather than putting the two commands on separate lines,
1978 since console input will be inoperative after the first command.
1979 (menuentry): Document --class, --users, and --hotkey options.
1980 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
1981 Vladimir Serbinenko).
1982
1983 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1984 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
1985
1986 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
1987
1988 2010-08-01 Robert Millan <rmh@gnu.org>
1989
1990 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
1991 (grub_find_zpool_from_mount_point): New function prototypes.
1992
1993 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
1994 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
1995
1996 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
1997 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
1998 `static' attribute.
1999
2000 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
2001 finding zpool from mount point into ...
2002 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
2003
2004 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
2005 requested path is part of a ZFS pool, use
2006 grub_find_zpool_from_mount_point() to detect its filesystem name,
2007 and generate a path with `/fsname@path' syntax.
2008
2009 2010-08-01 Robert Millan <rmh@gnu.org>
2010
2011 Prevent accidental use of uninitialized libzfs_handle.
2012
2013 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
2014 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
2015 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
2016
2017 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
2018
2019 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
2020 util/grub.d/10_linux.in). Fixes Debian bug #591093.
2021
2022 2010-08-01 Robert Millan <rmh@gnu.org>
2023
2024 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
2025
2026 2010-07-31 Robert Millan <rmh@gnu.org>
2027
2028 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
2029
2030 2010-07-31 Robert Millan <rmh@gnu.org>
2031
2032 * kern/emu/misc.c: Add missing license header.
2033
2034 2010-07-31 Robert Millan <rmh@gnu.org>
2035
2036 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
2037
2038 * include/grub/util/libnvpair.h: Include `<config.h>'.
2039 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
2040 declaring libnvpair prototypes ourselves.
2041 * include/grub/util/libzfs.h: Include `<config.h>'.
2042 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
2043 declaring libzfs prototypes ourselves.
2044
2045 (libzfs_handle): Moved to ...
2046 * include/grub/util/misc.h (libzfs_handle): ... here.
2047 Include `<grub/util/libzfs.h>'.
2048
2049 2010-07-30 Robert Millan <rmh@gnu.org>
2050
2051 * include/grub/emu/misc.h: Add missing license header.
2052
2053 2010-07-30 Robert Millan <rmh@gnu.org>
2054
2055 Enable `grub-probe -t device' resolution on ZFS.
2056
2057 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
2058 * include/grub/util/libnvpair.h: New file.
2059 * include/grub/util/libzfs.h: New file.
2060
2061 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
2062 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
2063 `<grub/util/libnvpair.h>'.
2064 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
2065
2066 (find_mount_point_from_dir): New static function.
2067 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
2068 function.
2069 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
2070 find_root_device_from_libzfs() before ressorting to find_root_device().
2071
2072 * include/grub/util/misc.h (grub_util_init_libzfs): New function
2073 prototype.
2074 * util/misc.c: Include `<grub/util/libzfs.h>'.
2075 (grub_util_init_libzfs): New function.
2076 [HAVE_LIBZFS] (libzfs_handle): New global variable.
2077 [HAVE_LIBZFS] (fini_libzfs): New static function.
2078 (grub_util_init_libzfs): New function.
2079 * util/grub-probe.c (main): Call grub_util_init_libzfs().
2080
2081 2010-07-30 Robert Millan <rmh@gnu.org>
2082
2083 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
2084 (xmalloc, xrealloc, xstrdup, xasprintf): Add
2085 `warn_unused_result' attribute.
2086 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
2087 (grub_xasprintf, grub_xvasprintf): Likewise.
2088 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
2089
2090 2010-07-29 Robert Millan <rmh@gnu.org>
2091
2092 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
2093 (probe): Handle `PRINT_FS_LABEL'.
2094 (main): Handle `-t fs_label'.
2095
2096 2010-07-29 Robert Millan <rmh@gnu.org>
2097
2098 * configure.ac: Remove grub-mkisofs checks.
2099
2100 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * util/ieee1275/grub-install.in: Don't use empty grub_device.
2103 Reported by: Lennart Sorensen.
2104
2105 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
2108 prior to terminal_input/terminal_output separation. It's been over 1.5
2109 years and those versions weren't widely deployed.
2110
2111 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
2112
2113 * disk/raid.c (insert_array): Don't count named arrays when looking
2114 for unused array numbers.
2115 Reported and tested by: Michael Guntsche.
2116
2117 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2118
2119 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
2120 implementation of this so that grub-emu links again, with a note
2121 that this should support hotplugging in the future.
2122
2123 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2124
2125 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
2126
2127 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2128
2129 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
2130 handle on failure.
2131 (grub_loopback_close): Remove empty function.
2132 (grub_loopback_dev): Remove close method.
2133
2134 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2135
2136 Disable EFI cursor when the EFI console becomes inactive.
2137
2138 * term/efi/console.c (grub_efi_console_init): New function.
2139 (grub_efi_console_fini): New function.
2140 (grub_console_term_output): Register init and fini methods.
2141
2142 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * tests/util/grub-shell-tester.in: Remove bashism and declare as
2145 sh script.
2146
2147 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * disk/loopback.c (grub_loopback): Replace filename with file.
2150 (delete_loopback): Handle new semantics.
2151 (grub_cmd_loopback): Likewise.
2152 (grub_loopback_iterate): Likewise.
2153 (grub_loopback_close): Likewise.
2154
2155 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
2158 with -p "".
2159 Reported by: Tito Keitel.
2160
2161 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * docs/grub.texi (Naming convention): Document new naming convention.
2164
2165 2010-07-20 Vadim Solomin <vadic052@gmail.com>
2166 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2167
2168 Generate device.map in something closer to the old ordering.
2169
2170 * util/deviceiter.c (struct device): New declaration.
2171 (compare_file_names): Rename to ...
2172 (compare_devices): ... this. Sort by kernel name in preference to
2173 the stable by-id name, but keep the latter as a fallback comparison.
2174 Update header comment.
2175 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
2176 of `struct device' rather than of plain file names.
2177
2178 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
2179
2180 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
2181 on i386.
2182
2183 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * commands/acpi.c (setup_common_tables): Use sizeof instead of
2186 hardcoding size.
2187 (setv1table): Likewise.
2188
2189 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2190
2191 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
2192 removing the homehost if present.
2193 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
2194 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
2195 removing the homehost if present.
2196 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
2197 if possible.
2198 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
2199
2200 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
2201 parameter. Set its pointer target to 0.
2202 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
2203 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
2204 `data_offset' value from the superblock for 1.x metadata.
2205 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
2206 data on the device.
2207 (insert_array): Record the start sector of data on the device.
2208 (grub_raid_register): Pass start_sector parameters to
2209 grub_raid_list->detect and insert_array.
2210 * include/grub/raid.h (struct grub_raid_array): Add start_sector
2211 member.
2212 (struct grub_raid): Add start_sector parameter to `detect'.
2213
2214 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
2215 __attribute__ ((packed)), leaving a comment.
2216 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
2217 (grub_mdraid_detect_09): ... here and ...
2218 (grub_mdraid_detect_1x): ... here.
2219
2220 2010-07-20 Peter Henn <peter.henn@web.de>
2221
2222 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
2223 chunk size and disk size, which are already given as sector counts
2224 as distinct from the 0.90 units. Fetch the correct device number
2225 from the role table instead of using the table index.
2226
2227 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
2228
2229 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
2230 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
2231 (WriteMostly1): New macro.
2232 Set array->name to NULL for metadata format 0.90. Add support for
2233 metadata 1.x. Fix some comments.
2234 * disk/raid.c (): Add support for name based RAID arrays. Fix a
2235 few comments.
2236 * util/getroot.c (grub_util_get_grub_dev): Add support for
2237 /dev/md/name style devices.
2238
2239 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2240
2241 * .bzrignore: Ignore 20_linux_xen.
2242
2243 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
2244
2245 * util/import_unicode.py: Remove unnecessary imports.
2246
2247 2010-07-17 Aleš Nesrsta <starous@volny.cz>
2248
2249 Hotplugging and USB hub support.
2250
2251 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
2252 (grub_ohci): Likewise.
2253 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
2254 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
2255 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
2256 (GRUB_OHCI_CTRL_EDS): Likewise.
2257 (GRUB_OHCI_BULK_EDS): Likewise.
2258 (GRUB_OHCI_TDS): Likewise.
2259 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
2260 (grub_ohci_ed_phys2virt): New function.
2261 (grub_ohci_virt_to_phys): Likewise.
2262 (grub_ohci_td_phys2virt): Likewise.
2263 (grub_ohci_td_virt2phys): Likewise.
2264 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
2265 attachment.
2266 (grub_ohci_find_ed): New function.
2267 (grub_ohci_alloc_td): Likewise.
2268 (grub_ohci_free_td): Likewise.
2269 (grub_ohci_free_tds): Likewise.
2270 (grub_ohci_transfer): Use previously allocated memory.
2271 (grub_ohci_portstatus): Reset status changed bit.
2272 (grub_ohci_detect_dev): Supply status changed.
2273 (grub_ohci_fini_hw): Free memory.
2274 (grub_ohci_restore_hw): Reallocate memory.
2275 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
2276 Reset status change.
2277 (grub_uhci_detect_dev): Supply status_change.
2278 * bus/usb/usb.c (attach_hooks): New var.
2279 (grub_usb_device_attach): New function.
2280 (grub_usb_register_attach_hook_class): Likewise.
2281 (grub_usb_unregister_attach_hook_class): Likewise.
2282 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
2283 (grub_usb_add_hub): Reset connection changed bit.
2284 (attach_root_port): New function.
2285 (grub_usb_root_hub): Likewise.
2286 (poll_nonroot_hub): Likewise.
2287 (grub_usb_poll_devices): Likewise.
2288 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
2289 * disk/usbms.c (grub_usbms_open): Use device hooks.
2290 (grub_usbms_iterate) :Poll devices.
2291 (grub_usbms_finddevs): Split into ...
2292 (grub_usbms_attach): ... this ...
2293 (grub_usbms_attach): ... and this.
2294 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
2295 in detect_dev.
2296 (grub_usb_interface): New fields attached and detach_hook.
2297 (grub_usb_attach_hook_class): New type.
2298 (grub_usb_attach_desc): New struct.
2299 (grub_usb_register_attach_hook_class): New function.
2300 (grub_usb_unregister_attach_hook_class): Likewise.
2301 (grub_usb_poll_devices): Likewise.
2302 (grub_usb_device_attach): Likewise.
2303 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
2304 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
2305
2306 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
2309 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
2310 delta determination style. Works with most NetBSD partitions too.
2311
2312 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
2315 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
2316
2317 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
2320
2321 2010-07-14 Anton Blanchard <anton@samba.org>
2322
2323 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
2324 ET_DYN files.
2325
2326 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2327
2328 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
2329
2330 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2331
2332 * kern/partition.c (grub_partition_check_containment): New function to
2333 check that a partition is physically contained in a parent. Since
2334 offsets are relative (and non-negative), this reduces to checking that
2335 the partition ends before its parent.
2336 (grub_partition_map_probe): Discard out-of-range sub-partitions.
2337 (grub_partition_iterate): Likewise.
2338 * include/grub/partition.h (grub_partition_map): Slightly more detailed
2339 comments.
2340 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
2341 partitions that start before their parent, and add debug printfs.
2342
2343 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
2344
2345 * Makefile.in (.SUFFIX): Spell correctly, as ...
2346 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
2347 bare module name without `.mod', e.g. `test') tried to invoke a
2348 Modula-2 compiler.
2349
2350 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
2351
2352 * README: Point to the Info manual.
2353
2354 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
2355
2356 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
2357 2nd superblock position from partition size.
2358
2359 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
2360
2361 * Makefile.in (MAINTAINER_CLEANFILES): Remove
2362 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
2363 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
2364 outputs.
2365
2366 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 Restructure SCSI .id handling.
2369 Reported and tested by: Aleš Nesrsta.
2370
2371 * disk/ata.c (grub_atapi_close): Removed. All users updated.
2372 (grub_atapi_dev): Changed .name to "ata". New field .id.
2373 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
2374 (grub_usbms_dev): New field .id.
2375 * disk/scsi.c (grub_scsi_iterate): Generate name.
2376 (grub_scsi_open): Parse name.
2377 * include/grub/scsi.h (grub_make_scsi_id): New function.
2378 (grub_scsi_dev): Change iterate and open to number instead of naming
2379 busses. All users updated.
2380 (grub_scsi): Remove name. Add .bus.
2381
2382 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * commands/help.c (grub_cmd_help): Fix a typo.
2385
2386 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
2389 Reported and tested by: Colin Watson.
2390
2391 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
2394 in this context.
2395
2396 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
2399
2400 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
2401
2402 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
2403 indentation.
2404
2405 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
2406
2407 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
2408 and disk/raid6_recover.c.
2409 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2410 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2411
2412 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
2413
2414 * term/gfxterm.c (repaint_schedulded): Rename to ...
2415 (repaint_scheduled): ... this. Update all callers.
2416 (repaint_was_schedulded): Rename to ...
2417 (repaint_was_scheduled): ... this. Update all callers.
2418
2419 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
2420
2421 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
2422 which we expect to be handled by upper layers.
2423
2424 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
2425
2426 * bus/usb/usbhub.c: #include time.h header.
2427
2428 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
2429
2430 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
2431 entry_name also for entries without stat blocks (e.g. ".."); fixes
2432 corruption of the first entry in a directory.
2433
2434 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
2435
2436 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
2437 after setting gfxterm as the active terminal. GRUB_BACKGROUND
2438 doesn't work otherwise.
2439
2440 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
2441
2442 * docs/grub.texi (Features): Update list of supported file systems.
2443 (GNU/Linux): Update for GRUB 2.
2444 (Serial terminal): Remove mention of --disable-serial, which was a
2445 GRUB Legacy configure option. Update instructions to use
2446 `terminal_input' and `terminal_output' rather than `terminal'.
2447 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
2448 configuration' and `Installing GRUB using grub-install'.
2449 (Menu entry editor): Update for GRUB 2.
2450 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
2451 Document new -a, -u, and -v options.
2452 (initrd): New section.
2453 (initrd16): New section.
2454 (linux): New section.
2455 (linux16): New section.
2456 (search): The `var' argument to `--set' is optional.
2457 (GRUB only offers a rescue shell): Go into a little more detail on
2458 drive ordering.
2459
2460 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
2461
2462 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
2463
2464 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
2465
2466 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
2467 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
2468
2469 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
2470
2471 * util/i386/pc/grub-setup.c (setup): Rename prefix to
2472 install_prefix, in line with install_dos_part and install_bsd_part.
2473 Add new prefix variable, which is copied to install_prefix after
2474 comparing core.img in memory with the one read from disk in the
2475 no-embedding case, and use that rather than overwriting
2476 install_prefix immediately when installing to a partition.
2477 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
2478 Bicakci.
2479
2480 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
2481
2482 * configure.ac: Avoid == in test command, it's not portable.
2483 * util/grub.d/30_os-prober.in: Likewise.
2484
2485 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
2486
2487 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
2488
2489 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
2490
2491 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
2492 multiple (top-level) partmaps.
2493
2494 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * util/i386/efi/grub-install.in: Don't use empty grub_device.
2497 Reported by: Tino Keitel.
2498
2499 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 Bidi and diacritics support.
2502
2503 * Makefile.in (widthspec.bin): New target.
2504 (widthspec.h): Likewise.
2505 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
2506 * autogen.sh: Generate unidata.c.
2507 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
2508 * commands/ls.c (grub_ls_list_devices): Likewise.
2509 (grub_ls_list_files): Likewise.
2510 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
2511 (grub_mini_cmd_lsmod): Likewise.
2512 * commands/read.c: Likewise.
2513 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
2514 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
2515 * lib/arg.c (grub_arg_show_help): Likewise.
2516 * lib/crypto.c (grub_password_get): Likewise.
2517 * normal/auth.c (grub_username_get): Likewise.
2518 * normal/misc.c (grub_normal_print_device_info): Likewise.
2519 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
2520 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
2521 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
2522 (normal/charset.c_DEPENDENCIES): New variable.
2523 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
2524 (pkglib_MODULES): Remove charset.mod.
2525 (charset_mod_SOURCES): Removed.
2526 (charset_mod_CFLAGS): Likewise.
2527 (charset_mod_LDFLAGS): Likewise.
2528 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
2529 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
2530 and term/tparm.c.
2531 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2532 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
2533 (kernel_img_HEADERS): Add terminfo.h.
2534 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
2535 Fill ->font. Reverse ascii bitmaps.
2536 (grub_font_get_xheight): New function.
2537 * font/font.c (grub_font_get_string_width): Moved from here ...
2538 * gfxmenu/font.c (grub_font_get_string_width): ... here.
2539 * font/font.c (grub_font_draw_string): Moved from here ...
2540 * gfxmenu/font.c (grub_font_draw_string): ... here.
2541 * font/font.c (grub_font_dup_glyph): New function.
2542 (grub_font_blit_glyph): Likewise.
2543 (grub_font_blit_glyph_mirror): Likewise.
2544 (blit_comb): Likewise.
2545 (grub_font_construct_dry_run): Likewise.
2546 (grub_font_get_constructed_device_width): Likewise.
2547 (grub_font_construct_glyph): Likewise.
2548 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
2549 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
2550 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
2551 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
2552 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
2553 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
2554 (grub_font_get_xheight): New proto.
2555 (grub_font_get_constructed_device_width): Likewise.
2556 (grub_font_construct_glyph): Likewise.
2557 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
2558 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
2559 * include/grub/font.h (grub_font_draw_string): Moved from here ...
2560 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
2561 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
2562 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
2563 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
2564 (grub_console_getcharwidth): Likewise.
2565 * include/grub/misc.h (grub_xputs): New proto.
2566 (grub_puts): Inlined.
2567 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
2568 (grub_normal_get_line_counter): Removed.
2569 (grub_install_newline_hook): Likewise.
2570 (grub_normal_get_char_counter): New proto.
2571 (grub_normal_reset_more): Likewise.
2572 (grub_xputs_normal): Likewise.
2573 * include/grub/powerpc/ieee1275/console.h: Removed.
2574 * include/grub/sparc64/ieee1275/console.h: Likewise.
2575 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
2576 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
2577 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
2578 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
2579 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
2580 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
2581 (grub_term_input): Pass reference to self. All users updated.
2582 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
2583 Pass reference to self. New fields normal_color, highlight_color and
2584 data. All users updated.
2585 (grub_putchar): Removed.
2586 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
2587 (grub_unicode_estimate_width): New function.
2588 (grub_term_getcharwidth): Add defaults.
2589 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
2590 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
2591 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
2592 (grub_cls): Remove EXPORT_FUNC.
2593 (grub_setcolorstate): Inline.
2594 (grub_newline_hook): Removed.
2595 * include/grub/terminfo.h: Rewritten. All users updated.
2596 * include/grub/unicode.h: New file.
2597 * include/grub/video.h (grub_video_signed_rect): New type.
2598 * kern/emu/console.c (grub_console_highlight_color): Removed.
2599 (grub_console_normal_color): Likewise.
2600 (grub_console_standard_color): Made static.
2601 (grub_ncurses_putchar): Remove mapping.
2602 (grub_ncurses_getcharwidth): Removed.
2603 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
2604 (grub_ncurses_setcolor): Removed.
2605 (grub_ncurses_getcolor): Likewise.
2606 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
2607 (grub_console_putchar): ... this.
2608 (grub_console_putchar): Handle argument difference.
2609 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
2610 console_init_early and console_init_lately.
2611 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
2612 * kern/misc.c (grub_puts): Removed.
2613 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
2614 (grub_vsnprintf_real): Remove str = NULL support.
2615 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
2616 * normal/charset.c (grub_utf8_to_ucs4): ... here.
2617 * kern/term.c (grub_putcode): Renamed to ...
2618 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
2619 (grub_putchar): Removed.
2620 (grub_xputs_dumb): New function.
2621 (grub_xputs): New variable.
2622 * lib/charset.c: Move from here ...
2623 * normal/charset.c: ... to here.
2624 (grub_ucs4_to_utf8): New function.
2625 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
2626 (join_types): New variable.
2627 (unpack_join): New function.
2628 (bidi_types): New variable.
2629 (unpack_bidi): New function.
2630 (get_bidi_type): Likewise.
2631 (get_join_type): Likewise.
2632 (is_mirrored): Likewise.
2633 (grub_unicode_get_comb_type): Likewise.
2634 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
2635 (is_type_after): Likewise.
2636 (grub_unicode_aglomerate_comb): Likewise.
2637 (bidi_line_wrap): Likewise.
2638 (grub_bidi_line_logical_to_visual): Likewise.
2639 (grub_bidi_logical_to_visual): Likewise.
2640 (grub_unicode_mirror_code): Likewise.
2641 (grub_unicode_shape_code): Likewise.
2642 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
2643 Don't use grub_putchar.
2644 * normal/main.c (grub_normal_init_page): Use grub_putcode.
2645 (grub_normal_reader_init): Likewise.
2646 (grub_xputs_saved): New variable.
2647 (GRUB_MOD_INIT): Set grub_xputs.
2648 (GRUB_MOD_FINI): Restore grub_xputs.
2649 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
2650 (menu_init): Avoid printing gfxmenu error.
2651 (show_menu): Use grub_normal_get_char_counter.
2652 * normal/menu_entry.c (update_screen): Fix out-of-array.
2653 (complete): Avoid NULL dereferencing.
2654 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
2655 * normal/menu_text.c (print_spaces): Removed.
2656 (grub_print_ucs4): Likewise.
2657 (grub_print_message_indented): Use grub_print_ucs4.
2658 (print_message): Use grub_putcode.
2659 (print_entry): Hanlde diacritics.
2660 * normal/term.c (term_state): New type.
2661 (grub_more_lines): Removed.
2662 (term_states): New variable.
2663 (grub_normal_line_counter): Renamed to ..
2664 (grub_normal_char_counter): ...this. All users updated.
2665 (grub_normal_get_line_counter): Renamed to ...
2666 (grub_normal_get_char_counter): ... this.
2667 (grub_normal_reset_more): New function.
2668 (process_newline): Removed.
2669 (print_more): New function.
2670 (grub_install_newline_hook): Removed.
2671 (map_code): New function.
2672 (grub_puts_terminal): Use grub_print_ucs4.
2673 (putglyph): New function.
2674 (putcode_real): Likewise.
2675 (grub_putcode): Use putcode_real.
2676 (get_maxwidth): New function.
2677 (get_startwidth): Likewise.
2678 (print_ucs4_terminal): Likewise.
2679 (find_term_state): Likewise.
2680 (put_glyphs_terminal): Likewise.
2681 (print_backlog): Likewise.
2682 (print_ucs4_real): Likewise.
2683 (grub_print_ucs4): Likewise.
2684 (grub_xputs_normal): Likewise.
2685 * term/efi/console.c (grub_console_putchar): Output diacritics.
2686 (grub_console_getcharwidth): Removed.
2687 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
2688 * term/gfxterm.c (clear_char): Free chars.
2689 (scroll_up): Avoid leaking memory.
2690 (grub_gfxterm_putchar): Support diacritics.
2691 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
2692 * term/i386/pc/console.c (grub_console_term_output): Declare as
2693 GRUB_TERM_CODE_TYPE_VGA.
2694 * term/i386/pc/vga.c (grub_vga_term): Declare as
2695 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
2696 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
2697 GRUB_TERM_CODE_TYPE_VGA.
2698 * term/i386/vga_common.c (map_char): Removed.
2699 (grub_console_putchar): Likewise.
2700 (grub_console_getcharwidth): Likewise.
2701 * term/ieee1275/ofconsole.c: Simplify using terminfo.
2702 (colors): Reordered to match terminfo.
2703 (grub_ofconsole_normal_color): Removed.
2704 (grub_ofconsole_writeesc): Likewise.
2705 (grub_ofconsole_highlight_color): Likewise.
2706 (grub_ofconsole_getcharwidth): Likewise.
2707 (grub_ofconsole_setcolorstate): Likewise.
2708 (grub_ofconsole_setcolor): Likewise.
2709 (grub_ofconsole_getcolor): Likewise.
2710 (grub_ofconsole_readkey): Renamed to ...
2711 (readkey): ... this. Remove escape sequence handling. Return -1 on no
2712 key.
2713 (grub_ofconsole_checkkey): Removed.
2714 (grub_ofconsole_getkey): Likewise.
2715 (grub_ofconsole_getxy): Likewise.
2716 (grub_ofconsole_gotoxy): Likewise.
2717 (grub_ofconsole_cls): Likewise.
2718 (grub_ofconsole_refresh): Likewise.
2719 (grub_ofconsole_terminfo_input): New struct.
2720 (grub_ofconsole_terminfo_output): Likewise.
2721 (grub_ofconsole_term_input): Use terminfo.
2722 (grub_ofconsole_term_output): Likewise.
2723 (grub_console_init): Split into ...
2724 (grub_console_init_early): ...this and ...
2725 (grub_console_init_lately): ...this. Use terminfo.
2726 (grub_ofconsole_putchar): Renamed to ...
2727 (put): ... this. Remove mapping.
2728 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
2729 * term/serial.c: Simplify using terminfo.
2730 (xpos): Removed.
2731 (ypos): Likewise.
2732 (keep_track): Likewise.
2733 (registered): Likewise.
2734 (input_buf): Likewise.
2735 (npending): Likewise.
2736 (serial_translate_key_sequence): Likewise.
2737 (fill_input_buf): Likewise.
2738 (grub_serial_checkkey): Likewise.
2739 (grub_serial_getkey): Likewise.
2740 (grub_serial_getxy): Likewise.
2741 (grub_serial_gotoxy): Likewise.
2742 (grub_serial_putchar): Likewise.
2743 (grub_serial_cls): Likewise.
2744 (grub_serial_setcolorstate): Likewise.
2745 (grub_serial_setcursor): Likewise.
2746 (serial_hw_init): Use serial_hw_fetch.
2747 (grub_serial_terminfo_input): New variable.
2748 (grub_serial_terminfo_output): Likewise.
2749 (grub_serial_term_input): Use terminfo.
2750 (grub_serial_term_output): Likewise.
2751 * term/terminfo.c (putstr): Use put.
2752 (grub_terminfo_all_free): New function
2753 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
2754 (grub_terminfo_output_register): New function.
2755 (grub_terminfo_output_unregister): Likewise.
2756 (grub_terminfo_getxy): Likewise.
2757 (grub_terminfo_readkey): Likewise.
2758 (grub_terminfo_checkkey): Likewise.
2759 (grub_terminfo_getkey): Likewise.
2760 (grub_terminfo_input_init): Likewise.
2761 (print_terminfo): Likewise.
2762 (grub_cmd_terminfo): Handle encoding.
2763 (grub_terminfo_gotoxy): Track position.
2764 (grub_terminfo_cls): Likewise.
2765 (grub_terminfo_putchar): Likewise.
2766 (grub_terminfo_setcolorstate): Handle colors
2767 (grub_terminfo_cursor_on): This ...
2768 (grub_terminfo_cursor_off): ... and this merged into ...
2769 (grub_terminfo_setcursor): ... this.
2770 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
2771 * unicode/ArabicShaping.txt: New file (imported from Unicode).
2772 * unicode/BidiMirroring.txt: Likewise.
2773 * unicode/UnicodeData.txt: Likewise.
2774 * unicode/COPYING: Likewise.
2775 * util/grub-editenv.c (grub_putchar): Removed.
2776 (grub_xputs_real): New function.
2777 (grub_xputs): New variable.
2778 * util/grub-fstest.c (grub_putchar): Removed.
2779 (grub_xputs_real): New function.
2780 (grub_xputs): New variable.
2781 * util/grub-mkdevicemap.c (grub_putchar): Removed.
2782 (grub_xputs_real): New function.
2783 (grub_xputs): New variable.
2784 * util/grub-probe.c (grub_putchar): Removed.
2785 (grub_xputs_real): New function.
2786 (grub_xputs): New variable.
2787 * util/grub-script-check.c (grub_putchar): Removed.
2788 (grub_xputs_real): New function.
2789 (grub_xputs): New variable.
2790 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
2791 (grub_xputs_real): New function.
2792 (grub_xputs): New variable.
2793 * util/import_unicode.py: New file.
2794 * util/grub-mkfont.c (ft_errmsgs): New array.
2795 (grub_glyph_info): Make bitmap a pointer.
2796 (file_formats): New type WIDTH_SPEC.
2797 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
2798 (options): Add width-spec.
2799 (help): Likewise.
2800 (add_char): Renamed to ...
2801 (add_glyph): ... this.
2802 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
2803 (glyph_replace): New type.
2804 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
2805 (add_char): New function.
2806 (add_subst): Likewise.
2807 (process_cursive): Likewise.
2808 (add_font): Handle GSUB.
2809 (write_font_width_spec): New function.
2810 (main): Sort glyphs.
2811 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
2812 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
2813 * kern/term.c (grub_cls): Moved from here...
2814 * normal/term.c (grub_cls): ... here.
2815
2816 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
2817
2818 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
2819 suitable for using within the format argument of printf when
2820 converting grub_size_t.
2821 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
2822 "x" to convert grub_size_t arguments.
2823
2824 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
2827 too long captions.
2828 (list_get_minimal_size): Take selection box into account.
2829
2830 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
2833 NULL font.
2834
2835 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
2836
2837 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
2838 devices when iterating over /dev/disk/by-id; they will be handled
2839 later if appropriate, which they aren't always (e.g. LVM).
2840
2841 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
2842
2843 * include/grub/misc.h (grub_reboot): Declare as noreturn.
2844 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
2845 fails.
2846 (grub_halt): Likewise.
2847 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
2848 reset-all fails.
2849 (grub_halt): Don't return, even if all of shut-down, power-off, and
2850 poweroff fail.
2851
2852 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
2853
2854 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
2855 arguments, not three.
2856
2857 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
2858
2859 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
2860 * util/grub.d/10_linux.in: Use it to check for LVM, so that
2861 LVM-on-RAID is handled correctly.
2862
2863 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
2864
2865 * docs/grub.texi (Changes from GRUB Legacy): New section.
2866 (Future): Fix typo.
2867
2868 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
2869
2870 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
2871 grub.d/README accidentally ends up executable for one reason or
2872 another. Ignore it.
2873
2874 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
2877 (gpt_partition_map_iterate): Support non-512B sectors.
2878
2879 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * kern/efi/init.c (grub_efi_init): Disable watchdog.
2882 Tested by: Seth Goldberg.
2883
2884 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
2887 Properly align mbi.
2888 Reported by: Seth Goldberg.
2889
2890 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * util/grub-mkrescue.in: Avoid module duplication.
2893
2894 2010-07-01 Sean Finney <seanius@seanius.net>
2895
2896 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
2897
2898 2010-07-01 Sean Finney <seanius@seanius.net>
2899
2900 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
2901
2902 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * disk/lvm.c (grub_lvm_checkvalue): New function.
2905 (grub_lvm_check_flag): Likewise.
2906
2907 2010-07-01 Robert Millan <rmh@gnu.org>
2908
2909 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
2910 Support 'p' as partition separator on kernel of FreeBSD (used
2911 with GPT labels).
2912 (grub_util_biosdisk_get_grub_dev): Likewise.
2913
2914 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 Yeeloong firmware port.
2917
2918 * boot/mips/yeeloong/fwstart.S: New file.
2919 * bus/cs5536.c (gpiodump): New const.
2920 (set_io_space): New function.
2921 (set_iod): Likewise.
2922 (set_p2d): Likewise.
2923 (grub_cs5536_init_geode): Likewise.
2924 * commands/mips/yeeloong/lsspd.c: New file.
2925 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
2926 (serial_mod_SOURCES): New variable.
2927 (serial_mod_CFLAGS): Likewise.
2928 (serial_mod_LDFLAGS): Likewise.
2929 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
2930 term/terminfo.c and term/tparm.c.
2931 (pkglib_IMAGES): Add fwstart.img.
2932 (fwstart_img_SOURCES): New variable.
2933 (fwstart_img_CFLAGS): Likewise.
2934 (fwstart_img_ASFLAGS): Likewise.
2935 (fwstart_img_LDFLAGS): Likewise.
2936 (fwstart_img_FORMAT): Likewise.
2937 (pkglib_MODULES): Add lsspd.mod.
2938 (lsspd_mod_SOURCES): New variable.
2939 (lsspd_mod_CFLAGS): Likewise.
2940 (lsspd_mod_LDFLAGS): Likewise.
2941 (pkglib_MODULES): Add halt.mod.
2942 (halt_mod_SOURCES): New variable.
2943 (halt_mod_CFLAGS): Likewise.
2944 (halt_mod_LDFLAGS): Likewise.
2945 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
2946 (serial_mod_SOURCES): Removed.
2947 (serial_mod_CFLAGS): Likewise.
2948 (serial_mod_LDFLAGS): Likewise.
2949 * disk/ata.c (check_device): New function.
2950 (grub_ata_device_initialize): Use check_device.
2951 (grub_ata_iterate): Recheck devices.
2952 (grub_ata_open): Likewise.
2953 (grub_atapi_iterate): Likewise.
2954 (grub_atapi_open): Likewise.
2955 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
2956 (GRUB_ATA_CH1_PORT1): Likewise.
2957 (GRUB_ATA_CH0_PORT2): Likewise.
2958 (GRUB_ATA_CH1_PORT2): Likewise.
2959 * include/grub/mips/loongson.h: New file.
2960 * include/grub/mips/yeeloong/ec.h: Likewise.
2961 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
2962 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
2963 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
2964 * include/grub/misc.h (grub_halt): Declare as noreturn.
2965 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
2966 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
2967 (UART_ENABLE_FIFO_TRIGGER1): New definition.
2968 (UART_ENABLE_DTRRTS): Likewise.
2969 (UART_ENABLE_MODEM): Removed.
2970 (UART_ENABLE_OUT2): New const.
2971 * include/grub/term.h (grub_term_register_input_active): New function.
2972 (grub_term_register_output_active): Likewise.
2973 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
2974 argument.
2975 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
2976 (init_pci): New function.
2977 (grub_machine_init): Execute platform init when firmware. Init serial.
2978 (grub_halt): Implement.
2979 (grub_exit): Likewise.
2980 (grub_reboot): Likewise.
2981 * term/serial.c (serial_hw_init): Update macros.
2982 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
2983 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
2984 (image_targets): New target mipsel-yeeloong-flash.
2985 (generate_image): Support IMAGE_YEELOONG_FLASH.
2986 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
2987 (grub_video_sm712_setup): Init card.
2988 (grub_video_sm712_set_palette): Removed.
2989 * video/sm712_init.c: New file.
2990
2991 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
2992
2993 * Makefile.in (install-local): Temporarily prepend $(builddir) to
2994 PATH when running help2man and then run it on the unadorned
2995 executable names, rather than passing $(builddir)/* paths to
2996 help2man. This avoids the build directory ending up in generated
2997 manual pages.
2998
2999 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
3000
3001 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
3002 to avoid accidents when debugging with 'sh -x'.
3003 * util/grub-mkrescue.in: Likewise.
3004 * util/grub.d/00_header.in: Likewise.
3005 * util/grub.d/10_hurd.in: Likewise.
3006 * util/grub.d/10_kfreebsd.in: Likewise.
3007 * util/grub.d/10_linux.in: Likewise.
3008 * util/grub.d/10_netbsd.in: Likewise.
3009 * util/grub.d/10_windows.in: Likewise.
3010 * util/grub.d/20_linux_xen.in: Likewise.
3011 * util/grub.d/30_os-prober.in: Likewise.
3012 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3013
3014 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
3015
3016 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
3017 last character in the buffer.
3018 Reported by: Vladimir Serbinenko.
3019
3020 2010-06-29 Robert Millan <rmh@gnu.org>
3021
3022 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
3023 (Command-line and menu entry commands): Document `badram' command.
3024
3025 2010-06-28 Robert Millan <rmh@gnu.org>
3026
3027 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
3028 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
3029 command using ${GRUB_BADRAM} as parameter.
3030
3031 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
3032
3033 * docs/grub.texi (Device map): New section.
3034 (Themes): New section (stub).
3035 * Makefile.in (docs/grub.info): The info documentation now builds
3036 without errors. Make sure it stays that way.
3037
3038 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 Use normal parser for menu entries.
3041 Reported by: Thomas Frauendorfer
3042
3043 * include/grub/parser.h (grub_parser_execute): Don't export.
3044 * normal/menu.c (grub_menu_execute_entry_real): New function.
3045 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
3046
3047 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
3048
3049 * docs/grub.texi (Embedded configuration): New section (replacing
3050 old "Preset Menu" stub).
3051 (Images): New section.
3052 (configfile): Note that any menu entries defined in `file' are shown
3053 immediately.
3054
3055 2010-06-28 Josh Triplett <josh@joshtriplett.org>
3056
3057 * mmap/i386/pc/mmap_helper.S: Set CF on return.
3058
3059 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
3060
3061 * util/grub-install.in: Add --debug-image= option.
3062
3063 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
3064
3065 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
3066 possible on Linux.
3067
3068 * util/deviceiter.c (check_device): Rename to ...
3069 (check_device_readable_unique): ... this. Update all callers.
3070 Maintain and check a list of which devices (by canonicalized name)
3071 have already been seen.
3072 (clear_seen_devices): New function.
3073 (compare_file_names) [__linux__]: New function.
3074 (grub_util_iterate_devices): Clear the list of seen devices on exit
3075 and (just in case) on entry.
3076 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
3077 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
3078 seen-devices list, superseded by general code in check_device.
3079
3080 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
3081
3082 * commands/cat.c (options): New variable.
3083 (grub_cmd_cat): Parse options. If the --dos option is given, print
3084 DOS-style "\r\n" line endings as simple newlines (Debian bug
3085 #586358).
3086 (GRUB_MOD_INIT): Use extcmd.
3087 (GRUB_MOD_FINI): Likewise.
3088 * docs/grub.texi (cat): Document --dos.
3089
3090 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 XEN with Linux grub-mkconfig support.
3093
3094 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
3095 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
3096 GRUB_CMDLINE_XEN_DEFAULT.
3097 * util/grub.d/20_linux_xen.in: New file.
3098
3099 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 Initialise VGA video on qemu ourselves.
3102
3103 * boot/i386/qemu/boot.S: Don't call 0xc000.
3104 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
3105 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
3106 (kernel_img_HEADERS): Add pci.h.
3107 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
3108 * configure.ac: Force unifont on qemu and yeeloong.
3109 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
3110 (grub_vga_palette_write): Use correct register.
3111 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
3112 Call grub_qemu_init_cirrus.
3113 * kern/i386/qemu/init.c: New file.
3114 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
3115
3116 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
3117
3118 2010-06-26 Pavel Roskin <proski@gnu.org>
3119
3120 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
3121 13.
3122
3123 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
3124
3125 * docs/grub.texi (Simple configuration): Explain that
3126 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
3127 set to `true' to disable their respective recovery entries, not
3128 merely set.
3129
3130 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
3131
3132 Make the `source' command slightly faster.
3133
3134 * normal/main.c (grub_normal_execute): Don't re-read list files when
3135 nested.
3136
3137 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
3138
3139 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
3140 field position and mask size to red fields from mode_info, not
3141 green.
3142 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
3143 Remove redundant tag->common.framebuffer_type assignment.
3144 Reported by: Seth Goldberg.
3145
3146 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
3147
3148 Sync up other versions of the Linux loader with Robert Millan's
3149 change of 2010-01-09, "Make loader output a bit more user-friendly".
3150
3151 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
3152 grub_dprintf().
3153 (grub_cmd_linux): Likewise.
3154 (grub_cmd_initrd): Likewise.
3155 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
3156 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3157
3158 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
3159
3160 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
3161 larger than MEMORY_MAP_SIZE.
3162
3163 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
3164
3165 Fix parallel build.
3166
3167 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
3168 dependency.
3169 * script/parser.y: #include grub_script.tab.h header.
3170
3171 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 Support >3GiB and <16MiB RAM in i386-qemu.
3174
3175 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
3176 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
3177 (grub_lower_mem): Removed.
3178 (grub_upper_mem): Likewise.
3179 (mem_size): Made static.
3180 (above_4g): New variable.
3181 (grub_machine_mmap_init): Detect small mem_size and above_4g.
3182 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
3183 support.
3184
3185 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 Cirrus 5446 and Bochs video cards support.
3188
3189 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
3190 video_bochs.mod
3191 (video_cirrus_mod_SOURCES): New variable.
3192 (video_cirrus_mod_CFLAGS): Likewise.
3193 (video_cirrus_mod_LDFLAGS): Likewise.
3194 (video_bochs_mod_SOURCES): Likewise.
3195 (video_bochs_mod_CFLAGS): Likewise.
3196 (video_bochs_mod_LDFLAGS): Likewise.
3197 * include/grub/vga.h: New file.
3198 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
3199 (grub_video_fb_set_page_t): New type.
3200 (grub_video_fb_setup): New prototype.
3201 (grub_video_fb_swap_buffers): Likewise.
3202 (grub_video_fb_get_info_and_fini): Likewise.
3203 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
3204 (CRTC_DATA_PORT): Likewise.
3205 (CRTC_CURSOR): Likewise.
3206 (CRTC_CURSOR_ADDR_HIGH): Likewise.
3207 (CRTC_CURSOR_ADDR_LOW): Likewise.
3208 (CRTC_CURSOR_DISABLE): Likewise.
3209 (update_cursor): Use grub_vga_cr_write.
3210 (grub_vga_text_setcursor): Likewise.
3211 * video/bochs.c: New file.
3212 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
3213 (palette): Likewise.
3214 (palette_size): Likewise.
3215 (framebuffer): New variable.
3216 (grub_video_fb_init): Use 'framebuffer'.
3217 (grub_video_fb_fini): Likewise.
3218 (grub_video_fb_get_info): Likewise.
3219 (grub_video_fb_get_palette): Likewise.
3220 (grub_video_fb_set_palette): Likewise.
3221 (grub_video_fb_set_viewport): Likewise.
3222 (grub_video_fb_get_viewport): Likewise.
3223 (grub_video_fb_map_color): Likewise.
3224 (grub_video_fb_map_rgb): Likewise.
3225 (grub_video_fb_map_rgba): Likewise.
3226 (grub_video_fb_unmap_color): Likewise.
3227 (grub_video_fb_unmap_color_int): Likewise.
3228 (grub_video_fb_fill_rect): Likewise.
3229 (grub_video_fb_blit_bitmap): Likewise.
3230 (grub_video_fb_blit_render_target): Likewise.
3231 (grub_video_fb_scroll): Likewise.
3232 (grub_video_fb_create_render_target): Likewise.
3233 (grub_video_fb_doublebuf_blit_init): Likewise.
3234 (grub_video_fb_set_active_render_target): Handle doublebuffering.
3235 (doublebuf_pageflipping_update_screen): New function.
3236 (doublebuf_pageflipping_init): Likewise.
3237 (grub_video_fb_setup): Likewise.
3238 (grub_video_fb_swap_buffers): Likewise.
3239 (grub_video_fb_get_info_and_fini): Likewise.
3240 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
3241 All users updated.
3242 (doublebuf_pageflipping_commit): Restructured into ...
3243 (doublebuf_pageflipping_set_page): ... this.
3244 (doublebuf_pageflipping_update_screen): Removed.
3245 (doublebuf_pageflipping_init): Likewise.
3246 (double_buffering_init): Likewise.
3247 (grub_video_vbe_setup): Use grub_video_fb_setup.
3248 (grub_video_vbe_swap_buffers): Removed.
3249 (grub_video_vbe_set_active_render_target): Likewise.
3250 (grub_video_vbe_get_active_render_target): Likewise.
3251 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
3252 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
3253 grub_video_fb_set_active_render_target and
3254 grub_video_fb_get_active_render_target.
3255 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
3256 (SEQUENCER_DATA_PORT): Likewise.
3257 (MAP_MASK_REGISTER): Likewise.
3258 (CRTC_ADDR_PORT): Likewise.
3259 (CRTC_DATA_PORT): Likewise.
3260 (START_ADDR_HIGH_REGISTER): Likewise.
3261 (START_ADDR_LOW_REGISTER): Likewise.
3262 (GRAPHICS_ADDR_PORT): Likewise.
3263 (GRAPHICS_DATA_PORT): Likewise.
3264 (READ_MAP_REGISTER): Likewise.
3265 (INPUT_STATUS1_REGISTER): Likewise.
3266 (INPUT_STATUS1_VERTR_BIT): Likewise.
3267 (get_map_mask): Use grub_vga_sr_read.
3268 (set_map_mask): Use grub_vga_sr_write.
3269 (set_read_map): Use grub_vga_gr_write.
3270 (set_start_address): Use grub_vga_cr_write.
3271 * video/sm712.c (framebuffer): Remove leftover fields.
3272
3273 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
3274
3275 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
3276 setting GRUB_VIDEO_BACKEND. Make it available as a user override
3277 instead. Replace the gfxterm backend check with a check that
3278 ${GRUB_PREFIX}/video.lst is non-empty.
3279 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
3280 again.
3281 (load_video): New generated function. Call it before loading
3282 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
3283 * util/grub.d/10_linux.in (linux_entry): Call load_video.
3284 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
3285 * docs/grub.texi (Simple configuration): Document
3286 GRUB_VIDEO_BACKEND.
3287
3288 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 Use video functions in linux and xnu loaders.
3291
3292 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
3293 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
3294 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
3295 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
3296 loader/i386/pc/linux.c.
3297 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
3298 (find_line_len): Removed.
3299 (find_framebuf): Likewise.
3300 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
3301 * loader/i386/efi/xnu.c: Removed.
3302 * loader/i386/pc/xnu.c: Moved from here...
3303 * loader/i386/xnu.c: ...here.
3304
3305 Enable priorities in video drivers.
3306
3307 * include/grub/video.h (grub_video_adapter_prio_t): New type.
3308 (grub_video_adapter): New field prio.
3309 (grub_video_register): Respect prio when inserting.
3310 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
3311 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
3312 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
3313 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
3314 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
3315 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
3316 * video/sm712.c (grub_video_sm712_adapter): Likewise.
3317
3318 Fix SDL driver ID.
3319
3320 * include/grub/video.h (grub_video_driver_id_t): New value
3321 GRUB_VIDEO_DRIVER_SDL.
3322 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
3323
3324 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
3325
3326 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
3327 argument to printf.
3328 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3329
3330 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
3331
3332 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
3333 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3334
3335 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
3336
3337 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
3338 directly, and recommend grub-install instead.
3339 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3340
3341 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
3342
3343 Fix i386-pc prefix handling with nested partitions (Debian bug
3344 #585068). Note that the case where the core image is booted using
3345 multiboot and relocated from its original location still requires
3346 more work.
3347
3348 * kern/i386/pc/init.c (make_install_device): If the prefix starts
3349 with "(,", fill the boot drive in between those two characters, but
3350 expect that a full partition specification including partition map
3351 names will follow.
3352 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
3353 specified, write a prefix without the drive name but including a
3354 full partition specification.
3355
3356 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
3357
3358 * util/grub-mkconfig.in: Ignore non-option arguments, for
3359 compatibility with older versions (before 2010-06-12) which did the
3360 same. In particular, this makes it easier to ship an update-grub
3361 wrapper which is compatible with that used with GRUB Legacy (Debian
3362 bug #586056).
3363
3364 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3365
3366 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
3367 for manual page generation.
3368
3369 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3370
3371 * po/POTFILES: Remove leftover commands/handler.c.
3372
3373 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
3374
3375 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
3376 left this script non-functional.
3377
3378 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
3379
3380 * docs/man/grub-emu.h2m: New file.
3381
3382 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
3383
3384 * docs/grub.texi (Commands): Document reduced command set in rescue
3385 mode.
3386 (cpuid): New section.
3387
3388 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
3389
3390 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
3391 new partition naming style.
3392 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
3393
3394 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
3395
3396 Add "-o grub.iso" like cmdline options support.
3397
3398 * util/grub-install.in: Improve cmdline option parsing.
3399 * util/grub-mkconfig.in: Likewise.
3400 * util/grub-mkrescue.in: Likewise.
3401 * util/grub-reboot.in: Likewise.
3402 * util/grub-set-default.in: Likewise.
3403 * util/i386/efi/grub-install.in: Likewise.
3404 * util/ieee1275/grub-install.in: Likewise.
3405 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3406
3407 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
3408
3409 * .bzrignore: Ignore 41_custom.
3410
3411 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
3412
3413 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
3414
3415 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
3416
3417 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
3418 prototype declarations.
3419
3420 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
3421 generating fs, partmap, and video lists.
3422 * include/grub/fs.h (grub_fs_register): Omit prototype if
3423 GRUB_LST_GENERATOR is defined.
3424 * include/grub/partition.h (grub_partition_map_register): Likewise.
3425 * include/grub/video.h (grub_video_register): Likewise.
3426
3427 2010-06-12 Javier Martín <lordhabbit@gmail.com>
3428
3429 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
3430
3431 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
3432
3433 * util/grub-mkrescue.in: Support --xorriso argument.
3434
3435 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
3438 Suggested by: Thomas Schmitt.
3439
3440 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3441
3442 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
3443 Suggested by: Thomas Schmitt.
3444
3445 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 custom.cfg support.
3448
3449 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
3450 * util/grub.d/41_custom.in: New file.
3451
3452 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
3453
3454 * util/grub-mkrescue.in (make_image): Remove sh module, which has
3455 been merged back into normal.
3456
3457 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
3458
3459 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
3460 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
3461
3462 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
3463
3464 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
3465 when generating manual pages.
3466 * docs/man/grub-bin2h.h2m: New file.
3467 * docs/man/grub-editenv.h2m: New file.
3468 * docs/man/grub-fstest.h2m: New file.
3469 * docs/man/grub-install.h2m: New file.
3470 * docs/man/grub-macho2img.h2m: New file.
3471 * docs/man/grub-mkconfig.h2m: New file.
3472 * docs/man/grub-mkdevicemap.h2m: New file.
3473 * docs/man/grub-mkfont.h2m: New file.
3474 * docs/man/grub-mkimage.h2m: New file.
3475 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
3476 * docs/man/grub-mkrelpath.h2m: New file.
3477 * docs/man/grub-mkrescue.h2m: New file.
3478 * docs/man/grub-ofpathname.h2m: New file.
3479 * docs/man/grub-pe2elf.h2m: New file.
3480 * docs/man/grub-probe.h2m: New file.
3481 * docs/man/grub-reboot.h2m: New file.
3482 * docs/man/grub-script-check.h2m: New file.
3483 * docs/man/grub-set-default.h2m: New file.
3484 * docs/man/grub-setup.h2m: New file.
3485
3486 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 Use FOR_* macros instead of *_iterate whenever possible.
3489
3490 * commands/handler.c: Removed.
3491 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
3492 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
3493 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
3494 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
3495 (grub_probe_SOURCES): Remove kern/parser.c.
3496 (util/grub-script-check.c_DEPENDENCIES): Removed.
3497 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
3498 and grub_script_check_init.c.
3499 (grub_script_check_init.lst): Removed.
3500 (grub_script_check_init.h): Likewise.
3501 (grub_script_check_init.c): Likewise.
3502 (pkglib_MODULES): Remove handler.mod and sh.mod.
3503 (handler_mod_SOURCES): Removed.
3504 (handler_mod_CFLAGS): Likewise.
3505 (handler_mod_LDFLAGS): Likewise.
3506 (normal_mod_SOURCES): Remove normal/handler.c.
3507 Add script/main.c, script/script.c, script/execute.c,
3508 script/function.c, script/lexer.c, grub_script.tab.c
3509 and grub_script.yy.c.
3510 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
3511 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3512 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
3513 (grub_setup_SOURCES): Remove kern/parser.c.
3514 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
3515 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
3516 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3517 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3518 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
3519 (grub_setup_SOURCES): Remove kern/parser.c.
3520 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
3521 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
3522 * include/grub/command.h (grub_command_iterate): Removed.
3523 (FOR_COMMANDS): New macro.
3524 * include/grub/dl.h (grub_dl): New member next.
3525 (grub_dl_iterate): Removed.
3526 (grub_dl_head): New variable declaration.
3527 (FOR_DL_MODULES): New macro.
3528 * include/grub/fs.h: Include list.h.
3529 (grub_fs): Make next first element.
3530 (grub_fs_list): New variable declaration.
3531 (grub_fs_register): Make inline.
3532 (grub_fs_unregister): Likewise.
3533 (grub_fs_iterate): Removed.
3534 (FOR_FILESYSTEMS): New macro.
3535 * include/grub/handler.h: Removed.
3536 * include/grub/list.h (grub_list_hook_t): Removed.
3537 (grub_list_test_t): Likewise.
3538 (grub_list_pop): Likewise.
3539 (grub_list_iterate): Likewise.
3540 (grub_list_insert): Likewise.
3541 (FOR_LIST_ELEMENTS): New macro.
3542 * include/grub/parser.h (grub_parser_class): Removed.
3543 (grub_parser_register): Likewise.
3544 (grub_parser_unregister): Likewise.
3545 (grub_parser_get_current): Likewise.
3546 (grub_parser_set_current): Likewise.
3547 (grub_register_rescue_parser): Likewise.
3548 (grub_rescue_parse_line): New function.
3549 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
3550 * include/grub/script_sh.h (grub_script_function_list): New variable
3551 declaration.
3552 (FOR_SCRIPT_FUNCTIONS): New macro.
3553 (grub_script_function_iterate): Removed.
3554 (grub_normal_parse_line): New prototype.
3555 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
3556 (FOR_DISABLED_TERM_INPUTS): Likewise.
3557 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
3558 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
3559 * include/grub/video.h (grub_video_adapter): Move 'next' to first
3560 element.
3561 (grub_video_register): Inline.
3562 (grub_video_unregister): Likewise.
3563 (grub_video_adapter_list): New variable declaration.
3564 (grub_video_iterate): Removed.
3565 (FOR_VIDEO_ADAPTERS): New macro.
3566 * kern/dl.c (grub_dl_list): Removed. All users updated.
3567 (grub_dl_iterate): Removed.
3568 * kern/fs.c (grub_fs_list): Make global.
3569 (grub_fs_register): Removed.
3570 (grub_fs_unregister): Likewise.
3571 (grub_fs_iterate): Likewise.
3572 * kern/handler.c: Removed.
3573 * kern/list.c (grub_list_pop): Removed.
3574 (grub_list_iterate): Likewise.
3575 (grub_list_insert): Likewise.
3576 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
3577 (grub_prio_list_insert): Don't use grub_list_insert.
3578 * kern/main.c (grub_register_rescue_parser): Don't call
3579 grub_register_rescue_parser.
3580 * kern/parser.c (grub_parser_class): Removed.
3581 (grub_parser_execute): Use grub_rescue_parse_line.
3582 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
3583 (grub_rescue_parser): Removed.
3584 (grub_register_rescue_parser): Likewise.
3585 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
3586 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
3587 (grub_auth_check_authentication): Likewise.
3588 * normal/completion.c (iterate_command): Removed.
3589 (grub_normal_do_completion): Use FOR_COMMANDS.
3590 * normal/handler.c: Removed.
3591 * normal/main.c (read_config_file): Remove parser changing.
3592 (grub_normal_execute): Don't call read_handler_list.
3593 (grub_normal_read_line_real): Statically allocate prompt.
3594 (grub_cmdline_run): Use grub_normal_parse_line.
3595 (GRUB_MOD_FINI): Don't call free_handler_list.
3596 * normal/menu_entry.c (run): Likewise.
3597 * script/function.c (grub_script_function_list): Make global.
3598 (grub_script_function_iterate): Removed.
3599 * script/main.c (grub_normal_parse_line): Make global.
3600 (grub_sh_parser): Removed.
3601 (GRUB_MOD_INIT): Likewise.
3602 (GRUB_MOD_FINI): Likewise.
3603 * tests/lib/functional_test.c (grub_functional_test): Use
3604 FOR_LIST_ELEMENTS.
3605 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
3606 (grub_test_run): Use FOR_LIST_ELEMENTS.
3607 * tests/lib/unit_test.c (main): Likewise.
3608 * util/deviceiter.c (grub_util_iterate_devices): Don't use
3609 grub_list_pop.
3610 * util/grub-fstest.c (grub_term_input_class): Removed.
3611 (grub_term_output_class): Likewise.
3612 * util/grub-probe.c: Likewise.
3613 * util/i386/pc/grub-setup.c: Likewise.
3614 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3615 * util/grub-script-check.c (main): Don't call grub_init_all and
3616 grub_fini_all.
3617 * video/video.c (grub_video_adapter_list): Make global.
3618 (grub_video_register): Removed.
3619 (grub_video_unregister): Likewise.
3620 (grub_video_iterate): Likewise.
3621
3622 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
3625 reported by Henrique Ferreiro.
3626
3627 2010-06-09 Robert Millan <rmh@gnu.org>
3628
3629 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
3630 ones, when both are available.
3631
3632 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3633
3634 Make --version uniform and avoid hard-coded program name.
3635
3636 * util/grub-mkimage.c (main): Use `program_name' instead of
3637 hard-coded string.
3638 * util/i386/pc/grub-setup.c (main): Likewise.
3639 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
3640 * util/grub-install.in: Save the basename of $0 in $self, and use the
3641 latter in informational messages. Use the same format for --version
3642 as the binary programs.
3643 * util/grub-mkconfig.in: Likewise.
3644 * util/grub-mkrescue.in: Likewise.
3645 * util/grub-reboot.in: Likewise.
3646 * util/grub-set-default.in: Likewise.
3647 * util/i386/efi/grub-install.in: Likewise.
3648 * util/ieee1275/grub-install.in: Likewise.
3649 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3650
3651 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3652
3653 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
3654 embedding area. Use <= instead of == when checking for non-emptiness.
3655
3656 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3657
3658 * configure.ac: Add `.' to the directories searched for unifont.
3659
3660 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
3661
3662 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
3663 grub_script.yy.h.
3664
3665 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
3666
3667 * docs/grub.texi (History): Expand to cover GRUB 2.
3668 (Serial terminal): Refer to `terminal_input' and `terminal_output'
3669 commands, not `terminal'.
3670 (serial): Likewise.
3671 (terminal_input): New section.
3672 (terminal_output): New section.
3673 (uppermem): New section (stub).
3674 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
3675
3676 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
3677
3678 * docs/grub.texi (Security): Menu entries are unrestricted by
3679 default, not restricted to superusers as I had previously thought.
3680 Reword to account for this.
3681
3682 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3683
3684 * kern/emu/misc.c (device_mapper_null_log): New function.
3685 (grub_device_mapper_supported): New function.
3686 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
3687 prototype.
3688 * kern/emu/hostdisk.c (find_partition_start): Check whether
3689 device-mapper is supported before trying to use it.
3690 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
3691
3692 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3693
3694 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
3695 (File name syntax): Likewise.
3696 (help): --all is no longer supported in GRUB 2. Be more precise
3697 about pattern matching.
3698
3699 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3700
3701 * normal/completion.c (grub_normal_do_completion): When completing
3702 arguments to "set" and the current word contains an equals sign,
3703 skip to after the equals sign before starting completion.
3704
3705 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3706
3707 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
3708
3709 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3710
3711 * docs/grub.texi (Network): New section.
3712 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
3713 `(nd)' as in GRUB Legacy.
3714 (pxe_unload): New section.
3715
3716 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3717
3718 * docs/grub.texi (Troubleshooting): `echo' is not usually available
3719 in the rescue shell, so recommend using `set' instead. Thanks,
3720 Jordan Uggla.
3721
3722 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3723
3724 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
3725 (password): New section.
3726 (password_pbkdf2): New section.
3727 (search): New section.
3728 (Security): New section.
3729 (Troubleshooting): New section, currently very incomplete.
3730 (Invoking grub-mkpasswd-pbkdf2): New section.
3731 (Internals): New section, currently very incomplete.
3732
3733 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3734
3735 * util/grub.d/00_header.in: Add some more quoting (of
3736 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
3737 work again.
3738 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
3739
3740 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3741
3742 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
3743 to `count', fixing variable shadowing that broke the -c option.
3744
3745 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
3746
3747 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
3748 in case they contain spaces.
3749
3750 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
3751
3752 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
3753 "part_" to partmap module names, in line with grub-install.
3754 Reported by: Jindřich Makovička (Debian bug #584426).
3755
3756 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
3757
3758 * util/grub-mkimage.c: Make target-related error messages slightly
3759 more helpful; -O talks about "format". Explicitly point to the use
3760 of -O if no target is specified.
3761 Reported by: Didier Raboud (Debian bug #584415).
3762
3763 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
3764
3765 * INSTALL: Document several build requirements for optional features
3766 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
3767
3768 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3769
3770 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
3771 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
3772 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
3773
3774 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3775
3776 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
3777 Thanks to Jordan Uggla for spotting this.
3778
3779 2010-06-02 Aleš Nesrsta <starous@volny.cz>
3780
3781 Finally make USB usable.
3782
3783 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
3784 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
3785 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
3786 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
3787 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
3788 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
3789 (GRUB_OHCI_FSMPS): Likewise.
3790 (GRUB_OHCI_PERIODIC_START): Likewise.
3791 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
3792 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
3793 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
3794 (GRUB_OHCI_SET_PORT_RESET): Likewise.
3795 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
3796 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
3797 (grub_ohci_transaction): Likewise.
3798 (grub_ohci_transfer): Improve condition detection algorithms.
3799 Handle toggle property. Program the transactions correctly.
3800 Improve error handling. Various important fixups.
3801 (grub_ohci_portstatus): Put register writes in right order.
3802 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
3803 (grub_uhci_transfer): Don't show "failed" message on success.
3804 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
3805 array.
3806 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
3807 determine its size.
3808 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
3809 before initialization is completed. Use IN direction for empty
3810 transfers. Use last_trans and compute toggle.
3811 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
3812 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
3813 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
3814 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
3815 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
3816 (grub_usb_device): Increase toggle to 256.
3817 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
3818 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
3819 GRUB_USBMS_SUBCLASS_SFF8070.
3820 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
3821 (grub_scsi_inquiry): New member page and alloc_length.
3822 (grub_scsi_request_sense): New structure.
3823 (grub_scsi_request_sense_data): Likewise.
3824 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
3825 control.
3826 * disk/scsi.c (grub_scsi_request_sense): New function.
3827 (grub_scsi_test_unit_ready): Likewise.
3828 (grub_scsi_inquiry): Fill new fields.
3829 (grub_scsi_read_capacity): Likewise.
3830 (grub_scsi_read10): Add request sense at the end.
3831 (grub_scsi_read12): Likewise.
3832 (grub_scsi_write10): Likewise.
3833 (grub_scsi_write12): Likewise.
3834 (grub_scsi_open): Add Test Unit Ready.
3835 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
3836 Support additional subclasses. Con't clear halt yet. Activate the
3837 proper config. Calculate LUNs correctly.
3838 (grub_usbms_transfer): Various important fixups.
3839
3840 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
3843 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
3844 (grub_ohci_fini_hw): New function.
3845 (grub_ohci_restore_hw): Likewise.
3846 (GRUB_MOD_INIT(ohci)): Register preboot hook.
3847 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
3848 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
3849
3850 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 Dedicated DMA allocations.
3853
3854 * bus/pci.c (grub_memalign_dma32): New function
3855 (grub_dma_free): Likewise.
3856 (grub_dma_get_virt): Likewise.
3857 (grub_dma_get_phys): Likewise.
3858 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
3859 (grub_ohci_pci_iter): Use dma32_alloc.
3860 (grub_ohci_transfer): Likewise.
3861 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
3862 (grub_usb_bulk_readwrite): Likewise.
3863 * include/grub/pci.h: Add declarations.
3864
3865 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 CS5536 support.
3868
3869 * bus/cs5536.c: New file.
3870 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
3871 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
3872 (cs5536_mod_SOURCES): New variable.
3873 (cs5536_mod_CFLAGS): Likewise.
3874 (cs5536_mod_LDFLAGS): Likewise.
3875 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
3876 machine/pci.h.
3877 (kernel_img_SOURCES): Add bus/cs5536.c.
3878 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
3879 usb_keyboard.mod.
3880 (usb_mod_SOURCES): New variable.
3881 (usb_mod_CFLAGS): New variable.
3882 (usb_mod_LDFLAGS): New variable.
3883 (usbtest_mod_SOURCES): New variable.
3884 (usbtest_mod_CFLAGS): New variable.
3885 (usbtest_mod_LDFLAGS): New variable.
3886 (ohci_mod_SOURCES): New variable.
3887 (ohci_mod_CFLAGS): New variable.
3888 (ohci_mod_LDFLAGS): New variable.
3889 (usbms_mod_SOURCES): New variable.
3890 (usbms_mod_CFLAGS): New variable.
3891 (usbms_mod_LDFLAGS): New variable.
3892 (usb_keyboard_mod_SOURCES): New variable.
3893 (usb_keyboard_mod_CFLAGS): New variable.
3894 (usb_keyboard_mod_LDFLAGS): New variable.
3895 * include/grub/smbus.h: New file.
3896 * include/grub/cs5536.h: New file.
3897
3898 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3899
3900 * util/grub.d/00_header.in: Add safety check to make sure that
3901 ${locale_dir} exists before trying to probe it.
3902
3903 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3904
3905 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
3906 per the GNU Coding Standards; this is now too obscure to be worth
3907 documenting.
3908 (QNX): Likewise.
3909 (chainloader): Remove cross-reference to `SCO UnixWare'.
3910
3911 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3912
3913 * docs/grub.texi (Chain-loading): New section.
3914 (DOS/Windows): New section, borrowed from GRUB Legacy with details
3915 adjusted for GRUB 2.
3916 (SCO UnixWare): Likewise.
3917 (QNX): Likewise.
3918 (chainloader): Add reference to `Block list syntax'.
3919 (drivemap): New section.
3920 (parttool): New section.
3921
3922 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3923
3924 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
3925 the grub shell'.
3926 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
3927 (Installing GRUB using grub-install): Remove reference to the grub
3928 shell; mention `grub-mkimage' and `grub-setup' instead.
3929 (Invoking grub-install): Likewise.
3930 (Interface): Add reference to `Menu entry editor'.
3931 (serial): Remove `--device' option.
3932
3933 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3934
3935 * docs/grub.texi (Configuration): New section, documenting
3936 configuration file generation using grub-mkconfig. I've left a slot
3937 for documenting the full shell scripting format but have not yet
3938 started on writing that up.
3939 (Invoking grub-mkconfig): New section.
3940
3941 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3942
3943 * docs/grub.texi (direntry): Remove grub-terminfo reference.
3944 (GNU GRUB manual): Likewise.
3945 (General commands): Update description of `terminfo' for GRUB 2.
3946
3947 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3948
3949 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
3950 (GRUB_MOD_INIT): Fix capitalisation.
3951 * docs/grub.texi (Command-line and menu entry commands): Document
3952 gettext and gptsync commands.
3953
3954 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3955
3956 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
3957 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
3958
3959 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
3960
3961 Add btrfs probing support, currently only in the single-device case.
3962
3963 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
3964 function.
3965 (grub_guess_root_device): Call find_root_device_from_mountinfo
3966 before looking in /dev.
3967
3968 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
3971 GRUB_DISK_SIZE_UNKNOWN.
3972 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
3973
3974 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
3975
3976 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
3977 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
3978 corrupted or not synced properly.
3979
3980 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
3983 Reported by: Seth Goldberg.
3984
3985 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
3988 addition of dest.
3989 Reported by: Seth Goldberg.
3990
3991 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
3994 Reported by: Seth Goldberg.
3995
3996 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
3999 64-bit address as signed on MIPS.
4000
4001 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
4002
4003 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
4004 to the empty string.
4005
4006 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
4007
4008 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
4009
4010 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
4011 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
4012 * kern/misc.c (__enable_execute_stack): Disable on
4013 GRUB_MACHINE_EMU.
4014
4015 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
4016
4017 Make grub-probe work with symbolic links under /dev/mapper as well
4018 as with real block devices. The Linux world seems to be (at best)
4019 in transition here, and GRUB shouldn't get caught in the middle.
4020
4021 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
4022 /dev/mapper.
4023
4024 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
4025
4026 * util/grub-script-check.c (main): Ensure defined behaviour on empty
4027 input files (in which case exit zero).
4028
4029 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
4030
4031 * kern/emu/misc.c (canonicalize_file_name): realpath can still
4032 return NULL for various reasons even if it has a maximum-length
4033 buffer: for example, there might be a symlink loop, or the path
4034 might exceed PATH_MAX. If this happens, return NULL.
4035
4036 2010-05-27 Robert Millan <rmh@gnu.org>
4037
4038 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
4039 partmap module to handle cross-partmap setups.
4040 Reported by Orestes Mas. Gràcies!
4041
4042 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
4043
4044 * util/grub-mkrescue.in: Initialise override_dir rather than
4045 assuming that it's unset or empty in the environment.
4046
4047 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
4048
4049 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
4050 variable index into p_index to suppress a warning with -Wshadow.
4051
4052 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
4053
4054 * INSTALL: Added flex >= 2.5.35 requirement.
4055
4056 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
4059
4060 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 cmostest support.
4063
4064 * commands/i386/cmostest.c: New file.
4065 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
4066 (cmostest_mod_SOURCES): New variable.
4067 (cmostest_mod_CFLAGS): Likewise.
4068 (cmostest_mod_LDFLAGS): Likewise.
4069 * conf/i386-pc.rmk: Likewise.
4070 * docs/grub.texi (Vendor power-on keys): New section.
4071 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
4072 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
4073 and GRUB_BUTTON_CMOS_ADDRESS.
4074 * util/grub.d/00_header.in: Handle powering-on by separate button.
4075
4076 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
4079 Removed drawing_scrollbar argument. All users updated
4080 Fixes #29792.
4081 Reported by Jo Shields
4082
4083 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
4086 buffer since gfxterm handles double repaint.
4087
4088 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
4091 * term/gfxterm.c (real_scroll): Likewise.
4092
4093 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
4096 before calling BIOS.
4097
4098 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 * include/grub/i18n.h: Always enable grub_gettext.
4101
4102 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
4105 partition naming style.
4106
4107 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
4108
4109 * util/grub-mkconfig.in: Fix handling of -o so that it works when
4110 not the first option.
4111
4112 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
4113
4114 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
4115
4116 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
4117
4118 * util/misc.c: Move inclusion of <limits.h> to ...
4119 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
4120
4121 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
4122
4123 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
4124 Fix merge error in NetBSD code.
4125 (find_partition_start) [__NetBSD__]: Likewise.
4126
4127 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
4128
4129 Fix grub-mkrescue usage unit testing.
4130
4131 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
4132
4133 2010-05-18 Christian Franke <franke@computer.org>
4134
4135 * util/grub.d/10_windows.in: Use path names instead of
4136 drive letters to prevent warning from Cygwin 1.7.
4137 Add drivemap command to menuentry if needed.
4138
4139 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
4140
4141 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
4142 gnumach and gnumach.gz.
4143
4144 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * include/grub/i18n.h (gettext): Inline instead of using #define.
4147 (grub_gettext): Likewise.
4148 (_): Likewise.
4149
4150 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
4153 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
4154 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
4155 (main): Add a slash after pkglibdirroot.
4156
4157 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * util/grub-install.in: Add missing "in" keyword.
4160
4161 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
4164 Reported by: Seth Goldberg.
4165
4166 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
4169
4170 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
4171
4172 * configure.ac: Check for Linux device-mapper support.
4173
4174 * util/hostdisk.c (device_is_mapped): New function.
4175 (find_partition_start): New function, partly broken out from
4176 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
4177 device-mapper support added.
4178 (linux_find_partition): Use find_partition_start.
4179 (convert_system_partition_to_system_disk): Add `st' argument.
4180 Support Linux /dev/mapper/* devices if device-mapper support is
4181 available; only DM-RAID devices are understood at present.
4182 (find_system_device): Add `st' argument. Pass it to
4183 convert_system_partition_to_system_disk.
4184 (grub_util_biosdisk_get_grub_dev): Pass stat result to
4185 find_system_device and convert_system_partition_to_system_disk. Use
4186 find_partition_start.
4187
4188 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
4189 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
4190 * util/deviceiter.c [__linux__]: Define MINOR.
4191 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
4192 * util/mkdevicemap.c (grub_putchar): New function.
4193 (grub_getkey): New function.
4194 (grub_refresh): New function.
4195 (main): Set debug=all if -v -v is used.
4196
4197 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
4198
4199 Fix build with non-GNU libcs.
4200
4201 * util/misc.c (canonicalize_file_name): Move to ...
4202 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
4203 grub_make_system_path_relative_to_its_root.
4204
4205 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
4206
4207 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
4208 we handle finding grub-mkimage. Default to finding grub-mkimage in
4209 ${bindir} with program_transform_name applied, and provide a
4210 --grub-mkimage option to override this.
4211
4212 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 Remove grub-mkisofs.
4215
4216 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
4217 (grub_mkisofs_SOURCES): Removed.
4218 (grub_mkisofs_CFLAGS): Removed.
4219 * util/mkisofs/defaults.h: Removed.
4220 * util/mkisofs/eltorito.c: Likewise.
4221 * util/mkisofs/exclude.h: Likewise.
4222 * util/mkisofs/hash.c: Likewise.
4223 * util/mkisofs/include/: Likewise.
4224 * util/mkisofs/include/fctldefs.h: Likewise.
4225 * util/mkisofs/include/mconfig.h: Likewise.
4226 * util/mkisofs/include/prototyp.h: Likewise.
4227 * util/mkisofs/include/statdefs.h: Likewise.
4228 * util/mkisofs/iso9660.h: Likewise.
4229 * util/mkisofs/joliet.c: Likewise.
4230 * util/mkisofs/match.c: Likewise.
4231 * util/mkisofs/match.h: Likewise.
4232 * util/mkisofs/mkisofs.c: Likewise.
4233 * util/mkisofs/mkisofs.h: Likewise.
4234 * util/mkisofs/msdos_partition.h: Likewise.
4235 * util/mkisofs/multi.c: Likewise.
4236 * util/mkisofs/name.c: Likewise.
4237 * util/mkisofs/rock.c: Likewise.
4238 * util/mkisofs/tree.c: Likewise.
4239 * util/mkisofs/write.c: Likewise.
4240
4241 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 Unify grub-mkimage accross platforms.
4244
4245 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
4246 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
4247 (grub_mkelfimage_SOURCES): Removed.
4248 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
4249 (util/grub-mkimage.c_DEPENDENCIES): .. this.
4250 (bin_UTILITIES): Add grub-mkimage.
4251 (grub_mkimage_SOURCES): New variable.
4252 (kernel_img_HEADERS): Remove machine/kernel.h.
4253 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
4254 (pkglib_PROGRAMS): Add kernel.img.
4255 (kernel_img_HEADERS): Add machine/kernel.h.
4256 (kernel_img_FORMAT): Removed.
4257 (bin_UTILITIES): Remove grub-mkimage.
4258 (grub_mkimage_SOURCES): Removed.
4259 (grub_mkimage_CFLAGS): Likewise.
4260 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4261 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
4262 (pkglib_PROGRAMS): Add kernel.img.
4263 (bin_UTILITIES): Remove grub-mkimage.
4264 (grub_mkimage_SOURCES): Removed.
4265 (grub_mkimage_CFLAGS): Likewise.
4266 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4267 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
4268 (pkglib_PROGRAMS): Add kernel.img.
4269 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
4270 (pkglib_PROGRAMS): Add kernel.img.
4271 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
4272 (grub_mkimage_SOURCES): Removed.
4273 (grub_mkimage_CFLAGS): Likewise.
4274 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4275 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
4276 (pkglib_PROGRAMS): Add kernel.img.
4277 (bin_UTILITIES): Remove grub-mkimage.
4278 (grub_mkimage_SOURCES): Removed.
4279 (grub_mkimage_CFLAGS): Likewise.
4280 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4281 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
4282 (grub_mkimage_SOURCES): Removed.
4283 (grub_mkimage_CFLAGS): Likewise.
4284 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
4285 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
4286 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
4287 (grub_pe32_optional_header): ... this.
4288 (grub_pe64_optional_header): ... and this. All users updated.
4289 (GRUB_PE32_PE32_MAGIC): Split into ..
4290 (GRUB_PE32_PE32_MAGIC): .. this.
4291 (GRUB_PE32_PE64_MAGIC): .. and this.
4292 (GRUB_PE32_SIGNATURE_SIZE): New definition.
4293 * include/grub/elf.h (PT_GNU_STACK): New definition.
4294 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
4295 * include/grub/i386/efi/kernel.h: Likewise.
4296 * include/grub/i386/kernel.h: Likewise.
4297 * include/grub/i386/pc/kernel.h: Likewise.
4298 * include/grub/i386/qemu/boot.h: Likewise.
4299 * include/grub/mips/kernel.h: Likewise.
4300 * include/grub/mips/qemu-mips/kernel.h: Likewise.
4301 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
4302 * include/grub/powerpc/kernel.h: Likewise.
4303 * include/grub/sparc64/ieee1275/boot.h: Likewise.
4304 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
4305 * include/grub/sparc64/kernel.h: Likewise.
4306 * include/grub/x86_64/efi/kernel.h: Likewise.
4307 * include/grub/x86_64/kernel.h: Likewise.
4308 * include/grub/offsets.h: New file.
4309 * include/grub/kernel.h (grub_module_info): Split into ...
4310 (grub_module_info32): ... this.
4311 (grub_module_info64): ... and this.
4312 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
4313 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
4314 (grub_boot_blocklist): Moved from here ...
4315 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
4316 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
4317 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
4318 * include/grub/types.h (grub_target_to_host16): Removed.
4319 (grub_target_to_host32): Likewise.
4320 (grub_target_to_host64): Likewise.
4321 (grub_host_to_target16): Likewise.
4322 (grub_host_to_target32): Likewise.
4323 (grub_host_to_target64): Likewise.
4324 (grub_host_to_target_addr): Likewise.
4325
4326 Support grub-mkrescue for efi, coreboot and qemu.
4327
4328 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
4329 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
4330 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
4331 * util/grub-mkrawimage.c: Moved from here ...
4332 * util/grub-mkimage.c: ... here. All users updated.
4333 (ALIGN_ADDR): Use image_target.
4334 (TARGET_NO_FIELD): New const.
4335 (image_target_desc): New type.
4336 (image_targets): New array.
4337 (grub_target_to_host64): Use image_target.
4338 (grub_target_to_host32): Likewise.
4339 (grub_target_to_host16): Likewise.
4340 (grub_host_to_target64): Likewise.
4341 (grub_host_to_target32): Likewise.
4342 (grub_host_to_target16): Likewise.
4343 (grub_host_to_target_addr): Likewise.
4344 (generate_image): Handle multiimage.
4345 (main): Require -O parameter. All users updated.
4346 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
4347 util/efi/grub-mkimage.c
4348 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
4349 New option --rom-directory.
4350 Use xorriso.
4351 * util/i386/efi/grub-mkimage.c: Removed.
4352 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
4353 (grub_target_to_host32): Likewise.
4354 (grub_target_to_host64): Likewise.
4355 (grub_host_to_target16): Likewise.
4356 (grub_host_to_target32): Likewise.
4357 (grub_host_to_target64): Likewise.
4358 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
4359 (grub_target_to_host32): Likewise.
4360 (grub_target_to_host64): Likewise.
4361 (grub_host_to_target16): Likewise.
4362 (grub_host_to_target32): Likewise.
4363 (grub_host_to_target64): Likewise.
4364
4365 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
4366
4367 Source tree is reorganized for emu build.
4368
4369 * include/grub/util/console.h: Move from here...
4370 * include/grub/emu/console.h: ...to here.
4371 * include/grub/util/getroot.h: Move from here...
4372 * include/grub/emu/getroot.h: ...to here.
4373 * include/grub/util/hostdisk.h: Move from here...
4374 * include/grub/emu/hostdisk.h: ...to here.
4375 * util/console.c: Move from here...
4376 * kern/emu/console.c: ...to here.
4377 * util/getroot.c: Move from here...
4378 * kern/emu/getroot.c: ...to here.
4379 * util/grub-emu.c: Move from here...
4380 * kern/emu/main.c: ...to here.
4381 * util/hostdisk.c: Move from here...
4382 * kern/emu/hostdisk.c: ...to here.
4383 * util/hostfs.c: Move from here...
4384 * kern/emu/hostfs.c: ...to here.
4385 * util/mm.c: Move from here...
4386 * kern/emu/mm.c: ...to here.
4387 * util/pci.c: Move from here...
4388 * bus/emu/pci.c: ...to here.
4389 * util/sdl.c: Move from here...
4390 * video/emu/sdl.c: ...to here.
4391 * util/time.c: Move from here...
4392 * kern/emu/time.c: ...to here.
4393 * util/usb.c: Move from here...
4394 * bus/usb/emu/usb.c: ...to here.
4395
4396 * include/grub/emu/misc.h: New header for grub-emu functions.
4397 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
4398
4399 * conf/any-emu.rmk: Rule updates for above renames.
4400 * conf/common.rmk: Likewise.
4401 * conf/i386-pc.rmk: Likewise.
4402 * conf/i386-qemu.rmk: Likewise.
4403 * conf/mips.rmk: Likewise.
4404 * conf/sparc64-ieee1275.rmk: Likewise.
4405 * conf/x86-efi.rmk: Likewise.
4406
4407 * disk/lvm.h: #include updates for above renames.
4408 * util/grub-mkrelpath.c: Likewise.
4409 * util/grub-probe.c: Likewise.
4410 * util/i386/pc/grub-setup.c: Likewise.
4411 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4412 * kern/emu/console.c: Likewise.
4413 * kern/emu/getroot.c: Likewise.
4414 * kern/emu/hostdisk.c: Likewise.
4415 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
4416
4417 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
4418 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
4419 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
4420 * util/misc.c: Remove grub-emu functions.
4421
4422 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 Fix gfxmenu crash.
4425 Reported by: Thorsten Grützmacher.
4426
4427 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
4428 timeout hook.
4429 (circprog_set_property): Register and unregister timeout hook.
4430 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
4431 (label_destroy): Free template. and unregister hook.
4432 (label_set_state): New function.
4433 (label_set_property): Handle templates and hooks.
4434 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
4435 timeout hook.
4436 (progress_bar_set_property): Register and unregister timeout hook.
4437 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
4438 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
4439 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
4440 (update_timeout_visit): Removed.
4441 (update_timeouts): New function.
4442 (redraw_timeouts): Likewise.
4443 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
4444 (grub_gfxmenu_clear_timeout): Likewise.
4445 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
4446 (grub_gfxmenu_timeout_notify): Likewise.
4447 (grub_gfxmenu_timeout_notifications): New external variable.
4448 (grub_gfxmenu_timeout_register): New function.
4449 (grub_gfxmenu_timeout_unregister): Likewise.
4450
4451 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 Transform (broken) vga terminal into (working) vga video driver.
4454
4455 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
4456 video/i386/pc/vga.c.
4457 * include/grub/video.h (grub_video_driver_id):
4458 Add GRUB_VIDEO_DRIVER_VGA.
4459 * term/i386/pc/vga.c: Renamed to ...
4460 * video/i386/pc/vga.c: ...this
4461 (DEBUG_VGA): Removed.
4462 (CHAR_WIDTH): Likewise.
4463 (CHAR_HEIGHT): Likewise.
4464 (TEXT_WIDTH): Likewise.
4465 (TEXT_HEIGHT): Likewise.
4466 (DEFAULT_FG_COLOR): Likewise.
4467 (DEFAULT_BG_COLOR): Likewise.
4468 (colored_char): Likewise.
4469 (xpos): Likewise.
4470 (ypos): Likewise.
4471 (cursor_state): Likewise.
4472 (fg_color): Likewise.
4473 (bg_color): Likewise.
4474 (text_buf): Likewise.
4475 (page): Likewise.
4476 (font): Likewise.
4477 (framebuffer): New variable.
4478 (set_read_map): Disabled.
4479 (setup): New variable.
4480 (is_target): Likewise.
4481 (grub_vga_mod_init): Likewise.
4482 (grub_vga_mod_fini): Likewise.
4483 (check_vga_mem): Likewise.
4484 (write_char): Likewise.
4485 (write_cursor): Likewise.
4486 (scroll_up): Likewise.
4487 (grub_vga_putchar): Likewise.
4488 (grub_vga_getcharwidth): Likewise.
4489 (grub_vga_getwh): Likewise.
4490 (grub_vga_getxy): Likewise.
4491 (grub_vga_gotoxy): Likewise.
4492 (grub_vga_cls): Likewise.
4493 (grub_vga_setcolorstate): Likewise.
4494 (grub_vga_setcursor): Likewise.
4495 (grub_video_vga_init): New function.
4496 (grub_video_vga_setup): Likewise.
4497 (grub_video_vga_fini): Likewise.
4498 (update_target): Likewise.
4499 (grub_video_vga_blit_bitmap): Likewise.
4500 (grub_video_vga_blit_render_target): Likewise.
4501 (grub_video_vga_set_active_render_target): Likewise.
4502 (grub_video_vga_get_active_render_target): Likewise.
4503 (grub_video_vga_swap_buffers): Likewise.
4504 (grub_video_vga_set_palette): Likewise.
4505 (grub_video_vga_get_info_and_fini): Likewise.
4506 (grub_vga_term): Removed.
4507 (grub_video_vga_adapter): New variable.
4508 (GRUB_MOD_INIT): Register a video driver instead of terminal.
4509 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
4510
4511 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * video/readers/jpeg.c: Indented.
4514
4515 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 Various jpeg cleanups.
4518
4519 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
4520 (grub_jpeg_decode_quan_table): Use sizeof.
4521 (grub_jpeg_decode_du): Use ARRAY_SIZE.
4522
4523 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
4524
4525 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
4526 tables. Ignore non-last ac bit.
4527 (grub_jpeg_decode_quan_table): Likewise.
4528
4529 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4532 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
4533 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4534 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
4535 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
4536 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
4537
4538 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
4541 error.
4542
4543 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
4546
4547 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
4550 condition.
4551
4552 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
4555 part.
4556
4557 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
4560 pointers.
4561
4562 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
4565
4566 2010-05-01 Christian Franke <franke@computer.org>
4567
4568 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
4569 Remove broken Cygwin path conversion.
4570 * util/misc.c: [__CYGWIN__] Add include and define.
4571 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
4572 for Cygwin 1.7.
4573 (make_system_path_relative_to_its_root): Simplify loop, replace early
4574 return by break.
4575 [__CYGWIN__] Add conversion to win32 path.
4576 Include "/" case in trailing slash removal.
4577
4578 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * kern/main.c (grub_load_config): Fix copy-pasted comment.
4581 Reported by: Seth Goldberg
4582
4583 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 * commands/help.c (grub_cmd_help): Fix a typo.
4586 Reported by: Seth Goldberg
4587
4588 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
4591 name and add N_.
4592 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
4593 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
4594 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
4595 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
4596 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
4597 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
4598 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
4599 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
4600 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
4601 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
4602 * normal/context.c (GRUB_MOD_INIT): Likewise.
4603 * normal/main.c (GRUB_MOD_INIT): Likewise.
4604 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
4605 * term/serial.c (GRUB_MOD_INIT): Likewise.
4606 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
4607
4608 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
4611 extra == 0.
4612
4613 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * commands/iorw.c: New file.
4616 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
4617 (iorw_mod_SOURCES): New variable.
4618 (iorw_mod_CFLAGS): Likewise.
4619 (iorw_mod_LDFLAGS): Likewise.
4620
4621 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 Hotkey support
4624
4625 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
4626 * normal/main.c (hotkey_aliases): New variable.
4627 (grub_normal_add_menu_entry): Parse "--hotkey".
4628 * normal/menu_text.c (run_menu): Handle hotkeys.
4629
4630 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * kern/i386/coreboot/init.c (grub_machine_init): Call
4633 grub_machine_mmap_init on qemu.
4634
4635 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * boot/i386/qemu/boot.S: Add a missing .code16.
4638
4639 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 Use LBIO on coreboot.
4642
4643 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
4644 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
4645 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
4646 New declaration.
4647 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
4648 grub_machine_mmap_init on coreboot.
4649 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
4650 GRUB_LINUXBIOS_MEMBER_LINK.
4651 (grub_machine_mmap_iterate): Fix declaration.
4652 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
4653
4654 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 Split coreboot and multiboot ports.
4657
4658 * conf/i386-multiboot.rmk: New file.
4659 * configure.ac: Add multiboot port.
4660 * include/grub/i386/multiboot/boot.h: New file.
4661 * include/grub/i386/multiboot/console.h: Likewise.
4662 * include/grub/i386/multiboot/init.h: Likewise.
4663 * include/grub/i386/multiboot/kernel.h: Likewise.
4664 * include/grub/i386/multiboot/loader.h: Likewise.
4665 * include/grub/i386/multiboot/memory.h: Likewise.
4666 * include/grub/i386/multiboot/serial.h: Likewise.
4667 * include/grub/i386/multiboot/time.h: Likewise.
4668 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
4669 * loader/multiboot.c: Likewise.
4670 * loader/multiboot_mbi2.c: Likewise.
4671 * util/grub-mkrescue.in: Generate multiboot rescue.
4672
4673 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * kern/parser.c (grub_parser_execute): Cope with read-only config.
4676
4677 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 Merge handling of input and output terminals. Fix a hang.
4680
4681 * commands/terminal.c (abstract_terminal): New struct.
4682 (handle_command): New function. Based on grub_cmd_terminal_input.
4683 (grub_cmd_terminal_input): Use handle_command.
4684 (grub_cmd_terminal_output): Use handle_command.
4685
4686 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
4687
4688 Fix comment handling.
4689
4690 * tests/grub_script_comments.in: New testcase.
4691 * conf/tests.rmk: Rules for new testcase.
4692 * script/yylex.l: Updated flex rules.
4693
4694 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
4695
4696 * docs/grub.texi (play): Document that zero pitches produce rests.
4697 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
4698 if argc is 1.
4699
4700 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
4703 autogen issues.
4704
4705 2010-04-26 Christian Franke <franke@computer.org>
4706
4707 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
4708 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
4709 (grub_get_prefix): Remove function.
4710 * util/grub-emu.c (main): Replace grub_get_prefix () call by
4711 make_system_path_relative_to_its_root ().
4712 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4713
4714 2010-04-24 Christian Franke <franke@computer.org>
4715
4716 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
4717 (kernel_img_LDFLAGS): Remove -static-libgcc.
4718
4719 2010-04-24 Christian Franke <franke@computer.org>
4720
4721 * configure.ac: Do not CHECK_BSS_START_SYMBOL
4722 and CHECK_END_SYMBOL if grub-emu is built.
4723 Unset TARGET_OBJ2ELF if grub-emu is built
4724 without module support.
4725
4726 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
4727
4728 Nilfs2 support.
4729
4730 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
4731 (grub_fstest_SOURCES): Likewise.
4732 (pkglib_MODULES): Add nilfs2.mod.
4733 (nilfs2_mod_SOURCES): New variable.
4734 (nilfs2_mod_CFLAGS): Likewise.
4735 (nilfs2_mod_LDFLAGS): Likewise.
4736 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
4737 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
4738 * fs/nilfs2.c: New file.
4739
4740 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
4743 is not supported.
4744
4745 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
4746
4747 Add grub-mkconfig support for NetBSD.
4748
4749 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
4750 * util/grub-mkconfig.in: export new NetBSD specific variables.
4751 * po/POTFILES-shell: added 10_netbsd.in.
4752 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
4753
4754 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
4755
4756 Fix emu build with grub-emu-pci and grub-emu-modules.
4757
4758 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
4759 functions.
4760 * include/grub/libpciaccess.h: New file.
4761 * conf/any-emu.rmk: Update kernel headers for emu build.
4762
4763 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4764
4765 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
4766
4767 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4768
4769 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
4770
4771 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
4774 Retrieve chosen/bootpath if bootpath isn't hardcoded.
4775 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
4776 util/ieee1275/ofpath.c.
4777 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
4778 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
4779 * include/grub/sparc64/ieee1275/boot.h
4780 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
4781 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
4782 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
4783 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
4784 const char *.
4785 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
4786 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
4787 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
4788 install.
4789
4790 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
4791
4792 * util/grub-mkconfig.in: Corrected two == equality tests.
4793 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
4794 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
4795 expect a number appended to it.
4796 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
4797 expects a number appended to it.
4798
4799 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
4802
4803 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * util/hostdisk.c (make_device_name): Change to new partition naming.
4806
4807 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4808
4809 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
4810
4811 2010-04-17 Christian Franke <franke@computer.org>
4812
4813 * Makefile.in: Add missing localedir setting.
4814
4815 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
4816
4817 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
4818 mistake in r2156. Noticed by Anthony Fok.
4819
4820 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
4821 @localedir@.
4822 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
4823
4824 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
4825
4826 Fix a spurious, uninitialized variable warning.
4827
4828 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
4829 Initialize variable, shdr.
4830 (grub_freebsd_load_elfmodule): Likewise.
4831 (grub_freebsd_load_elf_meta): Likewise.
4832
4833 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
4834
4835 Fix for escaped dollar in double quoted strings.
4836
4837 * script/yylex.l: Updated flex rules.
4838 * conf/tests.rmk: Rule for new testcase.
4839 * tests/grub_script_dollar.in: New testcase.
4840
4841 2010-04-13 Carles Pina i Estany <carles@pina.cat>
4842 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
4843
4844 Enclose all translated strings in grub.cfg in single quotes, and
4845 escape them appropriately (Ubuntu bug #552921).
4846
4847 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
4848 * util/grub.d/10_hurd.in: Use it.
4849 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4850 * util/grub.d/10_linux.in (linux_entry): Likewise.
4851
4852 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 Fix cygwin compilation.
4855
4856 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
4857 * include/grub/misc.h (__register_frame_info)
4858 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
4859 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
4860 * kern/misc.c (__register_frame_info)
4861 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
4862 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
4863
4864 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
4867
4868 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 Unify libgcc processing.
4871
4872 * Makefile.in (kernel_img_LDFLAGS): New variable.
4873 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
4874 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
4875 overwriting.
4876 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
4877 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
4878 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
4879 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
4880 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
4881 overwriting. Remove -lgcc and -static-libgcc
4882 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
4883 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
4884 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
4885 (kernel_img_LDFLAGS): Append instead of overwriting.
4886 Remove -lgcc and -static-libgcc
4887 * conf/sparc64-ieee1275.rmk: Likewise.
4888 * include/grub/powerpc/libgcc.h: Move to ...
4889 * include/grub/libgcc.h: .. this.
4890 * include/grub/libgcc.h: Don't export most of the function on x86.
4891 (__bswapsi2): New export.
4892 (__bswapdi2): Likewise.
4893 * include/grub/mips/libgcc.h: Removed.
4894 * include/grub/sparc64/libgcc.h: Likewise.
4895
4896 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
4899 disk_info_msg (conflicts with gettexting into languages with cases).
4900
4901 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4902
4903 Add grub-probe support for NetBSD.
4904
4905 * util/getroot.c (find_root_device): Convert block device to
4906 character device on NetBSD.
4907 * util/probe.c (probe): Require character device on NetBSD.
4908 * util/hostdisk.c: NetBSD specific headers.
4909 (configure_device_driver): new function to tune device driver
4910 parameters (currently only for NetBSD floppy driver).
4911 (grub_util_biosdisk_open): NetBSD specific code (get disk size
4912 via disklabel ioctl).
4913 (open_device): call configure_device_driver on NetBSD.
4914 (convert_system_partition_to_system_disk): NetBSD specific code.
4915 (device_is_wholedisk): Likewise.
4916 (grub_util_biosdisk_get_grub_dev): Likewise.
4917 (make_device_name): Fixed a typo in bsd_part_str.
4918 * configure.ac: check for opendisk() and getrawpartition() on
4919 NetBSD and set LIBUTIL.
4920 * Makefile.in: add LIBUTIL to LIBS.
4921
4922 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
4923
4924 Documentation fix.
4925
4926 * util/grub-script-check.c: Better help message.
4927
4928 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
4929
4930 Fix FreeBSD build.
4931
4932 * configure.ac: Flex version check.
4933 * conf/common.rmk: Add -Wno-error to sh.mod.
4934 * script/yylex.l: Remove all #pragma.
4935
4936 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * include/grub/util/misc.h (canonicalise_file_name): Add missing
4939 prototype.
4940 Reported by: Seth Goldberg.
4941
4942 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
4945 Rename "module" to "module2".
4946 Reported by: Seth Goldberg.
4947
4948 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
4951 EXPORT_FUNC.
4952 Reported by: Seth Goldberg.
4953
4954 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * lib/posix_wrap/locale.h: Add missing file.
4957 Reported by: Seth Goldberg.
4958
4959 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 grub-emu module load support.
4962
4963 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
4964 NO_DYNAMIC_MODULES switched to this.
4965 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
4966 (CFLAGS): Likewise.
4967 * conf/any-emu.rmk: Generate symlist.
4968 (kernel_img_HEADERS): Add util/datetime.h.
4969 (kernel_img_HEADERS) [sdl]: Add sdl.h.
4970 (kernel_img_HEADERS) [libusb]: Add libusb.h.
4971 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
4972 kern/$(target_cpu)/cache.S.
4973 * configure.ac (grub-emu-modules): New option.
4974 * genmk.rb: Handle multiple source lists.
4975 * include/grub/sdl.h: New file.
4976 * include/grub/libusb.h: Likewise.
4977 * util/grub-emu.c (main): Hanle (host) root.
4978 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
4979 GRUB_ERR_UNKNOWN_DEVICE.
4980 * util/misc.c: Move mm functions to ...
4981 * util/mm.c: ... here. All users updated.
4982
4983 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
4986 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
4987 missing files.
4988 (maintainer-clean): Remove libgcrypt-grub.
4989
4990 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
4993
4994 2010-04-09 EFI Coder <eficoder@hotmail.com>
4995
4996 * normal/menu_text.c (print_message): Clean up the message and show
4997 the Fn information when on EFI
4998 * term/efi/console.c (grub_console_checkkey): Add F4 support.
4999
5000 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
5003 All users updated.
5004 * normal/crypto.c (read_crypto_list): Likewise.
5005 * normal/dyncmd.c (read_command_list): Likewise.
5006 * normal/term.c (read_terminal_list): Likewise.
5007 * normal/main.c (read_lists): Use explicit prefix.
5008 (read_lists_hook): Use read_lists.
5009 (grub_normal_execute): Likewise.
5010
5011 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
5014 Reported by: Thomas Schmitt.
5015 Add -no-emul-boot to grub-mkisofs parameters.
5016
5017 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * font/font.c: Indented.
5020
5021 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
5022
5023 Elif support to GRUB script (by Deepak Vankadaru).
5024
5025 * tests/grub_script_if.in: New testcase.
5026 * conf/tests.rmk: Rule for new testcase.
5027 * script/parser.y: Grammar rules for elif.
5028
5029 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
5030
5031 While and until loops support to GRUB script.
5032
5033 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
5034 (grub_script_create_cmdwhile): New function prototype.
5035 (grub_script_execute_cmdwhile): New function prototype.
5036 * script/execute.c (grub_script_execute_cmdwhile): New function.
5037 * script/parser.y (command): New commands.
5038 (whilecmd): New grammar rule.
5039 (untilcmd): New grammar rule.
5040 * script/script.c (grub_script_create_cmdwhile): New function.
5041 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
5042 function.
5043
5044 * tests/grub_script_while1.in: New testcase.
5045 * conf/tests.rmk: Rule for new testcase.
5046
5047 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
5050 as *.jpg.
5051
5052 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
5053
5054 GRUB_BACKGROUND support.
5055
5056 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
5057 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
5058
5059 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 Load fonts and modules for gfxmenu in grub-mkconfig.
5062 Idea by: Mario Vazquez
5063
5064 * util/grub.d/00_header.in: Load pf2 and image modules.
5065
5066 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 grub-mkconfig multiple terminal support.
5069
5070 * util/grub-mkconfig.in: Handle multiple terminals correctly.
5071 * util/grub.d/00_header.in: Likewise.
5072
5073 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * Makefile.in: Specify files explicitly instead of using $< and $@ since
5076 we use cd $(srcdir).
5077
5078 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
5079
5080 * util/grub.d/10_linux.in: Only use the first word of
5081 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
5082 spaces in GRUB_DISTRIBUTOR.
5083 * util/grub.d/10_kfreebsd.in: Likewise.
5084 * util/grub.d/10_hurd.in: Likewise.
5085
5086 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
5087
5088 Fix unit testing framework for Qemu 0.12.
5089
5090 * tests/util/grub-shell.in: Remove -serial stdio option.
5091
5092 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 POSIX header file wrappers.
5095
5096 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
5097 equivalents.
5098 * lib/posix_wrap/ctype.h: Likewise.
5099 * lib/posix_wrap/errno.h: Likewise.
5100 * lib/posix_wrap/langinfo.h: Likewise.
5101 * lib/posix_wrap/limits.h: Likewise.
5102 * lib/posix_wrap/localcharset.h: Likewise.
5103 * lib/posix_wrap/stdint.h: Likewise.
5104 * lib/posix_wrap/stdio.h: Likewise.
5105 * lib/posix_wrap/stdlib.h: Likewise.
5106 * lib/posix_wrap/string.h: Likewise.
5107 * lib/posix_wrap/sys/types.h: Likewise.
5108 * lib/posix_wrap/unistd.h: Likewise.
5109 * lib/posix_wrap/wchar.h: Likewise.
5110 * lib/posix_wrap/wctype.h: Likewise.
5111 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
5112 (grub_script.yy.h): Likewise.
5113 * script/yylex.l: Remove POSIX emulation #defines.
5114 * Makefile.in (POSIX_CFLAGS): New variable.
5115 (GNULIB_UTIL_CFLAGS): Likewise.
5116
5117 Regexp support.
5118
5119 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
5120 (regexp_mod_SOURCES): New variable.
5121 (regexp_mod_CFLAGS): Likewise.
5122 (regexp_mod_LDFLAGS): Likewise.
5123 * commands/regexp.c: New file.
5124 * gnulib/regcomp.c: New file. Imported from gnulib.
5125 * gnulib/regex.c: Likewise.
5126 * gnulib/regex_internal.c: Likewise.
5127 * gnulib/regex_internal.h: Likewise.
5128 * gnulib/regexec.c: Likewise.
5129 * gnulib/regex.h: Likewise.
5130
5131 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
5134 unsupported video mode types.
5135
5136 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
5139
5140 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
5143 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
5144
5145 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 Remove unused grub_vga_get_font.
5148
5149 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
5150 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
5151
5152 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5153
5154 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
5155 * include/grub/misc.h: Likewise.
5156
5157 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5158
5159 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
5160 for which failure is fatal.
5161
5162 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5163
5164 * util/grub-install.in: Use mkdir -p to create grub directory.
5165 * util/i386/efi/grub-install.in: Likewise.
5166 * util/ieee1275/grub-install.in: Likewise.
5167
5168 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5169
5170 * Makefile.in (LEX): new variable.
5171
5172 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5173
5174 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
5175 `=' and added double quotes on operands of this equality test.
5176
5177 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * Makefile.in (uninstall): Remove a leftover debug echo.
5180 Reported by: Grégoire Sutre
5181
5182 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 MIPS multiboot2 support.
5185
5186 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
5187 (multiboot2_mod_SOURCES): New variable.
5188 (multiboot2_mod_CFLAGS): Likewise.
5189 (multiboot2_mod_LDFLAGS): Likewise.
5190 (multiboot2_mod_ASFLAGS): Likewise.
5191 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
5192 definition.
5193 (MULTIBOOT_ENTRY_REGISTER): Likewise.
5194 (MULTIBOOT_MBI_REGISTER): Likewise.
5195 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
5196 (MULTIBOOT_ELF32_MACHINE): Likewise.
5197 (MULTIBOOT_ELF64_MACHINE): Likewise.
5198 * include/grub/mips/multiboot.h: New file.
5199 * include/grub/video.h (grub_video_driver_id): New type
5200 GRUB_VIDEO_DRIVER_SM712.
5201 (grub_video_get_info_and_fini): Export.
5202 (grub_video_get_palette): Likewise.
5203 (grub_video_get_driver_id): Likewise.
5204 * include/multiboot2.h: Resynced with spec.
5205 * loader/i386/multiboot.c: Moved from here ...
5206 * loader/multiboot.c: ... here. All users updated.
5207 (grub_multiboot_boot): Use platform-specific macros.
5208 * loader/i386/multiboot_elfxx.c: Moved from here ...
5209 * loader/multiboot_elfxx.c: ... here. All users updated.
5210 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
5211 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
5212 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
5213
5214 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 Import gnulib argp module.
5217
5218 * gnulib/argp-ba.c: New file.
5219 * gnulib/argp-eexst.c: Likewise.
5220 * gnulib/argp-fmtstream.c: Likewise.
5221 * gnulib/argp-fmtstream.h: Likewise.
5222 * gnulib/argp-fs-xinl.c: Likewise.
5223 * gnulib/argp-help.c: Likewise.
5224 * gnulib/argp-namefrob.h: Likewise.
5225 * gnulib/argp-parse.c: Likewise.
5226 * gnulib/argp-pin.c: Likewise.
5227 * gnulib/argp-pv.c: Likewise.
5228 * gnulib/argp-pvh.c: Likewise.
5229 * gnulib/argp-version-etc.c: Likewise.
5230 * gnulib/argp-version-etc.h: Likewise.
5231 * gnulib/argp-xinl.c: Likewise.
5232 * gnulib/argp.h: Likewise.
5233
5234 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * kern/device.c (grub_device_iterate): Clear errors after failed
5237 opening device.
5238
5239 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
5242 returned by firmware.
5243
5244 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
5247 compilation on coreboot and qemu
5248
5249 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * include/multiboot2.h: Resync with spec.
5252
5253 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 Multiboot2 tag support
5256
5257 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
5258 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
5259 Remove loader/multiboot_loader.c.
5260 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
5261 (grub_multiboot2_real_boot): Likewise.
5262 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
5263 (grub_get_multiboot_mmap_count): New proto.
5264 (grub_fill_multiboot_mmap): Likewise.
5265 (grub_multiboot_set_video_mode): Likewise.
5266 (grub_multiboot_set_console): Likewise.
5267 (grub_multiboot_load): Likewise.
5268 (grub_multiboot_load_elf): Likewise.
5269 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
5270 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
5271 * include/multiboot.h: Resynced with specification.
5272 * include/multiboot2.h: Resynced with specification.
5273 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
5274 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
5275 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
5276 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
5277 users updated.
5278 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
5279 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
5280 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
5281 Removed.
5282 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
5283 Moved from here...
5284 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
5285 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
5286 Moved from here...
5287 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
5288 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
5289 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
5290 All users updated.
5291 * loader/i386/multiboot_mbi2.c: New file.
5292
5293 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 Resync with gnulib.
5296
5297 * Makefile.in (GNULIB_CFLAGS): New variable.
5298 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
5299 (grub_script_check_CFLAGS): New variable.
5300 * gnulib/alloca.h: Resync with gnulib.
5301 * gnulib/error.c: Likewise.
5302 * gnulib/error.h: Likewise.
5303 * gnulib/fnmatch.c: Likewise.
5304 * gnulib/fnmatch_loop.c: Likewise.
5305 * gnulib/getdelim.c: Likewise.
5306 * gnulib/getline.c: Likewise.
5307 * gnulib/getopt.c: Likewise.
5308 * gnulib/getopt1.c: Likewise.
5309 * gnulib/getopt_int.h: Likewise.
5310 * gnulib/gettext.h: Likewise.
5311 * gnulib/progname.c: Likewise.
5312 * gnulib/progname.h: Likewise.
5313
5314 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
5315
5316 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
5317 which is the case with --disabled-nls.
5318
5319 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
5320 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
5321 * util/misc.c: Likewise.
5322 * util/mkisofs/mkisofs.c: Likewise.
5323 * util/mkisofs/mkisofs.h: Likewise.
5324
5325 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 Simplify Apple CC support.
5328
5329 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
5330 Add 0 byte at the end not to have a symbol with empty target.
5331 * mmap/i386/pc/mmap_helper.S: Likewise.
5332 * genmk.rb: Ignore errors 2030 and 2050.
5333 * kern/i386/pc/startup.S: Use LOCAL when possible.
5334
5335 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
5336
5337 Testcase and the fix for final semicolon on cmdline.
5338
5339 * tests/grub_script_final_semicolon.in: New testcase.
5340 * conf/tests.rmk: Rules for the new testcase.
5341 * script/parser.y: Grammar fix.
5342
5343 2010-03-26 BVK Chaitanya <bvk@localhost>
5344
5345 Blank lines testcase for GRUB script.
5346
5347 * tests/grub_script_blanklines.in: New testcase.
5348 * conf/tests.rmk: Rules for the new testcase.
5349
5350 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 Don't use __FILE__.
5353
5354 * genmk.rb: Add -DGRUB_FILE to all C targets.
5355 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
5356 * include/grub/list.h: Likewise.
5357 * include/grub/misc.h: Likewise.
5358 * include/grub/mm.h: Likewise.
5359 * include/grub/test.h: Likewise.
5360 * kern/mm.c: Likewise.
5361 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
5362
5363 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 Sunpc partitions support.
5366
5367 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
5368 (grub_fstest_SOURCES): Likewise.
5369 (pkglib_MODULES): Add part_sunpc.mod.
5370 (part_sunpc_mod_SOURCES): New variable.
5371 (part_sunpc_mod_CFLAGS): Likewise.
5372 (part_sunpc_mod_LDFLAGS): Likewise.
5373 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
5374 * partmap/sunpc.c: New file.
5375
5376 2010-03-26 BVK Chaitanya <bvk@localhost>
5377
5378 For loop support to GRUB script.
5379
5380 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
5381 (grub_script_create_cmdfor): New function prototype.
5382 (grub_script_execute_cmdfor): New function prototype.
5383 * script/execute.c (grub_script_execute_cmdfor): New function.
5384 * script/parser.y (command): New for command.
5385 (forcmd): New grammar rule.
5386 * script/script.c (grub_script_create_cmdfor): New function.
5387 * util/grub-script-check.c (grub_script_execute_cmdfor): New
5388 function.
5389 * tests/grub_script_for1.in: New testcase.
5390 * conf/tests.rmk: Rules for new testcase.
5391
5392 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 Nested partitions
5395
5396 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
5397 'partition' is NULL, grub_partition_get_start already does that.
5398 * commands/loadenv.c (check_blocklists): Likewise.
5399 (write_blocklists): Likewise.
5400 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
5401 (grub_fstest_SOURCES): Likewise.
5402 (pkglib_MODULES): Add part_bsd.mod.
5403 (part_bsd_mod_SOURCES): New variable.
5404 (part_bsd_mod_CFLAGS): Likewise.
5405 (part_bsd_mod_LDFLAGS): Likewise.
5406 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
5407 (grub_emu_SOURCES): Likewise.
5408 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
5409 * include/grub/bsdlabel.h: New file.
5410 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
5411 'get_name'.
5412 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
5413 (grub_partition_map_list): New variable.
5414 (grub_partition_map_register): Inline.
5415 (grub_partition_map_unregister): Likewise.
5416 (FOR_PARTITION_MAPS): New macro.
5417 (grub_partition_map_iterate): Removed.
5418 (grub_partition_get_start): Handle nested partitions.
5419 * include/grub/msdos_partition.h: Remove bsd-related entries.
5420 (grub_pc_partition): Remove.
5421 * kern/disk.c (grub_disk_close): Free partition data.
5422 (grub_disk_adjust_range): Handle nested partitions.
5423 * kern/partition.c (grub_partition_map_probe): New function.
5424 (grub_partition_probe): Parse name to number, handle subpartitions.
5425 (get_partmap): New function.
5426 (grub_partition_iterate): Handle subpartitions.
5427 (grub_partition_get_name): Likewise.
5428 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
5429 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
5430 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
5431 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
5432 Set 'number'.
5433 (acorn_partition_map_probe): Remove.
5434 (acorn_partition_map_get_name): Likewise.
5435 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
5436 Set 'number'.
5437 Set 'index' to 0 since there can be only one partition entry per sector.
5438 (amiga_partition_map_probe): Remove.
5439 (amiga_partition_map_get_name): Likewise.
5440 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
5441 Set 'number'.
5442 Set 'offset' and 'index' to real positions of partitions.
5443 (apple_partition_map_probe): Remove.
5444 (apple_partition_map_get_name): Likewise.
5445 * partmap/bsdlabel.c: New file.
5446 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
5447 Set 'number'.
5448 Allocate 'data' so it can be correctly freed.
5449 Set 'index' to offset inside sector.
5450 (gpt_partition_map_probe): Remove.
5451 (gpt_partition_map_get_name): Likewise.
5452 * partmap/msdos.c (grub_partition_parse): Remove.
5453 (pc_partition_map_iterate): Don't force raw access.
5454 Set 'number'.
5455 Make 'ext_offset' a local variable.
5456 (pc_partition_map_probe): Remove.
5457 (pc_partition_map_get_name): Remove.
5458 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
5459 Set 'number'.
5460 (sun_partition_map_probe): Remove.
5461 (sun_partition_map_get_name): Likewise.
5462 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
5463 (grub_pcpart_type): Likewise.
5464 * util/hostdisk.c (open_device): Handle new numbering scheme.
5465 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
5466 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
5467 * util/grub-probe.c (probe_partmap): Handle nested paritions.
5468 * util/grub-install.in: Insert all subpartition modules.
5469 * util/ieee1275/grub-install.in: Likewise.
5470
5471 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
5472
5473 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
5474 grammar.
5475
5476 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
5477
5478 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
5479
5480 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
5481
5482 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
5483 match where 'make install' puts them.
5484 * util/i386/efi/grub-install.in: Likewise.
5485
5486 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
5487
5488 * .bzrignore: Add gentrigtables, grub-script-check,
5489 grub_script_check_init.c, grub_script_check_init.h, and
5490 trigtables.c.
5491
5492 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * kern/parser.c: Indented.
5495
5496 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
5499
5500 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
5503 alpha_mask_size == 0 case.
5504
5505 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
5506
5507 GRUB shell lexer and parser improvements.
5508
5509 * conf/any-emu.rmk: Build rule updates.
5510 * conf/common.rmk: Likewise.
5511 * conf/i386-coreboot.rmk: Likewise.
5512 * conf/i386-efi.rmk: Likewise.
5513 * conf/i386-ieee1275.rmk: Likewise.
5514 * conf/i386-pc.rmk: Likewise.
5515 * conf/powerpc-ieee1275.rmk: Likewise.
5516 * conf/x86_64-efi.rmk: Likewise.
5517
5518 * configure.ac: Configure check for flex.
5519
5520 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
5521 types.
5522 (grub_lexer_param): Struct member updates.
5523 (grub_parser_param): Likewise.
5524 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
5525 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
5526 (grub_script_lexer_init): Prototype update.
5527 (grub_script_lexer_record_start): Likewise.
5528 (grub_script_lexer_record_stop): Likewise.
5529 (grub_script_lexer_yywrap): New function prototype.
5530 (grub_script_lexer_fini): Likewise.
5531 (grub_script_execute_argument_to_string): Removed by...
5532 (grub_script_execute_argument_to_argv): ...better version.
5533
5534 * script/execute.c (ROUND_UPTO): New macro.
5535 (grub_script_execute_cmdline): Out of memory fixes.
5536 (grub_script_execute_menuentry): Likewise.
5537 (grub_script_execute_argument_to_string): Removed. Update all
5538 users by...
5539 (grub_script_execute_argument_to_argv): ...better version.
5540 * script/function.c (grub_script_function_create): Use
5541 grub_script_execute_argument_to_argv instead of
5542 grub_script_execute_argument_to_string.
5543
5544 * script/lexer.c (check_varstate): Removed.
5545 (check_textstate): Removed.
5546 (grub_script_lexer_record_start): Likewise.
5547 (grub_script_lexer_record_stop): Likewise.
5548 (recordchar): Replaced with...
5549 (grub_script_lexer_record): ...new function.
5550 (nextchar): Removed.
5551 (grub_script_lexer_init): Rewritten.
5552 (grub_script_yylex): Rewritten.
5553 (append_newline): New function.
5554 (grub_script_lexer_yywrap): New function.
5555 (grub_script_lexer_fini): New function.
5556 (grub_script_yyerror): Sets error flag.
5557
5558 * script/yylex.l: New file.
5559 (grub_lexer_yyfree): Wrapper for flex yyffre.
5560 (grub_lexer_yyalloc): Likewise.
5561 (grub_lexer_yyrealloc): Likewise.
5562 * script/parser.y: Refactored.
5563
5564 * script/script.c (grub_script_arg_add): Out of memory fixes.
5565 (grub_script_add_arglist): Likewise.
5566 (grub_script_create_cmdline): Likewise.
5567 (grub_script_create_cmdmenu): Likewise.
5568 (grub_script_add_cmd): Likewise.
5569 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
5570 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
5571 unnecessary code.
5572
5573 * tests/grub_script_echo1.in: New testcase.
5574 * tests/grub_script_vars1.in: New testcase.
5575 * tests/grub_script_echo_keywords.in: New testcase.
5576
5577 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 Remove some redundancy in build system.
5580
5581 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
5582 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
5583 (TARGET_LDFLAGS): Add -nostdlib.
5584 (TARGET_IMG_LDFLAGS): Likewise.
5585 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
5586 anything since mmap isn't available.
5587 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
5588 Add util/time.c.
5589 (pkglib_MODULES): Remove reboot.mod.
5590 (reboot_mod_SOURCES): Removed.
5591 (reboot_mod_CFLAGS): Likewise.
5592 (reboot_mod_LDFLAGS): Likewise.
5593 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
5594 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
5595 (DEFSYMFILES): Add kernel_syms.lst.
5596 (kernel_img_HEADERS): Add common headers.
5597 (symlist.c): New target.
5598 (kernel_syms.lst): Likewise.
5599 (pkglib_MODULES): Add memdisk.mod.
5600 (memdisk_mod_SOURCES): New variable.
5601 (memdisk_mod_CFLAGS): Likewise.
5602 (memdisk_mod_LDFLAGS): Likewise.
5603 (pkglib_MODULES): Add reboot.mod.
5604 (reboot_mod_SOURCES): New variable.
5605 (reboot_mod_CFLAGS): Likewise.
5606 (reboot_mod_LDFLAGS): Likewise.
5607 (pkglib_MODULES): Add date.mod.
5608 (date_mod_SOURCES): New variable.
5609 (date_mod_CFLAGS): Likewise.
5610 (date_mod_LDFLAGS): Likewise.
5611 (pkglib_MODULES): Add datehook.mod.
5612 (datehook_mod_SOURCES): New variable.
5613 (datehook_mod_CFLAGS): Likewise.
5614 (datehook_mod_LDFLAGS): Likewise.
5615 (pkglib_MODULES): Add lsmmap.mod.
5616 (lsmmap_mod_SOURCES): New variable.
5617 (lsmmap_mod_CFLAGS): Likewise.
5618 (lsmmap_mod_LDFLAGS): Likewise.
5619 (pkglib_MODULES): Add boot.mod.
5620 (boot_mod_SOURCES): New variable.
5621 (boot_mod_CFLAGS): Likewise.
5622 (boot_mod_LDFLAGS): Likewise.
5623 * conf/i386-coreboot.rmk: Removed redundant parts.
5624 * conf/i386-ieee1275.rmk: Likewise.
5625 * conf/i386-pc.rmk: Likewise.
5626 * conf/mips-yeeloong.rmk: Likewise.
5627 * conf/mips.rmk: Likewise.
5628 * conf/powerpc-ieee1275.rmk: Likewise.
5629 * conf/sparc64-ieee1275.rmk: Likewise.
5630 * conf/x86_64-efi.rmk: Likewise.
5631 * conf/i386-coreboot.rmk: Moved qemu parts ..
5632 * conf/i386-qemu.rmk: ... here
5633 * conf/i386-efi.rmk: Moved common parts to...
5634 * conf/x86-efi.rmk: ... here.
5635 * conf/i386.rmk: Added modules common to all x86 variants.
5636 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
5637 * disk/memdisk.c: Remove grub/machine/kernel.h.
5638 * gensymlist.sh.in: Include symbol.h.
5639 * hook/datehook.c: Correct module name.
5640 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
5641 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
5642 * include/grub/i386/efi/serial.h: New file.
5643 * include/grub/x86_64/efi/serial.h: Likewise.
5644 * util/time.c: Likewise.
5645 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
5646
5647 2010-03-14 Colin King <colin.king@ubuntu.com>
5648 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
5649
5650 Shrink the pre-partition-table part of boot.img by eight bytes.
5651
5652 * boot/i386/pc/boot.S (ERR): New macro.
5653 (chs_mode): Use ERR.
5654 (geometry_error): Likewise.
5655 (hd_probe_error): Remove. This is only used once, so we wrwite
5656 it inline instead.
5657 (read_error): Instead of printing read_error_string, just set up
5658 %si and fall through to ...
5659 (error_message): ... this new function, also used by ERR.
5660
5661 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
5662
5663 Speed up consecutive hostdisk operations on the same device.
5664
5665 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
5666 (grub_util_biosdisk_open): Initialise disk->data.
5667 (struct linux_partition_cache): New structure.
5668 (linux_find_partition): Cache partition start positions; these are
5669 expensive to compute on every read and write.
5670 (open_device): Cache open file descriptor in disk->data, so that we
5671 don't have to reopen it and flush the buffer cache for consecutive
5672 operations on the same device.
5673 (grub_util_biosdisk_close): New function.
5674 (grub_util_biosdisk_dev): Set `close' member.
5675
5676 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
5677 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
5678 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5679 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
5680 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
5681
5682 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 Compile parts of grub-emu as modules.
5685
5686 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
5687 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
5688 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
5689 (all-local): Add $(GRUB_EMU).
5690 (install-local): Install $(GRUB_EMU).
5691 (uninstall): Uninstall $(GRUB_EMU).
5692 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
5693 * kern/dl.c: Likewise.
5694 * commands/sleep.c: Not include machine/time.h.
5695 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
5696 (COMMON_CFLAGS): Likewise.
5697 (sbin_UTILITIES): Remove grub-emu.
5698 (grub_emu_SOURCES): Removed.
5699 (kernel_img_RELOCATABLE): New variable.
5700 (pkglib_PROGRAMS): Add kernel.img.
5701 (kernel_img_SOURCES): New variable
5702 (kernel_img_CFLAGS): Likewise.
5703 (kernel_img_LDFLAGS): Likewise.
5704 (TARGET_NO_STRIP): Likewise.
5705 (TARGET_NO_DYNAMIC_MODULES): Likewise.
5706 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
5707 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
5708 (grub-emu): New target.
5709 (GRUB_EMU): New variable.
5710 * configure.ac: Whitelist -emu as possible x86_64 architecture.
5711 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
5712 * loader/xnu.c: Likewise.
5713 * include/grub/pci.h: Likewise.
5714 * genemuinit.sh: New file.
5715 * genemuinitheader.sh: Likewise.
5716 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
5717 Support TARGET_NO_DYNAMIC_MODULES.
5718 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
5719 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
5720 * disk/loopback.c: Likewise.
5721 * font/font_cmd.c: Likewise.
5722 * partmap/acorn.c: Likewise.
5723 * partmap/amiga.c: Likewise.
5724 * partmap/apple.c: Likewise.
5725 * partmap/gpt.c: Likewise.
5726 * partmap/msdos.c: Likewise.
5727 * partmap/sun.c: Likewise.
5728 * parttool/msdospart.c: Likewise.
5729 * term/gfxterm.c: Likewise.
5730 * video/bitmap.c: Likewise.
5731 * video/readers/jpeg.c: Likewise.
5732 * video/readers/png.c: Likewise.
5733 * video/readers/tga.c: Likewise.
5734 * video/video.c: Likewise.
5735 * util/grub-emu.c (read_command_list): Removed.
5736 (main): Don't call util_init_nls.
5737 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
5738 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
5739
5740 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
5743 date.mod, datehook.mod.
5744 (datetime_mod_SOURCES): New variable.
5745 (datetime_mod_CFLAGS): Likewise.
5746 (datetime_mod_LDFLAGS): Likewise.
5747 (date_mod_SOURCES): Likewise.
5748 (date_mod_CFLAGS): Likewise.
5749 (date_mod_LDFLAGS): Likewise.
5750 (datehook_mod_SOURCES): Likewise.
5751 (datehook_mod_CFLAGS): Likewise.
5752 (datehook_mod_LDFLAGS): Likewise.
5753 * conf/sparc64-ieee1275.rmk: Likewise.
5754 * lib/ieee1275/datetime.c: New file.
5755
5756 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
5759 (ieee1275_fb_mod_SOURCES): New variable.
5760 (ieee1275_fb_mod_CFLAGS): Likewise.
5761 (ieee1275_fb_mod_LDFLAGS): Likewise.
5762 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
5763 New proto.
5764 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
5765 (HEAP_MAX_ADDR): Likewise.
5766 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
5767 type.
5768 Correct stop condition.
5769 (grub_ieee1275_devices_iterate): New function.
5770 * video/ieee1275.c: New file.
5771
5772 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
5775
5776 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
5777 as scratch.
5778 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
5779 SCRATCH_PAD_DISKBOOT as scratch.
5780 (bootit): Pass Openfirmware pointer in %o4.
5781 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
5782 of 0x200000.
5783 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
5784 with util/grub-mkrawimage.c.
5785 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
5786 * include/grub/aout.h (AOUT_MID_SUN): New definition.
5787 (grub_aout_get_type) [GRUB_UTIL]: Removed.
5788 (grub_aout_load) [GRUB_UTIL]: Likewise.
5789 * include/grub/kernel.h (grub_modules_get_end): New proto.
5790 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
5791 (SCRATCH_PAD_BOOT): New definition.
5792 (SCRATCH_PAD_DISKBOOT): Likewise.
5793 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
5794 * include/grub/sparc64/ieee1275/ieee1275.h
5795 (grub_ieee1275_original_stack): New variable
5796 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
5797 New definition
5798 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
5799 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
5800 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
5801 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
5802 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
5803 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
5804 (grub_platform_image_format_t): New type.
5805 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
5806 * kern/main.c (grub_modules_get_end)
5807 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
5808 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
5809 (codestart): Switch stacks.
5810 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
5811 variable.
5812 (grub_heap_init): Use grub_modules_get_end.
5813 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
5814 stack.
5815 * util/grub-mkrawimage.c (generate_image): Support sparc64.
5816 (main): Likewise.
5817 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
5818
5819 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
5820
5821 * util/grub-mkrescue.in: Base ISO UUID on UTC.
5822
5823 2010-03-08 Matt Kraai <kraai@ftbfs.org>
5824
5825 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
5826 bug #559005).
5827
5828 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * genmoddep.awk: Output all missing symbols and not only first.
5831
5832 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 * NEWS: Put the date of 1.98 release.
5835
5836 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
5839 ft2build.h.
5840
5841 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
5844 completition in the middle of string.
5845
5846 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * util/grub-mkrescue.in: Use mktemp with explicit template.
5849
5850 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5851
5852 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
5853
5854 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5855
5856 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
5857 right pointer.
5858
5859 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5860
5861 Fix FreeBSD compilation.
5862
5863 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
5864 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
5865
5866 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
5869
5870 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
5873
5874 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
5877
5878 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
5879
5880 Support relative image path in theme file.
5881
5882 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
5883 (image_set_property): Handle theme_dir and relative path.
5884
5885 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * configure.ac: Alias amd64 to x86_64.
5888
5889 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 * NEWS: mention multiboot on EFI.
5892
5893 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * kern/main.c (grub_load_modules): Handle errors from init functions of
5896 embeded modules.
5897
5898 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 * normal/autofs.c (autoload_fs_module): Handle errors.
5901
5902 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 Disable linux.mod on qemu-mips since it's not functional and leads
5905 to compilation failure.
5906
5907 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
5908 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
5909 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
5910 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
5911 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
5912 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
5913 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
5914 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
5915 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
5916 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
5917 Reported by: BVK Chaitanya
5918
5919 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
5920
5921 * INSTALL: Add gettext as a dependency and add qemu to a new section
5922 "Prerequisites for make-check".
5923
5924 2010-03-04 Christian Franke <franke@computer.org>
5925
5926 * util/grub-pe2elf.c: Add missing include "progname.h".
5927
5928 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * normal/crypto.c (read_crypto_list): Fix a typo.
5931 Reported by: Seth Goldberg.
5932
5933 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
5936 Reported by: Seth Goldberg.
5937
5938 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
5941 ascii.bitmaps.
5942
5943 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * genmk.rb: Remove terminal*.lst in make clean.
5946 Reported by: Seth Goldberg.
5947
5948 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * util/i386/efi/grub-install.in: Copy gettext files.
5951
5952 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
5955
5956 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 Wait for user entry basing on presence of output rather than on errors.
5959
5960 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
5961 (grub_install_newline_hook): Likewise.
5962 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
5963 * normal/menu.c (show_menu): Check line_counter to determine presence
5964 of output.
5965 * normal/term.c (grub_normal_line_counter): New variable.
5966 (grub_normal_get_line_counter): New function.
5967 (grub_install_newline_hook): Likewise.
5968
5969 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
5972
5973 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * configure.ac: Update version to 1.98.
5976
5977 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * util/grub.d/10_linux.in (linux_entry): Don't default to
5980 gfxpayload=keep if Linux doesn't support video handover.
5981
5982 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 Don't compile video modules on yeeloong since video subsystem is part
5985 of kernel.
5986
5987 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
5988 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
5989 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
5990 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
5991 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
5992 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
5993 * include/grub/bitmap_scale.h: Likewise.
5994 * include/grub/bufio.h: Likewise.
5995 * include/grub/font.h: Likewise.
5996 * include/grub/gfxterm.h: Likewise.
5997 * include/grub/video.h: Likewise.
5998 * include/grub/vbe.h: Don't include video_fb.h.
5999 * video/i386/pc/vbe.c: Include video_fb.h.
6000 * commands/i386/pc/vbetest.c: Include video.h.
6001
6002 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
6003
6004 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
6005 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
6006 default entry if GRUB_SAVEDEFAULT=true. This allows using
6007 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
6008 saving a new default on every boot.
6009
6010 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * normal/crypto.c (read_crypto_list): Fix a memory leak.
6013 * normal/term.c (read_terminal_list): Likewise.
6014 * normal/main.c (grub_normal_init_page): Likewise.
6015 (grub_normal_read_line_real): Likewise.
6016
6017 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
6020 memory leak.
6021 Reported by: Seth Goldberg.
6022
6023 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
6024
6025 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
6026 duplicate declaration of `start'.
6027
6028 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
6031 filename.
6032 Reported by: Georgy Buranov
6033
6034 2010-02-20 Carles Pina i Estany <carles@pina.cat>
6035
6036 * util/grub-mkrawimage.c (usage): Change string formatting to
6037 improve gettext.
6038
6039 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
6040
6041 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
6042 backspace keys.
6043
6044 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
6047 Reported by: Michael Suchanek.
6048
6049 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
6050
6051 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
6052 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
6053
6054 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 Remove any reference to non-free fonts.
6057
6058 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
6059 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
6060 uses non-free components.
6061 * font/font.c (grub_font_get_name): Remove example name.
6062 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
6063 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
6064 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
6065 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
6066
6067 2010-02-16 Georgy Buranov <gburanov@gmail.com>
6068
6069 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
6070
6071 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
6074 Double divisor.
6075 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
6076 features.
6077 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
6078
6079 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * gensymlist.sh.in: Use TARGET_CC instead of CC.
6082
6083 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6084
6085 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
6086 * docs/grub.texi (Command-line and menu entry commands): Document play
6087 command.
6088
6089 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6090
6091 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
6092 parse arguments as inline tempo and notes. Move code for playing notes
6093 to...
6094 (play): ... new function.
6095
6096 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6097
6098 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
6099 grub_uint16_t instead of short.
6100 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
6101 disk from little endian to cpu endianness.
6102
6103 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
6104
6105 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
6106 GRUB_TICKS_PER_SECOND instead of 120.
6107
6108 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
6111 escape sequence after \e.
6112
6113 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
6116 non-ASCII characters.
6117
6118 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
6121 set root in single quotes to prevent \, from being unescaped.
6122
6123 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 Prevent unknown commands from stopping menuentry execution.
6126
6127 * script/execute.c (grub_script_execute_cmdline): Print error after
6128 unknown command.
6129
6130 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
6133 Reported by: Pavel Pisa.
6134
6135 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
6138
6139 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 Merge grub_ieee1275_map_physical into grub_map and rename to
6142 grub_ieee1275_map
6143
6144 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
6145 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
6146 Remove.
6147 * kern/ieee1275/openfw.c (grub_map): Rename to ...
6148 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
6149 necessary.
6150 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
6151
6152 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
6155 opening and not after.
6156
6157 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
6160 constants.
6161
6162 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
6165 (alloc_phys): Use ALIGN_UP instead of align_addr.
6166
6167 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
6170
6171 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
6174
6175 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
6178 verbose dprintf.
6179
6180 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 Fix over-4GiB seek on sparc64.
6183
6184 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
6185 Replace pos_i and pos_lo with pos. All users updated.
6186 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
6187 New constant.
6188 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
6189 Likewise.
6190 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
6191 and pos_lo.
6192
6193 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6194
6195 * util/grub-mkrawimage.c (main): Call set_program_name.
6196
6197 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 Properly align 64-bit targets.
6200
6201 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
6202 (generate_image): Use ALIGN_ADDR.
6203
6204 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 Properly create cross-endian images.
6207
6208 * include/grub/types.h (grub_host_to_target_addr): New macro
6209 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
6210
6211 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
6214
6215 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
6218
6219 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
6220 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
6221 (grub_linux_boot): Divide by 64K when on VESA.
6222
6223 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 Support GRUB_GFXPAYLOAD_LINUX.
6226
6227 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
6228 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
6229
6230 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
6233 to show messages instead of discarding them.
6234 Process errors after executing command and not before. Keep old method
6235 too as precaution.
6236
6237 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * configure.ac: Check for ft2build.h.
6240
6241 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
6244
6245 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 * genkernsyms.sh.in: Use TARGET_CC.
6248
6249 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
6250
6251 * NEWS: Update.
6252
6253 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * include/grub/multiboot2.h: Remove leftover file.
6256 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
6257 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6258
6259 2010-02-07 Yves Blusseau <blusseau@zetam.org>
6260
6261 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
6262
6263 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 Fix warnings in grub-emu when compiling with maximum warning options.
6266
6267 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
6268 (grub_arch_modules_addr): Return 0 and not NULL.
6269 * util/misc.c (ENABLE_RELOCATABLE): New definition.
6270 (xstrdup): Use newstr instead of dup.
6271 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
6272 of disk to dsk to avoid shadowing.
6273 (find_free_slot): Fix prototype.
6274 * util/getroot.c (grub_util_is_dmraid): Make static.
6275 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
6276 Add missing prototype.
6277 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
6278
6279 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * loader/i386/linux.c (grub_linux_setup_video): Handle error
6282 appropriately.
6283
6284 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
6287 code out.
6288
6289 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
6292 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
6293 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
6294 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
6295 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
6296 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
6297
6298 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * include/grub/err.h (grub_err_printf): Don't export.
6301
6302 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
6305
6306 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * include/grub/i18n.h (grub_gettext_dummy): Removed.
6309 * kern/misc.c (grub_gettext_dummy): Make static.
6310
6311 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
6314 by non-valid ones.
6315 * kern/term.c (grub_putchar): Likewise.
6316
6317 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
6320 buggy hook call and memory leak.
6321
6322 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
6325
6326 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
6329
6330 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
6333 modevar.
6334 Return grub_errno on allocation error.
6335
6336 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
6339
6340 2010-02-06 Yves Blusseau <blusseau@zetam.org>
6341
6342 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
6343 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
6344
6345 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
6348 non-pxe disk.
6349 (grub_pxefs_open): Likewise.
6350
6351 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
6352
6353 * util/grub.d/10_hurd.in: Add --class information to menuentries.
6354 * util/grub.d/10_kfreebsd.in: Likewise.
6355 * util/grub.d/10_linux.in: Likewise.
6356
6357 2010-02-06 Colin D Bennett <colin@gibibit.com>
6358
6359 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
6360 (gfxmenu_mod_SOURCES): New variable.
6361 (gfxmenu_mod_CFLAGS): Likewise.
6362 (gfxmenu_mod_LDFLAGS): Likewise.
6363 * include/grub/term.h (grub_term_set_current_output): Declare
6364 argument as const.
6365 * docs/gfxmenu-theme-example.txt: New file.
6366 * gfxmenu/gfxmenu.c: Likewise.
6367 * gfxmenu/gui_box.c: Likewise.
6368 * gfxmenu/gui_canvas.c: Likewise.
6369 * gfxmenu/gui_circular_progress.c: Likewise.
6370 * gfxmenu/gui_image.c: Likewise.
6371 * gfxmenu/gui_label.c: Likewise.
6372 * gfxmenu/gui_list.c: Likewise.
6373 * gfxmenu/gui_progress_bar.c: Likewise.
6374 * gfxmenu/gui_string_util.c: Likewise.
6375 * gfxmenu/gui_util.c: Likewise.
6376 * gfxmenu/icon_manager.c: Likewise.
6377 * gfxmenu/model.c: Likewise.
6378 * gfxmenu/named_colors.c: Likewise.
6379 * gfxmenu/theme_loader.c: Likewise.
6380 * gfxmenu/view.c: Likewise.
6381 * gfxmenu/widget-box.c: Likewise.
6382 * include/grub/gfxmenu_model.h: Likewise.
6383 * include/grub/gfxmenu_view.h: Likewise.
6384 * include/grub/gfxwidgets.h: Likewise.
6385 * include/grub/gui.h: Likewise.
6386 * include/grub/gui_string_util.h: Likewise.
6387 * include/grub/icon_manager.h: Likewise.
6388
6389 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 Agglomerate scrolling in gfxterm.
6392
6393 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
6394 (grub_virtual_screen_setup): Initialise 'total_screen'.
6395 (write_char): Split to ...
6396 (paint_char): ... this ...
6397 (write_char): ... and this.
6398 (paint_char): Handle delayed scrolling.
6399 (draw_cursor): Likewise.
6400 (scroll_up): Split to ...
6401 (real_scroll): ... this ...
6402 (scroll_up): ... and this.
6403 (real_scroll): Handle multi-line scroll and draw below-the-bottom
6404 characters.
6405 (grub_gfxterm_refresh): Call real_scroll.
6406
6407 2010-02-06 Colin D Bennett <colin@gibibit.com>
6408
6409 * include/grub/misc.h (grub_iscntrl): New inline function.
6410 (grub_isalnum): Likewise.
6411 (grub_strtol): Likewise.
6412
6413 2010-02-06 Colin D Bennett <colin@gibibit.com>
6414
6415 * normal/menu_text.c (get_entry_number): Move from here ...
6416 * normal/menu.c (get_entry_number): ... moved here.
6417 * include/grub/menu.h (grub_menu_get_default_entry_index):
6418 New prototype.
6419 * normal/menu.c (grub_menu_get_default_entry_index): New function.
6420 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
6421 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
6422 (grub_menu_viewer_should_return): Likewise.
6423 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
6424 * normal/menu_text.c (run_menu): Enable menu switching.
6425 * normal/menu_viewer.c (should_return): New variable.
6426 (menu_viewer_changed): Likewise.
6427 (grub_menu_viewer_show_menu): Handle menu viewer changes.
6428 (grub_menu_viewer_should_return): New function.
6429 (menuviewer_write_hook): Likewise.
6430 (grub_menu_viewer_init): Likewise.
6431
6432 2010-02-06 Colin D Bennet <colin@gibibit.com>
6433 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 Support for gfxterm in a window.
6436
6437 * include/grub/gfxterm.h: New file.
6438 * include/grub/video.h (struct grub_video_rect): New declaration.
6439 (grub_video_rect_t): Likewise.
6440 * term/gfxterm.c (struct grub_gfxterm_window): New type.
6441 (refcount): New variable.
6442 (render_target): Likewise.
6443 (window): Likewise.
6444 (repaint_callback): Likewise.
6445 (grub_virtual_screen_setup): Use 'render_target'.
6446 (init_window): New function.
6447 (grub_gfxterm_init_window): Likewise.
6448 (grub_gfxterm_init): Check reference counter.
6449 Use init_window.
6450 (destroy_window): New function.
6451 (grub_gfxterm_destroy_window): Likewise.
6452 (grub_gfxterm_fini): Check reference counter.
6453 Use destroy_window.
6454 (redraw_screen_rect): Restore viewport.
6455 Use 'render_target' and 'window'.
6456 Call 'repaint_callback'.
6457 (write_char): Use 'render_target'.
6458 (draw_cursor): Likewise.
6459 (scroll_up): Restore viewport.
6460 Use 'render_target' and 'window'.
6461 Call 'repaint_callback'.
6462 (grub_gfxterm_cls): Likewise.
6463 (grub_gfxterm_refresh): Use 'window'.
6464 (grub_gfxterm_set_repaint_callback): New function.
6465 (grub_gfxterm_background_image_cmd): Use 'window'.
6466 (grub_gfxterm_get_term): New function.
6467 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
6468
6469 2010-02-06 Colin D Bennett <colin@gibibit.com>
6470
6471 Bitmap scaling support.
6472
6473 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
6474 (bitmap_scale_mod_SOURCES): New variable.
6475 (bitmap_scale_mod_CFLAGS): Likewise.
6476 (bitmap_scale_mod_LDFLAGS): Likewise.
6477 * include/grub/bitmap_scale.h: New file.
6478 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
6479 (background_image_cmd_options): New variable.
6480 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
6481 (cmd): Rename and change type to ...
6482 (background_image_cmd_handle): ... this. All users updated.
6483 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
6484 * video/bitmap_scale.c: New file.
6485
6486 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 SDL support.
6489
6490 * Makefile.in (LIBSDL): New variable.
6491 (enable_grub_emu_sdl): Likewise.
6492 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
6493 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
6494 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
6495 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
6496 * util/sdl.c: New file.
6497
6498 2010-02-06 Colin D Bennett <colin@gibibit.com>
6499 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 Double buffering support.
6502
6503 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
6504 * include/grub/video.h: Update comment.
6505 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
6506 New type.
6507 (grub_video_fb_doublebuf_blit_init): New prototype.
6508 * term/gfxterm.c (scroll_up): Support double buffering.
6509 (grub_gfxterm_refresh): Likewise.
6510 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
6511 (grub_video_fb_doublebuf_blit_init): Likewise.
6512 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
6513 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
6514 'displayed_page', 'render_page' and 'update_screen'.
6515 (grub_video_vbe_fini): Free offscreen buffer.
6516 (doublebuf_pageflipping_commit): New function.
6517 (doublebuf_pageflipping_update_screen): Likewise.
6518 (doublebuf_pageflipping_init): Likewise.
6519 (double_buffering_init): Likewise.
6520 (grub_video_vbe_setup): Enable doublebuffering.
6521 (grub_video_vbe_swap_buffers): Implement.
6522 (grub_video_vbe_set_active_render_target): Handle double buffering.
6523 (grub_video_vbe_get_active_render_target): Likewise.
6524 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
6525 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
6526 (grub_video_vbe_enable_double_buffering): Likewise.
6527 (grub_video_vbe_swap_buffers): Use update_screen.
6528 (grub_video_set_mode): Use double buffering.
6529
6530 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
6531
6532 * maintainance/gentrigtables.py: Remove.
6533 * lib/trig.c: Likewise.
6534
6535 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
6536
6537 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
6538 `trigtables.c'.
6539 (trigtables.c): New rule.
6540 (gentrigtables): Likewise.
6541 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
6542
6543 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
6544
6545 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
6546 integer constants.
6547
6548 2010-02-06 Colin D Bennet <colin@gibibit.com>
6549
6550 Trigonometry support.
6551
6552 * include/grub/trig.h: New file.
6553 * lib/trig.c: Likewise.
6554 * maintainance/gentrigtables.py: Likewise.
6555 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
6556 (trig_mod_SOURCES): New variable.
6557 (trig_mod_CFLAGS): Likewise.
6558 (trig_mod_LDFLAGS): Likewise.
6559
6560 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
6563 disk devices.
6564
6565 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
6568 error.
6569
6570 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * util/hostdisk.c (open_device): Don't use partition device when reading
6573 before the partition.
6574 (grub_util_biosdisk_read): Don't read from partition and before the
6575 partition in single operation.
6576 (grub_util_biosdisk_write): Don't write to partition and before the
6577 partition in single operation.
6578
6579 2010-02-03 Torsten Landschoff <torsten@debian.org>
6580
6581 * kern/disk.c (grub_disk_read): Fix offset computation when reading
6582 last sectors.
6583
6584 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
6587 CDROM reads.
6588 (grub_biosdisk_write): Refuse to write to CDROM.
6589
6590 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
6593
6594 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * font/font.c (find_glyph): Check that bmp_idx is available before
6597 using it.
6598 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
6599 with (font == NULL).
6600
6601 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
6602
6603 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
6604
6605 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
6606
6607 * include/grub/script_sh.h (sourcecode): Add const qualifier.
6608 * util/grub-script-check.c (getline): Fix empty lines case.
6609
6610 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
6611
6612 * Makefile.in (check): Exit with fail status when one of the tests
6613 fails.
6614 * tests/example_functional_test.c (example_test): Fix reversed assert.
6615 * tests/example_unit_test.c (example_test): Likewise.
6616
6617 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
6618
6619 * util/grub.d/10_linux.in: This script does not use any of the
6620 contents of gettext.sh, only the external command `gettext', so stop
6621 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
6622 the same prefix as GRUB.)
6623 * util/grub.d/10_kfreebsd.in: Likewise.
6624
6625 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
6628 of the line.
6629
6630 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * kern/disk.c (grub_disk_read): Fix offset computation when reading
6633 last sectors.
6634
6635 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
6638 having a 4KiB and not 32KiB buffer size.
6639
6640 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6641
6642 * util/hostfs.c: Include `<errno.h>'.
6643 (grub_hostfs_read): Handle errors from fseeko() and fread().
6644
6645 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6646
6647 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
6648 loop when using read hooks on files whose size isn't sector-aligned.
6649
6650 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6651
6652 Remove unused parameter.
6653
6654 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
6655 (grub_iso9660_open): Remove initialization of `data->length'.
6656
6657 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6658
6659 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
6660 memleak conditions.
6661
6662 2010-01-27 Carles Pina i Estany <carles@pina.cat>
6663
6664 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
6665 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
6666
6667 2010-01-26 Carles Pina i Estany <carles@pina.cat>
6668
6669 * util/bin2h.c (usage): Fix warning (space after backslash).
6670
6671 2010-01-26 Carles Pina i Estany <carles@pina.cat>
6672
6673 * font/font.c: Include `grub/fontformat.h.
6674 Remove font file format constants.
6675 (grub_font_load): Use the new macros.
6676 * include/grub/fontformat.h: New file.
6677 * util/grub-mkfont.c: Include `grub/fontformat.c'.
6678 (write_font_pf2): Use the new macros.
6679
6680 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
6681
6682 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
6683 does.
6684
6685 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
6686
6687 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
6688
6689 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
6690 (_start): Macroify `0x7F'.
6691
6692 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
6693 (make_install_device): Use "(pxe)" as fallback prefix when booting
6694 via PXE.
6695
6696 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * configure.ac: Reset LIBS after check for libgcc symbols.
6699
6700 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
6701
6702 * util/hostdisk.c (open_device): Add trailing newline to debug
6703 message.
6704
6705 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6706
6707 * configure.ac: Check for `limits.h'.
6708 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
6709
6710 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
6711
6712 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
6713 capitalize error strings.
6714
6715 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
6716
6717 * util/grub.d/10_hurd.in: Add a recovery mode.
6718
6719 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * configure.ac: Check for libgcc symbols with -nostdlib.
6722
6723 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
6724
6725 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
6726
6727 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
6730 stack since heap may be unavailable at that point.
6731 (grub_ofconsole_gotoxy): Likewise.
6732
6733 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * configure.ac: Check for _restgpr_14_x.
6736 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
6737 and _savegpr_* prototypes.
6738
6739 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
6740
6741 Use generic grub_reboot() for i386-efi.
6742
6743 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
6744 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
6745 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
6746
6747 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
6750 presence of "prefix" variable as it breaks when normal.mod is
6751 embedded.
6752
6753 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
6756 stack since heap is unavailable at that point.
6757
6758 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
6761 (grub_freebsd_bootinfo): Rewritten.
6762 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
6763
6764 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
6767
6768 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
6769
6770 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
6771 domain now.
6772
6773 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
6774
6775 * util/misc.c (make_system_path_relative_to_its_root): Change the work
6776 around for handling "/" to the correct fix. Fix a memory leak. Use
6777 xstrdup instead of strdup.
6778
6779 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
6782
6783 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 Optimise glyph lookup by Basic Multilingual Plane lookup array.
6786
6787 * font/font.c (struct grub_font): New member 'bmp_idx'.
6788 (font_init): Initialise 'bmp_idx'.
6789 (load_font_index): Fill 'bmp_idx'.
6790 (find_glyph): Make inline. Use bmp_idx for BMP characters.
6791
6792 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
6795 unnecessary calls.
6796
6797 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 Move context handling out of the kernel.
6800
6801 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
6802 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
6803 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
6804 * conf/i386-efi.rmk: Likewise.
6805 * conf/i386-ieee1275.rmk: Likewise.
6806 * conf/i386-pc.rmk: Likewise.
6807 * conf/powerpc-ieee1275.rmk: Likewise.
6808 * conf/sparc64-ieee1275.rmk: Likewise.
6809 * conf/x86_64-efi.rmk: Likewise.
6810 * include/grub/env.h: Include grub/menu.h.
6811 (grub_env_var_type): Removed.
6812 (grub_env_var): Replaced field 'type' with 'global'.
6813 (grub_env_find): New prototype.
6814 (grub_env_context_open): Remove EXPORT_FUNC.
6815 (grub_env_context_close): Likewise.
6816 (grub_env_export): Likewise.
6817 (grub_env_set_data_slot): Removed.
6818 (grub_env_get_data_slot): Likewise.
6819 (grub_env_unset_data_slot): Likewise.
6820 (grub_env_unset_menu): New prototype.
6821 (grub_env_set_menu): Likewise.
6822 (grub_env_get_menu): Likewise.
6823 * include/grub/env_private.h: New file.
6824 * include/grub/normal.h (grub_context_init): New prototype.
6825 (grub_context_fini): Likewise.
6826 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
6827 * normal/context.c (grub_cmd_export): ... to here.
6828 * kern/env.c: Include env_private.h.
6829 (HASHSZ): Moved to include/grub/env_private.h.
6830 (grub_env_context): Likewise.
6831 (grub_env_sorted_var): Likewise.
6832 (current_context): Renamed from this ...
6833 (grub_current_context): ...to this. 'static' removed. All users updated.
6834 (grub_env_find): Removed 'static'.
6835 (grub_env_context_open): Moved to normal/context.c.
6836 (grub_env_context_close): Likewise.
6837 (grub_env_export): Likewise.
6838 (mangle_data_slot_name): Removed.
6839 (grub_env_set_data_slot): Likewise.
6840 (grub_env_get_data_slot): Likewise.
6841 (grub_env_unset_data_slot): Likewise.
6842 * kern/main.c (grub_set_root_dev): Don't export root.
6843 It will be done later.
6844 (grub_main): Don't export prefix.
6845 It will be done later.
6846 * normal/context.c: New file.
6847 * normal/main.c (free_menu): Use grub_env_unset_menu.
6848 (grub_normal_add_menu_entry): Use grub_env_get_menu.
6849 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
6850 (GRUB_MOD_INIT(normal)): Call grub_context_init.
6851 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
6852
6853 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 setpci support.
6856
6857 * commands/setpci.c: New file.
6858 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
6859 (setpci_mod_SOURCES): New variable.
6860 (setpci_mod_CFLAGS): Likewise.
6861 (setpci_mod_LDFLAGS): Likewise.
6862
6863 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 Byte-addressable PCI configuration space.
6866
6867 * bus/pci.c (grub_pci_make_address): Use byte address instead of
6868 dword address.
6869 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
6870 GRUB_PCI_REG_CACHELINE.
6871 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
6872 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
6873 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
6874 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
6875 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
6876 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
6877 grub_pci_make_address.
6878 (lock_rom_area): Likewise.
6879 * commands/lspci.c (grub_lspci_iter): Use macroses
6880 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
6881 of grub_pci_make_address.
6882 * disk/ata.c (grub_ata_pciinit): Likewise.
6883 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
6884 (GRUB_PCI_REG_VENDOR): Likewise.
6885 (GRUB_PCI_REG_DEVICE): Likewise.
6886 (GRUB_PCI_REG_COMMAND): Likewise.
6887 (GRUB_PCI_REG_STATUS): Likewise.
6888 (GRUB_PCI_REG_REVISION): Likewise.
6889 (GRUB_PCI_REG_CLASS): Likewise.
6890 (GRUB_PCI_REG_CACHELINE): Likewise.
6891 (GRUB_PCI_REG_LAT_TIMER): Likewise.
6892 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
6893 (GRUB_PCI_REG_BIST): Likewise.
6894 (GRUB_PCI_REG_ADDRESSES): Likewise.
6895 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6896 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6897 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6898 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6899 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6900 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
6901 (GRUB_PCI_REG_CIS_POINTER): Likewise.
6902 (GRUB_PCI_REG_SUBVENDOR): Likewise.
6903 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
6904 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
6905 (GRUB_PCI_REG_CAP_POINTER): Likewise.
6906 (GRUB_PCI_REG_IRQ_LINE): Likewise.
6907 (GRUB_PCI_REG_IRQ_PIN): Likewise.
6908 (GRUB_PCI_REG_MIN_GNT): Likewise.
6909 (GRUB_PCI_REG_MAX_LAT): Likewise.
6910 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
6911 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
6912 * video/efi_uga.c (find_framebuf): Likewise.
6913 * video/sm712.c (grub_video_sm712_setup): Likewise.
6914 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
6915 space.
6916
6917 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6918
6919 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
6920 can be reliably determined to be supported.
6921
6922 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6923
6924 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
6925 that VESA is supported.
6926 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
6927 supported.
6928
6929 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
6932
6933 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6934
6935 * util/misc.c (make_system_path_relative_to_its_root): Work around
6936 special-casing of "/", as previous incarnation of this routine did.
6937
6938 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 Fix any-emu compilation.
6941
6942 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
6943 * grub_bin2h_SOURCES: New variable.
6944
6945 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6946
6947 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
6948
6949 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6950
6951 * util/grub.d/00_header.in: Fix handling of locale_dir.
6952
6953 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
6956 as possible unifont location (Gentoo).
6957 Reported by: Alexander Brüning
6958
6959 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 Don't try to generate lists for kernel.img.
6962
6963 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
6964 (pkglib_MODULES): Remove kernel.img.
6965 (kernel_img_EXPORTS): Removed.
6966 (kernel_img_RELOCATABLE): New variable.
6967 * conf/x86_64-efi.rmk: Likewise.
6968 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
6969
6970 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
6973 grub_xasprintf or grub_snprintf.
6974 (grub_vsprintf): Likewise.
6975 (grub_snprintf): New proto.
6976 (grub_vsnprintf): Likewise.
6977 (grub_xasprintf): Likewise.
6978 (grub_xvasprintf): Likewise.
6979 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
6980 (grub_sprintf): Removed.
6981 (grub_vsnprintf): New function.
6982 (grub_snprintf): Likewise.
6983 (grub_xvasprintf): Likewise.
6984 (grub_xasprintf): Likewise.
6985 (grub_vsprintf): Renamed to ...
6986 (grub_vsnprintf_real): ...this. New argument max_len.
6987
6988 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
6989
6990 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
6991 fix grub-script-check warning.
6992
6993 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6994
6995 * include/grub/font.h (grub_font_load): Fix prototype.
6996
6997 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
7000
7001 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * include/grub/x86_64/at_keyboard.h: New file.
7004
7005 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 * loader/mips/linux.c: Include missing grub/i18n.h.
7008
7009 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7010
7011 * normal/menu.c (notify_execution_failure): Clarify error message.
7012
7013 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7014
7015 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
7016 return value (and revert all return statements). Update users.
7017
7018 2010-01-20 Dan Merillat <debian@dan.merillat.org>
7019
7020 * kern/device.c (grub_device_iterate): Allocate new part_ent
7021 structure based on sizeof (*p) rather than sizeof (p->next), to
7022 account for structure padding.
7023
7024 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
7025 disk is NULL, which might happen for LVM physical volumes with no
7026 LVM signature.
7027
7028 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7029
7030 * loader/mips/linux.c (grub_cmd_initrd)
7031 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
7032
7033 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7034
7035 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
7036 (grub_video_video_init, grub_video_bitmap_init)
7037 (grub_font_manager_init, grub_term_gfxterm_init)
7038 (grub_at_keyboard_init): New extern declarations.
7039 (grub_machine_init): Initialize gfxterm and at_keyboard.
7040
7041 * kern/main.c (grub_main): Revert grub_printf delay kludge.
7042
7043 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
7044 `gfxterm.mod' into core image.
7045
7046 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
7047 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7048 (kernel_img_FORMAT): Copy to ...
7049
7050 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
7051 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7052 (kernel_img_FORMAT): ... here, and ...
7053
7054 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
7055 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7056 (kernel_img_FORMAT): ... here.
7057
7058 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
7059 and input (at_keyboard) terminals in kernel.
7060 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
7061
7062 (pkglib_MODULES): Remove `pci.mod'.
7063 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
7064 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
7065 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
7066 (at_keyboard_mod_LDFLAGS): Remove variables.
7067
7068 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
7069
7070 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
7071
7072 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
7073
7074 * include/grub/mips/libgcc.h: Only export symbols for functions
7075 that libgcc provides.
7076
7077 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 MIPS support.
7080
7081 * bus/bonito.c: New file.
7082 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
7083 GRUB_PCI_NUM_DEVICES.
7084 * term/i386/pc/serial.c: Move to ...
7085 * term/serial.c: ... here. All users updated.
7086 * util/i386/pc/grub-mkimage.c: Move to ...
7087 * util/grub-mkrawimage.c: ... here. All users updated.
7088 * term/i386/pc/at_keyboard.c: Move to ...
7089 * term/at_keyboard.c: ... here. All users updated.
7090 * conf/mips-qemu-mips.rmk: New file.
7091 * conf/mips-yeeloong.rmk: Likewise.
7092 * conf/mips.rmk: Likewise.
7093 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
7094 mipsel-qemu-mips.
7095 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
7096 to port addresses.
7097 (grub_ata_pciinit): Support CS5536.
7098 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
7099 * font/font_cmd.c (loadfont_command): Open file before passing it to
7100 grub_font_load.
7101 (pseudo_file_read): New function.
7102 (pseudo_file_close): Likewise.
7103 (pseudo_fs): New structure.
7104 (load_font_module): New function.
7105 (GRUB_MOD_INIT(font_manager)): Load embedded font.
7106 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
7107 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
7108 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
7109 * include/grub/i386/at_keyboard.h: Split into ...
7110 * include/grub/at_keyboard.h: ... this ...
7111 * include/grub/i386/at_keyboard.h: ... and this.
7112 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
7113 New prototype.
7114 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
7115 updated.
7116 (grub_elf64_size): Likewise.
7117 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
7118 filename.
7119 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
7120 * include/grub/i386/coreboot/serial.h: Rewritten.
7121 * include/grub/i386/ieee1275/serial.h: Include
7122 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
7123 * include/grub/i386/pc/serial.h: Moved from here ...
7124 * include/grub/serial.h: ... to here. All users updated.
7125 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
7126 (GRUB_PCI_NUM_BUS): Likewise.
7127 (GRUB_PCI_NUM_DEVICES): Likewise.
7128 (grub_pci_device_map_range): Add missing volatile keyword.
7129 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
7130 * include/grub/mips/at_keyboard.h: New file.
7131 * include/grub/mips/cache.h: Likewise.
7132 * include/grub/mips/io.h: Likewise.
7133 * include/grub/mips/kernel.h: Likewise.
7134 * include/grub/mips/libgcc.h: Likewise.
7135 * include/grub/mips/pci.h: Likewise.
7136 * include/grub/mips/qemu-mips/boot.h: Likewise.
7137 * include/grub/mips/qemu-mips/kernel.h: Likewise.
7138 * include/grub/mips/qemu-mips/loader.h: Likewise.
7139 * include/grub/mips/qemu-mips/memory.h: Likewise.
7140 * include/grub/mips/qemu-mips/serial.h: Likewise.
7141 * include/grub/mips/qemu-mips/time.h: Likewise.
7142 * include/grub/mips/relocator.h: Likewise.
7143 * include/grub/mips/time.h: Likewise.
7144 * include/grub/mips/types.h: Likewise.
7145 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
7146 * include/grub/mips/yeeloong/boot.h: Likewise.
7147 * include/grub/mips/yeeloong/kernel.h: Likewise.
7148 * include/grub/mips/yeeloong/loader.h: Likewise.
7149 * include/grub/mips/yeeloong/memory.h: Likewise.
7150 * include/grub/mips/yeeloong/pci.h: Likewise.
7151 * include/grub/mips/yeeloong/serial.h: Likewise.
7152 * include/grub/mips/yeeloong/time.h: Likewise.
7153 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
7154 * kern/elf.c (grub_elf32_size): New parameter. All users
7155 updated.
7156 (grub_elf64_size): Likewise.
7157 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
7158 Load modules before saying "Welcome to GRUB!".
7159 Call grub_refresh after saying "Welcome to GRUB!".
7160 * kern/mips/cache.S: New file.
7161 * kern/mips/cache_flush.S: Likewise.
7162 * kern/mips/dl.c: Likewise.
7163 * kern/mips/init.c: Likewise.
7164 * kern/mips/qemu-mips/init.c: Likewise.
7165 * kern/mips/startup.S: Likewise.
7166 * kern/mips/yeeloong/init.c: Likewise.
7167 * kern/term.c (grub_putcode): Handle NULL terminal.
7168 (grub_getcharwidth): Likewise.
7169 (grub_getkey): Likewise.
7170 (grub_checkkey): Likewise.
7171 (grub_getkeystatus): Likewise.
7172 (grub_getxy): Likewise.
7173 (grub_getwh): Likewise.
7174 (grub_gotoxy): Likewise.
7175 (grub_cls): Likewise.
7176 (grub_setcolorstate): Likewise.
7177 (grub_setcolor): Likewise.
7178 (grub_getcolor): Likewise.
7179 (grub_refresh): Likewise.
7180 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
7181 (write_jump): Add hatch nop.
7182 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
7183 * lib/mips/setjmp.S: New file.
7184 * loader/mips/linux.c: Likewise.
7185 * term/i386/pc/at_keyboard.c: Move from here ...
7186 * term/at_keyboard.c: ... to here.
7187 * term/i386/pc/serial.c: Moved from here ...
7188 * term/serial.c: ... to here. All users updated.
7189 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
7190 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
7191 (serial_translate_key_sequence): Avoid deadlock.
7192 (grub_serial_getkey): Handle backspace.
7193 (grub_serial_putchar): Fix newline handling.
7194 * util/i386/pc/grub-mkimage.c: Move from here ...
7195 * util/grub-mkrawimage.c: ... to here. All users updated.
7196 (generate_image): New parameters 'font_path' and 'format'.
7197 Support embedding font.
7198 Use grub_host_to_target* instead of grub_cpu_to_le*.
7199 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
7200 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
7201 (options): New option "--font".
7202 (usage): Likewise.
7203 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
7204 (main): Handle "--font".
7205 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
7206 (grub_virtual_screen_setup): Set bg_color_display.
7207 (redraw_screen_rect): Use bg_color_display instead of incorrect
7208 bg_color.
7209 (grub_gfxterm_cls): Likewise.
7210 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
7211 Support embedding config file.
7212 (add_segments): Likewise.
7213 (options): New option "--config".
7214 (main): Handle "--config".
7215 * video/sm712.c: New file.
7216
7217 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7218
7219 Fix parallel builds.
7220
7221 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
7222 font.c depend on ascii.h).
7223
7224 2010-01-12 Carles Pina i Estany <carles@pina.cat>
7225
7226 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
7227
7228 2010-01-11 Carles Pina i Estany <carles@pina.cat>
7229
7230 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
7231 By default: disabled.
7232 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
7233 parameter.
7234
7235 2010-01-10 Carles Pina i Estany <carles@pina.cat>
7236
7237 * font/font.c: Update copyright years.
7238 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
7239
7240 2010-01-10 Carles Pina i Estany <carles@pina.cat>
7241
7242 * font/font.c: Include `ascii.h'.
7243 (ASCII_BITMAP_SIZE): New macro.
7244 (ascii_font_glyph): Define.
7245 (ascii_glyph_lookup): New function.
7246 (grub_font_get_string_width): Change comment. If glyph not found, use
7247 ascii_glyph_lookup.
7248 (grub_font_get_glyph_with_fallback): If glyph not available returns
7249 ascii_glyph_lookup.
7250 * util/grub-mkfont.c (file_formats): New enum.
7251 (options): Add `ascii-bitmaps' new option.
7252 (usage): Add `asii-bitmaps' new option.
7253 (write_font_ascii_bitmap): New function.
7254 (write_font): Rename to ...
7255 (write_font_p2): ... this. Remove print_glyphs call.
7256 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
7257 used. Call print_glyphs.
7258 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
7259
7260 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
7261
7262 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
7263 (grub_bin2h_SOURCES): New variable.
7264 * util/bin2h.c: New file.
7265
7266 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * include/multiboot.h: Resynced with spec.
7269 * include/multiboot2.h: Likewise.
7270 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
7271 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
7272
7273 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7274
7275 * include/grub/term.h (grub_term_register_input,
7276 grub_term_register_output): Check return of terminal init()
7277 routines, and abort if errors are raised.
7278
7279 * commands/terminal.c: Update copyright year.
7280
7281 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7282
7283 * commands/terminal.c (grub_cmd_terminal_input)
7284 (grub_cmd_terminal_output): Check return of terminal init()
7285 routines, and abort if errors are raised.
7286
7287 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7288
7289 * include/grub/i386/bsd.h: Fix include pathes.
7290
7291 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 Add missing *BSD copyright headers.
7294
7295 * include/grub/aout.h: Add BSD licence.
7296 * include/grub/i386/bsd.h: Parts under different licences moved to ...
7297 * include/grub/i386/freebsd_linker.h: ... here,
7298 * include/grub/i386/freebsd_reboot.h: ... here,
7299 * include/grub/i386/netbsd_bootinfo.h: ... here,
7300 * include/grub/i386/netbsd_reboot.h: ... here,
7301 * include/grub/i386/openbsd_bootarg.h: ... here,
7302 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
7303 licence to each file.
7304
7305 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7306
7307 * acinclude.m4: Remove `nop' assembly instruction; it's not
7308 implemented by all architectures.
7309
7310 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7311
7312 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
7313 ELILO. This is no longer necessary.
7314
7315 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
7316
7317 Added new tool, grub-scrit-check to verify grub.cfg syntax.
7318
7319 * util/grub-script-check.c: grub-script-check tool.
7320 * conf/common.rmk: Make rules for grub-script-check.
7321
7322 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7323
7324 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
7325 spotting it back in 2008. Shame on me for forgetting he did.
7326
7327 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
7328
7329 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7330
7331 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
7332 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
7333 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
7334 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
7335 (GRUB_VIDEO_TYPE_EFI): Rename to ...
7336 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
7337
7338 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
7339
7340 * include/grub/test.h: Add license header.
7341 * tests/example_functional_test.c: Likewise.
7342 * tests/example_unit_test.c: Likewise.
7343 * tests/lib/functional_test.c: Likewise.
7344 * tests/lib/test.c: Likewise.
7345 * tests/lib/unit_test.c: Likewise.
7346
7347 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 Use flag-based instead of hook-based video mode selection and "auto"
7350 keyword.
7351
7352 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
7353 (grub_video_set_mode): Changed prototype. All users updated.
7354 (grub_video_check_mode_flag): New inline function.
7355 * video/video.c (parse_modespec): New function.
7356 (grub_video_set_mode): Parse flags and keywords.
7357
7358 2010-01-17 Carles Pina i Estany <carles@pina.cat>
7359
7360 * util/misc.c (grub_util_info): Fix the order of the parameters in a
7361 fprintf call.
7362
7363 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
7364
7365 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
7366
7367 2010-01-16 Carles Pina i Estany <carles@pina.cat>
7368
7369 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
7370 string.
7371 * util/grub-emu.c (usage): Likewise.
7372 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
7373 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7374 * util/i386/pc/grub-mkimage.c (usage): Likewise.
7375 * util/i386/pc/grub-setup.c (usage): Likewise.
7376
7377 2010-01-16 Carles Pina i Estany <carles@pina.cat>
7378
7379 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
7380 the message.
7381 (grub_util_info): Likewise.
7382 (grub_util_error): Likewise.
7383 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
7384 and/or new lines in `grub_util_warna', `grub_util_info',
7385 `grub_util_error' calls.
7386 * util/getroot.c: Likewise.
7387 * util/grub-editenv.c: Likewise.
7388 * util/grub-emu.c: Likewise.
7389 * util/grub-fstest.c: Likewise.
7390 * util/grub-mkdevicemap.c: Likewise.
7391 * util/grub-mkfont.c: Likewise.
7392 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7393 * util/grub-mkrelpath.c: Likewise.
7394 * util/grub-pe2elf.c: Likewise.
7395 * util/grub-probe.c: Likewise.
7396 * util/hostdisk.c: Likewise.
7397 * util/i386/efi/grub-mkimage.c: Likewise.
7398 * util/i386/pc/grub-mkimage.c: Likewise.
7399 * util/i386/pc/grub-setup.c: Likewise.
7400 * util/ieee1275/ofpath.c: Likewise.
7401 * util/mkisofs/eltorito.c: Likewise.
7402 * util/mkisofs/rock.c: Likewise.
7403 * util/mkisofs/write.c: Likewise.
7404 * util/raid.c: Likewise.
7405 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
7406 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7407
7408 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 Enable multiboot on non-pc.
7411
7412 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
7413 multiboot.mod and multiboot2.mod to ...
7414 * conf/i386.rmk (pkglib_MODULES): ... here.
7415 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
7416 Moved to ...
7417 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
7418 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
7419 Moved to ...
7420 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
7421 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
7422 Moved to ...
7423 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
7424 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
7425 Moved to ...
7426 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
7427 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
7428 relocator.mod.
7429 (ata_mod_SOURCES): Removed.
7430 (ata_mod_CFLAGS): Likewise.
7431 (ata_mod_LDFLAGS): Likewise.
7432 (relocator_mod_SOURCES): Removed.
7433 (relocator_mod_CFLAGS): Likewise.
7434 (relocator_mod_ASFLAGS): Likewise.
7435 (relocator_mod_LDFLAGS): Likewise.
7436 Include i386.mk.
7437 * include/grub/x86_64/multiboot.h: New file.
7438 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
7439 Terminate EFI.
7440
7441 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 Video multiboot support.
7444
7445 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
7446 New prototype.
7447 * include/multiboot.h: Resynced with multiboot specification.
7448 * include/multiboot2.h: Likewise.
7449 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
7450 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
7451 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
7452 (HAS_VGA_TEXT): Likewise.
7453 (accepts_video): New variable.
7454 (grub_multiboot_set_accepts_video): New function.
7455 (grub_multiboot_get_mbi_size): Account for video structures.
7456 (set_video_mode): New function.
7457 (retrieve_video_parameters): Likewise.
7458 (grub_multiboot_make_mbi): Fill video fields.
7459
7460 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 Video driver ids.
7463
7464 * include/grub/video.h (grub_video_driver_id): New type.
7465 (grub_video_adapter): New member 'id'. All users updated.
7466 (grub_video_get_driver_id): New proto.
7467 * video/video.c (grub_video_get_driver_id): New function.
7468
7469 2010-01-14 Carles Pina i Estany <carles@pina.cat>
7470
7471 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
7472 `var=val'.
7473
7474 2010-01-14 Carles Pina i Estany <carles@pina.cat>
7475
7476 * normal/cmdline.c (print_completion): Gettextizze.
7477
7478 2001-01-14 Carles Pina i Estany <carles@pina.cat>
7479
7480 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
7481
7482 2010-01-14 Carles Pina i Estany <carles@pina.cat>
7483
7484 * gettext/gettext.c (grub_gettext_translate): Push and pop
7485 grub_errno.
7486 (grub_gettext_delete_list): Change comment style.
7487 * kern/err.c (grub_error): Gettextizze.
7488 (grub_fatal): Gettextizze.
7489
7490 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
7491
7492 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
7493 (grub_linux16_real_boot): ... this.
7494 * kern/i386/loader.S: Likewise.
7495 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
7496 (grub_linux16_boot): New function. Switches to text mode and calls
7497 grub_linux16_real_boot().
7498
7499 * loader/i386/bsd.c: Include `<grub/video.h>'.
7500 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
7501 text mode before calling grub_unix_real_boot().
7502
7503 * loader/i386/multiboot.c: Include `<grub/video.h>'.
7504 (grub_multiboot_boot): Switch to text mode before calling
7505 grub_relocator32_boot().
7506
7507 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
7508 (grub_chainloader_boot): Switch to text mode before calling
7509 grub_chainloader_real_boot().
7510
7511 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
7512 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
7513
7514 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
7515 non-empty value.
7516
7517 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
7518 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
7519
7520 * util/grub.d/00_header.in: Define a "savedefault" function for use
7521 in menu entries.
7522 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
7523
7524 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
7525 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
7526
7527 * util/grub-mkconfig_lib.in (save_default_entry): Only set
7528 saved_entry if boot_once is unset.
7529 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
7530 previous saved entry (i.e. grub-reboot).
7531
7532 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7533
7534 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
7535
7536 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7537
7538 * util/grub.d/00_header.in: Use `set var=val' rather than plain
7539 `var=val'.
7540 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
7541
7542 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7543
7544 * util/grub-reboot.in: Fix --version output.
7545 * util/grub-set-default.in: Likewise.
7546
7547 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7548
7549 * util/grub.d/00_header.in: Silently ignore zero-sized environment
7550 blocks.
7551
7552 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7553
7554 * util/grub.d/00_header.in: Quote the value assigned to `default',
7555 in case it contains spaces.
7556
7557 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7558
7559 * util/grub.d/30_os-prober.in: Fix merge error that moved a
7560 `save_default_entry' call from the macosx case to the linux case.
7561
7562 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7563 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
7564
7565 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
7566 in `chosen' environment variable.
7567 * normal/menu_text.c (get_entry_number): Check if the variable
7568 matches the title of a menu entry.
7569 (run_menu): Pass menu to get_entry_number.
7570
7571 * util/grub-reboot.in: New file.
7572 * util/grub-set-default.in: New file.
7573 * conf/common.rmk (grub-reboot): New utility.
7574 (grub-set-default): New utility.
7575
7576 * util/grub-mkconfig_lib.in (save_default_entry): New function.
7577 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
7578 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
7579 move it to `saved_entry' for the next boot. Load environment on
7580 initialisation.
7581 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
7582 * util/grub.d/10_hurd.in: Likewise.
7583 * util/grub.d/10_linux.in (linux_entry): Likewise.
7584 * util/grub.d/10_windows.in: Likewise.
7585 * util/grub.d/30_os-prober.in: Likewise.
7586
7587 * util/grub-install.in: Create environment block.
7588 * util/i386/efi/grub-install.in: Likewise.
7589 * util/ieee1275/grub-install.in: Likewise.
7590 * util/sparc64/ieee1275/grub-install.in: Likewise.
7591
7592 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
7593
7594 Unit testing framework for GRUB.
7595
7596 * Makefile.in: Test framework build rules for 'make check'.
7597 * conf/tests.rmk: Build rules for individual tests and framework.
7598
7599 * include/grub/test.h: Header file for whitebox tests.
7600 * tests/lib/functional_test.c: Framework support for whitebox
7601 functional tests.
7602 * tests/lib/test.c: Common whitebox testing code for unit and
7603 functional tests.
7604 * tests/lib/unit_test.c: Framework support for whitebox unit
7605 tests.
7606
7607 * tests/util/grub-shell-tester.in: Support utility for grub-script
7608 tests.
7609 * tests/util/grub-shell.in: Utility to execute grub-script
7610 commands in a Qemu instance.
7611
7612 * tests/example_functional_test.c: Example whitebox functional
7613 test.
7614 * tests/example_grub_script_test.in: Example grub-script test.
7615 * tests/example_scripted_test.in: Example scripted test.
7616 * tests/example_unit_test.c: Example whitebox unit test.
7617
7618 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
7621 Add loader/i386/multiboot_mbi.c.
7622 (multiboot2_mod_SOURCES): Likewise.
7623 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
7624 (multiboot2_mod_SOURCES): Likewise.
7625 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
7626 (grub_multiboot_make_mbi): Likewise.
7627 (grub_multiboot_free_mbi): Likewise.
7628 (grub_multiboot_init_mbi): Likewise.
7629 (grub_multiboot_add_module): Likewise.
7630 (grub_multiboot_set_bootdev): Likewise.
7631 * loader/i386/multiboot.c (mbi): Removed.
7632 (mbi_dest): Likewise.
7633 (alloc_mbi): New variable.
7634 (grub_multiboot_payload_size): Removed. All users updated.
7635 (grub_multiboot_pure_size): New variable.
7636 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
7637 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
7638 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
7639 (grub_fill_multiboot_mmap): Likewise.
7640 (grub_multiboot_get_bootdev): Likewise.
7641 (grub_multiboot): Use multiboot_mbi functions.
7642 * loader/i386/multiboot_mbi.c: New file.
7643
7644 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
7647 it would result in module crash.
7648
7649 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
7652 (grub_ofconsole_getwh): Split to ...
7653 (grub_ofconsole_getwh): ... this.
7654 (grub_ofconsole_dimensions): ...and this.
7655 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
7656
7657 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
7658
7659 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
7660
7661 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * loader/i386/pc/multiboot2.c: Removed stalled file.
7664
7665 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
7668 Reported by: Grégoire Sutre
7669
7670 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
7671
7672 * util/misc.c (canonicalize_file_name): New function.
7673 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
7674 instead of realpath().
7675
7676 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
7677
7678 * util/grub-install.in (usage): Clarify meaning of --root-directory,
7679 and make it clearer that it's optional. Based on confusion
7680 witnessed on IRC.
7681
7682 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
7685 in premature implicit newline.
7686
7687 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
7690 which resulted in garbled command line at the end of screen.
7691
7692 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
7693
7694 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
7695 initialization with similar approach as with other Linux loaders.
7696
7697 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
7698
7699 Fix i386-ieee1275 build.
7700
7701 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
7702 and grub_term_height() for video_{width,height} initialization.
7703
7704 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
7705
7706 Fix grub-emu build.
7707
7708 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
7709
7710 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7711 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
7712
7713 Support for multiple terminals.
7714
7715 * Makefile.in (pkglib_DATA): terminal.lst.
7716 (terminal.lst): New target.
7717 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
7718 (GRUB_MOD_INIT(handler)): Likewise.
7719 (GRUB_MOD_FINI(handler)): Likewise.
7720 * commands/help.c (grub_cmd_help): Handle multiple terminals.
7721 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
7722 * commands/sleep.c (do_print): Use grub_term_restore_pos.
7723 (grub_cmd_sleep): Use grub_term_save_pos.
7724 * commands/terminal.c: New file.
7725 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
7726 commands/terminal.c and lib/charset.c.
7727 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
7728 (pkglib_MODULES): Add terminal.mod.
7729 (terminal_mod_SOURCES): New variable.
7730 (terminal_mod_CFLAGS): Likewise.
7731 (terminal_mod_LDFLAGS): Likewise.
7732 * genhandlerlist.sh: Don't handle terminals.
7733 * genmk.rb: Generate terminal-*.lst.
7734 * genterminallist.sh: New file.
7735 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
7736 (grub_is_valid_utf8): Likewise.
7737 (grub_utf8_to_ucs4_alloc): Likewise.
7738 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
7739 (grub_menu_register_viewer): Changed argument.
7740 (grub_menu_try_text): New proto.
7741 (grub_gfxmenu_try_hook): New declaration.
7742 * include/grub/normal.h (grub_normal_exit_level): New declaration.
7743 (grub_menu_init_page): Additional argument term.
7744 (grub_normal_init_page): Likewise.
7745 (grub_cmdline_get): Arguments simplified.
7746 (grub_utf8_to_ucs4_alloc): Removed.
7747 (grub_print_ucs4): Additional argument term.
7748 (grub_getstringwidth): Likewise.
7749 (grub_print_message_indented): Likewise.
7750 (grub_menu_text_register_instances): New proto.
7751 (grub_show_menu): Likewise.
7752 (read_terminal_list): Likewise.
7753 (grub_set_more): Likewise.
7754 * include/grub/parser.h: Include handler.h.
7755 * include/grub/reader.h: Rewritten.
7756 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
7757 (GRUB_TERM_WIDTH): Changed to function.
7758 (GRUB_TERM_HEIGHT): Likewise.
7759 (GRUB_TERM_BORDER_WIDTH): Likewise.
7760 (GRUB_TERM_BORDER_HEIGHT): Likewise.
7761 (GRUB_TERM_NUM_ENTRIES): Likewise.
7762 (GRUB_TERM_ENTRY_WIDTH): Likewise.
7763 (GRUB_TERM_CURSOR_X): Likewise.
7764 (grub_term_input_class): Likewise.
7765 (grub_term_output_class): Likewise.
7766 (grub_term_outputs_disabled): New declaration.
7767 (grub_term_inputs_disabled): Likewise.
7768 (grub_term_outputs): Likewise.
7769 (grub_term_inputs): Likewise.
7770 (grub_term_register_input): Rewritten.
7771 (grub_term_register_output): Likewise.
7772 (grub_term_unregister_input): Likewise.
7773 (grub_term_unregister_output): Likewise.
7774 (FOR_ACTIVE_TERM_INPUTS): New macro.
7775 (FOR_DISABLED_TERM_INPUTS): Likewise.
7776 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7777 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7778 * include/grub/terminfo.h: Add oterm argument to all protypes.
7779 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
7780 Use grub_rescue_run.
7781 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
7782 All users updated.
7783 * kern/reader.c: Removed. All users updated.
7784 * kern/rescue_reader.c (grub_rescue_init): Removed.
7785 (grub_rescue_reader): Likewise.
7786 (grub_register_rescue_reader): Likewise.
7787 (grub_rescue_run): New function based on kern/reader.c.
7788 * kern/term.c: Adapted for multiterm.
7789 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
7790 (grub_is_valid_utf8): Likewise.
7791 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
7792 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
7793 right terminal.
7794 * loader/i386/linux.c (grub_linux_boot): Likewise.
7795 * normal/auth.c (grub_username_get): New function.
7796 (grub_auth_check_authentication): Use grub_username_get.
7797 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
7798 * normal/color.c: Adapt for multiterm.
7799 * normal/main.c (read_config_file): Don't use grub_reader_loop.
7800 (grub_normal_init_page): Additional argument term.
7801 (read_lists): Call read_terminal_lists.
7802 (grub_enter_normal_mode): Call grub_cmdline_run.
7803 Handle grub_normal_exit_level.
7804 (grub_cmd_normal): Make reentrant.
7805 (grub_cmd_normal_exit): New function.
7806 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
7807 * normal/menu.c: Adapt for multiterm.
7808 * normal/menu_entry.c: Likewise.
7809 * normal/menu_text.c: Likewise.
7810 * normal/menu_viewer.c: Removed. All users updated.
7811 * normal/term.c: New file.
7812 * util/console.c: Change order of includes to workaround a bug in
7813 ncurses headers.
7814 * term/terminfo.c: New argument oterm on all exported functions.
7815 All users updated.
7816 * util/grub-editenv.c (grub_term_input_class): Removed.
7817 (grub_term_output_class): Likewise.
7818
7819 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
7820
7821 Make loader output a bit more user-friendly.
7822
7823 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
7824 is being loaded. Likewise for the Hurd.
7825
7826 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
7827 that kernel of FreeBSD ${version} is being loaded.
7828
7829 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
7830 grub_dprintf().
7831 (grub_cmd_initrd): Likewise.
7832 * util/grub.d/10_linux.in (linux_entry): Print message indicating
7833 that Linux ${version} is being loaded. Likewise for initrd.
7834
7835 2010-01-09 Carles Pina i Estany <carles@pina.cat>
7836
7837 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
7838
7839 2010-01-08 Carles Pina i Estany <carles@pina.cat>
7840
7841 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
7842 (GRUB_MOD_INIT): Gettextizze.
7843 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
7844 (GRUB_MOD_INIT): Gettextizze.
7845 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
7846 (grub_cmd_linux): Capitalise Linux.
7847 (GRUB_MOD_INIT): Gettextizze.
7848 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
7849 (grub_cmd_linux): Capitalise Linux.
7850 (GRUB_MOD_INIT): Gettextizze.
7851 * loader/i386/linux.c: Include `<grub/i18n.h>'.
7852 (grub_cmd_linux): Capitalise Linux.
7853 (GRUB_MOD_INIT): Gettextizze.
7854 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
7855 (GRUB_MOD_INIT): Gettextizze.
7856 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
7857 (grub_cmd_linux): Capitalise Linux.
7858 (GRUB_MOD_INIT): Gettextizze.
7859 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
7860 (grub_cpu_xnu_init): Gettextizze.
7861 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
7862 (GRUB_MOD_INIT): Gettextizze.
7863 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
7864 (GRUB_MOD_INIT): Gettextizze.
7865 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
7866 (grub_linux_load64): Capitalise Linux.
7867 (GRUB_MOD_INIT): Gettextizze.
7868 * loader/xnu.c: Include `<grub/i18n.h>'.
7869 (GRUB_MOD_INIT): Gettextizze.
7870 * po/POTFILES: Add `loader/efi/appleloader.c',
7871 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
7872 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
7873 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
7874 `loader/i386/xnu.c', `loader/multiboot_loader.c',
7875 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
7876 and `loader/xnu.c'.
7877
7878 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
7879
7880 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
7881
7882 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
7883
7884 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
7885 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
7886 * util/mkisofs/mkisofs.c (main): Readjust --version output.
7887
7888 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7889
7890 Reset Multiboot 2 support. New loader implements the draft in
7891 /branches/multiboot2 and shares as much code as possible with the
7892 production Multiboot 1 implementation.
7893
7894 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
7895 * loader/multiboot2.c: Likewise.
7896 * loader/i386/multiboot_helper.S: Likewise.
7897 * include/multiboot2.h: Replace with latest version from the draft
7898 in /branches/multiboot2.
7899
7900 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
7901 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
7902 and `loader/multiboot2.c'.
7903 (pkglib_MODULES): Add `multiboot2.mod'.
7904 (multiboot2_mod_SOURCES): New variable.
7905 (multiboot2_mod_LDFLAGS): Likewise.
7906 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
7907
7908 * conf/i386-pc.rmk: Likewise.
7909
7910 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
7911 (multiboot_mod_SOURCES): Remove variable.
7912 (multiboot_mod_LDFLAGS): Likewise.
7913 (multiboot_mod_CFLAGS): Likewise.
7914
7915 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
7916 `<multiboot2.h>' instead of `<multiboot.h>'.
7917 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
7918 (MULTIBOOT_HEADER_MAGIC): New macros.
7919
7920 * loader/multiboot_loader.c (module_version_status): Remove variable.
7921 (find_multi_boot2_header): Remove function.
7922 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
7923 logic. Always check for the Multiboot version we're compiling for.
7924 (grub_cmd_module_loader): Likewise.
7925 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
7926 command instead of `multiboot'.
7927
7928 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7929
7930 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
7931 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
7932 all users.
7933
7934 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7935 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 Fix breakage introduced with previous commit.
7938
7939 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
7940 commands.
7941 * normal/handler.c (read_handler_list): Revert part of previous commit
7942 affecting this file.
7943 * normal/main.c (read_lists): Move read_handler_list() call back to ...
7944 (grub_normal_execute): ... here.
7945
7946 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7947
7948 Merge prefix-redefinition-fix branch.
7949
7950 * normal/autofs.c (read_fs_list): Make function capable of being
7951 run multiple times, gracefuly replacing the previous data
7952 structures.
7953 * normal/dyncmd.c (read_command_list): Likewise.
7954 * normal/handler.c (read_handler_list): Likewise.
7955 * normal/main.c (read_lists): New function. Calls all the
7956 list reading functions.
7957 (grub_normal_execute): Use read_lists() instead of calling all
7958 list reading functions explicitly. Register read_lists() as a
7959 variable hook attached to ${prefix}.
7960
7961 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7962
7963 Merge crypto branch.
7964
7965 * Makefile.in (pkglib_DATA): Add crypto.lst.
7966 (crypto.lst): New target.
7967 * commands/hashsum.c: New file.
7968 * commands/password.c (check_password): Use grub_crypto_memcmp.
7969 * commands/password_pbkdf2.c: New file.
7970 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
7971 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
7972 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
7973 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
7974 -I$(srcdir)/lib/libgcrypt_wrap.
7975 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
7976 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
7977 password_pbkdf2.mod.
7978 (crypto_mod_SOURCES): New variable.
7979 (crypto_mod_CFLAGS): Likewise.
7980 (crypto_mod_LDFLAGS): Likewise.
7981 (hashsum_mod_SOURCES): New variable.
7982 (hashsum_mod_CFLAGS): Likewise.
7983 (hashsum_mod_LDFLAGS): Likewise.
7984 (pbkdf2_mod_SOURCES): New variable.
7985 (pbkdf2_mod_CFLAGS): Likewise.
7986 (pbkdf2_mod_LDFLAGS): Likewise.
7987 (password_pbkdf2_mod_SOURCES): New variable.
7988 (password_pbkdf2_mod_CFLAGS): Likewise.
7989 (password_pbkdf2_mod_LDFLAGS): Likewise.
7990 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
7991 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
7992 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
7993 Include conf/gcry.rmk.
7994 * include/grub/auth.h: Rewritten.
7995 * include/grub/crypto.h: New file.
7996 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
7997 * include/grub/normal.h (read_crypto_list): New prototype.
7998 * lib/crypto.c: New file.
7999 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
8000 * lib/pbkdf2.c: Likewise.
8001 * normal/auth.c (grub_auth_strcmp): Removed.
8002 (grub_iswordseparator): Likewise.
8003 (grub_auth_strword): Likewise.
8004 (is_authenticated): Use grub_strword.
8005 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
8006 and grub_strword. Pass entered password to authentication callback.
8007 * normal/crypto.c: New file.
8008 * normal/main.c: Call read_crypto_list.
8009 * util/grub-mkpasswd-pbkdf2.c: New file.
8010 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
8011
8012 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 Fix descent and ascent calculation.
8015
8016 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
8017 (options): New option "asce".
8018 (usage): Likewise.
8019 (add_char): Ignore invalid glyphs for descent calculation.
8020 Calculate ascent from actual content.
8021 (print_glyphs): Use 'asce'.
8022 (write_font): Likewise. Allow ascent override.
8023 (main): Handle "asce" option.
8024
8025 2010-01-06 Carles Pina i Estany <carles@pina.cat>
8026
8027 * kern/err.c: Include `<grub/i18n.h>'.
8028 (grub_print_error): Add full stop. Gettextizze.
8029 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
8030 (grub_bsd_load_elf): Capitalise ELF.
8031 (grub_cmd_freebsd_loadenv): Add `s' in error string.
8032 (grub_cmd_freebsd_module): Likewise.
8033 (grub_cmd_freebsd_module_elf): Likewise.
8034 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
8035
8036 2010-01-06 Carles Pina i Estany <carles@pina.cat>
8037
8038 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
8039 * commands/search_file.c (HELP_MESSAGE): New macro.
8040 * commands/search_label.c (HELP_MESSAGE): Likewise.
8041 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
8042 * po/POTFILES: Add `commands/search_file.c',
8043 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
8044 `commands/search.c'.
8045
8046 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
8047
8048 * config.rpath: Update from Gnulib.
8049
8050 2010-01-05 Yves Blusseau <blusseau@zetam.org>
8051
8052 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
8053
8054 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
8055
8056 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
8057
8058 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
8059
8060 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
8061 arguments to fread so that we get a return value in bytes, rather
8062 than something that will normally be rounded down to 0.
8063 Adjust error handling to avoid producing garbage when size_t is not
8064 the same size as long long.
8065
8066 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
8067
8068 * util/mkisofs/write.c (padblock_write): Check return value of
8069 fread.
8070
8071 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
8072
8073 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
8074 floppy images now.
8075
8076 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
8077
8078 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
8079
8080 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
8081 instead of manual alignment.
8082 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
8083 verbose). Avoid attempts to read past end of the device
8084 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
8085 but GRUB_DISK_CACHE_SIZE may exceed that).
8086
8087 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
8088
8089 * commands/crc.c (grub_cmd_crc): Abort on read errors.
8090 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
8091 it to upper layer.
8092
8093 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
8096 New constant.
8097 (grub_efi_piwg_device_path): New structure
8098 (grub_efi_piwg_device_path_t): New type.
8099 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
8100 (devpath_1): Transform to a structure. All users updated.
8101 (devpath_2): Likewise.
8102 (devpath_3): Likewise.
8103 (devpath_4): Likewise.
8104 (devpath_5): Likewise.
8105
8106 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * loader/efi/appleloader.c: Restored. Update all users.
8109
8110 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
8111
8112 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
8113
8114 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
8115 (struct boot_blocklist): Move from here ...
8116 * include/grub/i386/pc/boot.h [ASM_FILE]
8117 (struct grub_boot_blocklist): ... to here. Update all users.
8118 (setup): Only initialize `start' member of `first_block'
8119 structure. Add assert() calls to verify the other members.
8120
8121 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
8122 (generate_image): Fix broken blocklist length initialization.
8123 Add assert() call to verify blocklist `segment' field.
8124
8125 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
8126
8127 * loader/efi/appleloader.c: Remove. Update all users.
8128
8129 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
8130
8131 * boot/i386/pc/boot.S: Update copyright year.
8132 * boot/i386/pc/cdboot.S: Likewise.
8133 * boot/i386/pc/diskboot.S: Likewise.
8134 * boot/i386/pc/lnxboot.S: Likewise.
8135 * boot/i386/pc/pxeboot.S: Likewise.
8136 * bus/pci.c: Likewise.
8137 * commands/cmp.c: Likewise.
8138 * commands/help.c: Likewise.
8139 * commands/hexdump.c: Likewise.
8140 * commands/i386/pc/halt.c: Likewise.
8141 * commands/i386/pc/play.c: Likewise.
8142 * commands/i386/pc/vbeinfo.c: Likewise.
8143 * commands/ls.c: Likewise.
8144 * commands/test.c: Likewise.
8145 * disk/dmraid_nvidia.c: Likewise.
8146 * disk/i386/pc/biosdisk.c: Likewise.
8147 * disk/ieee1275/nand.c: Likewise.
8148 * disk/ieee1275/ofdisk.c: Likewise.
8149 * disk/lvm.c: Likewise.
8150 * disk/raid.c: Likewise.
8151 * disk/raid6_recover.c: Likewise.
8152 * disk/scsi.c: Likewise.
8153 * fs/affs.c: Likewise.
8154 * fs/cpio.c: Likewise.
8155 * fs/ext2.c: Likewise.
8156 * fs/hfs.c: Likewise.
8157 * fs/iso9660.c: Likewise.
8158 * fs/ntfs.c: Likewise.
8159 * fs/sfs.c: Likewise.
8160 * fs/udf.c: Likewise.
8161 * fs/ufs.c: Likewise.
8162 * fs/xfs.c: Likewise.
8163 * gencmdlist.sh: Likewise.
8164 * genmk.rb: Likewise.
8165 * include/grub/disk.h: Likewise.
8166 * include/grub/efi/api.h: Likewise.
8167 * include/grub/efi/efi.h: Likewise.
8168 * include/grub/efi/pe32.h: Likewise.
8169 * include/grub/elf.h: Likewise.
8170 * include/grub/fs.h: Likewise.
8171 * include/grub/i386/at_keyboard.h: Likewise.
8172 * include/grub/i386/pc/memory.h: Likewise.
8173 * include/grub/i386/pc/vbe.h: Likewise.
8174 * include/grub/i386/pci.h: Likewise.
8175 * include/grub/i386/tsc.h: Likewise.
8176 * include/grub/ieee1275/ieee1275.h: Likewise.
8177 * include/grub/ntfs.h: Likewise.
8178 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
8179 * include/grub/sparc64/libgcc.h: Likewise.
8180 * include/grub/symbol.h: Likewise.
8181 * include/grub/types.h: Likewise.
8182 * include/multiboot2.h: Likewise.
8183 * io/gzio.c: Likewise.
8184 * kern/device.c: Likewise.
8185 * kern/disk.c: Likewise.
8186 * kern/efi/efi.c: Likewise.
8187 * kern/efi/mm.c: Likewise.
8188 * kern/elf.c: Likewise.
8189 * kern/file.c: Likewise.
8190 * kern/i386/dl.c: Likewise.
8191 * kern/i386/pc/init.c: Likewise.
8192 * kern/i386/pc/startup.S: Likewise.
8193 * kern/ieee1275/ieee1275.c: Likewise.
8194 * kern/ieee1275/init.c: Likewise.
8195 * kern/main.c: Likewise.
8196 * kern/mm.c: Likewise.
8197 * kern/powerpc/dl.c: Likewise.
8198 * kern/sparc64/dl.c: Likewise.
8199 * kern/x86_64/dl.c: Likewise.
8200 * lib/hexdump.c: Likewise.
8201 * loader/efi/appleloader.c: Likewise.
8202 * loader/i386/ieee1275/linux.c: Likewise.
8203 * loader/i386/pc/chainloader.c: Likewise.
8204 * loader/i386/pc/linux.c: Likewise.
8205 * loader/i386/pc/multiboot2.c: Likewise.
8206 * loader/ieee1275/multiboot2.c: Likewise.
8207 * loader/multiboot2.c: Likewise.
8208 * loader/multiboot_loader.c: Likewise.
8209 * loader/powerpc/ieee1275/linux.c: Likewise.
8210 * normal/completion.c: Likewise.
8211 * normal/menu_entry.c: Likewise.
8212 * partmap/apple.c: Likewise.
8213 * util/grub.d/10_hurd.in: Likewise.
8214 * util/hostfs.c: Likewise.
8215 * video/readers/png.c: Likewise.
8216
8217 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
8218
8219 * include/grub/misc.h (GNUC_PREREQ): New macro.
8220 (ATTRIBUTE_ERROR): New macro.
8221 * include/grub/list.h (grub_bad_type_cast_real): Use
8222 ATTRIBUTE_ERROR.
8223
8224 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8225
8226 * normal/menu_text.c (print_message): Change messages.
8227
8228 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8229
8230 * normal/menu_entry.c (store_completion): Gettextizze.
8231
8232 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8233
8234 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
8235
8236 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8237
8238 * po/POTFILES: Sort correctly.
8239
8240 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8241
8242 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
8243 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
8244 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
8245 full stop.
8246 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
8247 summary. Gettextizze the strings.
8248 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
8249 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
8250 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
8251 full stop.
8252 (GRUB_MOD_INIT): Remove command name from summary.
8253 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
8254 summary.
8255 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
8256 * term/i386/pc/serial.c (options): Add full stops.
8257 (GRUB_MOD_INIT): Remove command name from the summary.
8258
8259 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8260
8261 * commands/acpi.c: Gettextizze help strings and/or options. Include
8262 `grub/i18n.h' if needed.
8263 * commands/blocklist.c: Likewise.
8264 * commands/boot.c: Likewise.
8265 * commands/cat.c: Likewise.
8266 * commands/cmp.c: Likewise.
8267 * commands/configfile.c: Likewise.
8268 * commands/crc.c: Likewise.
8269 * commands/date.c: Likewise.
8270 * commands/echo.c: Likewise.
8271 * commands/efi/fixvideo.c: Likewise.
8272 * commands/efi/loadbios.c: Likewise.
8273 * commands/gptsync.c: Likewise.
8274 * commands/halt.c: Likewise.
8275 * commands/handler.c: Likewise.
8276 * commands/hdparm.c: Likewise.
8277 * commands/hexdump.c: Likewise.
8278 * commands/i386/cpuid.c: Likewise.
8279 * commands/i386/pc/drivemap.c: Likewise.
8280 * commands/i386/pc/halt.c: Likewise.
8281 * commands/i386/pc/pxecmd.c: Likewise.
8282 * commands/i386/pc/vbeinfo.c: Likewise.
8283 * commands/i386/pc/vbetest.c: Likewise.
8284 * commands/ieee1275/suspend.c: Likewise.
8285 * commands/keystatus.c: Likewise.
8286 * commands/loadenv.c: Likewise.
8287 * commands/ls.c: Likewise.
8288 * commands/lsmmap.c: Likewise.
8289 * commands/lspci.c: Likewise.
8290 * commands/memrw.c: Likewise.
8291 * commands/minicmd.c: Likewise.
8292 * commands/parttool.c: Likewise.
8293 * commands/password.c: Likewise.
8294 * commands/probe.c: Likewise.
8295 * commands/read.c: Likewise.
8296 * commands/reboot.c: Likewise.
8297 * commands/search.c: Likewise.
8298 * commands/sleep.c: Likewise.
8299 * commands/test.c: Likewise.
8300 * commands/true.c: Likewise.
8301 * commands/usbtest.c: Likewise.
8302 * commands/videotest.c: Likewise.
8303 * commands/xnu_uuid.c: Likewise.
8304 * disk/loopback.c: Likewise.
8305 * hello/hello.c: Likewise.
8306 * loader/i386/bsd.c: Likewise.
8307 * term/i386/pc/serial.c: Likewise.
8308 * po/POTFILES: Add new files.
8309
8310 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
8311
8312 * term/i386/pc/at_keyboard.c
8313 (keyboard_controller_wait_untill_ready): Rename to ...
8314 (keyboard_controller_wait_until_ready): ... this. Update all users.
8315
8316 2010-01-01 Carles Pina i Estany <carles@pina.cat>
8317
8318 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
8319 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
8320 string using string width.
8321 * normal/menu_text.c (grub_print_message_indented): Use
8322 grub_print_spaces and not print_spaces.
8323 (print_timeout): Likewise.
8324 (print_spaces): Move to...
8325 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
8326
8327 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
8328
8329 Import from Gnulib.
8330
8331 * gnulib/getdelim.c: New file.
8332 * gnulib/getline.c: Likewise.
8333
8334 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
8335
8336 * include/grub/list.h (grub_assert_fail): Removed.
8337 (grub_bad_type_cast_real): New function.
8338 (grub_bad_type_cast): New macro.
8339 (GRUB_AS_LIST): Use grub_bad_type_cast.
8340 (GRUB_AS_LIST_P): Likewise.
8341 (GRUB_AS_NAMED_LIST): Likewise.
8342 (GRUB_AS_NAMED_LIST_P): Likewise.
8343 (GRUB_AS_PRIO_LIST): Likewise.
8344 (GRUB_AS_PRIO_LIST_P): Likewise.
8345 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
8346
8347 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
8350 Fix syntax error.
8351
8352 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
8353
8354 * configure.ac: Check for TARGET_CFLAGS initialization before we
8355 initialize it ourselves (sigh).
8356 Move a few modifications to TARGET_CFLAGS to be unconditional
8357 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
8358 eh_frame)
8359
8360 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
8361 * term/i386/pc/at_keyboard.c
8362 (keyboard_controller_wait_untill_ready): Likewise.
8363 (keyboard_controller_led): Rename `led_status' paramter to avoid
8364 name conflict.
8365
8366 2009-12-28 Carles Pina i Estany <carles@pina.cat>
8367
8368 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
8369 quotes.
8370
8371 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
8374
8375 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 * normal/menu_text.c (grub_print_message_indented): Prevent
8378 past-the-end-of-array dereference.
8379
8380 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
8383 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
8384
8385 2009-12-27 Carles Pina i Estany <carles@pina.cat>
8386
8387 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
8388 * normal/main.c (grub_normal_read_line): Remove a space from the
8389 default prompt.
8390
8391 2009-12-27 Carles Pina i Estany <carles@pina.cat>
8392
8393 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
8394 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8395 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
8396 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
8397 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8398 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8399 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
8400
8401 2009-12-26 Carles Pina i Estany <carles@pina.cat>
8402
8403 * video/readers/jpeg.c (cmd): Declare.
8404 (grub_cmd_jpegtest): Use `grub_command_t' type.
8405 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
8406 Assign to `cmd'.
8407 (GRUB_MOD_FINI): Use `cmd' to unregister.
8408 * video/readers/png.c (cmd): Declare.
8409 (grub_cmd_pngtest): Use `grub_command_t' type.
8410 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
8411 Assign to `cmd'.
8412 (GRUB_MOD_FINI): Use `cmd' to unregister.
8413 * video/readers/tga.c (cmd): Declare.
8414 (grub_cmd_tgatest): Use `grub_command_t' type.
8415 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
8416 Assign to `cmd'.
8417 (GRUB_MOD_FINI): Use `cmd' to unregister.
8418
8419 2009-12-26 Carles Pina i Estany <carles@pina.cat>
8420
8421 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
8422 stops.
8423 * kern/corecmd.c (grub_register_core_commands): Likewise.
8424 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
8425 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
8426 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
8427 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8428 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
8429 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
8430 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
8431 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
8432 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8433 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
8434 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
8435 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8436 * normal/handler.c (insert_handler): Likewise.
8437 * normal/main.c (GRUB_MOD_INIT): Likewise.
8438 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8439
8440 2009-12-26 Carles Pina i Estany <carles@pina.cat>
8441
8442 * commands/help.c (grub_cmd_help): Print the command name before the
8443 summary.
8444 (GRUB_MOD_INIT): Remove command name from the summary.
8445 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
8446 string as summary.
8447 * lib/arg.c (find_long): Print the command name before the summary.
8448 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
8449 summary.
8450 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
8451 * commands/cat.c (GRUB_MOD_INIT): Likewise.
8452 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
8453 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
8454 * commands/crc.c (GRUB_MOD_INIT): Likewise.
8455 * commands/date.c (GRUB_MOD_INIT): Likewise.
8456 * commands/echo.c (GRUB_MOD_INIT): Likewise.
8457 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
8458 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
8459 * commands/handler.c (GRUB_MOD_INIT): Likewise.
8460 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
8461 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
8462 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
8463 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
8464 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
8465 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
8466 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
8467 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
8468 * commands/ls.c (GRUB_MOD_INIT): Likewise.
8469 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
8470 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
8471 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
8472 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
8473 * commands/password.c (GRUB_MOD_INIT): Likewise.
8474 * commands/probe.c (GRUB_MOD_INIT): Likewise.
8475 * commands/read.c (GRUB_MOD_INIT): Likewise.
8476 * commands/search.c (GRUB_MOD_INIT): Likewise.
8477 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
8478 * commands/test.c (GRUB_MOD_INIT): Likewise.
8479 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
8480 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8481 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8482 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
8483 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8484 * lib/arg.c (GRUB_MOD_INIT): Likewise.
8485 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
8486 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
8487 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
8488 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8489 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8490 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
8491 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
8492 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
8493
8494 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 Use search command for preliminar UUID search.
8497
8498 * commands/search.c: Split into ...
8499 * commands/search_wrap.c: ...this
8500 * commands/search.c: ...and this.
8501 * commands/search_file.c: New file.
8502 * commands/search_label.c: New file.
8503 * commands/search_uuid.c: New file.
8504 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
8505 Add commands/search_wrap.c, commands/search_file.c,
8506 commands/search_label.c and commands/search_uuid.c.
8507 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
8508 (search_mod_SOURCES): Set to commands/search_wrap.c.
8509 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
8510 search_label.mod.
8511 (search_fs_file_mod_SOURCES): New variable.
8512 (search_fs_file_mod_CFLAGS): Likewise.
8513 (search_fs_file_mod_LDFLAGS): Likewise.
8514 (search_label_mod_SOURCES): Likewise.
8515 (search_label_mod_CFLAGS): Likewise.
8516 (search_label_mod_LDFLAGS): Likewise.
8517 (search_fs_uuid_mod_SOURCES): New variable.
8518 (search_fs_uuid_mod_CFLAGS): Likewise.
8519 (search_fs_uuid_mod_LDFLAGS): Likewise.
8520 (fs_file_mod_SOURCES): Removed.
8521 (fs_file_mod_CFLAGS): Likewise.
8522 (fs_file_mod_LDFLAGS): Likewise.
8523 (fs_uuid_mod_SOURCES): Removed.
8524 (fs_uuid_mod_CFLAGS): Likewise.
8525 (fs_uuid_mod_LDFLAGS): Likewise.
8526 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
8527 Set to util/grub-install.in.
8528 * disk/fs_file.c: Removed.
8529 * disk/fs_uuid.c: Likewise.
8530 * include/grub/search.h: New file.
8531 * util/grub-install.in: Handle sparc64.
8532 Create and use load.cfg.
8533 * util/sparc64/ieee1275/grub-install.in: Removed.
8534
8535 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
8538 Ignore return status if CF is cleared.
8539 (grub_biosdisk_get_diskinfo_standard): Likewise.
8540
8541 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
8542
8543 * term/i386/pc/at_keyboard.c
8544 (keyboard_controller_wait_untill_ready): New function.
8545 (grub_keyboard_controller_write, grub_keyboard_controller_read)
8546 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
8547 for keyboard polling, rather than duplicate the same loop. This
8548 saves a few bytes in code size.
8549
8550 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8551
8552 Support for (pxe[:server[:gateway]]) syntax and
8553 use environment variable for PXE.
8554
8555 * commands/i386/pc/pxecmd.c (options): Removed.
8556 (print_ip): Removed.
8557 (grub_cmd_pxe): Removed
8558 (grub_cmd_pxe_unload): New function.
8559 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
8560 (grub_pxe_your_ip): Made static.
8561 (grub_pxe_default_server_ip): Likewise.
8562 (grub_pxe_default_gateway_ip): Likewise.
8563 (grub_pxe_blksize): Likewise.
8564 (parse_ip): New function.
8565 (grub_pxe_open): Support server and gateway specification.
8566 (grub_pxe_close): Free disk->data.
8567 (grub_pxefs_open): Use disk->data.
8568 (grub_pxefs_read): Likewise.
8569 (grub_env_write_readonly): New function.
8570 (set_mac_env): Likewise.
8571 (set_env_limn_ro): Likewise.
8572 (parse_dhcp_vendor): Likewise.
8573 (grub_pxe_detect): Set the environment variables.
8574 (set_ip_env): New function.
8575 (write_ip_env): Likewise.
8576 (grub_env_write_pxe_default_server): Likewise.
8577 (grub_env_write_pxe_default_gateway): Likewise.
8578 (grub_env_write_pxe_blocksize): Likewise.
8579 (GRUB_MOD_INIT(pxe)): Set environment variables.
8580 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
8581 (grub_pxe_mac_addr_t): ... this. All users updated.
8582 (grub_pxe_your_ip): Removed.
8583 (grub_pxe_server_ip): Likewise.
8584 (grub_pxe_gateway_ip): Likewise.
8585 (grub_pxe_blksize): Likewise.
8586
8587 2009-12-25 Carles Pina i Estany <carles@pina.cat>
8588
8589 * commands/help.c: Include `<grub/i18n.h>'.
8590 (grub_cmd_help): Gettextizze.
8591 (GRUB_MOD_INIT): Likewise.
8592 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
8593 (GRUB_MOD_INIT): Gettextizze.
8594 * commands/search.c: Include `<grub/i18n.h>'.
8595 (options): Gettextizze.
8596 (GRUB_MOD_INIT): Gettextizze.
8597 * lib/arg.c: Include `<grub/i18n.h>'.
8598 (help_options): Gettextizze.
8599 (find_long): Likewise.
8600 (grub_arg_show_help): Likewise.
8601 * normal/dyncmd.c: Include `<grub/i18n.h>'.
8602 (read_command_list): Gettextizze.
8603 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
8604 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
8605
8606 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
8607
8608 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
8609 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
8610 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
8611 (led_status): New variable.
8612 (keyboard_controller_led): New function.
8613 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
8614 update led status for caps lock, num lock and scroll lock.
8615
8616 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
8617
8618 * util/hostdisk.c (open_device): Fix a comment.
8619
8620 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8621
8622 * util/grub-install.in (host_os): New variable.
8623 * util/i386/efi/grub-install.in (host_os): Likewise.
8624
8625 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8626
8627 * util/mkisofs/write.c (padblock_write): Abort when given an
8628 excedingly large embed image, instead of silently truncating it.
8629
8630 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8631
8632 * include/multiboot.h: Indentation fixes.
8633
8634 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8635
8636 * include/multiboot.h (struct multiboot_aout_symbol_table)
8637 (struct multiboot_elf_section_header_table): New structure
8638 declarations (stolen from GRUB Legacy).
8639 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
8640 table information.
8641
8642 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
8643 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
8644 type aliases.
8645
8646 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8647
8648 * include/multiboot.h: Make comments src2texi-friendly.
8649
8650 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8651
8652 For consistency with [multiboot]/docs/boot.S.
8653
8654 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
8655 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
8656 (MULTIBOOT_MAGIC2): Rename from this ...
8657 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
8658
8659 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8660
8661 * include/multiboot.h: Remove `<grub/types.h>'.
8662 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
8663 types. Update all users.
8664
8665 2009-12-25 Carles Pina i Estany <carles@pina.cat>
8666
8667 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
8668 `couldn't' and `can not' by `cannot'.
8669 * commands/i386/pc/drivemap.c: Likewise.
8670 * disk/ata.c: Likewise.
8671 * disk/ieee1275/nand.c: Likewise.
8672 * fs/affs.c: Likewise.
8673 * fs/fat.c: Likewise.
8674 * fs/hfs.c: Likewise.
8675 * fs/hfsplus.c: Likewise.
8676 * fs/iso9660.c: Likewise.
8677 * fs/jfs.c: Likewise.
8678 * fs/minix.c: Likewise.
8679 * fs/reiserfs.c: Likewise.
8680 * fs/sfs.c: Likewise.
8681 * fs/udf.c: Likewise.
8682 * fs/ufs.c: Likewise.
8683 * fs/xfs.c: Likewise.
8684 * loader/powerpc/ieee1275/linux.c: Likewise.
8685 * loader/sparc64/ieee1275/linux.c: Likewise.
8686 * util/grub-probe.c: Likewise.
8687 * util/misc.c: Likewise.
8688
8689 2009-12-24 Carles Pina i Estany <carles@pina.cat>
8690
8691 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
8692 grub_errno calls.
8693 * commands/acpi.c: Likewise.
8694 * commands/blocklist.c: Likewise.
8695 * commands/efi/loadbios.c: Likewise.
8696 * commands/i386/pc/drivemap.c: Likewise.
8697 * commands/loadenv.c: Likewise.
8698 * commands/memrw.c: Likewise.
8699 * commands/password.c: Likewise.
8700 * commands/videotest.c: Likewise.
8701 * disk/ata.c: Likewise.
8702 * disk/ata_pthru.c: Likewise.
8703 * disk/dmraid_nvidia.c: Likewise.
8704 * disk/ieee1275/nand.c: Likewise.
8705 * disk/ieee1275/ofdisk.c: Likewise.
8706 * disk/loopback.c: Likewise.
8707 * disk/lvm.c: Likewise.
8708 * disk/mdraid_linux.c: Likewise.
8709 * disk/raid.c: Likewise.
8710 * disk/raid6_recover.c: Likewise.
8711 * disk/scsi.c: Likewise.
8712 * efiemu/main.c: Likewise.
8713 * efiemu/mm.c: Likewise.
8714 * efiemu/pnvram.c: Likewise.
8715 * efiemu/symbols.c: Likewise.
8716 * font/font.c: Likewise.
8717 * fs/cpio.c: Likewise.
8718 * fs/hfsplus.c: Likewise.
8719 * fs/iso9660.c: Likewise.
8720 * fs/jfs.c: Likewise.
8721 * fs/minix.c: Likewise.
8722 * fs/ntfs.c: Likewise.
8723 * fs/ntfscomp.c: Likewise.
8724 * fs/reiserfs.c: Likewise.
8725 * fs/ufs.c: Likewise.
8726 * fs/xfs.c: Likewise.
8727 * gettext/gettext.c: Likewise.
8728 * include/grub/auth.h: Likewise.
8729 * kern/elf.c: Likewise.
8730 * kern/file.c: Likewise.
8731 * kern/ieee1275/init.c: Likewise.
8732 * kern/ieee1275/mmap.c: Likewise.
8733 * kern/ieee1275/openfw.c: Likewise.
8734 * kern/powerpc/dl.c: Likewise.
8735 * kern/sparc64/dl.c: Likewise.
8736 * lib/arg.c: Likewise.
8737 * loader/i386/bsd.c: Likewise.
8738 * loader/i386/bsdXX.c: Likewise.
8739 * loader/i386/efi/linux.c: Likewise.
8740 * loader/i386/efi/xnu.c: Likewise.
8741 * loader/i386/ieee1275/linux.c: Likewise.
8742 * loader/i386/linux.c: Likewise.
8743 * loader/i386/multiboot.c: Likewise.
8744 * loader/i386/pc/linux.c: Likewise.
8745 * loader/i386/pc/multiboot2.c: Likewise.
8746 * loader/i386/xnu.c: Likewise.
8747 * loader/ieee1275/multiboot2.c: Likewise.
8748 * loader/macho.c: Likewise.
8749 * loader/machoXX.c: Likewise.
8750 * loader/multiboot2.c: Likewise.
8751 * loader/multiboot_loader.c: Likewise.
8752 * loader/powerpc/ieee1275/linux.c: Likewise.
8753 * loader/sparc64/ieee1275/linux.c: Likewise.
8754 * loader/xnu.c: Likewise.
8755 * loader/xnu_resume.c: Likewise.
8756 * mmap/i386/pc/mmap.c: Likewise.
8757 * normal/menu_viewer.c: Likewise.
8758 * partmap/acorn.c: Likewise.
8759 * partmap/amiga.c: Likewise.
8760 * partmap/apple.c: Likewise.
8761 * script/lexer.c: Likewise.
8762 * term/gfxterm.c: Likewise.
8763 * term/i386/pc/serial.c: Likewise.
8764 * term/i386/pc/vga.c: Likewise.
8765 * term/ieee1275/ofconsole.c: Likewise.
8766 * term/terminfo.c: Likewise.
8767 * video/bitmap.c: Likewise.
8768 * video/efi_gop.c: Likewise.
8769 * video/efi_uga.c: Likewise.
8770 * video/fb/video_fb.c: Likewise.
8771 * video/i386/pc/vbe.c: Likewise.
8772 * video/readers/tga.c: Likewise.
8773 * video/video.c: Likewise.
8774
8775 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
8776
8777 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
8778 * commands/lspci.c: Likewise.
8779 * commands/probe.c: Likewise.
8780 * commands/xnu_uuid.c: Likewise.
8781 * conf/i386-coreboot.rmk: Likewise.
8782 * conf/i386-efi.rmk: Likewise.
8783 * conf/i386-ieee1275.rmk: Likewise.
8784 * conf/i386-pc.rmk: Likewise.
8785 * conf/powerpc-ieee1275.rmk: Likewise.
8786 * conf/sparc64-ieee1275.rmk: Likewise.
8787 * conf/x86_64-efi.rmk: Likewise.
8788 * fs/i386/pc/pxe.c: Likewise.
8789 * gettext/gettext.c: Likewise.
8790 * include/grub/efi/graphics_output.h: Likewise.
8791 * include/grub/i386/pc/memory.h: Likewise.
8792 * kern/env.c: Likewise.
8793 * kern/i386/qemu/startup.S: Likewise.
8794 * lib/i386/pc/biosnum.c: Likewise.
8795 * lib/i386/relocator.c: Likewise.
8796 * lib/i386/relocator_asm.S: Likewise.
8797 * lib/relocator.c: Likewise.
8798 * loader/i386/bsd.c: Likewise.
8799 * loader/i386/multiboot.c: Likewise.
8800 * loader/i386/pc/chainloader.c: Likewise.
8801 * loader/i386/xnu.c: Likewise.
8802 * loader/xnu.c: Likewise.
8803 * normal/main.c: Likewise.
8804 * normal/menu_text.c: Likewise.
8805 * util/getroot.c: Likewise.
8806 * util/grub-mkconfig_lib.in: Likewise.
8807 * util/grub.d/00_header.in: Likewise.
8808 * util/i386/pc/grub-mkimage.c: Likewise.
8809 * util/mkisofs/eltorito.c: Likewise.
8810 * util/mkisofs/exclude.h: Likewise.
8811 * util/mkisofs/hash.c: Likewise.
8812 * util/mkisofs/iso9660.h: Likewise.
8813 * util/mkisofs/joliet.c: Likewise.
8814 * util/mkisofs/mkisofs.c: Likewise.
8815 * util/mkisofs/mkisofs.h: Likewise.
8816 * util/mkisofs/multi.c: Likewise.
8817 * util/mkisofs/name.c: Likewise.
8818 * util/mkisofs/rock.c: Likewise.
8819 * util/mkisofs/tree.c: Likewise.
8820 * util/mkisofs/write.c: Likewise.
8821 * video/efi_gop.c: Likewise.
8822
8823 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
8826 size counting.
8827
8828 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
8829
8830 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
8831 * genmk.rb (class SCRIPT): Modify the target file instead of source.
8832
8833 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
8836 (GRUB_MOD_INIT(memrw)): Update help line.
8837
8838 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
8841 Use grub_extcmd_t. All users updated.
8842 (options): New variable.
8843 (grub_cmd_read): Restructure for readability. Support "-v" option.
8844 (grub_cmd_write): Restructure for readability.
8845
8846 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
8847
8848 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
8849
8850 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
8851
8852 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
8853 with the actual contents of the correspondending make variable.
8854 * util/grub-mkrescue.in (pkglib_DATA): New variable.
8855 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
8856 specifying `*.lst' and `efiemu??.o'
8857
8858 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
8859
8860 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
8861 after function name.
8862 Noticed by Rene Engelhard <rene@debian.org>.
8863
8864 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
8867 (options): New variable.
8868 (iospace): Likewise.
8869 (grub_lspci_iter): List IO spaces if "-i" was given.
8870 (grub_cmd_lspci): Parse options.
8871 (GRUB_MOD_INIT(lspci)): Use extcmd.
8872 (GRUB_MOD_FINI(lspci)): Likewise.
8873
8874 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
8875
8876 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
8877 `function' keyword.
8878 Patch by Tony Mancill <tmancill@debian.org>.
8879
8880 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
8883 (grub_uhci_portstatus): Likewise.
8884 (grub_uhci_portstatus): Add necessary delay.
8885 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
8886
8887 2009-12-21 Carles Pina i Estany <carles@pina.cat>
8888
8889 * commands/acpi.c (options): Fix capitalizations and/or full stops.
8890 (GRUB_MOD_INIT): Likewise.
8891 * commands/boot.c (GRUB_MOD_INIT): Likewise.
8892 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
8893 * commands/echo.c (options): Fix capitalizations and/or full stops.
8894 * commands/efi/loadbios.c (enable_rom_area): Likewise.
8895 (enable_rom_area): Likewise.
8896 (GRUB_MOD_INIT): Likewise.
8897 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
8898 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
8899 * commands/handler.c (GRUB_MOD_INIT): Likewise.
8900 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
8901 * commands/hexdump.c (options): Likewise.
8902 * commands/i386/cpuid.c (options): Likewise.
8903 (GRUB_MOD_INIT): Likewise.
8904 * commands/i386/pc/drivemap.c (options): Likewise.
8905 (GRUB_MOD_INIT): Likewise.
8906 * commands/i386/pc/halt (options): Likewise.
8907 (GRUB_MOD_INIT): Likewise.
8908 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
8909 * commands/i386/pc/pxecmd.c (options): Likewise.
8910 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
8911 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
8912 * commands/keystatus.c (options): Likewise.
8913 (GRUB_MOD_INIT): Likewise.
8914 * commands/loadenv.c (options): Likewise.
8915 * commands/ls.c (options): Likewise.
8916 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
8917 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
8918 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
8919 * commands/parttool.c (helpmsg): Likewise.
8920 * commands/probe.c (options): Likewise.
8921 * commands/read.c (GRUB_MOD_INIT): Likewise.
8922 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
8923 * commands/search.c (options): Likewise.
8924 * commands/sleep.c (options): Likewise.
8925 * commands/test.c (GRUB_MOD_INIT): Likewise.
8926 * commands/true.c (GRUB_MOD_INIT): Likewise.
8927 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
8928 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
8929 * lib/arg.c (help_options): Likewise.
8930 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
8931 `$(XGETTEXT)'.
8932 * po/POTFILES: Add `commands/loadenv.c'.
8933
8934 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
8935
8936 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
8937 instead of specifying them explicit.
8938
8939 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8940
8941 * NEWS: Add grub-probe support for GNU/Hurd.
8942
8943 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8944
8945 * NEWS: gettext was added after 1.97.
8946
8947 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8948
8949 * util/mkisofs/msdos_partition.h: New file (based on
8950 include/grub/msdos_partition.h).
8951 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
8952 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
8953 (ld_options, main): Recognize --protective-msdos-label.
8954 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
8955 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
8956 (padblock_write): If `use_protective_msdos_label' is set, patch a
8957 protective DOS-style label in the output image.
8958
8959 * util/grub-mkrescue.in: Use --protective-msdos-label.
8960
8961 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8962
8963 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
8964 boot.
8965
8966 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8967
8968 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
8969 variables.
8970 (ld_options, main): Recognize `--embedded-boot'.
8971 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
8972 declarations.
8973 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
8974 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
8975 (padblock_write): Likewise. Rewrite to support embedded boot image.
8976
8977 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
8978 for BIOS-based disk boot instead of only ElTorito.
8979
8980 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8981
8982 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
8983 build (not needed for bootstrap).
8984
8985 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8986
8987 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
8988 from i386-pc build (not needed for bootstrap).
8989 Rewrite a pair of strings.
8990
8991 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8992
8993 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
8994
8995 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
8998
8999 2009-12-21 Andreas Born <futur.andy@googlemail.com>
9000
9001 * kern/env.c (grub_env_context_open): Mark exported variable for
9002 reexport.
9003
9004 2009-12-21 Andreas Born <futur.andy@googlemail.com>
9005
9006 * kern/env.c (grub_env_export): Create nonexistent variables before
9007 exporting.
9008
9009 2009-12-20 Carles Pina i Estany <carles@pina.cat>
9010
9011 * include/grub/auth.h: Include `<grub/i18n.h>'.
9012 (GRUB_GET_PASSWORD): Gettextizze string.
9013 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
9014 menu_text.c.
9015 (grub_utf8_to_ucs4_alloc): Fix indentation.
9016 (grub_print_ucs4): Likewise.
9017 (grub_getstringwidth): Likewise.
9018 (print_message_indented): New declaration.
9019 * normal/auth.c: Include `<grub/i18n.h>'.
9020 (grub_auth_check_authentication): Gettexttize string.
9021 * normal/cmdline.c: Include `<grub/i18n.h>'.
9022 (grub_cmdline_get): Gettextizze.
9023 * normal/color.c: Include `<grub/i18n.h>'.
9024 (grub_parse_color_name_pair): Gettexttize strings.
9025 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
9026 string (use `print_message_indented').
9027 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
9028 `include/grub/normal.h'.
9029 (print_message_indented): Renamed to ...
9030 (grub_print_message_indented): ... this. Remove `static' qualifer (now
9031 used in normal/main.c).
9032 (print_message): Use `grub_print_message_indented' instead of
9033 `print_message_indented'.
9034 (print_timeout): Likewise.
9035 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
9036 (grub_normal_print_device_info): Gettexttize strings.
9037 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
9038
9039 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
9042 of arguments. Return number of tokens and not arguments. All users
9043 updated.
9044
9045 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
9048 non-MSDOS paritions.
9049
9050 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9051
9052 * include/grub/types.h (UNUSED): Removed since it conflicts with
9053 NetBSD headers. All users changed to direct __attribute__ ((unused)).
9054 Reported by Grégoire Sutre.
9055
9056 2009-12-19 Carles Pina i Estany <carles@pina.cat>
9057
9058 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
9059 (grub_print_ucs4_alloc): Likewise.
9060 (grub_getstringwidth): Likewise.
9061 * normal/main.c (grub_normal_init_page): Gettextize version string.
9062 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
9063 (getstringwidth): Renamed to ...
9064 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
9065 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
9066 (grub_print_ucs4): Remove `static' qualifer (now used in
9067 normal/main.c).
9068 * po/POTFILES: Add normal/main.c.
9069
9070 2009-12-19 Carles Pina i Estany <carles@pina.cat>
9071
9072 * normal/menu_text.c (STANDARD_MARGIN): New macro.
9073 (print_message_indented): Add `margin_left' and `margin_right'
9074 parameters.
9075 (print_message): Update `print_message_indented' calls. Adds '\n' to the
9076 strings.
9077 (print_timeout): Use `print_message_indented' to print the message.
9078 Deletes `second_stage' parameter.
9079 (run_menu): Update `print_timeout' calls.
9080
9081 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 Fix console palette on OpenFirmware.
9084
9085 * term/ieee1275/ofconsole.c (MAX): Removed.
9086 (colors): Redone based on VGA palette.
9087 (grub_ofconsole_setcolor): Discard brightness bit since only 8
9088 colors are supported.
9089 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
9090
9091 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 Fix potential EfiEmu double prepare.
9094
9095 * efiemu/main.c (prepared): New variable
9096 (grub_efiemu_unload): Set prepare to '0'.
9097 (grub_efiemu_prepare): Return if already prepared. Set prepared.
9098
9099 set_virtual_address_map support.
9100
9101 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
9102 prototype.
9103 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
9104 prototype.
9105 (grub_efiemu_crc32): Likewise.
9106 (grub_efiemu_crc64): Likewise.
9107 (grub_efiemu_set_virtual_address_map): Likewise.
9108 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
9109 New definition.
9110 (grub_autoefi_set_virtual_address_map): Likewise.
9111 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
9112 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
9113 Restructure flow to accomodate it.
9114 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
9115 (grub_efiemu_crc): Recompute CRC32.
9116 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
9117 (efiemu_ptv_relocated): ... this. Made global. All users updated.
9118 * efiemu/symbols.c (relocated_handle): New variable.
9119 (grub_efiemu_free_syms): Free relocated_handle.
9120 (grub_efiemu_alloc_syms): Allocate relocated_handle.
9121 (grub_efiemu_write_sym_markers): New function.
9122 (grub_efiemu_set_virtual_address_map): Likewise.
9123
9124 Newer XNU parameters.
9125
9126 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
9127 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
9128 (grub_xnu_fill_devicetree): New prototype.
9129 (grub_xnu_heap_real_start): New variable.
9130 * loader/xnu.c (get_name_ptr): New function.
9131 (grub_xnu_load_driver): Fill namelen and name.
9132
9133 64-bit xnu support.
9134
9135 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
9136 and 'loader/macho64.c'.
9137 * conf/i386-pc.rmk: Likewise.
9138 * conf/x86_64-efi.rmk: Likewise.
9139 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
9140 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
9141 * include/grub/macho.h (grub_macho_segment64): New structure.
9142 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
9143 (grub_macho_size32): ... to this.
9144 (grub_macho32_get_entry_point): Renamed from ...
9145 (grub_macho_get_entry_point32): ... to this.
9146 (grub_macho_contains_macho64): New prototype.
9147 (grub_macho_size64): Likewise.
9148 (grub_macho_get_entry_point64): Likewise.
9149 (grub_macho32_load): Renamed from ...
9150 (grub_macho_load32): ... to this.
9151 (grub_macho32_filesize): Renamed from ...
9152 (grub_macho_filesize32): ... to this.
9153 (grub_macho32_readfile): Renamed from ...
9154 (grub_macho_readfile32): ... to this.
9155 (grub_macho_filesize64): New prototype.
9156 (grub_macho_readfile64): Likewise.
9157 (grub_macho_parse32): Likewise.
9158 (grub_macho_parse64): Likewise.
9159 * loader/macho.c: Split into ...
9160 * loader/machoXX.c: ... and this. Replace 32 with XX.
9161 * loader/macho32.c: New file.
9162 * loader/macho64.c: Likewise.
9163 * loader/xnu.c (grub_xnu_is_64bit): New variable.
9164 (grub_cmd_xnu_kernel): Make 32-bit only.
9165 (grub_cmd_xnu_kernel64): New function.
9166 (grub_xnu_load_driver): Support Mach-O 64.
9167 (grub_cmd_xnu_mkext): Likewise.
9168 * util/grub.d/30_os-prober.in (osx_entry): New function.
9169 Generate entries for 64-bit boot too.
9170
9171 Eliminate ad-hoc tree format in XNU and EfiEmu.
9172
9173 * efiemu/main.c (grub_efiemu_prepare): Update comment.
9174 * efiemu/pnvram.c: Rewritten to use environment variables.
9175 All users updated.
9176
9177 Inline utf16_to_utf8.
9178
9179 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
9180 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
9181 All users updated.
9182 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
9183
9184 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
9185 * commands/usbtest.c (grub_usb_get_string): ... move here.
9186 (usb_print_str): Fix error handling.
9187 * include/grub/usb.h (grub_usb_get_string): Remove.
9188
9189 UTF-8 to UTF-16 transformation.
9190
9191 * conf/common.rmk (pkglib_MODULES): Add charset.mod
9192 (charset_mod_SOURCES): New variable.
9193 (charset_mod_CFLAGS): Likewise.
9194 (charset_mod_LDFLAGS): Likewise.
9195 * include/grub/utf.h: New file.
9196 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
9197
9198 Support for device properties.
9199
9200 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
9201 (grub_xnu_devprop_device_header): Likewise.
9202 (grub_xnu_devprop_device_descriptor): Likewise.
9203 (grub_xnu_devprop_add_device): New prototype.
9204 (grub_xnu_devprop_remove_device): Likewise.
9205 (grub_xnu_devprop_remove_property): Likewise.
9206 (grub_xnu_devprop_add_property_utf8): Likewise.
9207 (grub_xnu_devprop_add_property_utf16): Likewise.
9208 (grub_cpu_xnu_init): Likewise.
9209 (grub_cpu_xnu_fini): Likewise.
9210 (grub_cpu_xnu_unload): Likewise.
9211 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
9212 (property_descriptor): Likewise.
9213 (devices): New variable.
9214 (grub_xnu_devprop_remove_property): New function.
9215 (grub_xnu_devprop_add_device): Likewise.
9216 (grub_xnu_devprop_remove_device): Likewise.
9217 (grub_xnu_devprop_add_property): Likewise.
9218 (grub_xnu_devprop_add_property_utf8): Likewise.
9219 (grub_xnu_devprop_add_property_utf16): Likewise.
9220 (hextoval): Likewise.
9221 (grub_cpu_xnu_fill_devprop): Likewise.
9222 (grub_cmd_devprop_load): Likewise.
9223 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
9224 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
9225 (cmd_devprop_load): New variable.
9226 (grub_cpu_xnu_init): New function.
9227 (grub_cpu_xnu_fini): Likewise.
9228 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
9229 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
9230 (grub_cmd_xnu_devtree): Likewise.
9231 (hextoval): New function.
9232 (unescape): Likewise.
9233 (grub_xnu_fill_devicetree): Likewise.
9234
9235 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
9236 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
9237
9238 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9239
9240 Workaround for broken ATI VBE.
9241
9242 * video/i386/pc/vbe.c (last_set_mode): New variable.
9243 (grub_vbe_set_video_mode): Set 'last_set_mode'.
9244 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
9245 (grub_video_vbe_setup): Don't check for reserved flag.
9246
9247 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
9248
9249 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
9250 the `find' command.
9251
9252 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 UUID support for HFS.
9255
9256 * fs/hfs.c (grub_hfs_uuid): New function.
9257 (grub_hfs_fs): New value .uuid.
9258 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
9259
9260 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
9261
9262 Fix a segfault with parsing unknown long options.
9263
9264 * util/grub-mkrelpath.c (options): Zero terminate it.
9265
9266 2009-12-13 Carles Pina i Estany <carles@pina.cat>
9267
9268 * include/grub/misc.h (grub_puts): New declaration.
9269 (grub_puts_): Likewise.
9270 * kern/misc.c (grub_puts): New definition.
9271 (grub_puts_): Likewise.
9272
9273 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
9274
9275 * util/grub-probe.c (probe): Improve error message.
9276
9277 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
9278
9279 * loader/i386/multiboot_elfxx.c
9280 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
9281 initialization.
9282
9283 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 Relocator framework
9286
9287 * loader/i386/xnu_helper.S: Removed. All users updated.
9288 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
9289 (relocator_mod_SOURCES): New variable.
9290 (relocator_mod_CFLAGS): Likewise.
9291 (relocator_mod_LDFLAGS): Likewise.
9292 (relocator_mod_ASFLAGS): Likewise.
9293 * conf/x86_64.rmk: Likewise.
9294 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
9295 (grub_multiboot_payload_entry_offset): Likewise.
9296 (grub_multiboot_forward_relocator): Likewise.
9297 (grub_multiboot_forward_relocator_end): Likewise.
9298 (grub_multiboot_backward_relocator): Likewise.
9299 (grub_multiboot_backward_relocator_end): Likewise.
9300 (grub_multiboot_payload_eip): New variable.
9301 (grub_multiboot_payload_orig): Likewise.
9302 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
9303 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
9304 * include/grub/i386/memory.h
9305 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
9306 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
9307 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
9308 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
9309 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
9310 * include/grub/i386/relocator.h: New file.
9311 * include/grub/x86_64/relocator.h: Likewise.
9312 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
9313 (XNU_RELOCATOR): New macro.
9314 (grub_xnu_launcher_start): Remove.
9315 (grub_xnu_launcher_end): Likewise.
9316 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
9317 (grub_xnu_heap_real_start): Remove.
9318 (grub_xnu_heap_start): Change to void *. All users updated.
9319 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
9320 * lib/i386/relocator.c: New file.
9321 * lib/i386/relocator_asm.S: Likewise.
9322 * lib/i386/relocator_backward.S: Likewise.
9323 * lib/mips/relocator.c: Likewise.
9324 * lib/mips/relocator_asm.S: Likewise.
9325 * lib/relocator.c: Likewise.
9326 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
9327 (entry): Removed.
9328 (playground): Likewise.
9329 (grub_multiboot_payload_orig): New variable.
9330 (grub_multiboot_payload_dest): Likewise.
9331 (grub_multiboot_payload_size): Likewise.
9332 (grub_multiboot_payload_eip): Likewise.
9333 (grub_multiboot_payload_esp): Likewise.
9334 (grub_multiboot_boot): Use grub_relocator32_boot.
9335 (grub_multiboot_unload): Free relocators.
9336 (grub_multiboot): Setup stack. Use relocators.
9337 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
9338 (grub_multiboot_load_elfXX): Use relocators.
9339 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
9340 (grub_multiboot_payload_size): Likewise.
9341 (grub_multiboot_payload_dest): Likewise.
9342 (grub_multiboot_payload_entry_offset): Likewise.
9343 (grub_multiboot_forward_relocator): Likewise.
9344 (grub_multiboot_backward_relocator): Likewise.
9345 (grub_multiboot_real_boot): Likewise.
9346 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
9347 (grub_xnu_entry_point): Likewise.
9348 (grub_xnu_arg1): Likewise.
9349 (grub_xnu_stack): Likewise.
9350 (grub_xnu_launch): Removed.
9351 (grub_xnu_boot_resume): New function.
9352 (grub_xnu_boot): Use relocators.
9353 * loader/i386/xnu_helper.S: Removed.
9354 * loader/xnu.c (grub_xnu_heap_start): New variable.
9355 (grub_xnu_heap_size): Likewise.
9356 (grub_xnu_heap_malloc): Use relocators.
9357 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
9358
9359 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
9362 anything.
9363
9364 2009-12-13 Carles Pina i Estany <carles@pina.cat>
9365
9366 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
9367 GRUB_ERR_NONE before calling grub_env_set.
9368
9369 2009-12-12 Robert Millan <rmh@aybabtu.com>
9370
9371 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
9372 * genmk.rb (video): New variable.
9373 (CLEANFILES, VIDEOFILES): Add #{video}.
9374 (#{video}): New target rule.
9375 * genvideolist.sh: New file.
9376 * Makefile.in (pkglib_DATA): Add video.lst.
9377 (video.lst): New target rule.
9378 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
9379 `video.lst'.
9380 * util/grub.d/30_os-prober.in: Replace `vbe' with
9381 ${GRUB_VIDEO_BACKEND}.
9382
9383 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
9384
9385 * THANKS: Add David Miller.
9386
9387 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 libpciaccess support.
9390
9391 * Makefile.in (LIBPCIACCESS): New variable.
9392 (enable_grub_emu_pci): Likewise.
9393 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
9394 util/pci.c and commands/lspci.c.
9395 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
9396 * configure.ac (grub-emu-pci): New option.
9397 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
9398 (grub_pci_device_unmap_range): Likewise.
9399 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
9400 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
9401 (grub_pci_address_t) [!GRUB_UTIL]: New type.
9402 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
9403 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
9404 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
9405 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
9406 * include/grub/pciutils.h: New file.
9407 * util/pci.c: Likewise.
9408
9409 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
9410
9411 * util/misc.c: Don't include <errno.h> twice.
9412
9413 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
9414
9415 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
9416 name in an error message.
9417 (grub_biosdisk_rw): Likewise.
9418
9419 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 Eliminate NTFS 4Gib barrier.
9422
9423 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
9424 (read_run_data): Likewise.
9425 (grub_ntfs_read_run_list): Likewise.
9426 (grub_ntfs_read_block): Likewise.
9427 (grub_ntfs_iterate_dir): Likewise.
9428 (read_mft): Likewise.
9429 (read_data): Likewise.
9430 Use COM_LOG_LEN.
9431 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
9432 to avoid 64-bit division
9433 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
9434 (grub_ntfs_rlst): Use grub_disk_addr_t.
9435
9436 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 Eliminate grub-fstest 4Gib barrier.
9439
9440 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
9441 (read_file): Fix error reporting.
9442
9443 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 Eliminate hexdump 4Gib barrier.
9446
9447 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
9448 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
9449
9450 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
9453 Fixes amarsh bug.
9454
9455 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
9456
9457 Remove miscellaneous files in distclean target.
9458
9459 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
9460
9461 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
9462
9463 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
9464 if they're already set. This resolves the conflict between my
9465 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
9466 fixing the --grub-probe option again.
9467 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
9468 change on 2009-10-06, so that we now once again source
9469 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
9470
9471 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
9472
9473 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
9474 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
9475 `util/devicemap.c'.
9476
9477 2009-12-08 Carles Pina i Estany <carles@pina.cat>
9478
9479 * include/grub/misc.h (grub_printf_): New declaration.
9480 * kern/misc.c (grub_printf_): New definition.
9481 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
9482 instead of `grub_printf' and `_'.
9483 * normal/menu_entry.c (store_completion): Likewise.
9484 (run): Likewise.
9485 (grub_menu_entry_run): Likewise.
9486 * normal/menu_text.c (grub_wait_after_message): Likewise.
9487 (notify_booting): Likewise.
9488 (notify_fallback): Likewise.
9489 (notify_execution_failure): Likewise.
9490
9491 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
9492
9493 * configure.ac: Check for vasprintf.
9494 * util/misc.c (asprintf): Move allocation from here ...
9495 (vasprintf): ... to here. New function.
9496 (xasprintf): New function.
9497 * include/grub/util/misc.h (vasprintf, xasprintf): Add
9498 prototypes.
9499 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
9500 * util/grub-mkfont.c (write_font): Likewise.
9501 * util/grub-probe.c (probe): Likewise.
9502 * util/hostdisk.c (make_device_name): Likewise.
9503
9504 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
9505
9506 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
9507 anything even prefixed with 'cdrom' as a cdrom.
9508
9509 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
9510
9511 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
9512 mount points.
9513
9514 2009-12-05 Carles Pina i Estany <carles@pina.cat>
9515
9516 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
9517 grub_gettext_msg_list.
9518 (grub_gettext_gettranslation_from_position): Return const char *
9519 and not char *.
9520 (grub_gettext_translate): Add the translated strings into a list,
9521 returns from the list if existing there.
9522 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
9523 (grub_gettext_delete_list): Delete the list.
9524 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
9525 lang environment variable is changed.
9526 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
9527
9528 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 Rename kernel.mod to kernel.img.
9531
9532 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
9533 (kernel_mod_EXPORTS): Rename to ...
9534 (kernel_img_EXPORTS): ... this.
9535 (kernel_mod_SOURCES): Rename to ...
9536 (kernel_img_SOURCES): ... this.
9537 (kernel_mod_HEADERS): Rename to ...
9538 (kernel_img_HEADERS): ... this. All users updated.
9539 (kernel_mod_CFLAGS): Rename to ...
9540 (kernel_img_CFLAGS): ... this.
9541 (kernel_mod_ASFLAGS): Rename to ...
9542 (kernel_img_ASFLAGS): ... this.
9543 (kernel_mod_LDFLAGS): Rename to ...
9544 (kernel_img_LDFLAGS): ... this.
9545 * conf/x86_64-efi.rmk: Likewise.
9546 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
9547 (read_kernel_image): ... this. All users updated.
9548 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
9549
9550 2009-12-05 Carles Pina i Estany <carles@pina.cat>
9551
9552 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
9553 (print_spaces): New function.
9554 (grub_print_ucs4): New function.
9555 (getstringwidth): New function.
9556 (print_message_indented): New function.
9557 (print_message): Gettexttize strings using print_message_indented.
9558 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
9559 width.
9560 (get_entry_number): Gettextize and uses dynamic terminal width.
9561 (notify_booting, notify_fallback, notify_execution_failure):
9562 Gettextize.
9563 * normal/menu_entry.c (store_completion): Cleanup the gettextized
9564 string.
9565 (run): Likewise.
9566 (grub_menu_entry_run): Likewise.
9567 * PO/POTFILES: Add normal/menu_entry.c.
9568
9569 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
9572
9573 2009-12-05 Carles Pina i Estany <carles@pina.cat>
9574
9575 * util/grub-install.in: Install gettext .mo files.
9576 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
9577
9578 2009-12-05 Carles Pina i Estany <carles@pina.cat>
9579
9580 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
9581 grub_dprintf.
9582
9583 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
9584
9585 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
9586 non-firmware-dependant one in realmode.S takes precedence.
9587
9588 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
9589
9590 * commands/halt.c: Replace misc arch-specific headers with
9591 `<grub/misc.h>'.
9592 * commands/reboot.c: Likewise.
9593 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
9594 `<grub/misc.h>'.
9595 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
9596 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
9597 (kernel_img_SOURCES): ... to here.
9598
9599 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
9600 * include/grub/i386/pc/init.h: Likewise.
9601 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
9602 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
9603
9604 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
9605
9606 * include/grub/i386/halt.h: Remove.
9607 * include/grub/i386/reboot.h: Likewise.
9608
9609 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
9610
9611 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
9612
9613 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
9614 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
9615 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
9616 "progname.h"
9617 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
9618 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9619 (usage): Add missing comma in printf.
9620
9621 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
9622
9623 Use the same reboot approach on i386 coreboot and qemu as we do on
9624 BIOS.
9625
9626 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
9627 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
9628 * kern/i386/reboot.c: Remove.
9629 * include/grub/i386/reboot.h (grub_reboot): Export function.
9630 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
9631 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
9632 0xf000:0xfff0 instead of 0xffff:0x0000.
9633 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
9634 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
9635
9636 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
9637
9638 Fix $srcdir != $objdir build.
9639
9640 * Makefile.in (po/%.po): Rewrite as ...
9641 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
9642
9643 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
9644
9645 Fix GNU/Hurd grub-install crash.
9646 * util/grub-probe.c (probe): Try to access `path' only when it is not
9647 NULL.
9648
9649 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 Correct module naming.
9652
9653 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
9654 (GRUB_MOD_INIT(efi_uga)): ... to this
9655 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
9656 (GRUB_MOD_FINI(efi_uga)): ... to this
9657 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
9658 (GRUB_MOD_INIT(efi_gop)): ... to this
9659 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
9660 (GRUB_MOD_FINI(efi_gop)): ... to this
9661
9662 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
9663
9664 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
9665 translatable.
9666 (usage): Translate `arg' strings using gettext().
9667 Thanks to Jordi Mallach for the suggestion.
9668
9669 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 GOP support. Based on patch from Bean
9672 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
9673
9674 * video/efi_gop.c: New file.
9675 * include/grub/efi/graphics_output.h: Likewise.
9676 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
9677 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
9678 variables.
9679 * conf/x86_64-efi.rmk: Likewise.
9680
9681 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 Rename efi_fb to efi_uga.
9684
9685 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
9686 'efi_uga.mod'.
9687 (efi_fb_mod_SOURCES): Rename this ...
9688 (efi_uga_mod_SOURCES): ... to this.
9689 (efi_fb_mod_CFLAGS): Rename this ...
9690 (efi_uga_mod_CFLAGS): ... to this.
9691 (efi_fb_mod_LDFLAGS): Rename this ...
9692 (efi_uga_mod_LDFLAGS): ... to this.
9693 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
9694 'efi_uga.mod'.
9695 (efi_fb_mod_SOURCES): Rename this ...
9696 (efi_uga_mod_SOURCES): ... to this.
9697 (efi_fb_mod_CFLAGS): Rename this ...
9698 (efi_uga_mod_CFLAGS): ... to this.
9699 (efi_fb_mod_LDFLAGS): Rename this ...
9700 (efi_uga_mod_LDFLAGS): ... to this.
9701 * video/efi_fb.c: Move this ...
9702 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
9703
9704 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
9705
9706 * po/README: New file. Explain our PO file workflow.
9707
9708 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
9709
9710 * po/ChangeLog: Remove. Move relevant entries back to ...
9711 * ChangeLog: ... here.
9712 * po/ca.po: Remove (now handled by TLP).
9713 * po/id.po: Likewise.
9714 * po/zh_CN.po: Likewise.
9715 * Makefile.in (LINGUAS): Initialize in a way that supports
9716 empty set.
9717
9718 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
9719
9720 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
9721 reliing on po/LINGUAS.
9722 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
9723 (po/%.po): ... this.
9724
9725 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
9726
9727 * util/i386/efi/grub-mkimage.c: Include "progname.h".
9728 (main): Use `program_name' instead of nonexistent `progname'.
9729
9730 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
9731
9732 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
9733 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
9734
9735 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
9736
9737 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
9738 commit.
9739 * conf/i386-efi.rmk: Likewise.
9740 * conf/i386-ieee1275.rmk: Likewise.
9741 * conf/powerpc-ieee1275.rmk: Likewise.
9742 * conf/sparc64-ieee1275.rmk: Likewise.
9743 * conf/x86_64-efi.rmk: Likewise.
9744
9745 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
9746
9747 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
9748
9749 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
9750
9751 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
9752
9753 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
9754
9755 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
9756 (grub_mkdevicemap_SOURCES): New variable.
9757 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
9758 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
9759 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
9760 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
9761 (grub_mkdevicemap_SOURCES): Remove.
9762 * conf/i386-efi.rmk: Likewise.
9763 * conf/i386-ieee1275.rmk: Likewise.
9764 * conf/i386-pc.rmk: Likewise.
9765 * conf/powerpc-ieee1275.rmk: Likewise.
9766 * conf/sparc64-ieee1275.rmk: Likewise.
9767 * conf/x86_64-efi.rmk: Likewise.
9768 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
9769 (usage): Fix strings to use `program_name'.
9770 (main): Initialize gettext.
9771 * util/grub-editenv.c: Likewise.
9772 * util/grub-emu.c: Likewise.
9773 * util/grub-fstest.c: Likewise.
9774 * util/grub-mkdevicemap.c: Likewise.
9775 * util/grub-mkfont.c: Likewise.
9776 * util/grub-mkrelpath.c: Likewise.
9777 * util/grub-pe2elf.c: Likewise.
9778 * util/grub-probe.c: Likewise.
9779 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
9780 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
9781 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9782
9783 * util/misc.c: Include `"progname.h"'.
9784 (progname): Remove variable.
9785 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
9786
9787 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
9788
9789 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
9790 printf and print a newline after the menuentry header line.
9791 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
9792
9793 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
9794
9795 autoconf >= 2.60 support $(localedir).
9796
9797 * INSTALL: Note that autoconf 2.60 is required.
9798 * configure.ac (AC_PREREQ): Bump to 2.60.
9799 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
9800 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
9801
9802 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
9803
9804 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
9805 aclocal is run.
9806
9807 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
9808
9809 * normal/main.c (grub_normal_read_line): Fix off-by-one
9810 buffer overflow.
9811
9812 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
9813
9814 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
9815 "parser.grub" in grub_command_execute() call.
9816
9817 2009-11-24 Carles Pina i Estany <carles@pina.cat>
9818
9819 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
9820 * conf/i386-efi.rmk: Likewise.
9821 * conf/i386-ieee1275.rmk: Likewise.
9822 * conf/i386-pc.rmk: Likewise.
9823 * conf/powerpc-ieee1275.rmk: Likewise.
9824 * conf/sparc64-ieee1275.rmk: Likewise.
9825 * conf/x86_64-efi.rmk: Likewise.
9826 * gettext/gettex.c: Include <grub/i18n.h>.
9827 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
9828 here ...
9829 * include/grub/i18n.h: ... to here
9830 * include/grub/i18n.h: ... to here.
9831 * kern/misc.c: Include <grub/i18n.h>
9832 (grub_gettext_dummy): Move above user.
9833
9834 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9835
9836 * util/Makefile.in (install-local): Convert a `for' into a normal
9837 shell expansion.
9838
9839 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
9840
9841 * autogen.sh: Add automake call.
9842 * config.guess: Remove.
9843 * config.sub: Likewise.
9844 * install-sh: Likewise.
9845
9846 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9847
9848 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
9849
9850 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9851
9852 * util/Makefile.in (install-local): Convert a make `$(foreach)'
9853 function to a normal shell `for'.
9854
9855 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9856
9857 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
9858
9859 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9860
9861 * util/grub-mkrelpath.c: New file.
9862 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
9863 (grub_mkrelpath_SOURCES): New variable.
9864 * include/grub/util/misc.h: New function prototype.
9865 * util/misc.c (make_system_path_relative_to_its_root): New function.
9866
9867 * util/grub-mkconfig_lib.in (bindir): New variable.
9868 (grub_mkrelpath): Likewise.
9869 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
9870
9871 * util/probe.c (probe): Make the file path relative to its root.
9872 Change a info message to use the GRUB path. Enable again the
9873 check if we can read the file with GRUB facilities.
9874
9875 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
9876 to its root.
9877
9878 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9879
9880 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
9881 platform.
9882
9883 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9884
9885 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
9886 strncmp().
9887
9888 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9889
9890 * util/getroot.c (grub_util_is_dmraid): New function.
9891 (grub_util_get_dev_abstraction): Treat dmraid and multipath
9892 devices as normal ones, not as LVM.
9893
9894 2009-11-23 Carles Pina i Estany <carles@pina.cat>
9895
9896 * conf/common.rmk: Add grub-gettext_lib target and updates
9897 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
9898 LDFLAGS.
9899 * gettext/gettext.c: New file. (Reads mo files).
9900 * include/grub/file.h (grub_file_pread): New prototype.
9901 * include/grub/i18n.h (_): New prototype.
9902 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
9903 prototypes.
9904 * kern/misc.c (grub_gettext_dummy): New function.
9905 * normal/menu_text.c: Include <grub/i18n.h>.
9906 * normal/menu_text.c (print_timeout): Gettexttize string.
9907 * normal/menu_text.c (print_message): Gettexttize string.
9908 * po/POTFILES: Add `normal/menu_text.c'.
9909 * po/ca.po: Add new translations.
9910 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
9911 gettext module and defines locale_dir and lang in grub.cfg.
9912 * NEWS: Add gettext support.
9913
9914 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9915
9916 * util/hostdisk.c: Include `<grub/i18n.h>'.
9917 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
9918 (make_device_name): Rewrite using asprintf.
9919 (convert_system_partition_to_system_disk): Replace 0 with NULL.
9920 (find_system_device): If a device is not found, generate one just
9921 by reusing the OS path name.
9922 (read_device_map): Make it permissible for device.map not to exist.
9923
9924 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9925
9926 * script/sh/execute.c: Move from here ...
9927 * script/execute.c: ... to here. Update all users.
9928 * script/sh/function.c: Move from here ...
9929 * script/function.c: ... to here. Update all users.
9930 * script/sh/lexer.c: Move from here ...
9931 * script/lexer.c: ... to here. Update all users.
9932 * script/sh/main.c: Move from here ...
9933 * script/main.c: ... to here. Update all users.
9934 * script/sh/parser.y: Move from here ...
9935 * script/parser.y: ... to here. Update all users.
9936 * script/sh/script.c: Move from here ...
9937 * script/script.c: ... to here. Update all users.
9938
9939 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9940
9941 * configure.ac: Detect all `emu' platforms. Define
9942 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
9943 --enable-grub-emu logic. Disable include/grub/machine
9944 symlink on `emu' platforms.
9945
9946 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
9947 * gensymlist.sh.in: Likewise.
9948
9949 * include/grub/i386/coreboot/machine.h: Remove file.
9950 * include/grub/i386/efi/machine.h: Likewise.
9951 * include/grub/i386/ieee1275/machine.h: Likewise.
9952 * include/grub/i386/pc/machine.h: Likewise.
9953 * include/grub/i386/qemu/machine.h: Likewise.
9954 * include/grub/powerpc/ieee1275/machine.h: Likewise.
9955 * include/grub/sparc64/ieee1275/machine.h: Likewise.
9956 * include/grub/x86_64/efi/machine.h: Likewise.
9957
9958 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
9959 * commands/halt.c: Likewise.
9960 * commands/reboot.c: Likewise.
9961 * include/grub/autoefi.h: Likewise.
9962 * include/grub/i386/at_keyboard.h: Likewise.
9963 * include/grub/i386/kernel.h: Likewise.
9964 * include/grub/i386/loader.h: Likewise.
9965 * include/grub/i386/pc/memory.h: Likewise.
9966 * kern/dl.c: Likewise.
9967 * kern/i386/coreboot/init.c: Likewise.
9968 * loader/i386/bsd.c: Likewise.
9969 * loader/i386/linux.c: Likewise.
9970 * loader/multiboot_loader.c: Likewise.
9971 * term/i386/pc/serial.c: Likewise.
9972 * term/usb_keyboard.c: Likewise.
9973
9974 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
9975 `<grub/machine/machine.h>'
9976 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
9977 * util/misc.c: Remove `<grub/machine/machine.h>' and
9978 `<grub/machine/time.h>'.
9979
9980 * Makefile.in (enable_grub_emu): Remove variable.
9981 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
9982
9983 * conf/any-emu.rmk: New file.
9984 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
9985 (grub_emu_init.c): Move from here ...
9986 * conf/any-emu.rmk: ... to here.
9987
9988 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
9989 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
9990 * conf/any-emu.rmk: ... to here.
9991
9992 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
9993
9994 * include/grub/parser.h (grub_parser_register): Document need
9995 of `name' parameter.
9996 * normal/main.c (grub_normal_read_line): Simplify prompt string.
9997 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
9998 "sh" to "grub".
9999
10000 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10001
10002 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
10003 `$(XGETTEXT)'.
10004 * include/grub/i18n.h (N_): New macro.
10005 * util/mkisofs/mkisofs.h: Likewise.
10006 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
10007 around N_().
10008 (usage): Use gettext() to translate help strings when printing them.
10009
10010 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10011
10012 Based on patch from Bean
10013 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
10014
10015 * video/efi_fb.c: New file.
10016 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
10017 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
10018 variables.
10019 * conf/x86_64-efi.rmk: Likewise.
10020
10021 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
10022
10023 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
10024 * util/i386/pc/grub-setup.c: Likewise.
10025
10026 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
10027
10028 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
10029 <hurd/fs.h>
10030 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
10031 file_get_storage_info to implement grub_guess_root_device.
10032
10033 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
10034
10035 * Makefile.in (target): Use make's builtin $(shell) function
10036 instead of calling directly $(SHELL) to create the locale directories,
10037 inside the $(foreach) function.
10038
10039 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
10040
10041 * util/grub-mkrescue.in: Print an error and usage if output option
10042 has not been given.
10043
10044 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
10045
10046 Patch from Loïc Minier <loic.minier@ubuntu.com>.
10047 * util/grub.d/30_os-prober.in: Cope with Linux entries where
10048 root and /boot are on different devices.
10049
10050 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
10051
10052 Fix build for srcdir != objdir.
10053
10054 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
10055 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
10056 $(srcdir).
10057 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
10058 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
10059 reference for input.
10060
10061 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
10062
10063 * util/grub-mkrescue.in: Use source directory direcly (without copiing
10064 or hardlinking it). Remove -J option, Joliet is not compatible with
10065 multiple source directories.
10066
10067 2009-11-21 Carles Pina i Estany <carles@pina.cat>
10068 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
10069
10070 * util/grub-mkrescue.in: Recognize `--override-directory' option.
10071 (process_input_dir): New function. Process an arbitrary input
10072 directory.
10073 Misc adjustments to support both "override mode" and system-wide mode.
10074
10075 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
10076
10077 * configure.ac (UNIFONT_BDF): Rename to ...
10078 (FONT_SOURCE): ... this. Update all users.
10079
10080 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
10081
10082 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
10083 to the list of unifont files to look for.
10084
10085 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
10086
10087 Patch from Joe Auricchio <jauricchio@gmail.com>
10088 * commands/minicmd.c (grub_mini_cmd_clear): New function.
10089 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
10090 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
10091
10092 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
10093
10094 * Makefile.in (install-local): Add a missing backslash.
10095
10096 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
10097
10098 * include/grub/x86_64/io.h: New file.
10099
10100 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
10101
10102 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
10103 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
10104 Include `"progname.h"'.
10105 (main): Initialize gettext.
10106 * util/i386/pc/grub-setup.c: Gettexttize.
10107 * util/i386/pc/grub-mkimage.c: Likewise.
10108
10109 * Makefile.in (po/*.po): Redefine as ...
10110 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
10111
10112 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
10113
10114 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
10115
10116 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
10117 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
10118 (program_name): Remove.
10119 (main): Initialize gettext support.
10120 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
10121 Include `<libintl.h>'.
10122 (_): New macro.
10123
10124 * util/mkisofs/eltorito.c: Gettexttize.
10125 * util/mkisofs/joliet.c: Likewise.
10126 * util/mkisofs/mkisofs.c: Likewise.
10127 * util/mkisofs/multi.c: Likewise.
10128 * util/mkisofs/rock.c: Likewise.
10129 * util/mkisofs/tree.c: Likewise.
10130 * util/mkisofs/write.c: Likewise.
10131
10132 * po/POTFILES: Update with new files.
10133
10134 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10135
10136 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
10137 * util/mkisofs/iso9660.h: Likewise.
10138 * util/mkisofs/joliet.c: Likewise.
10139 * util/mkisofs/mkisofs.c: Likewise.
10140 * util/mkisofs/mkisofs.h: Likewise.
10141 * util/mkisofs/rock.c: Likewise.
10142 * util/mkisofs/tree.c: Likewise.
10143 * util/mkisofs/write.c: Likewise.
10144
10145 * util/mkisofs/eltorito.c (rcsid): Remove.
10146 * util/mkisofs/hash.c: Likewise.
10147 * util/mkisofs/joliet.c: Likewise.
10148 * util/mkisofs/name.c: Likewise.
10149 * util/mkisofs/rock.c: Likewise.
10150 * util/mkisofs/tree.c: Likewise.
10151 * util/mkisofs/write.c: Likewise.
10152
10153 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10154
10155 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
10156 instead of static allocation.
10157 * util/mkisofs/match.h: Likewise.
10158
10159 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10160
10161 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
10162 and `util/grub.d/10_linux.in'.
10163 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
10164 translatable Shell files.
10165
10166 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10167
10168 * Makefile.in ($(srcdir)/aclocal.m4): New target.
10169
10170 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10171
10172 * INSTALL: Document Automake is needed for bootstrap.
10173 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
10174 * util/grub.d/10_kfreebsd.in (bindir): New variable.
10175 Add gettext initialization.
10176 (kfreebsd_entry): Make menuentry output translatable.
10177
10178 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10179
10180 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
10181 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
10182 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
10183 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
10184 (LINGUAS): Auto-generate using `po/LINGUAS'.
10185 * po/LINGUAS: New file.
10186
10187 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10188
10189 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
10190 other things).
10191 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
10192 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
10193 bindtextdomain() calls for gettext initialization.
10194
10195 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10196
10197 * gnulib/progname.c: New file (imported from Gnulib).
10198 * gnulib/progname.h: Likewise.
10199 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
10200 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
10201 (usage): Replace `progname' with `program_name'.
10202 (main): Use set_program_name() for program name initialization.
10203
10204 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10205
10206 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
10207 from here ...
10208 * Makefile.in (CPPFLAGS): ... to here.
10209
10210 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10211
10212 * aclocal.m4: Move from here ...
10213 * acinclude.m4: ... to here.
10214 * autogen.sh: Add call to `aclocal'.
10215 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
10216
10217 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10218
10219 * Makefile.in (CLEANFILES): Add `po/*.mo'.
10220 (LINGUAS): New variable.
10221 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
10222 (install-local): Install MO files.
10223 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
10224 * include/grub/i18n.h: New file.
10225 * po/POTFILES: New file.
10226 * po/ca.po: New file.
10227 * util/grub.d/10_linux.in (bindir): New variable.
10228 Add gettext initialization.
10229 (linux_entry): Make menuentry output translatable.
10230 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
10231 (usage): Make --help output translatable.
10232 (main): Initialize gettext.
10233
10234 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10235
10236 * import_gcry.py: New file (written by Vladimir with minor
10237 adjustments).
10238 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
10239 ciphers.
10240 * INSTALL: Document that Python is required for bootstrap.
10241
10242 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10243
10244 Import ciphers from libgcrypt 1.4.4.
10245
10246 * lib/libgcrypt/cipher/ChangeLog
10247 * lib/libgcrypt/cipher/ac.c
10248 * lib/libgcrypt/cipher/arcfour.c
10249 * lib/libgcrypt/cipher/bithelp.h
10250 * lib/libgcrypt/cipher/blowfish.c
10251 * lib/libgcrypt/cipher/camellia-glue.c
10252 * lib/libgcrypt/cipher/camellia.c
10253 * lib/libgcrypt/cipher/camellia.h
10254 * lib/libgcrypt/cipher/cast5.c
10255 * lib/libgcrypt/cipher/cipher.c
10256 * lib/libgcrypt/cipher/crc.c
10257 * lib/libgcrypt/cipher/des.c
10258 * lib/libgcrypt/cipher/dsa.c
10259 * lib/libgcrypt/cipher/ecc.c
10260 * lib/libgcrypt/cipher/elgamal.c
10261 * lib/libgcrypt/cipher/hash-common.c
10262 * lib/libgcrypt/cipher/hash-common.h
10263 * lib/libgcrypt/cipher/hmac-tests.c
10264 * lib/libgcrypt/cipher/md.c
10265 * lib/libgcrypt/cipher/md4.c
10266 * lib/libgcrypt/cipher/md5.c
10267 * lib/libgcrypt/cipher/primegen.c
10268 * lib/libgcrypt/cipher/pubkey.c
10269 * lib/libgcrypt/cipher/rfc2268.c
10270 * lib/libgcrypt/cipher/rijndael-tables.h
10271 * lib/libgcrypt/cipher/rijndael.c
10272 * lib/libgcrypt/cipher/rmd.h
10273 * lib/libgcrypt/cipher/rmd160.c
10274 * lib/libgcrypt/cipher/rsa.c
10275 * lib/libgcrypt/cipher/seed.c
10276 * lib/libgcrypt/cipher/serpent.c
10277 * lib/libgcrypt/cipher/sha1.c
10278 * lib/libgcrypt/cipher/sha256.c
10279 * lib/libgcrypt/cipher/sha512.c
10280 * lib/libgcrypt/cipher/tiger.c
10281 * lib/libgcrypt/cipher/twofish.c
10282 * lib/libgcrypt/cipher/whirlpool.c
10283
10284 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10285
10286 Fix build for systems without error().
10287
10288 * gnulib/error.c: New file (imported from Gnulib).
10289 * gnulib/error.h: Likewise.
10290 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
10291 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
10292 (this variable is now used by error()).
10293
10294 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
10295
10296 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
10297 instead of relying that char is signed.
10298
10299 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
10302 blocksize different from specified.
10303 (grub_pxefs_read): Likewise.
10304
10305 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
10306
10307 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
10308
10309 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
10310 (grub_ata_readwrite): Likewise. Update 2 format strings.
10311 (grub_atapi_read): Likewise.
10312
10313 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
10314 * conf/i386.rmk (pkglib_MODULES): ... to here ...
10315 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
10316 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
10317 (ata_mod_LDFLAGS): Move from here ...
10318 * conf/i386.rmk: ... to here ...
10319 * conf/x86_64-efi.rmk: ... and here.
10320 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
10321 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
10322
10323 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10324
10325 Relicense multiboot.h, with RMS' blessing.
10326
10327 * include/multiboot.h: Change to X11 license.
10328
10329 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
10330
10331 Support --version in grub-mkisofs.
10332
10333 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
10334 (OPTION_VERSION): New macro.
10335 (ld_options): Recognize --version.
10336 (usage): Move `program_name' from here ...
10337 (program_name): ... to here. Add `static' qualifier.
10338 (main): Recognize `OPTION_VERSION'.
10339
10340 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
10341
10342 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
10343 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
10344
10345 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
10346
10347 Fix help2man generation for mkisofs.
10348
10349 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
10350 (usage): Send output to stdout (rather than stderr).
10351
10352 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
10353
10354 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
10355 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
10356 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
10357 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
10358 (bin_SCRIPTS): Add `grub-mkfloppy'.
10359 (grub_mkfloppy_SOURCES): New variable.
10360
10361 * util/grub-mkrescue.in: New file.
10362 * util/i386/pc/grub-mkfloppy.in: New file.
10363
10364 * util/i386/coreboot/grub-mkrescue.in: Remove.
10365 * util/i386/pc/grub-mkrescue.in: Remove.
10366
10367 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10368
10369 * include/grub/multiboot.h (struct grub_multiboot_header): Move
10370 from here ...
10371 * include/multiboot.h (struct multiboot_header): ... to here. Update
10372 all users.
10373 * include/grub/multiboot.h (struct grub_multiboot_info): Move
10374 from here ...
10375 * include/multiboot.h (struct multiboot_info): ... to here. Update
10376 all users.
10377 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
10378 from here ...
10379 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
10380 Update all users.
10381 * include/grub/multiboot.h (struct grub_mod_list): Move
10382 from here ...
10383 * include/multiboot.h (struct multiboot_mod_list): ... to here.
10384 Update all users.
10385
10386 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10387
10388 * include/multiboot2.h (multiboot_word): Rename from this ...
10389 (multiboot2_word): ... to this. Update all users.
10390 (multiboot_header): Rename from this ...
10391 (multiboot2_header): ... to this. Update all users.
10392 (multiboot_tag_header): Rename from this ...
10393 (multiboot2_tag_header): ... to this. Update all users.
10394 (multiboot_tag_start): Rename from this ...
10395 (multiboot2_tag_start): ... to this. Update all users.
10396 (multiboot_tag_name): Rename from this ...
10397 (multiboot2_tag_name): ... to this. Update all users.
10398 (multiboot_tag_module): Rename from this ...
10399 (multiboot2_tag_module): ... to this. Update all users.
10400 (multiboot_tag_memory): Rename from this ...
10401 (multiboot2_tag_memory): ... to this. Update all users.
10402 (multiboot_tag_unused): Rename from this ...
10403 (multiboot2_tag_unused): ... to this. Update all users.
10404 (multiboot_tag_end): Rename from this ...
10405 (multiboot2_tag_end): ... to this. Update all users.
10406
10407 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10408
10409 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
10410 this platform we should support Multiboot1 first.
10411
10412 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
10413 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
10414 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
10415
10416 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
10417
10418 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
10419 of write calls (converting them to fwrite() if they aren't already).
10420 (get_torito_desc): Likewise.
10421 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
10422
10423 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
10424
10425 * util/i386/pc/grub-install.in: Move from here ...
10426 * util/grub-install.in: ... to here. Update all users.
10427
10428 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
10429
10430 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
10431
10432 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
10433
10434 Support for El Torito without floppy emulation.
10435
10436 * util/mkisofs/eltorito.c: Include `<errno.h>'.
10437 (init_boot_catalog): Improve error handling.
10438 (get_torito_desc): Don't use floppy emulation unless requested by
10439 user. Patch boot information table when requested via
10440 `-boot-info-table'.
10441 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
10442 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
10443 (use_boot_info_table): New variables.
10444 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
10445 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
10446 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
10447 `--eltorito-emul-floppy'.
10448 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
10449 and `OPTION_ELTORITO_EMUL_FLOPPY'.
10450 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
10451 (use_boot_info_table, get_731): New prototypes.
10452 * util/mkisofs/write.c (get_731): New function.
10453
10454 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
10455
10456 Fix the generation of the man page.
10457
10458 * util/pc/i386/grub-install.in: Source
10459 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
10460
10461 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
10462
10463 Large file support for grub-mkisofs.
10464
10465 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
10466 * util/mkisofs/mkisofs.c (next_extent, last_extent)
10467 (session_start): Upgrade type to `uint64_t'. Update all users.
10468 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
10469 (struct directory_entry): Upgrade type of `starting_block' and
10470 `size' to `uint64_t'. Update all users.
10471 (struct deferred): Remove unused structure.
10472 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
10473 Update all users.
10474 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
10475 file is larger than `UINT32_MAX'.
10476 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
10477 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
10478 return value.
10479 (struct deferred_write): Upgrade type of `extent' and `size' to
10480 `uint64_t'. Update all users.
10481 (last_extent_written): Upgrade type to `uint64_t'. Update all
10482 users.
10483 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
10484 Update all users. Upgrade type of `remain' to `int64_t' and
10485 `use' to `size_t'. Use error() to handle fread() errors.
10486 (write_files): Rely on write_one_file() rather than calling
10487 xfwrite() directly.
10488
10489 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
10490
10491 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
10492
10493 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10494
10495 * util/mkisofs/fnmatch.c: Remove.
10496 * util/mkisofs/getopt1.c: Likewise.
10497 * util/mkisofs/getopt.c: Likewise.
10498 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
10499 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
10500 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
10501 `gnulib/getopt1.c' and `gnulib/getopt.c'.
10502 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
10503
10504 * configure.ac: Detect `mingw32msvc' host_os.
10505 Check for lstat(), getuid() and getgid().
10506
10507 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
10508 instances of `u_char' with `uint8_t'.
10509
10510 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
10511 [!HAVE_GETUID] (getuid): New function (stub).
10512 [!HAVE_GETGID] (getgid): Likewise.
10513 [!HAVE_LSTAT] (lstat): Likewise.
10514 [!S_IROTH] (S_IROTH): New macro (dummy).
10515 [!S_IRGRP] (S_IRGRP): Likewise.
10516
10517 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10518
10519 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
10520 conditional expression).
10521
10522 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10523
10524 Import from Gnulib.
10525
10526 * gnulib/fnmatch.c: New file.
10527 * gnulib/fnmatch.h: Likewise.
10528 * gnulib/fnmatch_loop.c: Likewise.
10529 * gnulib/getopt.c: Likewise.
10530 * gnulib/getopt.h: Likewise.
10531 * gnulib/getopt1.c: Likewise.
10532 * gnulib/getopt_int.h: Likewise.
10533 * gnulib/gettext.h: Likewise.
10534
10535 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10536
10537 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
10538 * normal/handler.c (read_handler_list): Likewise.
10539
10540 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10541
10542 Misc cleanup.
10543
10544 * kern/command.c (grub_register_command_prio): Use
10545 grub_zalloc() instead of explicitly zeroing data.
10546 * kern/list.c: Include `<grub/mm.h>'.
10547 (grub_named_list_find): Replace `0' with `NULL'.
10548 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
10549 (fs_module_list): Change type to `grub_named_list_t'. Update all
10550 users.
10551 * normal/dyncmd.c (read_command_list): Add space between function
10552 call and parenthesis.
10553 * normal/handler.c (read_handler_list): Likewise.
10554
10555 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10556
10557 * normal/auth.c (punishment_delay): Moved from here ...
10558 (grub_auth_strcmp): ... to here (inside function).
10559
10560 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10561
10562 * include/grub/list.h (struct grub_named_list): Remove `const'
10563 qualifier from `name'.
10564 (struct grub_prio_list): Likewise.
10565
10566 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10567
10568 * normal/auth.c: Include `<grub/time.h>'.
10569 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
10570
10571 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10572
10573 * normal/auth.c (punishment_delay): New variable.
10574 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
10575 (grub_auth_check_authentication): Punish failed login attempts with
10576 an incremental (2^N) delay.
10577
10578 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10579
10580 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
10581 path with $(srcdir).
10582
10583 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10584
10585 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
10586
10587 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10588
10589 * util/i386/coreboot/grub-mkrescue.in: New file.
10590 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
10591 variables.
10592
10593 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
10594 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
10595 * configure.ac: Add header and function checks to satisfy grub-mkisofs
10596 requirements.
10597 * util/mkisofs/defaults.h: New file.
10598 * util/mkisofs/eltorito.c: Likewise.
10599 * util/mkisofs/exclude.h: Likewise.
10600 * util/mkisofs/fnmatch.c: Likewise.
10601 * util/mkisofs/getopt.c: Likewise.
10602 * util/mkisofs/getopt1.c: Likewise.
10603 * util/mkisofs/hash.c: Likewise.
10604 * util/mkisofs/include/fctldefs.h: Likewise.
10605 * util/mkisofs/include/mconfig.h: Likewise.
10606 * util/mkisofs/include/prototyp.h: Likewise.
10607 * util/mkisofs/include/statdefs.h: Likewise.
10608 * util/mkisofs/iso9660.h: Likewise.
10609 * util/mkisofs/joliet.c: Likewise.
10610 * util/mkisofs/match.c: Likewise.
10611 * util/mkisofs/match.h: Likewise.
10612 * util/mkisofs/mkisofs.c: Likewise.
10613 * util/mkisofs/mkisofs.h: Likewise.
10614 * util/mkisofs/multi.c: Likewise.
10615 * util/mkisofs/name.c: Likewise.
10616 * util/mkisofs/rock.c: Likewise.
10617 * util/mkisofs/tree.c: Likewise.
10618 * util/mkisofs/write.c: Likewise.
10619
10620 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10621
10622 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
10623 being insecure.
10624
10625 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10626
10627 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
10628 `grub-mkimage' (and use $0 when possible).
10629
10630 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10631
10632 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
10633 error message for excessively large memory map.
10634
10635 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10636
10637 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
10638 executable bit.
10639
10640 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10641
10642 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
10643 message for coreboot users.
10644
10645 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
10646
10647 Fix build with GNU gold.
10648
10649 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
10650 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
10651 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
10652 link addresses.
10653 * aclocal.m4: Likewise.
10654
10655 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
10656
10657 * configure.ac (AC_PREREQ): Bump to 2.59d.
10658 * INSTALL: Make it more clear when Autoconf and Ruby are
10659 needed and when to run `./autogen.sh'.
10660
10661 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10662
10663 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
10664 OSes.
10665
10666 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10667
10668 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
10669
10670 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10671
10672 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
10673 giving it to GNU Mach.
10674
10675 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10676
10677 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
10678 GNU partition number to get internal GRUB partition number.
10679
10680 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10681
10682 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
10683 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
10684
10685 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
10686
10687 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
10688 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
10689 case.
10690
10691 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
10692
10693 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
10694
10695 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
10696
10697 Fix build problem.
10698
10699 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
10700 `-isystem=$(srcdir)/include'.
10701
10702 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
10703
10704 * util/i386/pc/grub-install.in: Remove hint that device.map should be
10705 checked (grub-install doesn't currently rely on it).
10706
10707 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
10708
10709 Revert SVN r2660.
10710
10711 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
10712 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
10713 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
10714 * conf/i386-ieee1275.rmk: Likewise.
10715 * conf/i386-pc.rmk: Likewise.
10716 * conf/powerpc-ieee1275.rmk: Likewise.
10717 * conf/sparc64-ieee1275.rmk: Likewise.
10718 * conf/x86_64-efi.rmk: Likewise.
10719
10720 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
10721
10722 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
10723
10724 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
10725
10726 * include/grub/misc.h: Stop checking for APPLE_CC.
10727
10728 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
10729
10730 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
10731 doesn't cause an infinite call loop.
10732
10733 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
10734
10735 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
10736 strings.
10737
10738 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10739
10740 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
10741 variable.
10742 * Makefile.in: Likewise.
10743
10744 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10745
10746 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
10747
10748 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10749
10750 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
10751
10752 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10753
10754 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
10755
10756 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10757
10758 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
10759 from here ...
10760 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
10761
10762 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10763
10764 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
10765 in $(MAKEINFO) invocation. This makes it clear in output that
10766 errors are being ignored.
10767
10768 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10769
10770 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
10771 from here ...
10772 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
10773 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
10774 * conf/i386-ieee1275.rmk: Likewise.
10775 * conf/i386-pc.rmk: Likewise.
10776 * conf/powerpc-ieee1275.rmk: Likewise.
10777 * conf/sparc64-ieee1275.rmk: Likewise.
10778 * conf/x86_64-efi.rmk: Likewise.
10779
10780 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
10781
10782 * util/grub-editenv.c (main): If only a command is given, use
10783 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
10784 (usage): FILENAME is now optional and has a default.
10785
10786 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
10787
10788 Improve grub-mkconfig performance when there are several menu
10789 entries on a single filesystem.
10790
10791 * util/grub.d/10_linux.in (linux_entry): Cache the output of
10792 prepare_grub_to_access_device.
10793 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
10794 * util/grub.d/30_os-prober.in: Likewise.
10795
10796 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10797
10798 * util/grub.d/10_freebsd.in: Remove.
10799 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
10800 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
10801
10802 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10803
10804 * docs/grub.cfg: Fix example usage of *BSD loaders.
10805
10806 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10807
10808 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
10809 grub_util_error() call.
10810
10811 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10812
10813 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
10814 `reserved_first_sector' member.
10815 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
10816 `reserved_first_sector' to 1.
10817 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
10818 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
10819 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
10820 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
10821 filesystems which begin at first sector.
10822 (options): New option --skip-fs-probe.
10823 (main): Handle --skip-fs-probe and pass it to setup().
10824
10825 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10826
10827 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
10828 (memset): Fix function prototype.
10829
10830 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10831 2009-10-25 Vasily Averin <vvs@parallels.com>
10832
10833 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
10834 `dirent.direntlen == 0'.
10835
10836 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10837
10838 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
10839 `cpio'.
10840 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
10841
10842 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10843
10844 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
10845 `__trampoline_setup' and `__ucmpdi2'.
10846 * include/grub/powerpc/libgcc.h: Only export symbols for functions
10847 that libgcc provides.
10848
10849 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10850
10851 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
10852 * include/grub/sparc64/libgcc.h (memset): Likewise.
10853 * include/grub/misc.h (memset, memcmp): New function prototypes.
10854
10855 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10856
10857 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
10858 `cpio'.
10859 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
10860
10861 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10862
10863 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
10864 * docs/grub.cfg: Compensate for recent change in multiboot
10865 loader (since 2009-08-14 it won't pass filename to payload).
10866 * util/grub.d/10_hurd.in: Likewise.
10867
10868 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
10869
10870 * config.guess: Update to latest version from config git
10871 repository.
10872 * config.sub: Likewise.
10873
10874 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
10875
10876 Fix build on sparc64.
10877
10878 * configure.ac: Perform checks for libgcc symbols before
10879 adding `-nostdlib' to LDFLAGS.
10880
10881 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 Let user specify OpenBSD root device.
10884
10885 * loader/i386/bsd.c (openbsd_root): New variable.
10886 (openbsd_opts): New option 'root'.
10887 (OPENBSD_ROOT_ARG): New macro.
10888 (grub_openbsd_boot): Use 'openbsd_root'.
10889 (grub_cmd_openbsd): Fill 'openbsd_root'.
10890
10891 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
10892
10893 * NEWS: Misc adjustments.
10894
10895 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
10898
10899 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
10900
10901 * configure.ac: Bump version to 1.97.
10902
10903 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
10904
10905 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
10906 -mno-3dnow on x86 architectures. Some toolchains enable these
10907 features by default, but they rely on registers that aren't enabled
10908 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
10909
10910 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
10911
10912 Make entry text a bit more readable.
10913
10914 * util/grub.d/10_linux.in: Add `with' before `Linux'.
10915
10916 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
10919
10920 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
10923 operations.
10924
10925 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 * configure.ac: Add missing dollar.
10928
10929 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
10932
10933 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
10934 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
10935 exports.
10936 * include/grub/sparc64/libgcc.h: Likewise. Use
10937 preprocessor conditionals.
10938
10939 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
10940
10941 * conf/common.rmk (grub-dumpbios): Remove rule.
10942 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
10943 * util/grub-dumpbios.in: Remove file.
10944
10945 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
10946
10947 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
10948 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
10949
10950 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
10951 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
10952 users.
10953
10954 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
10955 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
10956 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
10957 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
10958 users.
10959
10960 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
10961
10962 * term/tparm.c: Switch to GPLv3.
10963
10964 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
10965
10966 * include/grub/i386/cpuid.h: Add header protection.
10967
10968 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
10969
10970 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
10971
10972 * include/grub/i386/cpuid.h: New file.
10973 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
10974 (has_longmode): Rename to ...
10975 (grub_cpuid_has_longmode): ... this. Update all users. Remove
10976 `static' attribute.
10977 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
10978 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
10979 on a CPU that doesn't implement AMD64 instruction set.
10980
10981 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
10982
10983 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
10984 that version.texi is rebuilt on version number changes.
10985
10986 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
10987
10988 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
10989 Fixes bug #27602.
10990
10991 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
10992
10993 * util/i386/pc/grub-install.in: Source
10994 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
10995 that the --grub-probe option will work.
10996 * util/sparc64/ieee1275/grub-install.in: Likewise.
10997
10998 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
10999
11000 * configure.ac: Bump version to 1.97~beta4.
11001
11002 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
11003
11004 Resync grub-mkdevicemap in x86_64-efi.
11005
11006 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
11007 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
11008 `util/devicemap.c'.
11009
11010 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
11011
11012 * util/grub-editenv.c (create_envblk_file): Write new block with a
11013 .new suffix and then rename it into place, to ensure atomic
11014 creation.
11015
11016 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
11017
11018 Do not automatically install headers.
11019
11020 * Makefile.in (include_DATA): Remove. Update all users.
11021
11022 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
11023
11024 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
11025 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
11026
11027 * util/osdetect.lua: Remove.
11028 * script/lua/lauxlib.c: Likewise.
11029 * script/lua/ldebug.c: Likewise.
11030 * script/lua/grub_main.c: Likewise.
11031 * script/lua/lauxlib.h: Likewise.
11032 * script/lua/ldebug.h: Likewise.
11033 * script/lua/ltablib.c: Likewise.
11034 * script/lua/liolib.c: Likewise.
11035 * script/lua/lstrlib.c: Likewise.
11036 * script/lua/lualib.h: Likewise.
11037 * script/lua/ldo.c: Likewise.
11038 * script/lua/ldump.c: Likewise.
11039 * script/lua/ldo.h: Likewise.
11040 * script/lua/loslib.c: Likewise.
11041 * script/lua/lundump.c: Likewise.
11042 * script/lua/grub_lib.c: Likewise.
11043 * script/lua/ldblib.c: Likewise.
11044 * script/lua/lundump.h: Likewise.
11045 * script/lua/lmem.c: Likewise.
11046 * script/lua/grub_lib.h: Likewise.
11047 * script/lua/lmathlib.c: Likewise.
11048 * script/lua/lstate.c: Likewise.
11049 * script/lua/ltm.c: Likewise.
11050 * script/lua/lvm.c: Likewise.
11051 * script/lua/lmem.h: Likewise.
11052 * script/lua/lstate.h: Likewise.
11053 * script/lua/ltm.h: Likewise.
11054 * script/lua/ltable.c: Likewise.
11055 * script/lua/lvm.h: Likewise.
11056 * script/lua/llex.c: Likewise.
11057 * script/lua/lgc.c: Likewise.
11058 * script/lua/grub_lua.h: Likewise.
11059 * script/lua/loadlib.c: Likewise.
11060 * script/lua/lfunc.c: Likewise.
11061 * script/lua/lopcodes.c: Likewise.
11062 * script/lua/lparser.c: Likewise.
11063 * script/lua/ltable.h: Likewise.
11064 * script/lua/llex.h: Likewise.
11065 * script/lua/lgc.h: Likewise.
11066 * script/lua/lfunc.h: Likewise.
11067 * script/lua/lbaselib.c: Likewise.
11068 * script/lua/lopcodes.h: Likewise.
11069 * script/lua/lparser.h: Likewise.
11070 * script/lua/lzio.c: Likewise.
11071 * script/lua/linit.c: Likewise.
11072 * script/lua/lobject.c: Likewise.
11073 * script/lua/llimits.h: Likewise.
11074 * script/lua/lstring.c: Likewise.
11075 * script/lua/lzio.h: Likewise.
11076 * script/lua/lapi.c: Likewise.
11077 * script/lua/lcode.c: Likewise.
11078 * script/lua/lua.h: Likewise.
11079 * script/lua/lobject.h: Likewise.
11080 * script/lua/lstring.h: Likewise.
11081 * script/lua/lapi.h: Likewise.
11082 * script/lua/lcode.h: Likewise.
11083 * script/lua/luaconf.h: Likewise.
11084
11085 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
11086
11087 * docs/grub.texi (Command-line and menu entry commands): Document
11088 date and echo commands.
11089
11090 2009-09-24 Pavel Roskin <proski@gnu.org>
11091
11092 * include/grub/kernel.h (struct grub_module_header): Remove
11093 `grub_module_header_types'. Make `type' unsigned. Make `size'
11094 32-bit on all platforms.
11095 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
11096 8-bit field. Use grub_host_to_target32() for `size'.
11097 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
11098 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
11099 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
11100
11101 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
11102
11103 Fix "lost keypress" bug in at_keyboard.
11104
11105 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
11106 Checks for readyness of input buffer (without flushing it).
11107 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
11108 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
11109
11110 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
11111
11112 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
11113 size check within GRUB_MACHINE_PCBIOS section.
11114
11115 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
11116
11117 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
11118 return value.
11119 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
11120 KEYBOARD_ISREADY check.
11121 (grub_at_keyboard_checkkey): Rename to ...
11122 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
11123 Remove gratuitous cast.
11124
11125 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
11126
11127 * configure.ac: Call AC_PROG_MKDIR_P.
11128 * Makefile.in (docs/stamp-vti): Create docs directory. Create
11129 version.texi in $(builddir) rather than $(srcdir).
11130 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
11131 to makeinfo's @include search path.
11132
11133 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
11134
11135 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
11136
11137 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
11138
11139 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
11140 for `*.dpkg-new'.
11141
11142 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
11143
11144 Build info documentation. Some code borrowed from Automake.
11145
11146 * configure.ac: Check for makeinfo.
11147 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
11148 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
11149 docs/version.texi.
11150 (MOSTLYCLEANFILES): Add vti.tmp.
11151 (docs/version.texi, docs/stamp-vti): Update automatically.
11152 (docs/grub.info): Build info documentation. Use --force and ignore
11153 errors for now.
11154 (all-local): Add $(INFOS).
11155 (install-local): Install info files.
11156 (uninstall): Uninstall info files.
11157 * docs/version.texi: Remove from revision control. This file is
11158 automatically generated on build now.
11159 * gendistlist.sh: Add `*.info'.
11160
11161 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
11162
11163 * kern/term.c: Fix indentation.
11164
11165 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
11166
11167 * util/hostdisk.c: Fix a comment.
11168
11169 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
11170
11171 Fix regression introduced in r2539.
11172
11173 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
11174 to 0xA1.
11175
11176 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
11177
11178 * util/grub.d/30_os-prober.in: Don't throw away stderr from
11179 os-prober. Under normal operation, it does not print anything to
11180 stderr; if it does, we need to debug it, and throwing away stderr
11181 makes that excessively difficult.
11182
11183 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
11184
11185 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
11186
11187 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
11188
11189 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
11190 AC_LANG_PROGRAM from autoconf.
11191 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
11192 prototypes (fixes warning).
11193
11194 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
11195 `--disable-werror' was used.
11196
11197 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
11198
11199 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
11200 uninitialized `lastaddr'.
11201
11202 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
11205
11206 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
11207
11208 * commands/test.c (get_fileinfo): Return immediately if
11209 grub_fs_probe fails.
11210
11211 2009-09-14 José Martínez <xosemp@gmail.com>
11212
11213 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
11214
11215 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
11216
11217 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
11218 output.
11219
11220 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
11221
11222 * configure.ac: Remove --enable-grub-pe2elf. Only build
11223 grub-pe2elf when needed by the build system itself.
11224 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
11225
11226 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11227
11228 * configure.ac: Bump version to 1.97~beta3.
11229 * docs/version.texi: Likewise.
11230
11231 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11232
11233 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
11234 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
11235 from here ...
11236 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
11237 (grub_linux_setup_video): ... to here (with some adjustments).
11238
11239 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11240
11241 Fix memory corruption issue (spotted by Colin Watson).
11242
11243 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
11244 causing returned size to be stored in an incorrect memory location.
11245 Fix use of uninitialized value when storing the returned size.
11246
11247 2009-09-12 Yves Blusseau <blusseau@zetam.org>
11248
11249 Change clean rules to properly remove files
11250
11251 * genmk.rb: add new clean rules
11252 * Makefile.in (clean): add the new targets
11253 (mostlyclean): likewise
11254
11255 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
11256
11257 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
11258 to grub_uint64_t.
11259 * fs/ntfs.c (init_file): Understand 64-bit sizes for
11260 non-resident files.
11261
11262 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
11263
11264 * configure.ac: Don't look for help2man when cross-compiling. Fixes
11265 part of bug #27349.
11266
11267 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
11268
11269 * util/grub-mkconfig.in: Make the created config mode 400 and
11270 print a warning if it fails.
11271
11272 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
11273
11274 * util/grub.d/40_custom.in: Ask user to type custom entries below
11275 comment, rather than below 'exec tail' line.
11276
11277 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
11278
11279 * util/grub.d/40_custom.in: Make sure that the explanatory text is
11280 visible in grub.cfg.
11281
11282 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
11283
11284 * util/grub.d/40_custom.in: Make it a little clearer how to use this
11285 file.
11286
11287 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
11288
11289 * docs/grub.cfg: Add an example menu entry for memtest86+.
11290
11291 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
11292
11293 * config.guess: Update to latest version from config git.
11294 * config.sub: Likewise.
11295
11296 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
11297
11298 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
11299 unknown-command case. Fixes bug #27320.
11300
11301 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
11302
11303 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
11304 `help' if the command exists.
11305
11306 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
11307
11308 * INSTALL: Require GCC 4.1.3 or later.
11309
11310 2009-09-06 Yves Blusseau <blusseau@zetam.org>
11311
11312 * Makefile.in (RMKFILES): add i386-qemu.rmk
11313 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
11314 $(srcdir)/stamp-h.in
11315
11316 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
11317
11318 * util/grub-probe.c (probe): Comment out buggy codepath, which
11319 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
11320 should be re-enabled after 1.97.
11321
11322 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
11323
11324 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
11325 find searches for.
11326
11327 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
11330 unnecessary calls to grub_error.
11331
11332 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
11333
11334 * NEWS: Mention `keystatus' and Unicode fonts.
11335
11336 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
11337
11338 * configure.ac: Bump version to 1.97~beta2.
11339 * docs/version.texi: Likewise.
11340
11341 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
11342
11343 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
11344 containing unwind information in some cases where it previously did
11345 not. Use -fno-dwarf2-cfi-asm if available to restore the old
11346 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
11347 discussion.
11348
11349 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
11350
11351 Embedding loadenv module into grub-emu
11352
11353 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
11354 commands/loadenv.c
11355 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
11356 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
11357 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
11358 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
11359 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
11360 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
11361
11362 2009-09-03 Magnus Granberg <zorry@ume.nu>
11363
11364 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
11365 include -fPIE in the default specs.
11366 * configure.ac: Check if pie_possible is yes and add -fno-PIE
11367 to TARGET_CFLAGS.
11368
11369 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
11370
11371 * INSTALL: Note that GNU Bison 2.3 or later is required.
11372
11373 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
11374
11375 * kern/i386/pc/startup.S: Fix typo.
11376
11377 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
11380 according to GCS.
11381
11382 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
11383
11384 * docs/grub.texi (Naming convention): Describe one-based partition
11385 numbering.
11386 (Device syntax): Likewise.
11387 (File name syntax): Likewise.
11388 (Block list syntax): Likewise.
11389 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
11390 menu.lst.
11391 (File name syntax): Likewise.
11392 (Command-line and menu entry commands): Document acpi, blocklist,
11393 crc, export, insmod, keystatus, ls, set, and unset commands.
11394
11395 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
11396
11397 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
11398 to avoid implying that only one of --shift, --ctrl, or --alt may be
11399 used.
11400
11401 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
11402
11403 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
11404 rather than comparing against S_IFREG, which will almost never work.
11405
11406 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
11409 (write_blocklists): Likewise.
11410
11411 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
11412
11413 * script/lua/grub_lua.h (fputs): Supply a format string as the first
11414 argument to grub_printf.
11415
11416 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
11417
11418 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
11419 non GNU test.
11420
11421 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 * kern/file.c (grub_file_read): Spelling fix
11424
11425 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
11428 loading of headers in some cases.
11429
11430 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
11431
11432 * configure.ac: Bump version to 1.97~beta1.
11433 * docs/version.texi: Likewise.
11434
11435 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * include/grub/i386/xnu.h: Add license header.
11438 include grub/err.h explicitly.
11439
11440 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
11441
11442 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
11443 to `ufs' in the vfs.root.mountfrom kernel parameter.
11444
11445 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
11446
11447 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
11448
11449 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
11450 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
11451
11452 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
11453 `ARRAY_SIZE' macro.
11454
11455 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * kern/file.c (grub_file_read): Check offset.
11458 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
11459 * fs/jfs.c (grub_jfs_read_file): Likewise.
11460 * fs/ntfs.c (grub_ntfs_read): Likewise.
11461 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
11462 * fs/minix.c (grub_minix_read_file): Correct offset check.
11463 * fs/ufs.c (grub_ufs_read_file): Likewise.
11464
11465 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
11466
11467 * term/i386/pc/console.c (bios_data_area): Cast
11468 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
11469
11470 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 1-bit optimised blitters.
11473
11474 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
11475 prototype.
11476 (grub_video_fbblit_replace_24bit_1bit): Likewise.
11477 (grub_video_fbblit_replace_16bit_1bit): Likewise.
11478 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11479 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11480 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
11481 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
11482 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
11483 function.
11484 (grub_video_fbblit_replace_24bit_1bit): Likewise.
11485 (grub_video_fbblit_replace_16bit_1bit): Likewise.
11486 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11487 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11488 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
11489 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
11490 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
11491 when possible.
11492 * video/video.c (grub_video_get_blit_format): Return
11493 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
11494
11495 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
11496
11497 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
11498 the first argument to grub_printf.
11499
11500 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
11501 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
11502
11503 Add `getkeystatus' terminal method. Add a new `keystatus' command
11504 to query it.
11505
11506 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
11507 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
11508 modifier key bitmasks.
11509 (struct grub_term_input): Add `getkeystatus' member.
11510 (grub_getkeystatus): Add prototype.
11511 * kern/term.c (grub_getkeystatus): New function.
11512
11513 * include/grub/i386/pc/memory.h
11514 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
11515 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
11516 Data Area layout.
11517 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
11518 (grub_console_term_input): Set `getkeystatus' member.
11519 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
11520 constants.
11521 (grub_usb_keyboard_getreport): Likewise.
11522 (grub_usb_keyboard_checkkey): Likewise.
11523 (grub_usb_keyboard_getkeystatus): New function.
11524 (grub_usb_keyboard_term): Set `getkeystatus' member.
11525
11526 * commands/keystatus.c: New file.
11527 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
11528 (keystatus_mod_SOURCES): New variable.
11529 (keystatus_mod_CFLAGS): Likewise.
11530 (keystatus_mod_LDFLAGS): Likewise.
11531 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
11532 commands/keystatus.c.
11533 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11534 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11535 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11537 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11538 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11539
11540 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11541
11542 Split befs.mod and afs.mod into *_be.mod and *.mod
11543
11544 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
11545 (grub_fstest_SOURCES): Likewise.
11546 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
11547 (afs_be_mod_SOURCES): New variable.
11548 (afs_be_mod_CFLAGS): Likewise.
11549 (afs_be_mod_LDFLAGS): Likewise.
11550 (befs_be_mod_SOURCES): Likewise.
11551 (befs_be_mod_CFLAGS): Likewise.
11552 (befs_be_mod_LDFLAGS): Likewise.
11553 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
11554 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11555 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11556 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11557 (grub_emu_SOURCES): Likewise.
11558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11559 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11560 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11561 * fs/afs_be.c: New file.
11562 * fs/befs_be.c: New file.
11563 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
11564 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
11565 (U16): Replaced with ...
11566 (grub_afs_to_cpu16): ...this. All users updated.
11567 (U32): Replaced with ...
11568 (grub_afs_to_cpu32): ...this. All users updated.
11569 (U64): Replaced with ...
11570 (grub_afs_to_cpu64): ...this. All users updated.
11571 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
11572 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
11573 (grub_afs_validate_sblock): Check only one endianness.
11574 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
11575 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
11576 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
11577 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
11578 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
11579 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
11580 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
11581 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
11582
11583 2009-08-26 Bean <bean123ch@gmail.com>
11584
11585 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
11586 64-bit number.
11587 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
11588 (grub_xfs_inode_block): Change return type to grub_uint64_t.
11589 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
11590
11591 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 NetBSD memory map support.
11594
11595 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
11596 (grub_netbsd_btinfo_mmap_header): New structure.
11597 (grub_netbsd_btinfo_mmap_entry): Likewise.
11598 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
11599
11600 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 Enable bsd.mod on coreboot.
11603
11604 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
11605 (bsd_mod_SOURCES): New variable.
11606 (bsd_mod_CFLAGS): Likewise.
11607 (bsd_mod_LDFLAGS): Likewise.
11608 (bsd_mod_ASFLAGS): Likewise.
11609 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
11610 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
11611
11612 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 Cleanup NetBSD root support.
11615
11616 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
11617 grub_bsd_get_device.
11618 Fix typo.
11619
11620 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
11621
11622 * util/grub.d/00_header.in: Move check for the video backend of
11623 gfxterm from here ...
11624 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
11625 a suitable video backend.
11626
11627 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11628
11629 Fix breakage in grub-setup.
11630
11631 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
11632 "msdos_partition_map".
11633
11634 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 Fix breakage in normal/auth.c.
11637
11638 * normal/auth.c (grub_iswordseparator): New function.
11639
11640 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 Authentication support.
11643
11644 * commands/password.c: New file.
11645 * conf/common.rmk (pkglib_MODULES): Add password.mod.
11646 (password_mod_SOURCES): New variable.
11647 (password_mod_CFLAGS): Likewise.
11648 (password_mod_LDFLAGS): Likewise.
11649 (normal_mod_SOURCES): Add normal/auth.c.
11650 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
11651 normal/auth.c.
11652 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11653 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11654 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11656 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11657 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11658 * include/grub/auth.h: New file.
11659 * include/grub/err.h (grub_err_t): New enum value
11660 GRUB_ERR_ACCESS_DENIED.
11661 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
11662 'users'.
11663 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
11664 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
11665 users updated.
11666 * normal/auth.c: New file.
11667 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
11668 (grub_cmdline_run): Don't allow to go to command line without
11669 authentication.
11670 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
11671 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
11672 menuentry without superuser rights.
11673 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
11674 user isn't a superuser.
11675
11676 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 Save space by inlining misc.c functions.
11679
11680 * kern/misc.c (grub_iswordseparator): Made static.
11681 * kern/misc.c (grub_strcat): Moved from here ...
11682 * include/grub/misc.h (grub_strcat): ... here. Inlined.
11683 * kern/misc.c (grub_strncat): Moved from here ...
11684 * include/grub/misc.h (grub_strncat): ... here. Inlined.
11685 * kern/misc.c (grub_strcasecmp): Moved from here ...
11686 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
11687 * kern/misc.c (grub_strncasecmp): Moved from here ...
11688 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
11689 * kern/misc.c (grub_isalpha): Moved from here ...
11690 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
11691 * kern/misc.c (grub_isdigit): Moved from here ...
11692 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
11693 * kern/misc.c (grub_isgraph): Moved from here ...
11694 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
11695 * kern/misc.c (grub_tolower): Moved from here ...
11696 * include/grub/misc.h (grub_tolower): ... here. Inlined.
11697
11698 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 * script/sh/function.c (grub_script_function_find): Cut error message
11701 not to flood terminal.
11702 * script/sh/lexer.c (grub_script_yylex): Remove command line length
11703 limit.
11704 * script/sh/script.c (grub_script_arg_add): Duplicate string.
11705
11706 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
11707
11708 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
11709 `report' grub_uint8_t *.
11710 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
11711 Use a 50-millisecond timeout rather than just repeating
11712 grub_usb_keyboard_getreport 50 times.
11713 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
11714
11715 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 Rename *_partition_map to part_*
11718
11719 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
11720 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
11721 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
11722 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
11723 All users updated.
11724 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
11725 All users updated.
11726 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
11727 * util/grub-probe.c (probe_partmap): Don't transform partition name
11728 to get module name.
11729
11730 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11731
11732 Fix OpenBSD and NetBSD support.
11733
11734 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
11735 memory address conflict.
11736 (OPENBSD_MMAP_ACPI): New definition.
11737 (OPENBSD_MMAP_NVS): Likewise.
11738 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
11739 and OPENBSD_MMAP_NVS.
11740 Add memory map terminator
11741 Explicit cast when calling grub_unix_real_boot.
11742 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
11743
11744 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 Let user specify NetBSD root device.
11747
11748 * loader/i386/bsd.c (netbsd_root): New variable.
11749 (netbsd_opts): New option 'root'.
11750 (NETBSD_ROOT_ARG): New macro.
11751 (grub_netbsd_boot): Use 'netbsd_root'.
11752 (grub_bsd_unload): Free 'netbsd_root'.
11753 (grub_cmd_netbsd): Fill 'netbsd_root'.
11754
11755 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 Support for 64-bit NetBSD.
11758
11759 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
11760 point when booting non-FreeBSD.
11761
11762 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 Support --no-smp and --no-acpi for NetBSD.
11765
11766 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
11767 (NETBSD_AB_NOACPI): Likewise.
11768 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
11769 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
11770
11771 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11772
11773 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
11774 errors.
11775 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
11776 errors. Call grub_error when needed.
11777
11778 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 * commands/search.c (search_fs): Try searching without autoload first.
11781 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
11782 filesystem module explicitly for faster booting.
11783
11784 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
11785
11786 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
11787
11788 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
11789
11790 * util/grub.d/30_os-prober.in: Disable os-prober if
11791 `GRUB_DISABLE_OS_PROBER' was set to true.
11792
11793 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
11794
11795 * partmap/pc.c: Rename to ...
11796 * partmap/msdos.c: ... this. Update all users.
11797 (grub_pc_partition_map): Rename to ...
11798 (grub_msdos_partition_map): ... this. Update all users.
11799
11800 * parttool/pcpart.c: Rename to ...
11801 * parttool/msdospart.c: ... this. Update all users.
11802
11803 * include/grub/pc_partition.h: Rename to ...
11804 * include/grub/msdos_partition.h: ... this. Update all users.
11805 (grub_pc_partition_bsd_entry): Rename to ...
11806 (grub_msdos_partition_bsd_entry): ... this. Update all users.
11807 (grub_pc_partition_disk_label): Rename to ...
11808 (grub_msdos_partition_disk_label): ... this. Update all users.
11809 (grub_pc_partition_entry): Rename to ...
11810 (grub_msdos_partition_entry): ... this. Update all users.
11811 (grub_pc_partition_mbr): Rename to ...
11812 (grub_msdos_partition_mbr): ... this. Update all users.
11813 (grub_pc_partition): Rename to ...
11814 (grub_msdos_partition): ... this. Update all users.
11815 (grub_pc_partition_is_empty): Rename to ...
11816 (grub_msdos_partition_is_empty): ... this. Update all users.
11817 (grub_pc_partition_is_extended): Rename to ...
11818 (grub_msdos_partition_is_extended): ... this. Update all users.
11819 (grub_pc_partition_is_bsd): Rename to ...
11820 (grub_msdos_partition_is_bsd): ... this. Update all users.
11821
11822 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
11823 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
11824 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
11825 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
11826 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
11827 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
11828 (gpt_mod_LDFLAGS): Rename to ...
11829 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
11830 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
11831 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
11832 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
11833 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
11834 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
11835 (part_gpt_mod_LDFLAGS): ... this.
11836 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
11837 `pcpart.mod' to `msdospart.mod'.
11838 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
11839 to ...
11840 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
11841 (msdospart_mod_LDFLAGS): ... this.
11842
11843 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
11846 (openbsd_opts): Likewise.
11847 (netbsd_opts): Likewise.
11848 (freebsd_flags): Added 0 terminator.
11849 (openbsd_flags): Likewise.
11850 (netbsd_flags): Likewise.
11851 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
11852 (grub_cmd_freebsd): Transformed into extended command.
11853 (grub_cmd_openbsd): Likewise.
11854 (grub_cmd_netbsd): Likewise.
11855 (cmd_freebsd): Changed type to grub_extcmd_t.
11856 (cmd_openbsd): Likewise.
11857 (cmd_netbsd): Likewise.
11858 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
11859 grub_cmd_openbsd as extended commands.
11860 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
11861 cmd_netbsd and cmd_openbsd
11862
11863 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11864
11865 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
11866
11867 2009-08-21 Pavel Roskin <proski@gnu.org>
11868
11869 * Makefile.in (install-local): When checking if a file is in the
11870 build directory, use "test -e" to detect symlinks.
11871
11872 * Makefile.in (install-local): Remove all files in
11873 $(DESTDIR)$(pkglibdir) before installing new files there.
11874
11875 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
11876
11877 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
11878 grub-mkelfimage.
11879
11880 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
11881
11882 * util/grub-mkconfig.in: Don't use gfxterm by default if not
11883 explicitly specified by the user.
11884
11885 2009-08-18 Pavel Roskin <proski@gnu.org>
11886
11887 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
11888 grub_uint8_t pointer for data.
11889 * include/grub/fbutil.h (struct grub_video_fbblit_info):
11890 Likewise.
11891 * video/fb/fbutil.c: Remove unnecessary casts.
11892
11893 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
11894
11895 VBE cleanup.
11896
11897 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
11898 (grub_vbe_set_video_mode): Save active mode info
11899 only after setting the mode.
11900 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
11901 second argument.
11902
11903 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
11904
11905 Rename variables for clarity.
11906
11907 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
11908 (active_vbe_mode_info): ... this. All users updated.
11909 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
11910 All users updated.
11911 (initial_mode): Rename to ...
11912 (initial_vbe_mode): ... this. All users updated.
11913 (mode_in_use): Rename to ..
11914 (vbe_mode_in_use): ... this. All users updated.
11915 (mode_list): Rename to ..
11916 (vbe_mode_list): ... this. All users updated.
11917 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
11918 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
11919 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
11920 'mode_list_size' to 'vbe_mode_list_size'.
11921 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
11922 'best_mode_info' to 'best_vbe_mode_info' and
11923 'best_mode' to 'best_vbe_mode'
11924
11925 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
11926
11927 Remove duplicate grub_video_fb_get_video_ptr.
11928
11929 * include/grub/fbutil.h (get_data_ptr): Rename to ...
11930 (grub_video_fb_get_video_ptr): ... this.
11931 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
11932 * video/fb/fbutil.c: Add comment about addressing.
11933 (get_data_ptr): Rename to ...
11934 (grub_video_fb_get_video_ptr): ... this. All users updated.
11935 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
11936
11937 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
11938
11939 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
11940 grub_dprintf() that was just added.
11941
11942 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
11943
11944 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
11945 (DEFAULT_VIDEO_MODE): Remove macros.
11946 (grub_linux_boot): Remove assumption that Linux has FB support,
11947 and use "text" as default video mode.
11948
11949 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
11952 grub_dprintf.
11953 * fs/fat.c (grub_fat_read_data): Likewise.
11954
11955 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
11958 payload.
11959 (grub_module): Likewise.
11960
11961 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
11964 mbi->cmdline but free playground.
11965
11966 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 Handle group offset on UFS1.
11969
11970 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
11971 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
11972
11973 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11974
11975 Split ufs.mod into ufs1.mod and ufs2.mod.
11976
11977 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
11978 (grub_fstest_SOURCES): Likewise.
11979 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
11980 (ufs_mod_SOURCES): Remove.
11981 (ufs_mod_CFLAGS): Likewise.
11982 (ufs_mod_LDFLAGS): Likewise.
11983 (ufs1_mod_SOURCES): New variable.
11984 (ufs1_mod_CFLAGS): Likewise.
11985 (ufs1_mod_LDFLAGS): Likewise.
11986 (ufs2_mod_SOURCES): New variable.
11987 (ufs2_mod_CFLAGS): Likewise.
11988 (ufs2_mod_LDFLAGS): Likewise.
11989 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
11990 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
11991 Likewise.
11992 (grub_emu_SOURCES): Likewise.
11993 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11994 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11995 (grub_setup_SOURCES): Likewise.
11996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11997 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
11998 (grub_setup_SOURCES): Likewise.
11999 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
12000 Likewise.
12001 * fs/ufs2.c: New file.
12002 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
12003
12004 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 Framebuffer split.
12007
12008 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
12009 subsystem at the end.
12010 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
12011 (video_fb_mod_SOURCES): New variable.
12012 (video_fb_mod_CFLAGS): Likewise.
12013 (video_fb_mod_LDFLAGS): Likewise.
12014 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
12015 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
12016 * video/i386/pc/vbeblit.c: Moved from here ...
12017 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
12018 * video/i386/pc/vbefill.c: Moved from here ...
12019 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
12020 * video/i386/pc/vbeutil.c: Moved from here ...
12021 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
12022 * include/grub/i386/pc/vbeblit.h: Moved from here ...
12023 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
12024 * include/grub/i386/pc/vbefill.h: Moved from here ...
12025 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
12026 * include/grub/i386/pc/vbeutil.h: Moved from here ...
12027 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
12028 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
12029 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
12030 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
12031 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
12032 (grub_video_adapter): Added 'get_info_and_fini'.
12033 (grub_video_get_info_and_fini): New prototype.
12034 (grub_video_set_mode): make modestring const char *.
12035 * loader/i386/linux.c (grub_linux_setup_video): Use
12036 grub_video_get_info_and_fini.
12037 (grub_linux_boot): Move modesetting just before booting.
12038 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
12039 grub_video_get_info_and_fini.
12040 * video/i386/pc/vbe.c: Moved framebuffer part ...
12041 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
12042 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
12043 grub_video_fbstd_colors and grub_video_fb_set_palette.
12044 (grub_video_vbe_init): Clear 'framebuffer' variable and use
12045 grub_video_fb_init.
12046 (grub_video_vbe_fini): Use grub_video_fb_fini.
12047 (grub_video_vbe_setup): Use framebuffer.render_target instead of
12048 render_target and use grub_video_fb_set_active_render_target and
12049 grub_video_fb_set_palette.
12050 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
12051 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
12052 (grub_video_vbe_adapter): Use framebuffer.
12053 * video/video.c (grub_video_get_info_and_fini): New function.
12054 (grub_video_set_mode): Make modestring const char *.
12055 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
12056 values are already initialised.
12057
12058 2009-08-14 Pavel Roskin <proski@gnu.org>
12059
12060 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
12061 ABS and APPLE_CC.
12062 * boot/i386/pc/diskboot.S: Likewise.
12063 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
12064 sectors allow compilation on MacOSX.
12065 * conf/i386-pc.rmk: Enable unconditional compilation of
12066 lnxboot.img.
12067
12068 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
12069
12070 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
12071 * util/grub.d/00_header.in: Enter interruptible sleep if
12072 GRUB_HIDDEN_TIMEOUT is set.
12073
12074 2009-08-13 Yves Blusseau <blusseau@zetam.org>
12075
12076 * include/grub/symbol.h: Add the LOCAL macro.
12077 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
12078 starting with "L_".
12079
12080 2009-08-13 Pavel Roskin <proski@gnu.org>
12081
12082 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
12083 any modern compilers we support.
12084
12085 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
12086 Use local labels starting with "L_" so that Apple assembler
12087 knows they are local.
12088
12089 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
12090
12091 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
12092 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
12093 (bsd_kernel_types): ... this enum.
12094
12095 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
12096 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
12097 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
12098
12099 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
12100 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
12101 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
12102 messages.
12103
12104 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
12105
12106 * util/grub-dumpdevtree: Moved from here ...
12107 * util/i386/efi/grub-dumpdevtree: ... to here.
12108 (hexify): New function. Converts a string to its hex version.
12109 Generate hex versions of "efi" and "device-properties" by calling
12110 hexify() on the ASCII strings rather than by hardcoding numbers.
12111
12112 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
12113
12114 * fs/jfs.c: Update copyright year.
12115
12116 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
12117
12118 * util/grub.d/00_header.in: Fix a comment.
12119 * util/grub.d/10_linux.in: Likewise.
12120 * util/grub.d/10_windows.in: Likewise.
12121 * util/grub.d/10_hurd.in: Likewise.
12122
12123 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
12124
12125 * util/grub-mkconfig.in: Allow the user to specify the used font
12126 with GRUB_FONT.
12127
12128 2009-08-08 Pavel Roskin <proski@gnu.org>
12129
12130 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
12131 available, xfs.mod needs it now.
12132
12133 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
12134 the "g" modifier in sed when the intention is to strip something
12135 once. This fixes comparison of kernels with multiple dashes.
12136
12137 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
12138 on it. Add missing space before closing bracket. Fix
12139 misleading formatting.
12140
12141 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12142
12143 * docs/grub.texi: Major overhaul. Remove all sections that are
12144 specific to GRUB Legacy, or mostly composed of Legacy-specific
12145 information.
12146
12147 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12148
12149 * docs/version.texi: New file. Provides version information for
12150 grub.texi.
12151
12152 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12153
12154 * docs/grub.texi: Update CVS information to SVN.
12155 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
12156
12157 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
12158
12159 * util/grub-mkconfig.in: Remove a wrong `fi'.
12160
12161 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
12162
12163 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
12164 (grub_jfs_uuid): New function.
12165 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
12166
12167 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
12168
12169 * util/grub-mkconfig_lib.in (font_path): Move the functionality
12170 of it to ...
12171 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
12172 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
12173
12174 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12175
12176 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
12177 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
12178 Update all users.
12179
12180 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
12181 not just "vmlinu[zx]".
12182 Moved from here ...
12183 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
12184 all users.
12185
12186 * util/grub.d/10_linux.in (find_latest): Moved from here ...
12187 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
12188 all users.
12189
12190 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12191
12192 * util/grub.d/10_freebsd.in: Use an absolute device path for
12193 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
12194
12195 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
12196
12197 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
12198 handling of multiple abstraction modules.
12199
12200 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
12201
12202 Fix a bug resulting in black screen when loading Linux using a
12203 packed video mode.
12204
12205 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
12206 function.
12207
12208 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
12209 (grub_vbe_bios_getset_dac_palette_width): New function.
12210 (grub_vbe_bios_get_dac_palette_width)
12211 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
12212 grub_vbe_bios_getset_dac_palette_width()).
12213
12214 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
12215 check for return status.
12216 (grub_vbe_get_video_mode_info): When getting information for a packed
12217 mode (<= 8 bpp), obtain DAC palette width using
12218 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
12219 {red,green,blue}_mark_size.
12220
12221 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
12222
12223 * commands/search.c (options): Fix help output to match actual code.
12224
12225 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
12228 of homegrown code.
12229
12230 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
12233 on XFS or ReiserFS.
12234
12235 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 Support Apple partition map with sector size different from 512 bytes.
12238
12239 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
12240 (apple_partition_map_iterate): Respect 'aheader.blocksize'
12241 and 'apart.partmap_size'.
12242
12243 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12244 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
12245
12246 Fix cpuid command.
12247
12248 * commands/i386/cpuid.c (options): New variable.
12249 (grub_cmd_cpuid): Return real error.
12250 (GRUB_MOD_INIT(cpuid)): Declare options.
12251
12252 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
12255 valid.
12256
12257 2009-07-31 Bean <bean123ch@gmail.com>
12258
12259 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
12260 log2_inode.
12261 (grub_fshelp_node): Move inode field to the end.
12262 (grub_xfs_data): Remove inode field.
12263 (grub_xfs_inode_block): Calculate inode size using sblock.
12264 (grub_xfs_inode_offset): Likewise.
12265 (grub_xfs_read_inode): Calculate inode size using sblock.
12266 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
12267 (grub_xfs_iterate_dir): Calculate inode size using sblock.
12268 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
12269 to match inode size.
12270 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
12271 not accessible when data is null.
12272 (grub_xfs_open): Likewise.
12273
12274 2009-07-31 Bean <bean123ch@gmail.com>
12275
12276 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
12277 Don't change pv->disk if it's already set.
12278
12279 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
12280 (grub_raid_register): ... here.
12281 (grub_raid_rescan): Removed.
12282
12283 * include/grub/raid.h (grub_raid_rescan): Removed.
12284
12285 * util/grub-fstest.c: Remove include file <grub/raid.h>.
12286 (fstest): Replace grub_raid_rescan with module fini function followed
12287 by init function.
12288
12289 * util/grub-probe.c: Add include file <grub/raid.h>.
12290 (probe_raid_level): New function.
12291 (probe): Detect abstraction by walking the disk device, support two
12292 level of abstraction (LVM on RAID) when detecting partition map.
12293
12294 2009-07-31 Pavel Roskin <proski@gnu.org>
12295
12296 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
12297 to grub_zalloc(), it was erroneous.
12298 Reported by Bean <bean123ch@gmail.com>
12299
12300 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
12303 embedding zone, not only the first one.
12304
12305 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
12306
12307 * term/gfxterm.c (clear_char): New function.
12308 (grub_virtual_screen_setup): Use clear_char.
12309 (scroll_up): Likewise.
12310 (grub_virtual_screen_cls): Likewise.
12311
12312 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
12313
12314 * util/deviceiter.c (get_acceleraid_disk_name): New static
12315 function.
12316 (grub_util_iterate_devices): Handle Accelraid devices.
12317 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
12318
12319 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
12320
12321 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
12322 separator for the suggested gfxpayload string (';' collides with the
12323 parser and needs escaping).
12324
12325 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
12326
12327 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
12328 Clear direction flag before jumping to OS.
12329 (grub_multiboot2_real_boot): Likewise.
12330
12331 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
12332
12333 * util/i386/pc/grub-install: Fix parsing of --disk-module
12334 option.
12335
12336 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
12337
12338 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
12339 when embedding.
12340
12341 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
12342
12343 * util/grub-mkconfig.in (package_version): New variable.
12344 Use it do display the version.
12345
12346 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
12347
12348 * kern/file.c (grub_file_open): Revert to previous check with
12349 grub_errno.
12350
12351 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
12354 from help line. It's out of sync with code.
12355
12356 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12357
12358 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
12359 entries on failed boot.
12360
12361 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
12362
12363 * kern/file.c (grub_file_open): Fix an error check.
12364
12365 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
12368 partition map couldn't be identified.
12369
12370 2009-07-23 Pavel Roskin <proski@gnu.org>
12371
12372 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
12373 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
12374 case of little endian words becomes just an optimization.
12375 Respect const modifier.
12376 (md5_final): Use code that doesn't depend on endianness.
12377
12378 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
12379 to avoid loss of upper bits if align is unsigned and shorter
12380 than addr.
12381
12382 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 UUID support for UFS
12385
12386 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
12387 (grub_ufs_uuid): New function.
12388 (grub_ufs_fs): add .uuid
12389
12390 2009-07-21 Pavel Roskin <proski@gnu.org>
12391
12392 * kern/dl.c (grub_dl_check_header): Make static.
12393
12394 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
12395
12396 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
12397 add drivemap for Vista. It breaks Windows 7.
12398
12399 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
12402 128 bytes
12403
12404 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 Add BFS support
12407
12408 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
12409 (grub_fstest_SOURCES): Likewise.
12410 (pkglib_MODULES): Add befs.mod.
12411 (befs_mod_SOURCES): New variable.
12412 (befs_mod_CFLAGS): Likewise.
12413 (befs_mod_LDFLAGS): Likewise.
12414 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12415 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12416 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12417 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12418 (grub_setup_SOURCES): Likewise.
12419 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12420 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12421 (grub_setup_SOURCES): Likewise.
12422 * fs/befs.c: New file.
12423 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
12424 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
12425 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
12426 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
12427 (B_KEY_INDEX_ALIGN): New declaration.
12428 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
12429 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
12430 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
12431 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
12432 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
12433 (grub_afs_mount) [MODE_BFS]: Likewise.
12434 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
12435 (grub_afs_fs): Use GRUB_AFS_FSNAME
12436 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
12437 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
12438 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
12439 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
12440
12441 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
12442
12443 * util/getroot.c (find_root_device): Add support for MacOSX.
12444 * util/hostdisk.c: Likewise.
12445
12446 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 * font/font.c (find_glyph): Check whether a font is present to avoid
12449 segmentation fault.
12450
12451 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
12452
12453 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
12454
12455 2009-07-20 Pavel Roskin <proski@gnu.org>
12456
12457 * configure.ac: Trim excessively wordy excuses.
12458
12459 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 Add symlink, mtime and label support to AtheFS.
12462
12463 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
12464 (grub_afs_iterate_dir): Handle symlinks.
12465 (grub_afs_open): Use grub_afs_read_symlink.
12466 (grub_afs_dir): Likewise.
12467 Pass mtime.
12468 (grub_afs_label): New function.
12469 (grub_afs_fs): Add grub_afs_label.
12470 (grub_afs_read_symlink): New function.
12471
12472 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 Fix AtheFS support.
12475
12476 * fs/afs.c: Fix comments style.
12477 (grub_afs_blockrun): Declare as packed.
12478 (grub_afs_datastream): Likewise.
12479 (grub_afs_bnode): Likewise.
12480 (grub_afs_btree): Likewise.
12481 (grub_afs_sblock): Likewise.
12482 Declare `name' as char.
12483 (grub_afs_inode): Declare as packed.
12484 Change void *vnode to grub_uint32_t unused.
12485 (grub_afs_iterate_dir): Check that key_size is positive.
12486 (grub_afs_mount): Don't read superblock twice.
12487 (grub_afs_dir): Don't free node in case of error,
12488 grub_fshelp_find_file already handles this.
12489 (grub_afs_open): Likewise.
12490
12491 2009-07-19 Pavel Roskin <proski@gnu.org>
12492
12493 * Makefile.in: Remove LIBLZO and enable_lzo.
12494 * conf/i386-pc.rmk: Remove lzo support.
12495 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
12496 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
12497 support.
12498 * kern/i386/pc/lzo1x.S: Remove.
12499 * kern/i386/pc/startup.S: Remove lzo support.
12500 * util/i386/pc/grub-mkimage.c: Likewise.
12501
12502 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
12505 * fs/xfs.c (grub_xfs_dir): Likewise.
12506 * fs/afs.c (grub_afs_dir): Likewise.
12507 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
12508 (grub_iso9660_open): Likewise.
12509 * fs/jfs.c (grub_jfs_open): Likewise.
12510 * fs/ext2.c (grub_ext2_dir): Likewise.
12511 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
12512 * script/sh/lexer.c (grub_script_yylex): Likewise.
12513
12514 2009-07-16 Pavel Roskin <proski@gnu.org>
12515
12516 * configure.ac: Never add "-c" to CFLAGS.
12517
12518 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
12519
12520 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
12521 grub_cv_cc_efiemu should be used.
12522
12523 * configure.ac: Typo fixes.
12524
12525 * kern/mm.c (grub_zalloc): New function.
12526 (grub_debug_zalloc): Likewise.
12527 * include/grub/mm.h: Declare grub_zalloc() and
12528 grub_debug_zalloc().
12529 * util/misc.c (grub_zalloc): New function.
12530 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
12531 instead of grub_malloc(), remove unneeded initializations.
12532 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
12533 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
12534 * commands/parttool.c (grub_cmd_parttool): Likewise.
12535 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
12536 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
12537 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
12538 * disk/usbms.c (grub_usbms_finddevs): Likewise.
12539 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
12540 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
12541 (grub_cmd_efiemu_pnvram): Likewise.
12542 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
12543 * fs/iso9660.c (grub_iso9660_mount): Likewise.
12544 (grub_iso9660_iterate_dir): Likewise.
12545 * fs/jfs.c (grub_jfs_opendir): Likewise.
12546 * fs/ntfs.c (list_file): Likewise.
12547 (grub_ntfs_mount): Likewise.
12548 * kern/disk.c (grub_disk_open): Likewise.
12549 * kern/dl.c (grub_dl_load_core): Likewise.
12550 * kern/elf.c (grub_elf_file): Likewise.
12551 * kern/env.c (grub_env_context_open): Likewise.
12552 (grub_env_set): Likewise.
12553 (grub_env_set_data_slot): Likewise.
12554 * kern/file.c (grub_file_open): Likewise.
12555 * kern/fs.c (grub_fs_blocklist_open): Likewise.
12556 * loader/i386/multiboot.c (grub_module): Likewise.
12557 * loader/xnu.c (grub_xnu_create_key): Likewise.
12558 (grub_xnu_create_value): Likewise.
12559 * normal/main.c (grub_normal_add_menu_entry): Likewise.
12560 (read_config_file): Likewise.
12561 * normal/menu_entry.c (make_screen): Likewise.
12562 * partmap/sun.c (sun_partition_map_iterate): Likewise.
12563 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
12564 * script/sh/script.c (grub_script_parse): Likewise.
12565 * video/bitmap.c (grub_video_bitmap_create): Likewise.
12566 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
12567 * video/readers/png.c (grub_png_output_byte): Likewise.
12568 (grub_video_reader_png): Likewise.
12569
12570 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12571
12572 Enable all targets that can be built by default
12573
12574 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
12575 grub-mkfont and grub-fstest if they can be built
12576
12577 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 Fix hang and segmentation fault in grub-emu-usb
12580
12581 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
12582 * util/usb.c (grub_libusb_devices): likewise
12583 (grub_libusb_init): rename to ...
12584 (GRUB_MOD_INIT (libusb)):...this
12585 (grub_libusb_fini): rename to ..
12586 (GRUB_MOD_FINI (libusb)):...this
12587 * disk/usbms.c (grub_usbms_transfer): fix retry logic
12588 * include/grub/disk.h (grub_raid_init): removed, it's useless
12589 (grub_raid_fini): likewise
12590 (grub_lvm_init): likewise
12591 (grub_lvm_fini): likewise
12592 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
12593 by grub_init_all
12594
12595 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12596
12597 Fix libusb
12598
12599 * Makefile.in (LIBUSB): new macro
12600 * genmk.rb (Utility/print_tail): new method
12601 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
12602 (top level): call util.print_tail at the end.
12603
12604 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12605
12606 Make FreeBSD accept zpool.cache
12607
12608 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
12609 type is /boot/zfs/zpool.cache
12610
12611 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 Fix 64-bit efiemu
12614
12615 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
12616 correct wrong typedef
12617 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
12618
12619 2009-07-15 Pavel Roskin <proski@gnu.org>
12620
12621 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
12622 * kern/disk.c (struct grub_disk_cache): Likewise.
12623
12624 * commands/probe.c (options): Typo fix.
12625
12626 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
12627 Increase to 0x5a to accommodate FAT32. Adjust other offsets
12628 accordingly.
12629 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
12630
12631 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
12632 the end of "Error" to make the message more readable.
12633
12634 * boot/i386/pc/boot.S (kernel_segment): Remove.
12635 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
12636 for destination.
12637
12638 * boot/i386/pc/boot.S (boot_version): Remove.
12639 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
12640 Remove.
12641
12642 * include/grub/i386/pc/boot.h: Sort all offsets.
12643 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
12644 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
12645 * boot/i386/pc/boot.S: Assert location of every offset listed in
12646 include/grub/i386/pc/boot.h.
12647
12648 2009-07-13 Pavel Roskin <proski@gnu.org>
12649
12650 * include/grub/i386/coreboot/machine.h: Rename
12651 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
12652 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
12653 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
12654
12655 * kern/dl.c: Force native word size to suppress warnings when
12656 compiling grub-emu.
12657
12658 * kern/device.c (grub_device_iterate): Change struct part_ent to
12659 hold the name, not a pointer to it. Use one grub_malloc() per
12660 partition, not two. Free partition_name if grub_malloc() fails.
12661 Set ents to NULL only before grub_partition_iterate() is called.
12662
12663 2009-07-11 Bean <bean123ch@gmail.com>
12664
12665 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
12666 childname.
12667
12668 2009-07-10 Bean <bean123ch@gmail.com>
12669 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
12670
12671 * kern/ieee1275/openfw.c (grub_children_iterate)
12672 (grub_devalias_iterate): Fix size evaluation for property or path
12673 strings, which was broken since r2132.
12674
12675 2009-07-07 Pavel Roskin <proski@gnu.org>
12676
12677 * commands/search.c (search_file): Merge into ...
12678 (search_fs): ... this. Accept search type as argument.
12679 (grub_cmd_search): Pass search type to search_fs().
12680
12681 * include/grub/util/console.h: New file.
12682 * util/console.c: Use it instead of grub/machine/console.h.
12683 * util/grub-emu.c: Likewise.
12684
12685 * lib/arg.c (find_long_option): Remove.
12686 (find_long): Add `len' argument, make `s' const char *.
12687 (grub_arg_parse): Parse long options in place, not in a
12688 temporary buffer.
12689
12690 2009-07-06 Pavel Roskin <proski@gnu.org>
12691
12692 * commands/search.c (search_fs): Fix potential NULL pointer
12693 dereference.
12694
12695 * commands/search.c (search_fs): Replace QUID macro with quid_fn
12696 function pointer.
12697
12698 2009-07-06 Daniel Mierswa <impulze@impulze.org>
12699
12700 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
12701 comparison.
12702
12703 2009-07-05 Pavel Roskin <proski@gnu.org>
12704
12705 * include/grub/i386/linux.h (struct linux_kernel_params):
12706 Restore padding3, it's still needed.
12707
12708 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
12709 FreeBSD.
12710 * util/osdetect.lua: Likewise.
12711
12712 2009-07-05 Bean <bean123ch@gmail.com>
12713
12714 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
12715
12716 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
12717 (grub_lua_getenv): Likewise.
12718 (grub_lua_setenv): Likewise.
12719 (save_errno): New function.
12720 (push_result): Likewise.
12721 (grub_lua_enum_device): Likewise.
12722 (grub_lua_enum_file): Likewise.
12723 (grub_lua_file_open): Likewise.
12724 (grub_lua_file_close): Likewise.
12725 (grub_lua_file_seek): Likewise.
12726 (grub_lua_file_read): Likewise.
12727 (grub_lua_file_getline): Likewise.
12728 (grub_lua_file_getsize): Likewise.
12729 (grub_lua_file_getpos): Likewise.
12730 (grub_lua_file_eof): Likewise.
12731 (grub_lua_file_exist): Likewise.
12732 (grub_lua_add_menu): Likewise.
12733
12734 * script/lua/grub_lua.h (isupper): New inline function.
12735 (islower): Likewise.
12736 (ispunct): Likewise.
12737 (isxdigit): Likewise.
12738 (strcspn): Change to normal function.
12739 (strpbkr): New function declaration.
12740 (memchr): Likewise.
12741
12742 * script/lua/grub_main.c (scan_str): New function.
12743 (strcspn): Likewise.
12744 (strpbrk): Likewise.
12745 (memchr): Likewise.
12746
12747 * script/lua/linit.c (lualibs): Enable the string library.
12748
12749 * util/osdetect.lua: New file.
12750
12751 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
12752
12753 * include/grub/i386/linux.h (struct linux_kernel_params): Add
12754 `capabilities' member.
12755
12756 2009-07-02 Pavel Roskin <proski@gnu.org>
12757
12758 * genparttoollist.sh: Add missing newline at the end.
12759
12760 2009-07-01 Pavel Roskin <proski@gnu.org>
12761
12762 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
12763
12764 * util/hostdisk.c (open_device): Remove `const' from
12765 `sysctl_size', as sysctlbyname() can change it (in this case it
12766 doesn't actually happen).
12767
12768 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
12769 using signed long int constants.
12770
12771 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
12772 constant to avoid a warning on FreeBSD.
12773
12774 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
12775 where it's needed.
12776
12777 * Makefile.in: Install include/grub/machine symlink.
12778
12779 * Makefile.in: When installing symlinks, use "cp -fR", which
12780 works on FreeBSD and MacOSX.
12781 From Yves Blusseau <cl7m42e02@sneakemail.com>
12782
12783 * kern/dl.c (grub_dl_resolve_symbol): Make static.
12784 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
12785
12786 * util/misc.c: Move grub_reboot() and grub_halt() ...
12787 * util/grub-emu.c: ... here. Make main_env static.
12788 * include/grub/util/misc.h: Remove main_env.
12789
12790 * kern/mm.c: Use correct format to print size_t.
12791
12792 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
12793 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
12794 * kern/powerpc/dl.c: Likewise.
12795 * kern/sparc64/dl.c: Likewise.
12796 * kern/x86_64/dl.c: Likewise.
12797
12798 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12799
12800 Fix grub-emu build on sparc64-ieee1275.
12801
12802 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
12803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
12804
12805 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12806
12807 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
12808 (grub_reboot, grub_halt): New functions.
12809
12810 * util/i386/pc/misc.c: Delete. Update all users.
12811 * util/sparc64/ieee1275/misc.c: Likewise.
12812 * util/powerpc/ieee1275/misc.c: Likewise.
12813
12814 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12815
12816 * conf/i386.rmk (setjmp_mod_SOURCES)
12817 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
12818 * conf/common.rmk (setjmp_mod_SOURCES)
12819 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
12820 to use $(target_cpu).
12821 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
12822 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
12823 * conf/powerpc-ieee1275.rmk: Likewise.
12824 * conf/sparc64-ieee1275.rmk: Likewise.
12825
12826 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
12827 $(target_cpu) for kern/$(target_cpu)/dl.c.
12828 * conf/i386-efi.rmk: Likewise.
12829 * conf/i386-ieee1275.rmk: Likewise.
12830 * conf/x86_64-efi.rmk: Likewise.
12831 * conf/i386-coreboot.rmk: Likewise.
12832 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
12833 $(target_cpu) for kern/$(target_cpu)/dl.c and for
12834 kern/$(target_cpu)/cache.S.
12835 * conf/sparc64-ieee1275.rmk: Likewise.
12836
12837 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12838
12839 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
12840 type to `grub_uint8_t', and adjust `padding9' accordingly.
12841
12842 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
12843
12844 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
12845
12846 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
12847 assembly in final jump, using register constraints.
12848
12849 (grub_linux_boot): For text mode, initialize `have_vga' using
12850 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
12851
12852 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
12853 right before the final jump.
12854
12855 Set `video_mode' to 0x3.
12856
12857 Document initialization of `video_page', `video_mode' and
12858 `video_ega_bx'.
12859
12860 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
12861
12862 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
12863 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
12864 and set GRUB_LINUX_FLAG_QUIET appropriately.
12865
12866 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
12867
12868 Fix build on Debian / sparc.
12869
12870 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
12871
12872 2009-06-28 Pavel Roskin <proski@gnu.org>
12873
12874 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
12875 fix a warning.
12876
12877 * util/grub.d/10_linux.in: Match SUSE style initrd names.
12878
12879 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
12880
12881 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
12882 `err'.
12883
12884 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
12885
12886 Revert r2338.
12887
12888 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
12889 file can't be opened. grub_file_open() is already supposed to set
12890 grub_errno / grub_errmsg appropriately.
12891 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12892
12893 2009-06-27 Pavel Roskin <proski@gnu.org>
12894 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
12895
12896 * include/grub/dl.h: Include grub/elf.h.
12897 (struct grub_dl): Add symtab field.
12898 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
12899 GRUB_MODULES_MACHINE_READONLY.
12900 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
12901 of the header for read-only modules.
12902 (grub_dl_unload): Free mod->symtab for read-only modules.
12903 * kern/i386/dl.c: Use mod->symtab.
12904 * kern/powerpc/dl.c: Likewise.
12905 * kern/sparc64/dl.c: Likewise.
12906 * kern/x86_64/dl.c: Likewise.
12907
12908 * conf/i386-qemu.rmk: New file.
12909 * kern/i386/qemu/startup.S: Likewise.
12910 * kern/i386/qemu/mmap.c: Likewise.
12911 * boot/i386/qemu/boot.S: Likewise.
12912 * include/grub/i386/qemu/time.h: Likewise.
12913 * include/grub/i386/qemu/serial.h: Likewise.
12914 * include/grub/i386/qemu/kernel.h: Likewise.
12915 * include/grub/i386/qemu/console.h: Likewise.
12916 * include/grub/i386/qemu/boot.h: Likewise.
12917 * include/grub/i386/qemu/init.h: Likewise.
12918 * include/grub/i386/qemu/machine.h: Likewise.
12919 * include/grub/i386/qemu/loader.h: Likewise.
12920 * include/grub/i386/qemu/memory.h: Likewise.
12921
12922 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
12923 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
12924 [qemu] (pkglib_IMAGES): Add `boot.img'.
12925 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
12926 [qemu] (boot_img_FORMAT): New variables.
12927 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
12928 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
12929 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
12930 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
12931 [qemu] (kernel_img_FORMAT): New variables.
12932
12933 * configure.ac: Recognise `i386-qemu'.
12934
12935 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
12936 (for no compression).
12937 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
12938 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
12939 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
12940 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
12941 ifdefs).
12942
12943 2009-06-27 Pavel Roskin <proski@gnu.org>
12944
12945 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
12946 read.
12947 * efiemu/prepare32.c: Likewise.
12948 * efiemu/prepare64.c: Likewise.
12949
12950 2009-06-26 Pavel Roskin <proski@gnu.org>
12951
12952 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
12953 * include/grub/elf.h: Define symbols without "32" or "64" based
12954 on GRUB_TARGET_WORDSIZE.
12955 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
12956 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
12957 ELF definitions.
12958 * efiemu/loadcore64.c: Likewise.
12959 * loader/i386/bsd32.c: Likewise.
12960 * loader/i386/bsd64.c: Likewise.
12961 * kern/dl.c: Remove own ELF definitions.
12962 * util/i386/efi/grub-mkimage.c: Likewise.
12963
12964 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
12965
12966 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
12967 segment 0x0 unconditionally, because the reference generated by
12968 GAS is an absolute address.
12969
12970 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12971
12972 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
12973 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
12974
12975 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12976
12977 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
12978 indexes. Check for -f explicitly.
12979 (search_file): Improve error message.
12980 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
12981
12982 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12983
12984 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
12985 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
12986
12987 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12988
12989 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
12990 * conf/i386-ieee1275.rmk: Likewise.
12991 * conf/i386-coreboot.rmk: Likewise.
12992
12993 * kern/i386/pc/startup.S (grub_stop): Remove function.
12994 * kern/i386/ieee1275/startup.S: Likewise.
12995 * kern/i386/coreboot/startup.S: Likewise.
12996 * kern/i386/misc.S (grub_stop): New function.
12997
12998 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12999
13000 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
13001 * kern/i386/realmode.S (real_to_prot): ... to here.
13002
13003 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13004
13005 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
13006 with `kernel.img'.
13007 (kernel_elf_SOURCES): Rename to ...
13008 (kernel_img_SOURCES): ... this.
13009 (kernel_elf_HEADERS): Rename to ...
13010 (kernel_img_HEADERS): ... this. Update all users.
13011 (kernel_elf_ASFLAGS): Rename to ...
13012 (kernel_img_ASFLAGS): ... this.
13013 (kernel_elf_CFLAGS): Rename to ...
13014 (kernel_img_CFLAGS): ... this.
13015 (kernel_elf_LDFLAGS): Rename to ...
13016 (kernel_img_LDFLAGS): ... this.
13017 * conf/i386-coreboot.rmk: Likewise.
13018 * conf/powerpc-ieee1275.rmk: Likewise.
13019
13020 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
13021 with "kernel.img".
13022
13023 2009-06-21 Pavel Roskin <proski@gnu.org>
13024
13025 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
13026 to match nested functions.
13027 * loader/sparc64/ieee1275/linux.c: Likewise.
13028
13029 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
13030
13031 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
13032
13033 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
13034 all i386 platforms.
13035
13036 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
13037
13038 Fix asm file handling on ELF, and remove workarounds.
13039
13040 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
13041 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
13042 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
13043 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
13044
13045 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
13046
13047 Load BSD ELF modules
13048
13049 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
13050 and loader/i386/bsd64.c
13051 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
13052 (FREEBSD_MODTYPE_ELF_MODULE): New definition
13053 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
13054 (grub_freebsd_load_elfmodule32): New declaration
13055 (grub_freebsd_load_elfmoduleobj64): Likewise
13056 (grub_freebsd_load_elf_meta32): Likewise
13057 (grub_freebsd_load_elf_meta64): Likewise
13058 (grub_freebsd_add_meta): Likewise
13059 (grub_freebsd_add_meta_module): Likewise
13060 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
13061 (grub_freebsd_add_meta_module): Likewise and move module-specific
13062 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
13063 (grub_cmd_freebsd): Add elf-kernel specific parts
13064 based on grub_freebsd_add_meta_module
13065 (grub_cmd_freebsd_module): Add type parsing moved from
13066 grub_freebsd_add_meta_module
13067 (grub_cmd_freebsd_module_elf): New function
13068 (cmd_freebsd_module_elf): New variable
13069 (GRUB_MOD_INIT): Register freebsd_module_elf
13070 * loader/i386/bsd32.c: New file
13071 * loader/i386/bsd64.c: Likewise
13072 * loader/i386/bsdXX.c: Likewise
13073 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
13074 (grub_elf64_load): Likewise
13075 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
13076 All users updated
13077 (grub_elf64_load_hook_t): Likewise
13078
13079 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
13080
13081 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
13082 variable.
13083 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
13084 don't write a menu entry for recovery mode.
13085
13086 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
13087
13088 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
13089 after it's no longer needed.
13090
13091 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
13092
13093 * include/grub/i386/loader.h (grub_linux_prot_size)
13094 (grub_linux_tmp_addr, grub_linux_real_addr)
13095 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
13096 GRUB_MACHINE_PCBIOS.
13097 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
13098 common grub_util_info() call to ...
13099 (generate_image): ... here.
13100 Fix use of uninitialized memory, comparison of signed with
13101 unsigned integers and memory leak.
13102 Remove bogus module address message.
13103
13104 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
13107 grub_raid_register
13108 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
13109
13110 2009-06-19 Pavel Roskin <proski@gnu.org>
13111
13112 * configure.ac: Remove stray AC_MSG_CHECKING.
13113
13114 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 * disk/scsi.c (grub_scsi_open): use continue instead of big if
13117
13118 2009-06-18 Pavel Roskin <proski@gnu.org>
13119
13120 * conf/common.rmk: Add fs_file.mod.
13121 * disk/fs_file.c: New file.
13122 * include/grub/disk.h (enum grub_disk_dev_id): Add
13123 GRUB_DISK_DEVICE_FILE_ID.
13124
13125 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
13126
13127 Fix build with Apple's toolchain. Part 2
13128
13129 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
13130 a fake start
13131
13132 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
13133
13134 Fix build with Apple's toolchain. Part 1
13135
13136 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
13137 for long calls
13138 * configure.ac: remove a leftover AC_MSG_RESULT
13139 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
13140 Apple's toolchain
13141
13142 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 Fix warnings
13145
13146 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
13147 (decomp_block): initialize ch
13148 use grub_memcpy instead of memcpy
13149
13150 2009-06-17 Pavel Roskin <proski@gnu.org>
13151
13152 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
13153 version, use declarations needed to use vga_text as the startup
13154 console.
13155
13156 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
13157 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
13158 the kernel.
13159 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
13160 and grub_at_keyboard_fini(), it's done on module load and
13161 unload.
13162
13163 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
13164
13165 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
13166 file can't be found.
13167 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13168
13169 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
13170
13171 Fix newline handling
13172
13173 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
13174 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
13175 (grub_script_yylex): don't segfault on unterminated script
13176 newline terminates command and variable
13177
13178 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 avoid double grub_adjust_range call. Bug reported by David Simner
13181
13182 * kern/disk.c (grub_disk_write): change to raw disk access before
13183 calling disk_read
13184
13185 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
13186
13187 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
13188 spaces, for the benefit of help2man.
13189 * util/i386/efi/grub-mkimage.c (usage): Likewise.
13190
13191 2009-06-16 Pavel Roskin <proski@gnu.org>
13192
13193 * kern/i386/halt.c: Include grub/machine/init.h.
13194 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
13195
13196 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
13197
13198 * util/grub.d/30_os-prober.in: Use ${root} in the generated
13199 drivemap menuentry.
13200
13201 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
13202
13203 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
13204 `echo' command.
13205
13206 2009-06-16 Pavel Roskin <proski@gnu.org>
13207
13208 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
13209 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
13210 save %dx, we only need %dl and we never change it.
13211 * boot/i386/pc/cdboot.S: Don't set the root drive.
13212 * boot/i386/pc/pxeboot.S: Likewise.
13213 * include/grub/i386/pc/boot.h: Remove
13214 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
13215 GRUB_BOOT_MACHINE_DRIVE_CHECK.
13216 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
13217 * kern/i386/pc/init.c (make_install_device): Remove references
13218 to grub_root_drive.
13219 * kern/i386/pc/startup.S: Likewise.
13220 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
13221
13222 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 xnu_uuid command
13225
13226 * commands/xnu_uuid.c: new file
13227 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
13228 (xnu_uuid_mod_SOURCES): new variable
13229 (xnu_uuid_mod_CFLAGS): likewise
13230 (xnu_uuid_mod_LDFLAGS): likewise
13231 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
13232 * conf/i386-ieee1275.rmk: likewise
13233 * conf/i386-pc.rmk: likewise
13234 * conf/powerpc-ieee1275.rmk: likewise
13235 * conf/sparc64-ieee1275.rmk: likewise
13236 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
13237
13238 2009-06-16 Pavel Roskin <proski@gnu.org>
13239
13240 * configure.ac: Avoid '==' in test command, it's not portable.
13241
13242 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
13243
13244 Probe command
13245
13246 * commands/probe.c: new file
13247 * conf/common.rmk (pkglib_MODULES): add probe.mod
13248 (probe_mod_SOURCES): new variable
13249 (probe_mod_CFLAGS): likewise
13250 (probe_mod_LDFLAGS): likewise
13251 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
13252 * conf/i386-ieee1275.rmk: likewise
13253 * conf/i386-pc.rmk: likewise
13254 * conf/powerpc-ieee1275.rmk: likewise
13255 * conf/sparc64-ieee1275.rmk: likewise
13256
13257 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 Fix handling of string like \"hello\" and "a
13260 b"
13261
13262 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
13263 (grub_script_yylex): fix parsing of quoting, escaping and newline
13264
13265 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
13266
13267 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
13268 handling
13269
13270 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
13271
13272 * util/grub-mkconfig.in: Fix parsing of --output option.
13273
13274 2009-06-12 Pavel Roskin <proski@gnu.org>
13275
13276 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
13277 genmk.rb don't need to be generated or installed.
13278
13279 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * commands/i386/pc/drivemap_int13h.S: add more comments
13282
13283 2009-06-11 Pavel Roskin <proski@gnu.org>
13284
13285 * Makefile.in (uninstall): Uninstall manuals.
13286
13287 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
13288 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
13289 and update-grub_lib in two places.
13290 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
13291
13292 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
13293 a compiler warning.
13294
13295 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
13296 `entry_lo' to fix variable shadowing.
13297
13298 2009-06-11 Christian Franke <franke@computer.org>
13299
13300 * kern/misc.c (__enable_execute_stack): Add missing return type
13301 to prevent gcc warning.
13302
13303 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
13304
13305 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
13306
13307 2009-06-11 Pavel Roskin <proski@gnu.org>
13308
13309 * Makefile.in: Don't rely on any scripts being executable.
13310 Always use $(SHELL) to run shell scripts.
13311
13312 * configure.ac: Always define ___main if using -nostdlib. This
13313 fixes tests on Cygwin.
13314
13315 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
13316
13317 UDF fix
13318
13319 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
13320 is in bytes and not in blocks
13321
13322 2009-06-11 Pavel Roskin <proski@gnu.org>
13323
13324 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
13325 warning.
13326
13327 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
13328
13329 * util/grub.d/30_os-prober.in: Fix a comment. Source
13330 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
13331 to set the root device. Place drivemap command in the generated
13332 chain entry.
13333
13334 2009-06-11 Pavel Roskin <proski@gnu.org>
13335
13336 * configure.ac: Remove host_m32. Issues with 64-bit utilities
13337 have long been resolved.
13338
13339 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
13340
13341 * util/grub.d/10_linux.in: Capitalise "Linux".
13342
13343 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
13344
13345 2009-06-11 Pavel Roskin <proski@gnu.org>
13346
13347 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
13348 fix a gcc warning and ensure that the function won't ever exit.
13349
13350 * kern/i386/ieee1275/init.c: Add missing prototype for
13351 grub_stop_floppy().
13352
13353 * loader/ieee1275/multiboot2.c [__i386__]: Include
13354 grub/cpu/multiboot.h.
13355
13356 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
13357 casts to short - they are not portable and cause warnings. Fix
13358 use of uninitialized values in input_buf. Use ARRAY_SIZE.
13359
13360 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
13361
13362 Drivemap fixes
13363
13364 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
13365 new function
13366 (grub_get_root_biosnumber_saved): new variable
13367 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
13368 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
13369 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
13370 %dx after the call if necessary
13371 * conf/common.rmk (pkglib_MODULES): remove boot.mod
13372 (boot_mod_SOURCES): remove
13373 (boot_mod_CFLAGS): remove
13374 (boot_mod_LDFLAGS): remove
13375 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
13376 (boot_mod_SOURCES): new variable
13377 (boot_mod_CFLAGS): likewise
13378 (boot_mod_LDFLAGS): likewise
13379 * conf/i386-efi.rmk: likewise
13380 * conf/i386-ieee1275.rmk: likewise
13381 * conf/i386-pc.rmk: likewise
13382 * conf/powerpc-ieee1275.rmk: likewise
13383 * conf/sparc64-ieee1275.rmk: likewise
13384 * conf/x86_64-efi.rmk: likewise
13385 * include/grub/i386/pc/biosnum.h: new file
13386 * lib/i386/pc/biosnum.c: likewise
13387 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
13388 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
13389 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
13390
13391 2009-06-10 Pavel Roskin <proski@gnu.org>
13392
13393 * io/gzio.c (test_header): Don't reuse one buffer for all data.
13394 Use separate variables. Read only the file size at the end, but
13395 not the checksum that we don't use.
13396
13397 * kern/file.c (grub_file_read): Use void pointer for the buffer.
13398 Adjust all callers.
13399
13400 * kern/ieee1275/openfw.c: Remove libc includes.
13401 * kern/ieee1275/cmain.c: Likewise.
13402 * include/grub/ieee1275/ieee1275.h: Likewise.
13403
13404 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
13405 compiler warnings.
13406
13407 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
13408
13409 * Makefile.in: Remove all trailing whitespace.
13410 * conf/i386-pc.rmk: Likewise.
13411 * conf/powerpc-ieee1275.rmk: Likewise.
13412 * conf/sparc64-ieee1275.rmk: Likewise.
13413 * docs/grub.texi: Likewise.
13414 * docs/texinfo.tex: Likewise.
13415 * disk/fs_uuid.c: Likewise.
13416 * disk/lvm.c: Likewise.
13417 * disk/scsi.c: Likewise.
13418 * disk/ata.c: Likewise.
13419 * disk/ieee1275/ofdisk.c: Likewise.
13420 * disk/i386/pc/biosdisk.c: Likewise.
13421 * disk/host.c: Likewise.
13422 * disk/raid.c: Likewise.
13423 * disk/efi/efidisk.c: Likewise.
13424 * disk/usbms.c: Likewise.
13425 * disk/memdisk.c: Likewise.
13426 * disk/loopback.c: Likewise.
13427 * kern/powerpc/dl.c: Likewise.
13428 * kern/device.c: Likewise.
13429 * kern/dl.c: Likewise.
13430 * kern/sparc64/dl.c: Likewise.
13431 * kern/ieee1275/ieee1275.c: Likewise.
13432 * kern/term.c: Likewise.
13433 * kern/fs.c: Likewise.
13434 * kern/i386/dl.c: Likewise.
13435 * kern/i386/pc/startup.S: Likewise.
13436 * kern/i386/pc/init.c: Likewise.
13437 * kern/i386/pc/mmap.c: Likewise.
13438 * kern/i386/pc/lzo1x.S: Likewise.
13439 * kern/i386/ieee1275/init.c: Likewise.
13440 * kern/i386/realmode.S: Likewise.
13441 * kern/i386/tsc.c: Likewise.
13442 * kern/partition.c: Likewise.
13443 * kern/corecmd.c: Likewise.
13444 * kern/file.c: Likewise.
13445 * kern/efi/efi.c: Likewise.
13446 * kern/efi/init.c: Likewise.
13447 * kern/efi/mm.c: Likewise.
13448 * kern/main.c: Likewise.
13449 * kern/err.c: Likewise.
13450 * kern/env.c: Likewise.
13451 * kern/disk.c: Likewise.
13452 * kern/generic/millisleep.c: Likewise.
13453 * kern/generic/rtc_get_time_ms.c: Likewise.
13454 * kern/misc.c: Likewise.
13455 * kern/parser.c: Likewise.
13456 * genmk.rb: Likewise.
13457 * configure.ac: Likewise.
13458 * boot/i386/pc/diskboot.S: Likewise.
13459 * boot/i386/pc/pxeboot.S: Likewise.
13460 * boot/i386/pc/boot.S: Likewise.
13461 * boot/i386/pc/lnxboot.S: Likewise.
13462 * boot/i386/pc/cdboot.S: Likewise.
13463 * parttool/pcpart.c: Likewise.
13464 * video/readers/tga.c: Likewise.
13465 * video/video.c: Likewise.
13466 * video/bitmap.c: Likewise.
13467 * lib/envblk.c: Likewise.
13468 * lib/i386/setjmp.S: Likewise.
13469 * fs/xfs.c: Likewise.
13470 * fs/afs.c: Likewise.
13471 * fs/fat.c: Likewise.
13472 * fs/ntfs.c: Likewise.
13473 * fs/udf.c: Likewise.
13474 * fs/affs.c: Likewise.
13475 * fs/iso9660.c: Likewise.
13476 * fs/hfs.c: Likewise.
13477 * fs/fshelp.c: Likewise.
13478 * fs/ext2.c: Likewise.
13479 * fs/jfs.c: Likewise.
13480 * fs/reiserfs.c: Likewise.
13481 * fs/hfsplus.c: Likewise.
13482 * fs/minix.c: Likewise.
13483 * fs/cpio.c: Likewise.
13484 * fs/sfs.c: Likewise.
13485 * fs/ufs.c: Likewise.
13486 * efiemu/prepare.c: Likewise.
13487 * efiemu/loadcore_common.c: Likewise.
13488 * efiemu/runtime/efiemu.sh: Likewise.
13489 * efiemu/runtime/efiemu.S: Likewise.
13490 * efiemu/runtime/efiemu.c: Likewise.
13491 * efiemu/pnvram.c: Likewise.
13492 * efiemu/main.c: Likewise.
13493 * efiemu/i386/pc/cfgtables.c: Likewise.
13494 * efiemu/i386/loadcore64.c: Likewise.
13495 * efiemu/i386/loadcore32.c: Likewise.
13496 * efiemu/loadcore.c: Likewise.
13497 * efiemu/symbols.c: Likewise.
13498 * efiemu/mm.c: Likewise.
13499 * include/grub/autoefi.h: Likewise.
13500 * include/grub/datetime.h: Likewise.
13501 * include/grub/term.h: Likewise.
13502 * include/grub/hfs.h: Likewise.
13503 * include/grub/lvm.h: Likewise.
13504 * include/grub/i386/tsc.h: Likewise.
13505 * include/grub/i386/linux.h: Likewise.
13506 * include/grub/i386/xnu.h: Likewise.
13507 * include/grub/i386/efiemu.h: Likewise.
13508 * include/grub/i386/pc/biosdisk.h: Likewise.
13509 * include/grub/i386/pc/memory.h: Likewise.
13510 * include/grub/i386/pc/vbe.h: Likewise.
13511 * include/grub/parttool.h: Likewise.
13512 * include/grub/video.h: Likewise.
13513 * include/grub/memory.h: Likewise.
13514 * include/grub/fs.h: Likewise.
13515 * include/grub/partition.h: Likewise.
13516 * include/grub/xnu.h: Likewise.
13517 * include/grub/efi/api.h: Likewise.
13518 * include/grub/efi/pe32.h: Likewise.
13519 * include/grub/efi/memory.h: Likewise.
13520 * include/grub/multiboot.h: Likewise.
13521 * include/grub/usbdesc.h: Likewise.
13522 * include/grub/multiboot2.h: Likewise.
13523 * include/grub/acpi.h: Likewise.
13524 * include/grub/efiemu/efiemu.h: Likewise.
13525 * include/grub/disk.h: Likewise.
13526 * include/grub/ieee1275/ieee1275.h: Likewise.
13527 * include/grub/net.h: Likewise.
13528 * include/grub/machoload.h: Likewise.
13529 * include/grub/macho.h: Likewise.
13530 * include/multiboot.h: Likewise.
13531 * genmoddep.awk: Likewise.
13532 * normal/main.c: Likewise.
13533 * normal/menu_entry.c: Likewise.
13534 * normal/menu_viewer.c: Likewise.
13535 * normal/completion.c: Likewise.
13536 * normal/cmdline.c: Likewise.
13537 * normal/misc.c: Likewise.
13538 * normal/datetime.c: Likewise.
13539 * bus/usb/usbtrans.c: Likewise.
13540 * bus/usb/ohci.c: Likewise.
13541 * bus/usb/uhci.c: Likewise.
13542 * bus/usb/usb.c: Likewise.
13543 * mmap/efi/mmap.c: Likewise.
13544 * mmap/i386/pc/mmap_helper.S: Likewise.
13545 * mmap/i386/pc/mmap.c: Likewise.
13546 * mmap/i386/mmap.c: Likewise.
13547 * mmap/i386/uppermem.c: Likewise.
13548 * mmap/mmap.c: Likewise.
13549 * commands/acpi.c: Likewise.
13550 * commands/echo.c: Likewise.
13551 * commands/blocklist.c: Likewise.
13552 * commands/loadenv.c: Likewise.
13553 * commands/usbtest.c: Likewise.
13554 * commands/boot.c: Likewise.
13555 * commands/parttool.c: Likewise.
13556 * commands/search.c: Likewise.
13557 * commands/cat.c: Likewise.
13558 * commands/i386/pc/play.c: Likewise.
13559 * commands/i386/pc/drivemap.c: Likewise.
13560 * commands/i386/pc/vbeinfo.c: Likewise.
13561 * commands/i386/pc/acpi.c: Likewise.
13562 * commands/i386/pc/vbetest.c: Likewise.
13563 * commands/ls.c: Likewise.
13564 * commands/cmp.c: Likewise.
13565 * commands/test.c: Likewise.
13566 * commands/efi/acpi.c: Likewise.
13567 * commands/gptsync.c: Likewise.
13568 * commands/help.c: Likewise.
13569 * partmap/amiga.c: Likewise.
13570 * partmap/apple.c: Likewise.
13571 * partmap/acorn.c: Likewise.
13572 * partmap/pc.c: Likewise.
13573 * partmap/sun.c: Likewise.
13574 * partmap/gpt.c: Likewise.
13575 * script/sh/lexer.c: Likewise.
13576 * script/sh/function.c: Likewise.
13577 * font/font.c: Likewise.
13578 * font/font_cmd.c: Likewise.
13579 * loader/powerpc/ieee1275/linux.c: Likewise.
13580 * loader/efi/chainloader.c: Likewise.
13581 * loader/multiboot_loader.c: Likewise.
13582 * loader/macho.c: Likewise.
13583 * loader/i386/multiboot.c: Likewise.
13584 * loader/i386/linux.c: Likewise.
13585 * loader/i386/pc/linux.c: Likewise.
13586 * loader/i386/pc/multiboot2.c: Likewise.
13587 * loader/i386/pc/chainloader.c: Likewise.
13588 * loader/i386/pc/xnu.c: Likewise.
13589 * loader/i386/bsd_trampoline.S: Likewise.
13590 * loader/i386/efi/linux.c: Likewise.
13591 * loader/i386/multiboot_elfxx.c: Likewise.
13592 * loader/i386/bsd_helper.S: Likewise.
13593 * loader/i386/bsd.c: Likewise.
13594 * loader/i386/linux_trampoline.S: Likewise.
13595 * loader/i386/xnu_helper.S: Likewise.
13596 * loader/i386/xnu.c: Likewise.
13597 * loader/i386/bsd_pagetable.c: Likewise.
13598 * loader/i386/multiboot_helper.S: Likewise.
13599 * loader/xnu.c: Likewise.
13600 * loader/xnu_resume.c: Likewise.
13601 * io/gzio.c: Likewise.
13602 * term/efi/console.c: Likewise.
13603 * term/terminfo.c: Likewise.
13604 * term/ieee1275/ofconsole.c: Likewise.
13605 * term/i386/pc/serial.c: Likewise.
13606 * term/i386/pc/vesafb.c: Likewise.
13607 * term/i386/pc/vga.c: Likewise.
13608 * term/usb_keyboard.c: Likewise.
13609 * term/gfxterm.c: Likewise.
13610 * aclocal.m4: Likewise.
13611 * util/lvm.c: Likewise.
13612 * util/grub.d/30_os-prober.in: Likewise.
13613 * util/grub.d/10_hurd.in: Likewise.
13614 * util/console.c: Likewise.
13615 * util/grub-macho2img.c: Likewise.
13616 * util/grub-probe.c: Likewise.
13617 * util/hostfs.c: Likewise.
13618 * util/i386/pc/grub-mkimage.c: Likewise.
13619 * util/i386/pc/grub-setup.c: Likewise.
13620 * util/i386/efi/grub-mkimage.c: Likewise.
13621 * util/grub-mkconfig.in: Likewise.
13622 * util/raid.c: Likewise.
13623 * util/resolve.c: Likewise.
13624 * util/grub-mkdevicemap.c: Likewise.
13625 * util/grub-emu.c: Likewise.
13626 * util/getroot.c: Likewise.
13627 * util/hostdisk.c: Likewise.
13628 * util/usb.c: Likewise.
13629 * util/grub-editenv.c: Likewise.
13630 * util/misc.c: Likewise.
13631
13632 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
13633
13634 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
13635 `genparttoollist.sh'.
13636 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
13637 Add `*.sh' to the list find searches for and change `mdate.sh'
13638 to `mdate-sh'.
13639
13640 2009-06-10 Pavel Roskin <proski@gnu.org>
13641
13642 * include/grub/multiboot2.h: Provide compatibility defines for
13643 multiboot2.h.
13644 * include/multiboot2.h: Include stdint.h only if needed, using
13645 angle brackets.
13646 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
13647 grub/multiboot2.h.
13648 * loader/ieee1275/multiboot2.c: Likewise.
13649 * loader/multiboot2.c: Likewise.
13650 * loader/multiboot_loader.c: Likewise.
13651
13652 * configure.ac: Use -nostdlib when probing for the target. It
13653 should not be required to have libc for the target.
13654
13655 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
13656 they fail without libc headers for the target.
13657 * include/grub/powerpc/libgcc.h: Use weak attribute for all
13658 exports.
13659 * include/grub/sparc64/libgcc.h: Likewise. Don't use
13660 preprocessor conditionals.
13661
13662 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
13663 build system doesn't need to be aware of the tar.c internals.
13664
13665 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
13666
13667 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
13668
13669 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
13670
13671 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
13672 disk limit to 26 for IDE, Virtio, Xen and SCSI.
13673
13674 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
13675
13676 * util/i386/pc/grub-install.in: Change the error message if UUIDs
13677 aren't available if ata.mod gets used.
13678
13679 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
13680
13681 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
13682 initialising controller.
13683 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13684
13685 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
13686
13687 * util/i386/pc/grub-install.in: Add a parameter --disk-module
13688 to choose between ata and biosdisk module on i386-pc.
13689
13690 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
13691
13692 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
13693 Subclass and Programming Interface fields in terms of the 3 byte
13694 Class Code register.
13695 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
13696
13697 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
13698 interface is OHCI. Add grub_dprintf for symmetry with
13699 bus/usb/uhci.c.
13700 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
13701 interface is UHCI. Add interf variable for programming
13702 interface. Print interface with class/subclass.
13703
13704 * bus/usb/ohci.c: Set interf with correct field.
13705
13706 * bus/usb/uhci.c: Remove unneeded doubled lines.
13707 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
13708 Remove whitespace inside comment.
13709
13710 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
13711
13712 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
13713 as fallback an equivalent option without depth.
13714
13715 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
13716
13717 Not fail if unable to retrieve C/H/S on LBA disks
13718
13719 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
13720 if unable to retrieve C/H/S on LBA disks
13721
13722 2009-06-08 Pavel Roskin <proski@gnu.org>
13723
13724 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
13725 about aliasing.
13726
13727 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
13728
13729 * Makefile.in (uninstall): Remove all $lib_DATA files.
13730
13731 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 Bugfix: install on partitionless device
13734
13735 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
13736 is a whole disk
13737
13738 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
13739
13740 * Makefile.in (uninstall): Remove all $include_DATA files.
13741
13742 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
13743
13744 * commands/true.c: New file. Implement the true and false commands.
13745 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
13746 (true_mod_SOURCES): New variable.
13747 (true_mod_CFLAGS): Likewise.
13748 (true_mod_LDFLAGS): Likewise.
13749
13750 2009-06-05 Colin D Bennett <colin@gibibit.com>
13751
13752 Optimized font character lookup using binary search instead of linear
13753 search. Fonts now are required to have the character index ordered by
13754 code point.
13755
13756 * font/font.c (load_font_index): Verify that fonts have ordered
13757 character indices.
13758 (find_glyph): Use binary search instead of linear search to find a
13759 character in a font.
13760
13761 2009-06-05 Michael Scherer <misc@mandriva.org>
13762
13763 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
13764 uses case sensitive btree.
13765 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
13766 only for case insensitive filesystems.
13767
13768 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
13769
13770 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
13771 * conf/common.rmk (search_mod_CFLAGS): likewise
13772
13773 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
13776 compensate a compiler bug
13777
13778 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13779
13780 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
13781 instead of '\b'
13782
13783 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13784
13785 Definitions for creating asm symbols with Apple's CC
13786
13787 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
13788 [APPLE_CC] (VARIABLE): likewise
13789
13790 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13791
13792 Disable lnxboot.img when compiled
13793 with Apple's CC
13794
13795 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
13796 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
13797 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
13798 [! APPLE_CC] (CODE_LENG): skip
13799 [! APPLE_CC] (setup_sects): likewise
13800 [! APPLE_CC]: skip filling
13801
13802 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 Address in trampolines based on 32-bit registers when compiled
13805 with Apple's CC
13806
13807 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
13808 for addresses
13809 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
13810
13811 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 Avoid aliases when compiling with Apple's CC for PCBIOS machine
13814
13815 * kern/misc.c [APPLE_CC] (memcpy): new function
13816 [APPLE_CC] (memmove): likewise
13817 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
13818 (memcpy): define alias conditionally on !APPLE_CC
13819 (memset): likewise
13820 (abort): likewise
13821 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
13822 APPLE_CC are defined
13823 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
13824 (grub_assert_fail): make prototype conditional
13825
13826 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
13829
13830 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
13831 grub-macho2img
13832 (CLEANFILES): add grub-macho2img
13833 (grub_macho2img_SOURCES): new variable
13834 * kern/i386/pc/startup.S (bss_start): new variable
13835 (bss_end): likewise
13836 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
13837 * util/grub-macho2img.c: new file
13838
13839 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 Use objconv when compiling with Apple's CC
13842
13843 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
13844 (efiemu64.o): likewise
13845 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
13846 when compiling with Apple's CC
13847 (efiemu64_s.o): likewise
13848 * configure.ac: check for objconv when compiling with Apple's CC
13849 * genmk.rb: use objconv for modules when compiled with Apple's CC
13850
13851 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 Define segment as well as section when compiling with
13854 Apple's CC
13855
13856 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
13857 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
13858 (efiemu_convert_pointer): likewise
13859 (efiemu_set_virtual_address_map): likewise
13860 (efiemu_convert_pointer): likewise
13861 (efiemu_getcrc32): likewise
13862 (init_crc32_table): likewise
13863 (reflect): likewise
13864 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
13865 (GRUB_MOD_DEP): likewise
13866
13867 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13868
13869 Allow a compilation without -mcmodel=large
13870
13871 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
13872 when compiled without -mcmodel=large
13873 (filter_memory_map): remove memory post 4 GiB when compiled
13874 without -mcmodel=large
13875 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
13876 TARGET_CFLAGS when -mcmodel=large isn't supported
13877
13878 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13879
13880 Remove nested functions in efiemu core
13881
13882 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
13883
13884 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13885
13886 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
13887
13888 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
13889 temporary storage
13890 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
13891 using Apple's CC
13892 (grub_cpu_is_tsc_supported): likewise
13893 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
13894
13895 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13896
13897 Absolute addressing through constant with Apple's cc
13898
13899 * kern/i386/pc/startup.S: Define necessary constants
13900 and address through it when using ABS with Apple's CC
13901 * boot/i386/pc/diskboot.S: likewise
13902 * boot/i386/pc/boot.S: likewise
13903 * boot/i386/pc/lnxboot.S: likewise
13904 * boot/i386/pc/cdboot.S: likewise
13905 * mmap/i386/pc/mmap_helper.S: likewise
13906 * commands/i386/pc/drivemap_int13h.S: likewise
13907
13908 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 Check if compiler is apple cc
13911
13912 * Makefile.in (ASFLAGS): new variable
13913 (TARGET_ASFLAGS): likewise
13914 (TARGET_MODULE_FORMAT): likewise
13915 (TARGET_APPLE_CC): likewise
13916 (OBJCONV): likewise
13917 (TARGET_IMG_CFLAGS): likewise
13918 (TARGET_CPPFLAGS): add includedir
13919 * configure.ac: call grub_apple_cc and grub_apple_target_cc
13920 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
13921 Check for linker script only if compiler isn't Apple's CC
13922 (TARGET_MODULE_FORMAT): set
13923 (TARGET_APPLE_CC): likewise
13924 (TARGET_ASFLAGS): likewise
13925 (ASFLAGS): likewise
13926 Check for objcopy only if compiler isn't Apple's CC
13927 Check for BSS symbol only if compiler isn't Apple's CC
13928 * genmk.rb: adapt nm options if we use Apple's utils
13929 * aclocal.m4 (grub_apple_cc): new test
13930 (grub_apple_target_cc): likewise
13931
13932 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 Simplify sed expressions and improve awk
13935
13936 * Makefile.in (install-local): simplify sed expression
13937 * gencmdlist.sh: likewise
13938 * genmoddep.awk: avoid adding module as a dependency of itself
13939
13940 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 Add missing start symbols
13943
13944 * boot/i386/pc/boot.S: add start
13945 * boot/i386/pc/pxeboot.S: likewise
13946
13947 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 Fix wrong assumptions with grub-mkimage on EFI
13950
13951 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
13952 (relocate_addresses): consider both r_addend and value at offset
13953 (make_mods_section): zerofill modinfo and header
13954 (convert_elf): write prefix here
13955
13956 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 Use .asciz instead of .string
13959
13960 * i386/pc/diskboot.S: use .asciz instead of .string
13961 * i386/pc/boot.S: likewise
13962 * include/grub/dl.h (GRUB_MOD_DEP): likewise
13963 (GRUB_MOD_NAME): likewise
13964
13965 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13966
13967 gfxpayload support
13968
13969 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
13970 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
13971 (grub_video_setup): remove
13972 (grub_video_set_mode): new prototype
13973 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
13974 (vid_mode): remove
13975 (linux_vesafb_res): compile only on PCBIOS
13976 (grub_linux_boot): support gfxpayload
13977 * loader/i386/pc/xnu.c (video_hook): new function
13978 (grub_xnu_set_video): support gfxpayload
13979 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
13980 (DEFAULT_VIDEO_HEIGHT): likewise
13981 (DEFAULT_VIDEO_FLAGS): likewise
13982 (DEFAULT_VIDEO_MODE): new definition
13983 (video_hook): new function
13984 (grub_gfxterm_init): use grub_video_set_mode
13985 * util/grub.d/30_os-prober.in: remove explicit modesetting before
13986 loading xnu
13987 * video/video.c (grub_video_setup): removed
13988 (grub_video_set_mode): new function based on grub_gfxterm_init and
13989 grub_video_setup
13990
13991 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13992
13993 Avoid calling biosdisk in drivemap
13994
13995 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
13996 (revparse_biosdisk): likewise
13997 (list_mappings): derive name from id directly
13998 (grub_cmd_drivemap): use tryparse_diskstring
13999
14000 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 Script fixes
14003
14004 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
14005 (grub_lexer_param): add tokenonhold
14006 (grub_script_create_cmdline): remove cmdline. All callers updated
14007 (grub_script_function_create): make functionname
14008 grub_script_arg. All callers updated
14009 (grub_script_execute_argument_to_string): new prototype
14010 * kern/parser.c (state_transitions): reorder
14011 (grub_parser_cmdline_state): fix a bug and make more compact
14012 * script/sh/execute.c (grub_script_execute_argument_to_string):
14013 make global
14014 (grub_script_execute_cmdline): use new format
14015 * script/sh/function.c (grub_script_function_create): make functionname
14016 grub_script_arg. All callers updated
14017 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
14018 (grub_script_yylex): remove
14019 (grub_script_yylex2): renamed to ...
14020 (grub_script_yylex): ...renamed
14021 parse the expressions like a${b}c
14022 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
14023 (GRUB_PARSER_TOKEN_VAR): remove
14024 (GRUB_PARSER_TOKEN_NAME): likewise
14025 ("if"): declare as typeless
14026 ("while"): likewise
14027 ("function"): likewise
14028 ("else"): likewise
14029 ("then"): likewise
14030 ("fi"): likewise
14031 (text): remove
14032 (argument): likewise
14033 (script): accept empty scripts and make exit on error
14034 (arguments): use GRUB_PARSER_TOKEN_ARG
14035 (function): likewise
14036 (command): move error handling to script
14037 (menuentry): move grub_script_lexer_ref before
14038 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
14039 argument. All callers updated
14040
14041 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
14042
14043 Prevent GRUB from probing floppies during boot.
14044
14045 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
14046 * commands/search.c (options): Add --no-floppy.
14047 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
14048 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
14049 --no-floppy when searching for UUIDs.
14050
14051 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
14052
14053 Simplify the code duplication in commands/search.c.
14054
14055 * commands/search.c (search_label, search_fs_uuid): Merge into ...
14056 (search_fs): ... this. Update all users.
14057
14058 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
14059
14060 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
14061
14062 2009-05-28 Pavel Roskin <proski@gnu.org>
14063
14064 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
14065 Remove the original symlink explicitly.
14066
14067 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
14068 just one slash. That's how grub_fshelp_find_file() does it.
14069
14070 2009-05-26 Pavel Roskin <proski@gnu.org>
14071
14072 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
14073 to `str'.
14074
14075 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
14076 possibly unused.
14077
14078 2009-05-25 Christian Franke <franke@computer.org>
14079
14080 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
14081 register.
14082 (grub_atapi_identify): Add wait after drive select.
14083 (grub_ata_identify): Do more strict status register check before
14084 calling grub_atapi_identify (). Suppress error message if status
14085 register is 0x00 after command failure. Add status register
14086 check after PIO read to avoid bogus identify due to stuck DRQ.
14087 Thanks to Pavel Roskin for testing.
14088 (grub_device_initialize): Remove unsafe status register check.
14089 Thanks to 'phcoder' for problem report and patch.
14090 Prevent sign extension in debug message.
14091
14092 2009-05-23 Colin D Bennett <colin@gibibit.com>
14093
14094 Cleaned up `include/grub/normal.h'. Grouped prototypes by
14095 definition file, and functions defined in `normal/menu.c' have had
14096 their prototypes moved to `include/grub/menu.h' for consistency.
14097
14098 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
14099 from normal.h.
14100 (grub_menu_get_entry): Likewise.
14101 (grub_menu_get_timeout): Likewise.
14102 (grub_menu_set_timeout): Likewise.
14103 (grub_menu_execute_entry): Likewise.
14104 (grub_menu_execute_with_fallback): Likewise.
14105 (grub_menu_entry_run): Likewise.
14106
14107 * include/grub/normal.h: Re-ordered and grouped function
14108 prototypes by file that the function is defined in.
14109 (grub_menu_execute_callback): Removed; moved to menu.h.
14110 (grub_menu_get_entry): Likewise.
14111 (grub_menu_get_timeout): Likewise.
14112 (grub_menu_set_timeout): Likewise.
14113 (grub_menu_execute_entry): Likewise.
14114 (grub_menu_execute_with_fallback): Likewise.
14115 (grub_menu_entry_run): Likewise.
14116 (grub_menu_addentry): Renamed from this ...
14117 (grub_normal_add_menu_entry): ... to this.
14118
14119 * normal/main.c (grub_menu_addentry): Renamed from this ...
14120 (grub_normal_add_menu_entry): ... to this.
14121
14122 * script/sh/execute.c (grub_script_execute_menuentry): Update
14123 reference to renamed grub_menu_addentry function.
14124
14125 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
14126
14127 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
14128
14129 2009-05-22 Pavel Roskin <proski@gnu.org>
14130
14131 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
14132 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
14133 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
14134 compiling for the i386 targets, but not for the utilities.
14135
14136 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
14137 to grub_uint8_t.
14138 (grub_root_drive): Likewise.
14139 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
14140 remove alignment.
14141 (grub_root_drive): Change size to byte.
14142 (grub_start_addr): Remove.
14143 (grub_end_addr): Likewise.
14144 (grub_apm_bios_info): Likewise.
14145
14146 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
14147
14148 * normal/i386: Remove.
14149 * normal/powerpc: Likewise.
14150 * normal/sparc64: Likewise.
14151 * normal/x86_64: Likewise.
14152
14153 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14154
14155 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
14156 * loader/i386/linux_trampoline.S: Fix indentation
14157 * loader/i386/xnu_helper.S: Likewise
14158
14159 2009-05-18 Colin D Bennett <colin@gibibit.com>
14160
14161 Display error messages when parsing a Lua statement fails.
14162 Previously, executing a syntactically invalid statement like
14163 ")foo" or "bar;" would silently fail.
14164
14165 * script/lua/grub_main.c (handle_lua_error): New function.
14166 (grub_lua_parse_line): Improved reporting of Lua parser and
14167 execution errors.
14168
14169 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 Remove -Werror which causes build to fail on some systems
14172
14173 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
14174 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
14175 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
14176
14177 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14178
14179 trampoline for linux on 64-bit platform
14180
14181 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
14182 loader/i386/efi/linux_trampoline.S
14183 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
14184 declaration
14185 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
14186 here
14187 * loader/i386/linux_trampoline.S: moved here
14188 * loader/i386/efi/linux.c (allocate_pages): reserve space for
14189 trampoline
14190 (jumpvector): removed
14191 (grub_linux_trampoline_start): new declaration
14192 (grub_linux_trampoline_end): likewise
14193 (grub_linux_boot): use trampoline when on 64-bit platform
14194 * loader/i386/linux.c: likewise
14195
14196 2009-05-16 Pavel Roskin <proski@gnu.org>
14197
14198 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
14199 const to avoid a warning.
14200 (grub_lua_setenv): Likewise.
14201 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
14202 lmsg to fix a warning.
14203
14204 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
14205
14206 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
14207 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14208 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
14209 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14210 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
14211 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14212 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
14213 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
14214
14215 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
14216
14217 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
14218
14219 2009-05-16 Bean <bean123ch@gmail.com>
14220
14221 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
14222 (lua_mod_SOURCES): New variable.
14223 (lua_mod_CFLAGS): Likewise.
14224 (lua_mod_LDFLAGS): Likewise.
14225
14226 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
14227 (setjmp_mod_SOURCES): New variable.
14228 (setjmp_mod_CFLAGS): Likewise.
14229 (setjmp_LDFLAGS): Likewise.
14230
14231 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
14232 (setjmp_mod_SOURCES): New variable.
14233 (setjmp_mod_CFLAGS): Likewise.
14234 (setjmp_LDFLAGS): Likewise.
14235
14236 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
14237 (setjmp_mod_SOURCES): New variable.
14238 (setjmp_mod_CFLAGS): Likewise.
14239 (setjmp_LDFLAGS): Likewise.
14240
14241 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
14242 (setjmp_mod_SOURCES): New variable.
14243 (setjmp_mod_CFLAGS): Likewise.
14244 (setjmp_LDFLAGS): Likewise.
14245
14246 * normal/i386/setjmp.S: Moved from here ...
14247 * lib/i386/setjmp.S: ... Moved here
14248 * normal/x86_64/setjmp.S: Moved from here ...
14249 * lib/x86_64/setjmp.S: ... Moved here
14250 * normal/powerpc/setjmp.S: Moved from here ...
14251 * lib/powerpc/setjmp.S: ... Moved here
14252 * normal/sparc64/setjmp.S: Moved from here ...
14253 * lib/sparc64/setjmp.S: ... Moved here
14254
14255 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
14256 returns_twice in mingw.
14257
14258 * script/lua/grub_lib.c: New file.
14259 * script/lua/grub_lib.h: Likewise.
14260 * script/lua/grub_lua.h: Likewise.
14261 * script/lua/grub_main.c: Likewise.
14262 * script/lua/lapi.c: Likewise.
14263 * script/lua/lapi.h: Likewise.
14264 * script/lua/lauxlib.c: Likewise.
14265 * script/lua/lauxlib.h: Likewise.
14266 * script/lua/lbaselib.c: Likewise.
14267 * script/lua/lcode.c: Likewise.
14268 * script/lua/lcode.h: Likewise.
14269 * script/lua/ldblib.c: Likewise.
14270 * script/lua/ldebug.c: Likewise.
14271 * script/lua/ldebug.h: Likewise.
14272 * script/lua/ldo.c: Likewise.
14273 * script/lua/ldo.h: Likewise.
14274 * script/lua/ldump.c: Likewise.
14275 * script/lua/lfunc.c: Likewise.
14276 * script/lua/lfunc.h: Likewise.
14277 * script/lua/lgc.c: Likewise.
14278 * script/lua/lgc.h: Likewise.
14279 * script/lua/linit.c: Likewise.
14280 * script/lua/liolib.c: Likewise.
14281 * script/lua/llex.c: Likewise.
14282 * script/lua/llex.h: Likewise.
14283 * script/lua/llimits.h: Likewise.
14284 * script/lua/lmathlib.c: Likewise.
14285 * script/lua/lmem.c: Likewise.
14286 * script/lua/lmem.h: Likewise.
14287 * script/lua/loadlib.c: Likewise.
14288 * script/lua/lobject.c: Likewise.
14289 * script/lua/lobject.h: Likewise.
14290 * script/lua/lopcodes.c: Likewise.
14291 * script/lua/lopcodes.h: Likewise.
14292 * script/lua/loslib.c: Likewise.
14293 * script/lua/lparser.c: Likewise.
14294 * script/lua/lparser.h: Likewise.
14295 * script/lua/lstate.c: Likewise.
14296 * script/lua/lstate.h: Likewise.
14297 * script/lua/lstring.c: Likewise.
14298 * script/lua/lstring.h: Likewise.
14299 * script/lua/lstrlib.c: Likewise.
14300 * script/lua/ltable.c: Likewise.
14301 * script/lua/ltable.h: Likewise.
14302 * script/lua/ltablib.c: Likewise.
14303 * script/lua/ltm.c: Likewise.
14304 * script/lua/ltm.h: Likewise.
14305 * script/lua/lua.h: Likewise.
14306 * script/lua/luaconf.h: Likewise.
14307 * script/lua/lualib.h: Likewise.
14308 * script/lua/lundump.c: Likewise.
14309 * script/lua/lundump.h: Likewise.
14310 * script/lua/lvm.c: Likewise.
14311 * script/lua/lvm.h: Likewise.
14312 * script/lua/lzio.c: Likewise.
14313 * script/lua/lzio.h: Likewise.
14314
14315 2009-05-16 Bean <bean123ch@gmail.com>
14316
14317 * include/grub/kernel.h (grub_module_header_types): Add type
14318 OBJ_TYPE_CONFIG.
14319
14320 * kern/main.c (grub_load_config): New function.
14321 (grub_main): Call grub_load_config to read boot config.
14322
14323 * grub-mkimage (generate_image): New parameter config_path.
14324 (options): New option --config.
14325 (main): Parse --config option, and pass it to generate_image.
14326
14327 2009-05-14 Christian Franke <franke@computer.org>
14328
14329 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
14330 This fixes build on Cygwin.
14331
14332 2009-05-14 Pavel Roskin <proski@gnu.org>
14333
14334 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
14335 jump. This saves two bytes, so the typical case of 2 swapped
14336 drives would fit 32 bytes.
14337
14338 2009-05-13 Pavel Roskin <proski@gnu.org>
14339
14340 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
14341 grub_uint32_t to avoid a warning.
14342
14343 * loader/i386/linux.c (allocate_pages): When assigning
14344 real_mode_mem, cast through grub_size_t to fix a warning. The
14345 code already makes sure that the value would fit a pointer.
14346 (grub_linux_setup_video): Cast render_target->data to
14347 grub_size_t to fix a warning.
14348
14349 2009-05-13 Javier Martín <lordhabbit@gmail.com>
14350
14351 * commands/i386/pc/drivemap.c: New file - implement drivemap
14352 command.
14353 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
14354 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
14355
14356 2009-05-13 Pavel Roskin <proski@gnu.org>
14357
14358 * util/i386/pc/grub-setup.c (setup): Remove unused variable
14359 embedding_area_exists.
14360
14361 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
14362
14363 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
14364 it easier to understand / work with.
14365 Improve warning messages for cases where there's no embedding area,
14366 or when it is too small (or core.img too large).
14367
14368 2009-05-13 Pavel Roskin <proski@gnu.org>
14369
14370 * loader/i386/pc/multiboot2.c: Add necessary includes for
14371 grub_multiboot2_real_boot().
14372
14373 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
14374 PX record is always little-endian. We only need the lower 2
14375 bytes of the mode.
14376
14377 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
14378 facilitate code reuse.
14379 (grub_cpio_mount): Use "struct head", not a char buffer. This
14380 fixes a warning reported by gcc 4.4.
14381
14382 * kernel/disk.c (grub_disk_read): Use void pointer for the
14383 buffer.
14384 (grub_disk_write): Use const void pointer for the buffer.
14385 Adjust all callers. Remove unnecessary casts.
14386
14387 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
14388
14389 * util/i386/pc/grub-install.in: Update copyright year.
14390
14391 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 gptsync
14394
14395 * commands/gptsync.c: new file
14396 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
14397 (gptsync_mod_SOURCES): new variable
14398 (gptsync_mod_CFLAGS): likewise
14399 (gptsync_mod_LDFLAGS): likewise
14400 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
14401 new definition
14402 (GRUB_PC_PARTITION_TYPE_HFS): likewise
14403 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
14404 * conf/i386-ieee1275.rmk: likewise
14405 * conf/i386-pc.rmk: likewise
14406 * conf/powerpc-ieee1275.rmk: likewise
14407
14408 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 Fixed grub-emu
14411
14412 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
14413 (grub_dl_ref): likewise
14414
14415 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
14416
14417 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
14418 split in two functions (one for msdos and one for gpt).
14419
14420 2009-05-08 Pavel Roskin <proski@gnu.org>
14421
14422 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
14423 not modified.
14424
14425 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
14426 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
14427 Initialize them with -1. Add sanity check for bad1. Eliminate
14428 nerr variable.
14429
14430 2009-05-08 David S. Miller <davem@davemloft.net>
14431
14432 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
14433
14434 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
14435
14436 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
14437 existence.
14438
14439 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
14440
14441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
14442 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
14443
14444 2009-05-05 David S. Miller <davem@davemloft.net>
14445
14446 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
14447
14448 2009-05-05 Pavel Roskin <proski@gnu.org>
14449
14450 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
14451 of grub_dl_ref() and grub_dl_unref().
14452 * commands/parttool.c: Remove preprocessor conditionals around
14453 grub_dl_ref() and grub_dl_unref().
14454 * fs/affs.c: Likewise.
14455 * fs/afs.c: Likewise.
14456 * fs/cpio.c: Likewise.
14457 * fs/ext2.c: Likewise.
14458 * fs/fat.c: Likewise.
14459 * fs/hfs.c: Likewise.
14460 * fs/hfsplus.c: Likewise.
14461 * fs/iso9660.c: Likewise.
14462 * fs/jfs.c: Likewise.
14463 * fs/minix.c: Likewise.
14464 * fs/ntfs.c: Likewise.
14465 * fs/reiserfs.c: Likewise.
14466 * fs/sfs.c: Likewise.
14467 * fs/udf.c: Likewise.
14468 * fs/ufs.c: Likewise.
14469 * fs/xfs.c: Likewise.
14470 * include/grub/dl.h: Likewise.
14471 * loader/xnu.c: Likewise.
14472
14473 2009-05-04 Pavel Roskin <proski@gnu.org>
14474
14475 * commands/acpi.c: Remove unused variable my_mod.
14476 * partmap/amiga.c: Likewise.
14477 * partmap/apple.c: Likewise.
14478 * partmap/gpt.c: Likewise.
14479 * partmap/pc.c: Likewise.
14480 * partmap/sun.c: Likewise.
14481 * term/gfxterm.c: Likewise.
14482 * term/i386/pc/vesafb.c: Likewise.
14483 * term/i386/pc/vga.c: Likewise.
14484
14485 2009-05-04 David S. Miller <davem@davemloft.net>
14486
14487 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
14488 pointer args to grub_ieee1275_get_property().
14489
14490 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
14491
14492 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
14493 devices, and do not traverse down under controller nodes.
14494
14495 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
14496 (grub_ofdisk_open): Use it to un-escape "," characters.
14497 * kern/disk.c (find_part_sep): New.
14498 (grub_disk_open): Use it to find the first non-escaped ','
14499 character in the disk name.
14500 * util/ieee1275/devicemap.c (escape_of_path): New.
14501 (grub_util_emit_devicemap_entry): Use it.
14502 * util/sparc64/ieee1275/grub-install.in: Update script to
14503 strip partition specifiers properly by not triggering on
14504 '\' escaped ',' characters.
14505
14506 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14507
14508 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
14509 to 0x300.
14510 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
14511 resolutions.
14512 (linux_vesafb_modes): Add a lot of additional modes to the list (based
14513 on documentation from Wikipedia).
14514
14515 2009-05-04 Pavel Roskin <proski@gnu.org>
14516
14517 * disk/ata.c: Spelling fixes.
14518 * disk/raid.c: Likewise.
14519 * disk/usbms.c: Likewise.
14520 * disk/dmraid_nvidia.c: Likewise.
14521 * kern/ieee1275/openfw.c: Likewise.
14522 * kern/ieee1275/init.c: Likewise.
14523 * kern/ieee1275/cmain.c: Likewise.
14524 * boot/i386/pc/cdboot.S: Likewise.
14525 * video/readers/png.c: Likewise.
14526 * video/i386/pc/vbe.c: Likewise.
14527 * fs/udf.c: Likewise.
14528 * fs/hfs.c: Likewise.
14529 * fs/reiserfs.c: Likewise.
14530 * efiemu/runtime/efiemu.c: Likewise.
14531 * efiemu/main.c: Likewise.
14532 * efiemu/mm.c: Likewise.
14533 * include/grub/elf.h: Likewise.
14534 * include/grub/xnu.h: Likewise.
14535 * include/grub/usbdesc.h: Likewise.
14536 * include/grub/usb.h: Likewise.
14537 * include/grub/script_sh.h: Likewise.
14538 * include/grub/lib/LzmaEnc.h: Likewise.
14539 * include/grub/efiemu/efiemu.h: Likewise.
14540 * include/grub/command.h: Likewise.
14541 * normal/menu.c: Likewise.
14542 * normal/main.c: Likewise.
14543 * normal/datetime.c: Likewise.
14544 * bus/usb/uhci.c: Likewise.
14545 * mmap/i386/uppermem.c: Likewise.
14546 * mmap/mmap.c: Likewise.
14547 * commands/acpi.c: Likewise.
14548 * commands/test.c: Likewise.
14549 * partmap/apple.c: Likewise.
14550 * font/font.c: Likewise.
14551 * loader/sparc64/ieee1275/linux.c: Likewise.
14552 * loader/macho.c: Likewise.
14553 * loader/i386/bsd_trampoline.S: Likewise.
14554 * loader/i386/bsd.c: Likewise.
14555 * loader/xnu.c: Likewise.
14556 * term/i386/pc/vesafb.c: Likewise.
14557 * term/usb_keyboard.c: Likewise.
14558 * util/resolve.c: Likewise.
14559 * util/getroot.c: Likewise.
14560
14561 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
14562
14563 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
14564
14565 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14566
14567 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
14568 build error.
14569
14570 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14571
14572 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
14573 parameter only available on BIOS.
14574
14575 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 Removed wrong semicolon in declaration
14578
14579 * grub/misc.h (grub_dprintf): remove semicolon
14580
14581 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14582
14583 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
14584 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
14585 is done by grub_cmd_linux() now).
14586 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
14587 restore video to text mode.
14588 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
14589 indicates lack of "vga=" parameter. "vga=0" is mapped to
14590 `GRUB_LINUX_VID_MODE_NORMAL'.
14591
14592 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
14593
14594 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
14595 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
14596 and `normal/script.c'. Add `kern/rescue_reader.c',
14597 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
14598 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
14599 `grub_script.tab.c'.
14600
14601 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14602 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14604 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14605 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14606
14607 * Makefile.in: Remove duplicated 2008 in Copyright line.
14608
14609 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14610
14611 * util/misc.c (grub_util_warn): New function. Emits a warning
14612 unconditionally.
14613 * include/grub/util/misc.h (grub_util_warn): New declaration.
14614
14615 * util/i386/pc/grub-install.in: Understand --force and pass it down
14616 to grub-setup.
14617
14618 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
14619 down to setup().
14620 (setup): Improve error messages and add warnings when requested to
14621 install in odd layouts. Refuse to install using blocklists unless
14622 --force was set.
14623
14624 2009-05-04 martin f. krafft <madduck@madduck.net>
14625
14626 * disk/raid.c (grub_raid_scan_device): Improve debug message.
14627
14628 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 Updated copyright year
14631
14632 * fs/hfsplus.c: updated copyright year
14633
14634 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 HFS+ UUID
14637
14638 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
14639 in the space previously used by unused3
14640 (grub_hfsplus_uuid): new function
14641 (grub_hfsplus_fs): added uuid field
14642
14643 2009-05-03 Pavel Roskin <proski@gnu.org>
14644
14645 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
14646 suppress warnings. It's no longer needed.
14647 * disk/host.c: Likewise.
14648 * disk/ata_pthru.c: Likewise.
14649 * disk/loopback.c: Likewise.
14650 * hook/datehook.c: Likewise.
14651 * parttool/pcpart.c: Likewise.
14652 * fs/i386/pc/pxe.c: Likewise.
14653 * fs/ntfscomp.c: Likewise.
14654 * efiemu/main.c: Likewise.
14655 * mmap/mmap.c: Likewise.
14656 * commands/crc.c: Likewise.
14657 * commands/hexdump.c: Likewise.
14658 * commands/hdparm.c: Likewise.
14659 * commands/acpi.c: Likewise.
14660 * commands/echo.c: Likewise.
14661 * commands/minicmd.c: Likewise.
14662 * commands/blocklist.c: Likewise.
14663 * commands/memrw.c: Likewise.
14664 * commands/loadenv.c: Likewise.
14665 * commands/usbtest.c: Likewise.
14666 * commands/lsmmap.c: Likewise.
14667 * commands/boot.c: Likewise.
14668 * commands/parttool.c: Likewise.
14669 * commands/configfile.c: Likewise.
14670 * commands/search.c: Likewise.
14671 * commands/ieee1275/suspend.c: Likewise.
14672 * commands/cat.c: Likewise.
14673 * commands/i386/pc/pxecmd.c: Likewise.
14674 * commands/i386/pc/play.c: Likewise.
14675 * commands/i386/pc/halt.c: Likewise.
14676 * commands/i386/pc/vbeinfo.c: Likewise.
14677 * commands/i386/pc/vbetest.c: Likewise.
14678 * commands/lspci.c: Likewise.
14679 * commands/date.c: Likewise.
14680 * commands/handler.c: Likewise.
14681 * commands/ls.c: Likewise.
14682 * commands/test.c: Likewise.
14683 * commands/cmp.c: Likewise.
14684 * commands/efi/loadbios.c: Likewise.
14685 * commands/efi/fixvideo.c: Likewise.
14686 * commands/halt.c: Likewise.
14687 * commands/help.c: Likewise.
14688 * commands/reboot.c: Likewise.
14689 * hello/hello.c: Likewise.
14690 * script/sh/main.c: Likewise.
14691 * loader/xnu.c: Likewise.
14692 * term/terminfo.c: Likewise.
14693 * term/i386/pc/serial.c: Likewise.
14694 * term/usb_keyboard.c: Likewise.
14695
14696 2009-05-03 David S. Miller <davem@davemloft.net>
14697
14698 * normal/menu.c: Include grub/parser.h
14699
14700 2009-05-03 Pavel Roskin <proski@gnu.org>
14701
14702 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
14703 not char*.
14704 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
14705 Suggested by Javier Martín <lordhabbit@gmail.com>
14706
14707 * util/i386/pc/grub-mkrescue.in: Allow for the case when
14708 efiemu??.o doesn't exist.
14709 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
14710 copying.
14711
14712 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
14713
14714 FreeBSD 64-bit support
14715
14716 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
14717 and loader/i386/bsd_trampoline.S
14718 (bsd_mod_ASFLAGS): new variable
14719 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
14720 (FREEBSD_MODTYPE_KERNEL64): likewise
14721 (grub_bsd64_trampoline_start): likewise
14722 (grub_bsd64_trampoline_end): likewise
14723 (grub_bsd64_trampoline_selfjump): likewise
14724 (grub_bsd64_trampoline_gdt): likewise
14725 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
14726 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
14727 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
14728 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
14729 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
14730 of "attrib" member
14731 * loader/i386/bsd_pagetable.c: new file
14732 * loader/i386/bsd_trampoline.S: likewise
14733 * loader/i386/bsd.c (ALIGN_QWORD): new macro
14734 (ALIGN_VAR): likewise
14735 (entry_hi): new variable
14736 (kern_end_mdofs): likewise
14737 (is_64bit): likewise
14738 (grub_freebsd_add_meta): use ALIGN_VAR
14739 (grub_e820_mmap): new declaration
14740 (grub_freebsd_add_mmap): new function
14741 (grub_freebsd_add_meta_module): support 64 bit kernels
14742 (grub_freebsd_list_modules): use ALIGN_VAR
14743 (gdt_descriptor): new declaration
14744 (grub_freebsd_boot): support 64 bit kernels
14745 (grub_bsd_elf64_hook): new function
14746 (grub_bsd_load_elf): support elf64
14747
14748 2009-05-03 Bean <bean123ch@gmail.com>
14749
14750 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
14751 after we get the result of if statement.
14752
14753 2009-05-03 Bean <bean123ch@gmail.com>
14754
14755 * Makefile.in (enable_efiemu): New variable.
14756
14757 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
14758 set.
14759 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
14760 path.
14761 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
14762 path, add -mno-red-zone option.
14763 (efiemu64_s.o): Likewise.
14764 (efiemu64.o): Use macro $^ for source file.
14765
14766 * configure.ac (--enable-efiemu): New option.
14767
14768 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 xnu support
14771
14772 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
14773 (pkglib_MODULES): add xnu.mod
14774 (xnu_mod_SOURCES): new variable
14775 (xnu_mod_CFLAGS): likewise
14776 (xnu_mod_LDFLAGS): likewise
14777 (xnu_mod_ASFLAGS): likewise
14778 * conf/i386-pc.rmk: likewise
14779 * conf/x86_64-efi.rmk: likewise
14780 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
14781 new declaration
14782 * include/grub/i386/macho.h: new file
14783 * include/grub/i386/xnu.h: likewise
14784 * include/grub/macho.h: likewise
14785 * include/grub/machoload.h: likewise
14786 * include/grub/x86_64/macho.h: likewise
14787 * include/grub/x86_64/xnu.h: likewise
14788 * include/grub/xnu.h: likewise
14789 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
14790 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
14791 * loader/i386/efi/xnu.c: new file
14792 * loader/i386/pc/xnu.c: likewise
14793 * loader/i386/xnu.c: likewise
14794 * loader/i386/xnu_helper.S: likewise
14795 * loader/macho.c: likewise
14796 * loader/xnu.c: likewise
14797 * loader/xnu_resume.c: likewise
14798 * util/grub-dumpdevtree: likewise
14799 * include/grub/i386/pit.h: include grub/err.h
14800 (grub_pit_wait): export
14801 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
14802
14803 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
14804
14805 Efiemu
14806
14807 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
14808 _linux_efi, linux_efi.
14809 new files in grub-emu
14810 new targets efiemu32.o and efiemu64.o
14811 * loader/linux_normal_efiemu.c: likewise
14812 * loader/i386/efi/linux.c: added preliminary efiemu support
14813 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
14814 files to copy
14815 * include/grub/autoefi.h: new file
14816 * include/grub/i386/efiemu.h: likewise
14817 * include/grub/i386/pc/efiemu.h: likewise
14818 * include/grub/efi/api.h: add LL suffix when necessary
14819 new definitions relating to tables
14820 * include/grub/efiemu/efiemu.h: new file
14821 * include/grub/efiemu/runtime.h: likewise
14822 * efiemu/prepare.c: likewise
14823 * efiemu/loadcore_common.c: likewise
14824 * efiemu/loadcore64.c: likewise
14825 * efiemu/runtime/efiemu.sh: likewise
14826 * efiemu/runtime/efiemu.S: likewise
14827 * efiemu/runtime/efiemu.c: likewise
14828 * efiemu/runtime/config.h: likewise
14829 * efiemu/prepare32.c: likewise
14830 * efiemu/main.c: likewise
14831 * efiemu/modules/pnvram.c: likewise
14832 * efiemu/modules/i386: likewise
14833 * efiemu/modules/i386/pc: likewise
14834 * efiemu/modules/acpi.c: likewise
14835 * efiemu/i386/pc/cfgtables.c: likewise
14836 * efiemu/i386/loadcore64.c: likewise
14837 * efiemu/i386/loadcore32.c: likewise
14838 * efiemu/prepare64.c: likewise
14839 * efiemu/loadcore.c: likewise
14840 * efiemu/symbols.c: likewise
14841 * efiemu/mm.c: likewise
14842 * efiemu/loadcore32.c: likewise
14843
14844 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
14845
14846 ACPI spoofing
14847
14848 * commands/acpi.c: new file
14849 * commands/i386/pc/acpi.c: likewise
14850 * commands/efi/acpi.c: likewise
14851 * include/grub/acpi.h: likewise
14852 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
14853 (acpi_mod_SOURCES): new variable
14854 (acpi_mod_CFLAGS): likewise
14855 (acpi_mod_LDFLAGS): likewise
14856 * conf/i386-efi.rmk: likewise
14857 * conf/x86_64-efi.rmk: likewise
14858
14859 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
14860
14861 Missing part from mmap patch
14862
14863 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
14864 (grub_mmap_unregister)
14865 (grub_mmap_free_and_unregister): use grub_mmap_register
14866
14867 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
14868
14869 Mmap services
14870
14871 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
14872 * loader/i386/linux.c (find_mmap_size): likewise
14873 (allocate_pages): likewise
14874 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
14875 (grub_fill_multiboot_mmap): likewise
14876 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
14877 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
14878 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
14879 (OPENBSD_MMAP_RESERVED): likewise
14880 * include/grub/i386/pc/memory.h: include grub/memory.h
14881 (grub_lower_mem): removed
14882 (grub_upper_mem): likewise
14883 (GRUB_MACHINE_MEMORY_ACPI): new definition
14884 (GRUB_MACHINE_MEMORY_NVS): likewise
14885 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
14886 (GRUB_MACHINE_MEMORY_HOLE): likewise
14887 (grub_machine_mmap_register): likewise
14888 (grub_machine_mmap_unregister): likewise
14889 (grub_machine_get_upper): likewise
14890 (grub_machine_get_lower): likewise
14891 (grub_machine_get_post64): likewise
14892 * include/grub/i386/efi/memory.h: new file
14893 * include/grub/x86_64/efi/memory.h: likewise
14894 * include/grub/efi/memory.h: likewise
14895 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
14896 (mmap_mod_SOURCES): new variable
14897 (mmap_mod_LDFLAGS): likewise
14898 (mmap_mod_ASFLAGS): likewise
14899 * conf/i386-coreboot.rmk: likewise
14900 * conf/i386-ieee1275.rmk: likewise
14901 * conf/i386-efi.rmk: likewise
14902 * conf/x86_64-efi.rmk: likewise
14903 * include/grub/types.h (UINT_TO_PTR): new macro
14904 (PTR_TO_UINT32): likewise
14905 (PTR_TO_UINT64): likewise
14906 * include/grub/memory.h: new file
14907 * mmap/i386/pc/mmap.c: likewise
14908 * mmap/i386/pc/mmap_helper.S: likewise
14909 * mmap/i386/uppermem.c: likewise
14910 * mmap/mmap.c: likewise
14911 * mmap/efi/mmap.c: likewise
14912 * kern/i386/coreboot/init.c (grub_machine_init): don't use
14913 grub_upper_mem
14914 * kern/i386/pc/init.c (grub_lower_mem): removed variable
14915 (grub_upper_mem): likewise
14916 (grub_machine_init): don't use grub_upper_mem,
14917 make grub_lower_mem local
14918 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
14919 grub_mmap_iterate and grub_mmap_get_upper
14920 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
14921
14922 2009-05-02 Bean <bean123ch@gmail.com>
14923
14924 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
14925 script/sh/parser.y.
14926 (pkglib_MODULES): Add normal.mod and sh.mod.
14927 (normal_SOURCES): New variable.
14928 (normal_mod_CFLAGS): Likewise.
14929 (normal_mod_LDFLAGS): Likewise.
14930 (sh_mod_SOURCES): Likewise.
14931 (sh_mod_CFLAGS): Likewise.
14932 (sh_mod_LDFLAGS): Likewise.
14933
14934 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
14935 script/sh/lexer.c_DEPENDENCIES.
14936 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
14937 kern/rescue_reader.c and kern/rescue_parser.c.
14938 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
14939 (grub_emu_SOURCES): Change source files.
14940 (pkglib_MODULES): Remove normal.mod.
14941 (normal_SOURCES): Removed.
14942 (normal_mod_CFLAGS): Likewise.
14943 (normal_mod_LDFLAGS): Likewise.
14944 * conf/i386-coreboot.rmk: Likewise.
14945 * conf/i386-efi.rmk: Likewise.
14946 * conf/i386-ieee1276.rmk: Likewise.
14947 * conf/powerpc-ieee1275.rmk: Likewise.
14948 * conf/sparc64-ieee1275.rmk: Likewise.
14949 * conf/x86_64-efi.rmk: Likewise.
14950
14951 * include/grub/command.h (grub_command_execute): New inline function.
14952
14953 * include/grub/menu.h (grub_menu_entry): Removed commands field.
14954
14955 * include/grub/normal.h: Remove <grub/setjmp.h>.
14956 (grub_fs_module_list): Moved to normal/autofs.c.
14957 (grub_exit_env): Removed.
14958 (grub_command_execute): Likewise.
14959 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
14960 parameter script.
14961 (read_command_list): New function declaration.
14962 (read_fs_list): Likewise.
14963
14964 * include/parser.h: Include <grub/reader.h>.
14965 (grub_parser_split_cmdline): Change type of getline parameter.
14966 (grub_parser): New structure.
14967 (grub_parser_class): New variable.
14968 (grub_parser_execute): New function declaration.
14969 (grub_register_rescue_parser): Likewise.
14970 (grub_parser_register): New inline function.
14971 (grub_parser_unregister): Likewise.
14972 (grub_parser_get_current): Likewise.
14973 (grub_parser_set_current): Likewise.
14974
14975 * include/grub/reader.h: New file.
14976 * kern/reader.c: Likewise.
14977 * kern/rescue_parser.c: Likewise.
14978 * kern/rescue_reader.c: Likewise.
14979 * normal/autofs.c: Likewise.
14980 * normal/dyncmd.c: Likewise.
14981
14982 * include/grub/rescue.h: Removed.
14983 * normal/command.h: Likewise.
14984
14985 * include/grub/script.h: Moved to ...
14986 * include/grub/script_sh.h: ... Moved here.
14987 * normal/execute.c: Moved to ...
14988 * script/sh/execute.c: ... Moved here.
14989 * normal/function.c: Moved to ...
14990 * script/sh/function.c: ... Moved here.
14991 * normal/lexer.c: Moved to ...
14992 * script/sh/lexer.c: ... Moved here.
14993 * normal/parser.y: Moved to ...
14994 * script/sh/parser.y: ... Moved here.
14995 * normal/script.c: Moved to ...
14996 * script/sh/script.c: ... Moved here.
14997
14998 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
14999 <grub/reader.h>.
15000 (grub_exit_env): Removed.
15001 (fs_module_list): Moved to normal/autofs.c.
15002 (grub_file_getline): Don't handle comment here.
15003 (free_menu): Skip removed field entry->commands.
15004 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
15005 script parameter.
15006 (read_config_file): Removed nested parameter, change getline function.
15007 (grub_enter_normal_mode): Removed.
15008 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
15009 (read_command_list): Likewise.
15010 (autoload_fs_module): Moved to normal/autofs.c.
15011 (read_fs_list): Likewise.
15012 (reader_nested): New variable.
15013 (grub_normal_execute): Run parser.sh to switch to sh parser.
15014 (grub_cmd_rescue): Removed.
15015 (cmd_normal): Removed.
15016 (grub_cmd_normal): Unregister itself at the beginning. Don't register
15017 rescue command.
15018 (grub_cmdline_run): New function.
15019 (grub_normal_reader_init): Likewise.
15020 (grub_normal_read_line): Likewise.
15021 (grub_env_write_pager): Likewise.
15022 (cmdline): New variable.
15023 (grub_normal_reader): Likewise.
15024 (GRUB_MOD_INIT): Register normal reader and set as current, register
15025 pager hook, register normal command with grub_register_command_prio,
15026 so that it won't show up in command.lst.
15027 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
15028 grub_fs_autoload_hook.
15029
15030 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
15031 (grub_menu_execute_entry): Replace grub_script_execute with
15032 grub_parser_execute, change parameter to grub_command_execute.
15033
15034 * normal/menu_text.c: Remove <grub/script.h>.
15035
15036 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
15037 and <grub/parser.h>.
15038 (run): Change editor_getline to use new parser interface. Change
15039 parameter to grub_command_execute.
15040
15041 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
15042 <grub/reader.h> and <grub/parser.h>.
15043 (grub_load_normal_mode): Execute normal command.
15044 (grub_main): Call grub_register_core_commands,
15045 grub_register_rescue_parser and grub_register_rescue_reader, use
15046 grub_reader_loop to enter input loop.
15047
15048 * kern/parser.c (grub_parser_split_cmdline): Change type of
15049 getline parameter.
15050 (grub_parser_class): New variable.
15051 (grub_parser_execute): New function.
15052
15053 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
15054 * loader/multiboot2.c: Likewise.
15055 * loader/sparc64/ieee1275/linux.c: Likewise.
15056
15057 * util/grub-emu.c (read_command_list): New dummy function.
15058
15059 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
15060
15061 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
15062 count to 16 for CCISS and IDA.
15063
15064 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
15065
15066 * normal/menu_text.c (grub_wait_after_message): Print a newline
15067 after waiting for user input.
15068
15069 * loader/i386/linux.c: Include `<grub/normal.h>'.
15070 (grub_cmd_linux): Improve the error message about `ask' mode, by
15071 waiting for user input so it's not missed (we can do this, since
15072 user requested interaction).
15073
15074 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
15075
15076 Added missing lst to grub-mkrescue
15077
15078 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
15079 and ${input_dir}/parttool.lst
15080
15081 2009-04-30 David S. Miller <davem@davemloft.net>
15082
15083 * util/hostdisk.c (device_is_wholedisk): New function.
15084 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
15085 zero only if device_is_wholedisk() returns true.
15086
15087 * util/hostdisk.c (convert_system_partition_to_system_disk):
15088 Handle virtual disk devices named /dev/vdiskX as found on sparc
15089 and powerpc.
15090
15091 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
15092 lettered partition specifier is found, convert to numbered.
15093
15094 2009-04-29 David S. Miller <davem@davemloft.net>
15095
15096 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
15097 * include/grub/sparc64/ieee1275/memory.h: Likewise.
15098
15099 * normal/command.c: Add missing newline at end of file.
15100
15101 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
15102 warnings.
15103 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
15104 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
15105 grub_ofdisk_read): Likewise, and deal similarly with the fact that
15106 ihandles have a 32-bit type but need to be stored in a "void *".
15107
15108 2009-04-28 Pavel Roskin <proski@gnu.org>
15109
15110 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
15111 not disk. Adjust all dependencies.
15112 (grub_fs_uuid_close): Use grub_device_close(), not
15113 grub_disk_close().
15114
15115 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
15116 parent's partition, don't copy it by reference, as it gets freed
15117 on close.
15118
15119 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 Preboot hooks support
15122
15123 * commands/boot.c (struct grub_preboot_t): new declaration
15124 (preboots_head): new variable
15125 (preboots_tail): likewise
15126 (grub_loader_register_preboot_hook): new function
15127 (grub_loader_unregister_preboot_hook): likewise
15128 (grub_loader_set): launch preboot hooks
15129 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
15130 (grub_loader_register_preboot_hook): new declaration
15131 (grub_loader_unregister_preboot_hook): likewise
15132
15133 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15134
15135 Warning fix
15136
15137 * disk/scsi.c (grub_scsi_open): added missing cast when
15138 calling grub_dprintf
15139
15140 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
15141
15142 Bug and warning fixes
15143
15144 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
15145 declaration
15146 * commands/test.c (test_parse): fixed bug with file tests and corrected
15147 declaration of find_file
15148
15149 2009-04-26 Pavel Roskin <proski@gnu.org>
15150
15151 * Makefile.in: Don't install empty manual pages if help2man is
15152 missing. Use help2man option for output, not shell redirection.
15153
15154 2009-04-26 David S. Miller <davem@davemloft.net>
15155
15156 * util/grub-mkdevicemap.c (make_device_map): Add missing
15157 NESTED_FUNC_ATTR to process_device().
15158
15159 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 Test command
15162
15163 * commands/test.c: rewritten to use bash-like test
15164
15165 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 Parttool autoloading and improvements
15168
15169 * Makefile.in (pkglib_DATA): add parttool.lst
15170 (parttool.lst): new target
15171 * genmk.rb: generate parttool-*
15172 (CLEANFILES): add #{parttool}
15173 (PARTTOOLFILES): new variable
15174 * genparttoollist.sh: new file
15175 * parttool/pcpart.c (grub_pcpart_boot): more feedback
15176 (grub_pcpart_type): likewise
15177 * commands/parttool.c (helpmsg): new variable
15178 (grub_cmd_parttool): output help if not enough arguments are supplied
15179 autoload modules
15180 (GRUB_MOD_INIT(parttool)): use helpmsg
15181
15182 2009-04-24 David S. Miller <davem@davemloft.net>
15183
15184 Avoiding opening same device multiple times in device iterator.
15185
15186 * kern/device.c: (grub_device_iterate): Define struct part_ent,
15187 and use it to build a list of partitions in iterate_disk() and
15188 iterate_partition().
15189
15190 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
15191 on disk->data.
15192
15193 * disk/ieee1275/nand.c (grub_nand_iterate): Return
15194 grub_devalias_iterate() result instead of unconditional 0.
15195 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
15196 Also, capture hook return value, either directly or via
15197 grub_children_iterate(), and propagate to caller.
15198 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
15199 grub_children_iterate): Return value is now 'int' instead of
15200 'grub_err_t'.
15201 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
15202 like a proper iterator, stopping when hooks return non-zero.
15203 (grub_devalias_iterate): Likewise.
15204
15205 2009-04-23 David S. Miller <davem@davemloft.net>
15206
15207 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
15208
15209 2009-04-22 David S. Miller <davem@davemloft.net>
15210
15211 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
15212 is larger than address_cells, use that value for address_cells too.
15213
15214 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
15215 IEEE1275_MAX_PATH_LEN): Define.
15216 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
15217 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
15218 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
15219 'devtype'. Explicitly NULL terminate devalias expansion.
15220
15221 * util/sparc64/ieee1275/misc.c: New file.
15222 * util/sparc64/ieee1275/grub-setup.c: New file.
15223 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
15224 * util/sparc64/ieee1275/grub-mkimage.c: New file.
15225 * util/sparc64/ieee1275/grub-install.in: New file.
15226 * util/ieee1275/ofpath.c: New file.
15227 * util/ieee1275/devicemap.c: New file.
15228 * util/devicemap.c: New file.
15229 * util/deviceiter.c: New file.
15230 * kern/sparc64/ieee1275/init.c: New file.
15231 * include/grub/util/ofpath.h: New file.
15232 * include/grub/util/deviceiter.h: New file.
15233 * util/grub-mkdevicemap.c: Include deviceiter.h.
15234 Implement using grub_util_emit_devicemap_entry and
15235 grub_util_iterate_devices.
15236 * conf/i386-corebook.rmk: Build util/deviceiter.c and
15237 util/devicemap.c into grub-mkdevicemap
15238 * conf/i386-efi.rmk: Likewise.
15239 * conf/i386-ieee1275.rmk: Likewise.
15240 * conf/i386-pc.rmk: Likewise.
15241 * conf/powerpc-ieee1275.rmk: Likewise.
15242 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
15243 images and installation utilities. Build kernel as image
15244 instead of as elf binary. Use common rules as much as possible.
15245
15246 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 Correct GPT definition
15249
15250 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
15251 of "attrib" member
15252
15253 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
15254
15255 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
15256
15257 2009-04-19 David S. Miller <davem@davemloft.net>
15258
15259 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
15260 (grub_rescue_cmd_linux): Rename to...
15261 (grub_cmd_linux): and fix prototype.
15262 (grub_rescue_cmd_initrd): Rename to...
15263 (grub_cmd_initrd): and fix prototype.
15264 (cmd_linux, cmd_initrd): New.
15265 (GRUB_MOD_INIT(linux)): Use grub_register_command().
15266 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
15267
15268 2009-04-17 Pavel Roskin <proski@gnu.org>
15269
15270 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
15271 format.
15272 (grub_ohci_transfer): Likewise.
15273
15274 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
15275
15276 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
15277 return without a value. Fix inconsistent indentation.
15278
15279 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
15280 match struct grub_fs.
15281
15282 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
15283 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
15284 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15285 * commands/lspci.c (grub_lspci_iter): Likewise.
15286
15287 2009-04-16 Bean <bean123ch@gmail.com>
15288
15289 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
15290 value.
15291
15292 2009-04-15 Pavel Roskin <proski@gnu.org>
15293
15294 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
15295 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
15296 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
15297 definitions.
15298
15299 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
15300
15301 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
15302 that no multiple data or metadata areas are supported and `Unknown
15303 metadata header'.
15304
15305 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
15306
15307 Move loader out of the kernel
15308
15309 * kern/loader.c: moved to ...
15310 * commands/boot.c: ... moved here
15311 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
15312 * commands/boot.c (grub_cmd_boot): moved here. All users updated
15313 * include/grub/kernel.h (grub_machine_fini): export
15314 * include/grub/loader.h (grub_loader_is_loaded): update declaration
15315 (grub_loader_set): likewise
15316 (grub_loader_unset): likewise
15317 (grub_loader_boot): likewise
15318 * conf/common.rmk: new module boot.mod
15319 (pkglib_MODULES): add boot.mod
15320 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
15321 (grub_emu_SOURCES): likewise
15322 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
15323 (grub_emu_SOURCES): likewise
15324 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
15325 (grub_emu_SOURCES): likewise
15326 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
15327 (grub_emu_SOURCES): likewise
15328 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
15329 (grub_emu_SOURCES): likewise
15330 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
15331 (grub_emu_SOURCES): likewise
15332 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
15333 (grub_emu_SOURCES): likewise
15334
15335 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
15336
15337 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
15338
15339 * kern/misc.c (grub_itoa): Removed function
15340 (grub_ltoa): likewise
15341 (grub_vsprintf): use grub_lltoa
15342
15343 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 Restore grub-emu
15346
15347 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
15348 * conf/i386-coreboot.rmk: likewise
15349 * conf/i386-ieee1275.rmk: likewise
15350 * conf/powerpc-ieee1275.rmk: likewise
15351
15352 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
15353
15354 * INSTALL: Add that `./autogen.sh' needs to be run before
15355 `./configure.'.
15356
15357 2009-04-14 Bean <bean123ch@gmail.com>
15358
15359 * Makefile.in (pkglib_DATA): Add handler.lst.
15360 (handler.lst): New rule.
15361
15362 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
15363 * conf/i386-coreboot.rmk: Likewise.
15364 * conf/i386-ieee1275.rmk: Likewise.
15365 * conf/i386-efi.rmk: Likewise.
15366 * conf/x86_64-efi.rmk: Likewise.
15367 * conf/powerpc-ieee1275.rmk: Likewise.
15368 * conf/sparc64-ieee1275.rmk: Likewise.
15369
15370 * genhandlerlist.sh: New file.
15371
15372 * genmk.rb: Add rules to generate handler.lst.
15373
15374 * include/grub/normal.h (grub_file_getline): New function definition.
15375 (read_handler_list): Likewise.
15376 (free_handler_list): Likewise.
15377
15378 * include/grub/term.h (grub_term_register_input): Add name parameter
15379 for auto generation of handler.lst.
15380 (grub_term_register_output): Likewise.
15381
15382 * normal/handler.c: New file.
15383
15384 * normal/main.c (get_line): Renamed to grub_file_getline.
15385 (read_config_file): Use the newly renamed grub_file_getline.
15386 (read_command_list): Likewise.
15387 (read_fs_list): Likewise.
15388 (grub_normal_execute): Call read_handler_list to parse handler.lst.
15389 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
15390
15391 * term/efi/console.c (grub_console_init): Add name parameter for auto
15392 generation of handler.lst.
15393 * term/gfxterm.c: Likewise.
15394 * term/i386/pc/at_keyboard.c: Likewise.
15395 * term/i386/pc/console.c: Likewise.
15396 * term/i386/pc/serial.c: Likewise.
15397 * term/i386/pc/vesafb.c: Likewise.
15398 * term/i386/pc/vga.c: Likewise.
15399 * term/i386/pc/vga_text.c: Likewise.
15400 * term/ieee1275/ofconsole.c: Likewise.
15401 * term/usb_keyboard.c: Likewise.
15402
15403 2009-04-14 Bean <bean123ch@gmail.com>
15404
15405 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
15406 properly with null character.
15407
15408 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
15409
15410 * configure: Remove.
15411 * config.h.in: Likewise.
15412 * stamp-h.in: Likewise.
15413 * DISTLIST: Likewise.
15414 * conf/common.mk: Likewise.
15415 * conf/i386-coreboot.mk: Likewise.
15416 * conf/i386-efi.mk: Likewise.
15417 * conf/i386-ieee1275.mk: Likewise.
15418 * conf/i386.mk: Likewise.
15419 * conf/i386-pc.mk: Likewise.
15420 * conf/powerpc-ieee1275.mk: Likewise.
15421 * conf/sparc64-ieee1275.mk: Likewise.
15422 * conf/x86_64-efi.mk: Likewise.
15423
15424 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
15425 develop on GRUB.
15426
15427 2009-04-14 John Stanley <jpsinthemix@verizon.net>
15428 David S. Miller <davem@davemloft.net>
15429
15430 * util/hostdisk.c (make_device_name): Fix buffer length
15431 calculations.
15432
15433 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
15434
15435 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
15436 <sys/param.h> and <sys/sysctl.h>.
15437 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
15438 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
15439 opening the device and reset them afterwards.
15440
15441 2009-04-13 Pavel Roskin <proski@gnu.org>
15442
15443 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
15444 Reported by John Stanley <jpsinthemix@verizon.net>
15445
15446 2009-04-13 Robert Millan <rmh@aybabtu.com>
15447
15448 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
15449 that name for menuentries when appropriate.
15450
15451 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
15452
15453 * util/grub.d/10_freebsd.in: Add a missing `fi'.
15454
15455 2009-04-13 Robert Millan <rmh@aybabtu.com>
15456
15457 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
15458 to Linux, simply abort telling the user it's no longer supported.
15459
15460 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
15461
15462 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
15463 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
15464 `freebsd_loadenv' only when devices.hints exist.
15465
15466 2009-04-13 Pavel Roskin <proski@gnu.org>
15467
15468 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
15469
15470 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
15471
15472 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
15473 partition number.
15474 (grub_drive): Likewise.
15475
15476 2009-04-13 David S. Miller <davem@davemloft.net>
15477
15478 * kern/sparc64/ieee1275/ieee1275.c: New file.
15479 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
15480 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
15481 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
15482 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
15483 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
15484 grub_ieee1275_alloc_physmem): Declare new exported functions.
15485
15486 * include/grub/sparc64/ieee1275/loader.h: New file.
15487 * include/grub/sparc64/ieee1275/memory.h: Likewise.
15488 * include/grub/sparc64/kernel.h: Likewise.
15489 * loader/sparc64/ieee1275/linux.c: Likewise.
15490
15491 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
15492 (grub_fstest_SOURCES): Likewise.
15493
15494 * util/hostdisk.c (make_device_name): Do not make any assumptions
15495 about the length of drive names.
15496
15497 * kern/dl.c (grub_dl_load_file): Close file immediately when
15498 we are done using it.
15499
15500 2009-04-12 David S. Miller <davem@davemloft.net>
15501
15502 * kern/misc.c (grub_ltoa): Fix cast when handling negative
15503 values. Noticed by Pavel Roskin.
15504
15505 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
15506 target compiler.
15507
15508 * genmk.rb: Add more flexible image type specification, also
15509 pass --strip-unneeded to objcopy.
15510 * conf/i386-pc.rmk: Use *_FORMAT.
15511 * conf/i386-pc.mk: Rebuilt.
15512
15513 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
15514 (OFDISK_HASH_SZ): Define.
15515 (ofdisk_hash): New hash table.
15516 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
15517 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
15518 instead of device phandle which is not unique.
15519
15520 * kern/sparc64/ieee1275/init.c: Delete, replace with...
15521 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
15522 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
15523 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
15524 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
15525 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
15526 GRUB_KERNEL_MACHINE_DATA_END): Define.
15527 (grub_kernel_image_size, grub_total_module_size): Declare.
15528
15529 2009-04-12 Pavel Roskin <proski@gnu.org>
15530
15531 * configure.ac: Change the logic when we check for target tools.
15532 Do it when the target is specified and it's different from the
15533 specified value of the host.
15534
15535 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
15536
15537 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
15538 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
15539 GNU/kFreeBSD. Check if a device is a character device. Use
15540 DIOCGMEDIASIZE to get the size.
15541 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
15542 support for GNU/kFreeBSD.
15543 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
15544 is a character device instead of a block device. Add support for
15545 FreeBSD device names.
15546
15547 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
15548 is a character device instead of a block device.
15549
15550 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
15551 is a character device instead of a block device.
15552
15553 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
15554
15555 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
15556 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
15557 FreeBSD. Check if a device is a character device. Use
15558 DIOCGMEDIASIZE to get the size.
15559 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
15560 support for FreeBSD.
15561 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
15562 is a character device instead of a block device. Add support for
15563 FreeBSD device names.
15564
15565 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
15566 a character device instead of a block device.
15567 (grub_util_check_char_device): New function.
15568
15569 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
15570 a character device instead of a block device.
15571
15572 * include/grub/util/getroot.h (grub_util_check_char_device): New
15573 prototype.
15574
15575 2009-04-11 David S. Miller <davem@davemloft.net>
15576
15577 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
15578 static libgcc.
15579 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
15580 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
15581 function, if present.
15582 (__bswapdi2): Likewise.
15583
15584 * include/grub/sparc64/ieee1275/boot.h: New file.
15585 * boot/sparc64/ieee1275/boot.S: Likewise.
15586 * boot/sparc64/ieee1275/diskboot.S: Likewise.
15587
15588 * kern/misc.c (grub_ltoa): New function.
15589 (grub_vsprintf): Use it to format 'long' integers.
15590
15591 2009-04-10 David S. Miller <davem@davemloft.net>
15592
15593 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
15594 slots are of type grub_ieee1275_cell_t.
15595 (grub_nand_read): Likewise.
15596 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
15597 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
15598 macros are used to compare values in arg/ret block of the call.
15599 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
15600 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
15601 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
15602 grub_ieee1275_instance_to_path, grub_ieee1275_write,
15603 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
15604 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
15605 grub_ieee1275_close, grub_ieee1275_set_property,
15606 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
15607 grub_ieee1275_cell_t.
15608 * kern/ieee1275/openfw.c (grub_map): Likewise.
15609 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
15610 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
15611
15612 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
15613 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
15614 (grub_devalias_iterate): Likewise.
15615
15616 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
15617
15618 UFS improvements
15619
15620 * fs/ufs.c (INODE_NBLOCKS): new definition
15621 (struct grub_ufs_dirent): added fields for non-BSD dirents
15622 (grub_ufs_get_file_block): fixed double indirect handling
15623 (grub_ufs_lookup_symlink): use more robust way to determine whether
15624 symlink is inline
15625 (grub_ufs_find_file): support for non-BSD dirents
15626 (grub_ufs_dir): support for non-BSD dirents
15627
15628 2009-04-10 Bean <bean123ch@gnail.com>
15629
15630 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
15631 attribute, otherwise the size would be wrong for i386 platform.
15632
15633 * include/grub/pci.h (grub_pci_read_word): New inline function.
15634 (grub_pci_read_byte): Likewise.
15635 (grub_pci_write): Likewise.
15636 (grub_pci_write_word): Likewise.
15637 (grub_pci_write_byte): Likewise.
15638
15639 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
15640
15641 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
15642 (find_framebuf): Scan pci to locate the frame buffer address.
15643
15644 * commands/efi/fixvideo.c: New file.
15645
15646 * commands/efi/loadbios.c: Likewise.
15647
15648 * commands/memrw.c: Likewise.
15649
15650 * util/grub-dumpbios.in: Likewise.
15651
15652 * conf/common.rmk (grub-dumpbios): New utility.
15653 (pkglib_MODULES): New module memrw.mod.
15654 (memrw_mod_SOURCE): New macro.
15655 (memrw_mod_CFLAGS): Likewise.
15656 (memrw_mod_LDFLAGS): Likewise.
15657
15658 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
15659 fixvideo.mod.
15660 (loadbios_mod_SOURCE): New macro.
15661 (loadbios_mod_CFLAGS): Likewise.
15662 (loadbios_mod_LDFLAGS): Likewise.
15663 (fixvideo_mod_SOURCE): Likewise.
15664 (fixvideo_mod_CFLAGS): Likewise.
15665 (fixvideo_mod_LDFLAGS): Likewise.
15666
15667 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
15668 fixvideo.mod.
15669 (loadbios_mod_SOURCE): New macro.
15670 (loadbios_mod_CFLAGS): Likewise.
15671 (loadbios_mod_LDFLAGS): Likewise.
15672 (fixvideo_mod_SOURCE): Likewise.
15673 (fixvideo_mod_CFLAGS): Likewise.
15674 (fixvideo_mod_LDFLAGS): Likewise.
15675
15676 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
15677
15678 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
15679
15680 2009-04-07 David S. Miller <davem@davemloft.net>
15681
15682 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
15683 support for R_SPARC_OLO10 relocations. Fix compile warning for
15684 R_SPARC_WDISP30 case.
15685 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
15686
15687 2009-04-06 Pavel Roskin <proski@gnu.org>
15688
15689 * include/grub/misc.h (ARRAY_SIZE): New macro.
15690 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
15691 New macro.
15692 * loader/i386/linux.c (allocate_pages): Use free_pages().
15693 (grub_linux_unload): Don't use free_pages().
15694 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
15695 wrong index. Treat all other modes as text modes.
15696 (grub_cmd_linux): Initialize vid_mode unconditionally to
15697 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
15698
15699 * commands/help.c (print_command_help): Use cmd->prio, not
15700 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
15701
15702 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 Parttool
15705
15706 * parttool/pcpart.c: new file
15707 * commands/parttool.c: likewise
15708 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
15709 (parttool_mod_SOURCES): new variable
15710 (parttool_mod_CFLAGS): likewise
15711 (parttool_mod_LDFLAGS): likewise
15712 (pcpart_mod_SOURCES): likewise
15713 (pcpart_mod_CFLAGS): likewise
15714 (pcpart_mod_LDFLAGS): likewise
15715 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
15716 and parttool/pcpart.c
15717 * conf/i386-efi.rmk: likewise
15718 * conf/i386-ieee1275.rmk: likewise
15719 * conf/i386-pc.rmk: likewise
15720 * conf/powerpc-ieee1275.rmk: likewise
15721 * conf/sparc64-ieee1275.rmk: likewise
15722 * conf/x86_64-ieee1275.rmk: likewise
15723
15724 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15725
15726 Support for mtime and further expandability of dir command
15727
15728 * include/grub/lib/datetime.h: moved to ...
15729 * include/grub/datetime.h: ... moved here and added
15730 declaration of grub_unixtime2datetime. All users updated
15731 * include/grub/fs.h: new syntax for dir and mtime functions in
15732 struct grub_fs
15733 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
15734 and GRUB_FSHELP_FLAGS_MASK
15735 * commands/ls.c (grub_ls_list_files): Write mtime in long format
15736 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
15737 (grub_ext2_mtime): new function
15738 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
15739 (grub_hfsplus_mtime): new function
15740 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
15741 (GRUB_UFS_ATTR_FILE): likewise
15742 (GRUB_UFS_ATTR_LNK): likewise
15743 (struct grub_ufs_sblock): new fields mtime
15744 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
15745 all users updated
15746 (grub_ufs_dir): mtime support
15747 (grub_ufs_mtime): new function
15748 * fs/affs.c (grub_affs_dir): use new dir syntax
15749 * fs/afs.c (grub_afs_dir): likewise
15750 * fs/cpio.c (grub_cpio_dir): likewise
15751 * fs/fat.c (grub_fat_find_dir): likewise
15752 * fs/hfs.c (grub_hfs_dir): likewise
15753 * fs/iso9660.c (grub_iso9660_dir): likewise
15754 * fs/jfs.c (grub_jfs_dir): likewise
15755 * fs/minix.c (grub_minix_dir): likewise
15756 * fs/ntfs.c (grub_ntfs_dir): likewise
15757 * fs/reiserfs.c (grub_reiserfs_dir): likewise
15758 * fs/sfs.c (grub_sfs_dir): likewise
15759 * fs/xfs.c (grub_xfs_dir): likewise
15760 * util/hostfs.c (grub_hostfs_dir): likewise
15761 * lib/datetime.c: moved to ...
15762 * normal/datetime.c: ... moved here
15763 (grub_unixtime2datetime): new function
15764 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
15765 * normal/completion.c (iterate_dir): use new dir syntax
15766 * normal/misc.c (grub_normal_print_device_info): tell the
15767 last modification time of a volume
15768 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
15769 * conf/common.rmk: added lib/datetime.c to ls.mod
15770 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
15771 (normal_mod_SOURCES): likewise
15772 (datetime_mod_SOURCES): Removed lib/datetime.c
15773 * conf/i386-efi.rmk: likewise
15774 * conf/i386-ieee1275.rmk: likewise
15775 * conf/i386-pc.rmk: likewise
15776 * conf/powerpc-ieee1275.rmk: likewise
15777 * conf/sparc64-ieee1275.rmk: likewise
15778 * conf/x86_64-efi.rmk: likewise
15779
15780 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 Trim trailing spaces in FAT label and support mtools-like labels
15783
15784 * fs/fat.c (grub_fat_iterate_dir): New function based
15785 on grub_fat_find_dir
15786 (grub_fat_find_dir): use grub_fat_iterate_dir
15787 (grub_fat_label): likewise
15788
15789 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
15792 and command.h
15793 remove extraneous kernel_elf_HEADERS
15794
15795 2009-04-04 Bean <bean123ch@gnail.com>
15796
15797 * include/grub/util/misc.h: Add dummy function fsync for mingw.
15798
15799 * util/misc.c: Likewise.
15800
15801 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
15802
15803 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
15804 instead of grub_printf.
15805
15806 2009-04-03 Robert Millan <rmh@aybabtu.com>
15807
15808 * loader/i386/linux.c (grub_linux_setup_video): Fill
15809 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
15810 values from `mode info' structure instead of hardcoded
15811 values.
15812
15813 2009-04-01 Pavel Roskin <proski@gnu.org>
15814
15815 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
15816 unused now.
15817 * genmk.rb: Likewise.
15818 * configure.ac: Likewise.
15819
15820 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
15821
15822 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
15823 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
15824
15825 2009-04-01 David S. Miller <davem@davemloft.net>
15826
15827 * normal/sparc64/setjmp.S: Fix setjmp implementation.
15828 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
15829 (grub_setjmp): Mark with 'returns_twice' attribute.
15830 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
15831 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
15832 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
15833
15834 2009-04-01 Robert Millan <rmh@aybabtu.com>
15835
15836 Reapply fix from 2008-07-28 which was accidentally reverted; also
15837 perform the same fix to a similar check in same function.
15838
15839 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
15840 with the same number are found, just use issue a warning with
15841 grub_dprintf(), as this error has been reported to be non-fatal.
15842
15843 2009-03-31 Pavel Roskin <proski@gnu.org>
15844
15845 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
15846 for cross-compilation.
15847
15848 2009-03-30 Robert Millan <rmh@aybabtu.com>
15849
15850 Fix i386-ieee1275 build.
15851
15852 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
15853 Remove declaration.
15854
15855 2009-03-30 Pavel Roskin <proski@gnu.org>
15856
15857 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
15858 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
15859 zero-terminated, rely only on the strlen value. Fix comparison
15860 of strings differing in length.
15861
15862 2009-03-30 Robert Millan <rmh@aybabtu.com>
15863
15864 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
15865 checking for abi version. Improve error messages on BIOS to notify
15866 user about `linux16' command.
15867
15868 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 Leak fixes
15871
15872 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
15873 in case of collision
15874 * disk/scsi.c (grub_scsi_open): free scsi in case of error
15875
15876 2009-03-29 Robert Millan <rmh@aybabtu.com>
15877
15878 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
15879 set `vid_mode' accordingly.
15880 (grub_linux_boot): Process `vid_mode' and set video mode.
15881
15882 2009-03-29 Robert Millan <rmh@aybabtu.com>
15883
15884 * util/grub.d/10_linux.in (linux_entry): New function.
15885 Factorize generation of Linux boot entries.
15886
15887 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
15888
15889 Make the format of Environment Block plain text. The boot loader
15890 part is not tested well yet.
15891
15892 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
15893 (buffer): Removed.
15894 (envblk): Likewise.
15895 (usage): Remove "info" and "clear". Add "unset". Update the
15896 description of "set", as this does not delete variables any
15897 longer.
15898 (create_envblk_file): Complete rewrite.
15899 (open_envblk_file): Likewise.
15900 (cmd_info): Removed.
15901 (cmd_list): Likewise.
15902 (cmd_set): Likewise.
15903 (cmd_clear): Likewise.
15904 (list_variables): New function.
15905 (write_envblk): Likewise.
15906 (set_variables): Likewise.
15907 (unset_variables): Likewise.
15908 (main): Complete rewrite.
15909
15910 * commands/loadenv.c (buffer): Removed.
15911 (envblk): Likewise.
15912 (open_envblk_file): New function.
15913 (read_envblk_file): Complete rewrite.
15914 (grub_cmd_load_env): Likewise.
15915 (grub_cmd_list_env): Likewise.
15916 (struct blocklist): New struct.
15917 (free_blocklists): New function.
15918 (check_blocklists): Likewise.
15919 (write_blocklists): Likewise.
15920 (grub_cmd_save_env): Complete rewrite.
15921
15922 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
15923 a plain text signature.
15924 (GRUB_ENVBLK_MAXLEN): Removed.
15925 (struct grub_envblk): Complete rewrite.
15926 (grub_envblk_find): Removed.
15927 (grub_envblk_insert): Likewise.
15928 (grub_envblk_open): New prototype.
15929 (grub_envblk_set): Likewise.
15930 (grub_envblk_delete): Put const to VALUE.
15931 (grub_envblk_iterate): Put const to NAME and VALUE.
15932 (grub_envblk_close): New prototype.
15933 (grub_envblk_buffer): New inline function.
15934 (grub_envblk_size): Likewise.
15935
15936 * lib/envblk.c: Include grub/mm.h.
15937 (grub_env_find): Removed.
15938 (grub_envblk_open): New function.
15939 (grub_envblk_close): Likewise.
15940 (escaped_value_len): Likewise.
15941 (find_next_line): Likewise.
15942 (grub_envblk_insert): Removed.
15943 (grub_envblk_set): New function.
15944 (grub_envblk_delete): Complete rewrite.
15945 (grub_envblk_iterate): Likewise.
15946
15947 2009-03-28 Robert Millan <rmh@aybabtu.com>
15948
15949 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
15950 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
15951 variables. Use 16-bit loader.
15952 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
15953 loader.
15954 * kern/i386/loader.S (grub_linux_boot): Rename to ...
15955 (grub_linux16_boot): ... this. Update all users.
15956 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
15957 (grub_linux_boot): ... this. Update all users.
15958
15959 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
15960 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
15961 commands to `linux16' and `initrd16'.
15962 (GRUB_MOD_FINI(linux)): Rename to ...
15963 (GRUB_MOD_FINI(linux16)): ... this.
15964
15965 2009-03-24 Pavel Roskin <proski@gnu.org>
15966
15967 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
15968 not just for compilation.
15969
15970 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
15971
15972 Move multiboot helper out of kernel
15973
15974 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
15975 `loader/i386/multiboot_helper.S'.
15976 * conf/i386-coreboot.rmk: Likewise
15977 * conf/i386-ieee1275.rmk: Likewise
15978
15979 * kern/i386/loader.S: Move multiboot helpers from here...
15980 * loader/i386/multiboot_helper.S: ...moved here
15981 * include/grub/i386/loader.h: Move declarations of multiboot
15982 helpers from here...
15983 * include/grub/i386/multiboot.h: ...moved here
15984 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
15985
15986 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
15987
15988 * kern/env.c (grub_env_context_open): Added an argument to specify
15989 whether a new context inherits exported variables from current
15990 one. This is useful when making a sandbox to interpret a config
15991 file.
15992 All callers updated.
15993
15994 * include/grub/env.h (grub_env_context_open): Updated the prototype.
15995
15996 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
15997
15998 * kern/env.c (grub_env_context_close): Fix memory leaks.
15999
16000 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
16001
16002 * normal/main.c (grub_normal_execute): Added an argument
16003 BATCH to specify if an interactive interface should be provided
16004 after reading a config file.
16005 All callers updated.
16006 (read_command_list): Prevent being executed twice.
16007 (read_fs_list): Likewise.
16008
16009 * include/grub/normal.h (grub_normal_execute): Updated the
16010 prototype.
16011
16012 2009-03-22 Pavel Roskin <proski@gno.org>
16013
16014 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
16015 _start.
16016 * kern/i386/pc/startup.S: Likewise.
16017 * kern/i386/efi/startup.S: Likewise.
16018 * kern/i386/ieee1275/startup.S: Likewise.
16019 * kern/i386/coreboot/startup.S: Likewise.
16020 * kern/x86_64/efi/startup.S: Likewise.
16021
16022 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
16023 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
16024 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
16025
16026 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
16027
16028 Bugfixes in multiboot for bugs uncovered by solaris kernel.
16029
16030 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
16031 limit detection.
16032 Use vaddr of correct segment for entry_point.
16033
16034 2009-03-21 Bean <bean123ch@gmail.com>
16035
16036 * commands/blocklist.c: Add include file <grub/command.h>, remove
16037 <grub/normal.h> and <grub/arg.h>.
16038 (grub_cmd_blocklist): Use the new command interface.
16039 (GRUB_MOD_INIT): Likewise.
16040 (GRUB_MOD_FINI): Likewise.
16041 * commands/boot.c: Likewise.
16042 * commands/cat.c: Likewise.
16043 * commands/cmp.c: Likewise.
16044 * commands/configfile.c: Likewise.
16045 * commands/crc.c: Likewise.
16046 * commands/echo.c: Likewise.
16047 * commands/halt.c: Likewise.
16048 * commands/handler.c: Likewise.
16049 * commands/hdparm.c: Likewise.
16050 * commands/help.c: Likewise.
16051 * commands/hexdump.c: Likewise.
16052 * commands/loadenv.c: Likewise.
16053 * commands/ls.c: Likewise.
16054 * commands/lsmmap.c: Likewise.
16055 * commands/lspci.c: Likewise.
16056 * commands/loadenv.c: Likewise.
16057 * commands/read.c: Likewise.
16058 * commands/reboot.c: Likewise.
16059 * commands/search.c: Likewise.
16060 * commands/sleep.c: Likewise.
16061 * commands/test.c: Likewise.
16062 * commands/usbtest.c: Likewise.
16063 * commands/videotest.c: Likewise.
16064 * commands/i386/cpuid.c: Likewise.
16065 * commands/i386/pc/halt.c: Likewise.
16066 * commands/i386/pc/play.c: Likewise.
16067 * commands/i386/pc/pxecmd.c: Likewise.
16068 * commands/i386/pc/vbeinfo.c: Likewise.
16069 * commands/i386/pc/vbetest.c: Likewise.
16070 * commands/ieee1275/suspend.c: Likewise.
16071 * disk/loopback.c: Likewise.
16072 * font/font_cmd.c: Likewise.
16073 * hello/hello.c: Likewise.
16074 * loader/efi/appleloader.c: Likewise.
16075 * loader/efi/chainloader.c: Likewise.
16076 * loader/i386/bsd.c: Likewise.
16077 * loader/i386/efi/linux.c: Likewise.
16078 * loader/i386/ieee1275/linux.c: Likewise.
16079 * loader/i386/linux.c: Likewise.
16080 * loader/i386/pc/chainloader.c: Likewise.
16081 * loader/i386/pc/linux.c: Likewise.
16082 * loader/powerpc/ieee1275/linux.c: Likewise.
16083 * loader/multiboot_loader.c: Likewise.
16084 * term/gfxterm.c: Likewise.
16085 * term/i386/pc/serial.c: Likewise.
16086 * term/terminfo.c: Likewise.
16087
16088 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
16089 * term/i386/pc/vga.c: Likewise.
16090 * video/readers/jpeg.c: Likewise.
16091 * video/readers/png.c: Likewise.
16092 * video/readers/tga.c: Likewise.
16093
16094 * util/grub-fstest (cmd_loopback): Removed.
16095 (cmd_blocklist): Likewise.
16096 (cmd_ls): Likewise.
16097 (grub_register_command): Likewise.
16098 (grub_unregister_command): Likewise.
16099 (execute_command): Use grub_command_find to locate command and execute
16100 it.
16101
16102 * include/grub/efi/chainloader.h: Removed.
16103 * loader/efi/chainloader_normal.c: Likewise.
16104 * loader/i386/bsd_normal.c: Likewise.
16105 * loader/i386/pc/chainloader_normal.c: Likewise.
16106 * loader/i386/pc/multiboot_normal.c: Likewise.
16107 * loader/linux_normal.c: Likewise.
16108 * loader/multiboot_loader_normal.c: Likewise.
16109 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
16110
16111 * gencmdlist.sh: Scan new registration command grub_register_extcmd
16112 and grub_register_command_p1.
16113
16114 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
16115 kern/command.c, lib/arg.c and commands/extcmd.c.
16116 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
16117 (minicmd_mod_SOURCES): New variable.
16118 (minicmd_mod_CFLAGS): Likewise.
16119 (minicmd_mod_LDFLAGS): Likewise.
16120 (extcmd_mod_SOURCES): Likewise.
16121 (extcmd_mod_CFLAGS): Likewise.
16122 (extcmd_mod_LDFLAGS): Likewise.
16123 (boot_mod_SOURCES): Removed.
16124 (boot_mod_CFLAGS): Likewise.
16125 (boot_mod_LDFLAGS): Likewise.
16126
16127 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
16128 kern/corecmd.c.
16129 (kernel_img_HEADERS): Add command.h.
16130 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
16131 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
16132 and lib/arg.c.
16133 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
16134 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
16135 remove the corresponding normal mode command.
16136 (normal_mod_SOURCES): Remove normal/arg.c.
16137 * conf/i386-coreboot.rmk: Likewise.
16138 * conf/i386-efi.rmk: Likewise.
16139 * conf/i386-ieee1275.rmk: Likewise.
16140 * conf/powerpc-ieee1275.rmk: Likewise.
16141 * conf/x86_64-efi.rmk: Likewise.
16142
16143 * include/grub/arg.h: Move from here ...
16144 * include/grub/lib/arg.h: ... to here.
16145
16146 * normal/arg.c: Move from here ...
16147 * lib/arg.c: ... to here.
16148
16149 * commands/extcmd.c: New file.
16150 * commands/minicmd.c: Likewise.
16151 * include/grub/command.h: Likewise.
16152 * include/grub/extcmd.h: Likewise.
16153 * kern/command.c: Likewise.
16154 * kern/corecmd.c: Likewise.
16155
16156 * kern/list.c (grub_list_iterate): Return int instead of void.
16157 (grub_list_insert): New function.
16158 (grub_prio_list_insert): Likewise.
16159
16160 * kern/rescue.c (grub_rescue_command): Removed.
16161 (grub_rescue_command_list): Likewise.
16162 (grub_rescue_register_command): Likewise.
16163 (grub_rescue_unregister_command): Likewise.
16164 (grub_rescue_cmd_boot): Move to minicmd.c
16165 (grub_rescue_cmd_help): Likewise.
16166 (grub_rescue_cmd_info): Likewise.
16167 (grub_rescue_cmd_boot): Likewise.
16168 (grub_rescue_cmd_testload): Likewise.
16169 (grub_rescue_cmd_dump): Likewise.
16170 (grub_rescue_cmd_rmmod): Likewise.
16171 (grub_rescue_cmd_lsmod): Likewise.
16172 (grub_rescue_cmd_exit): Likewise.
16173 (grub_rescue_print_devices): Moved to corecmd.c.
16174 (grub_rescue_print_files): Likewise.
16175 (grub_rescue_cmd_ls): Likewise.
16176 (grub_rescue_cmd_insmod): Likewise.
16177 (grub_rescue_cmd_set): Likewise.
16178 (grub_rescue_cmd_unset): Likewise.
16179 (attempt_normal_mode): Use grub_command_find to get normal module.
16180 (grub_enter_rescue_mode): Use grub_register_core_commands to register
16181 commands, remove grub_rescue_register_command calls.
16182
16183 * normal/command.c (grub_register_command): Removed.
16184 (grub_unregister_command): Likewise.
16185 (grub_command_find): Likewise.
16186 (grub_iterate_commands): Likewise.
16187 (rescue_command): Likewise.
16188 (export_command): Moved to corecmd.c.
16189 (set_command): Removed.
16190 (unset_command): Likewise.
16191 (insmod_command): Likewise.
16192 (rmmod_command): Likewise.
16193 (lsmod_command): Likewise.
16194 (grub_command_init): Likewise.
16195
16196 * normal/completion.c (iterate_command): Use cmd->prio to check for
16197 active command.
16198 (complete_arguments): Use grub_extcmd_t structure to find options.
16199 (grub_normal_do_completion): Change function grub_iterate_commands to
16200 grub_command_iterate.
16201
16202 * normal/execute.c (grub_script_execute_cmd): No need to parse
16203 argument here.
16204
16205 * normal/main.c (grub_dyncmd_dispatcher): New function.
16206 (read_command_list): Register unload commands as dyncmd.
16207 (grub_cmd_normal): Use new command interface, register rescue,
16208 unregister normal at entry, register normal, unregister rescue at exit.
16209
16210 * include/grub/list.h (grub_list_test_t): New type.
16211 (grub_list_iterate): Return int instead of void.
16212 (grub_list_insert): New function.
16213 (GRUB_AS_NAMED_LIST_P): New macro.
16214 (GRUB_AS_PRIO_LIST): Likewise.
16215 (GRUB_AS_PRIO_LIST_P): Likewise.
16216 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
16217 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
16218 (grub_prio_list): New structure.
16219 (grub_prio_list_insert): New function.
16220 (grub_prio_list_remove): New inline function.
16221
16222 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
16223 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
16224 (GRUB_COMMAND_FLAG_MENU): Likewise.
16225 (GRUB_COMMAND_FLAG_BOTH): Likewise.
16226 (GRUB_COMMAND_FLAG_TITLE): Likewise.
16227 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
16228 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
16229 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
16230 (grub_command): Likewise.
16231 (grub_register_command): Likewise.
16232 (grub_command_find): Likewise.
16233 (grub_iterate_commands): Likewise.
16234 (grub_command_init): Likewise.
16235 (grub_arg_parse): Likewise.
16236 (grub_arg_show_help): Likewise.
16237
16238 * include/grub/rescue.h (grub_rescue_register_command): Removed.
16239 (grub_rescue_unregister_command): Likewise.
16240
16241 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
16242 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
16243 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
16244
16245 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
16246 grub_rescue_cmd_initrd.
16247 * include/grub/i386/loader.h: Likewise.
16248 * include/grub/x86_64/loader.h: Likewise.
16249
16250 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
16251
16252 2009-03-21 Bean <bean123ch@gmail.com>
16253
16254 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
16255 instead of stat in mingw environment.
16256
16257 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
16258
16259 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
16260
16261 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
16262 AC_CONFIG_LINKS.
16263
16264 2009-03-21 Bean <bean123ch@gmail.com>
16265
16266 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
16267 out of range error.
16268
16269 2009-03-18 Michel Dänzer <michel@daenzer.net>
16270
16271 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
16272 checking inode flags for EXT4_EXTENTS_FLAG.
16273
16274 2009-03-18 Robert Millan <rmh@aybabtu.com>
16275
16276 * loader/i386/linux.c: Include `<grub/video.h>' and
16277 `<grub/i386/pc/vbe.h>'..
16278 (grub_linux_setup_video): New function. Loosely based on the EFI one.
16279 (grub_linux32_boot): Attempt to configure video settings with
16280 grub_linux_setup_video().
16281 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
16282 to avoid grub_console_fini() which would step out of graphical mode
16283 unconditionally.
16284
16285 2009-03-14 Robert Millan <rmh@aybabtu.com>
16286
16287 Fix build on powerpc.
16288 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
16289
16290 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
16293 background image command.
16294
16295 2009-03-12 Colin D Bennett <colin@gibibit.com>
16296
16297 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
16298 (grub_gfxterm_putchar): Extract pairs of identical calls to
16299 draw_cursor out of conditional blocks.
16300
16301 2009-03-11 Pavel Roskin <proski@gnu.org>
16302
16303 * fs/hfs.c (grub_hfs_strncasecmp): New function.
16304 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
16305
16306 2009-03-11 Robert Millan <rmh@aybabtu.com>
16307
16308 * loader/i386/multiboot_elfxx.c
16309 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
16310
16311 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
16312
16313 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
16314 `kern/handler.c'.
16315
16316 2009-03-11 Robert Millan <rmh@aybabtu.com>
16317
16318 * loader/i386/multiboot.c (code_size): New variable.
16319 (grub_multiboot): Define offsets by adding to `code_size' rather
16320 than subtracting from `grub_multiboot_payload_size'. Provide
16321 4-byte alignment to MBI and others by increasing
16322 `boot_loader_name_length' appropriately.
16323
16324 * loader/i386/multiboot_elfxx.c
16325 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
16326
16327 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
16328
16329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
16330 `fs/ext2.c'.
16331
16332 2009-03-08 Robert Millan <rmh@aybabtu.com>
16333
16334 Make loader/i386/linux.c usable on i386-pc again.
16335
16336 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
16337 memory to heap.
16338 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
16339 `#error' stanza.
16340
16341 2009-03-07 Bean <bean123ch@gmail.com>
16342
16343 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
16344 allocation.
16345
16346 2009-03-06 Robert Millan <rmh@aybabtu.com>
16347
16348 Fix display issue on terminals with screen size other than 80x25
16349 (e.g. gfxterm with resolution higher than 640x480).
16350
16351 * normal/main.c (grub_normal_init_page): Display title text in a
16352 position relative to the center of the terminal instead of relying
16353 on a hardcoded offset.
16354
16355 2009-03-04 Robert Millan <rmh@aybabtu.com>
16356
16357 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
16358 installed.
16359
16360 * Makefile.in (host_kernel): New variable.
16361 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
16362 scripts instead of just the windows one.
16363 * configure.ac: Initialize and AC_SUBST `host_kernel'.
16364
16365 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
16366
16367 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
16368 `kern/handler.c'.
16369 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16370 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16371 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16373 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16374 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16375
16376 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
16377
16378 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
16379 or if there's no space for the disk label and print the partition number on a
16380 invalid magic.
16381
16382 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
16383
16384 * util/misc.c: Include <time.h>.
16385 (grub_millisleep): New function.
16386
16387 2009-03-04 Bean <bean123ch@gmail.com>
16388
16389 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
16390 another option -mno-red-zone.
16391
16392 * commands/handler.c: Change module description.
16393
16394 * kern/handler.c: Add missing space at the end of description line.
16395
16396 * kern/list.c: Likewise.
16397
16398 2009-03-03 Robert Millan <rmh@aybabtu.com>
16399
16400 Move more components to the relocation area, and fix mbi pointer
16401 handling to use the destination rather than the origin (thanks to
16402 Vladimir Serbinenko for spotting).
16403
16404 * loader/i386/multiboot.c (mbi_dest): New variable.
16405 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
16406 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
16407 relocation area.
16408
16409 2009-03-01 Bean <bean123ch@gmail.com>
16410
16411 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
16412 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
16413 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
16414 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
16415
16416 * loader/i386/efi/linux.c (acpi_guid): New variable.
16417 (acpi_guid): Likewise.
16418 (EBDA_SEG_ADDR): New constant.
16419 (LOW_MEM_ADDR): Likewise.
16420 (FAKE_EBDA_SEG): Likewise.
16421 (fake_bios_data): New function.
16422 (grub_linux_boot): Call fake_bios_data.
16423
16424 2009-03-01 Bean <bean123ch@gmail.com>
16425
16426 * commands/terminal.c: Removed.
16427
16428 * commands/handler.c: New file.
16429
16430 * include/grub/list.h: Likewise.
16431
16432 * include/grub/handler.h: Likewise.
16433
16434 * kern/list.c: Likewise.
16435
16436 * kern/handler.c: Likewise.
16437
16438 * kern/term.h: Include header file <grub/handler.h>.
16439 (grub_term_input): Move next field to the beginning.
16440 (grub_term_output): Likewise.
16441 (grub_term_input_class): New variable.
16442 (grub_term_output_class): Likewise.
16443 (grub_term_register_input): Changed to inline function.
16444 (grub_term_register_output): Likewise.
16445 (grub_term_unregister_input): Likewise.
16446 (grub_term_unregister_output): Likewise.
16447 (grub_term_set_current_input): Likewise.
16448 (grub_term_set_current_output): Likewise.
16449 (grub_term_get_current_input): Likewise.
16450 (grub_term_get_current_output): Likewise.
16451 (grub_term_iterate_input): Removed.
16452 (grub_term_iterate_output): Likewise.
16453
16454 * kern/term.c (grub_term_list_input): Removed.
16455 (grub_term_list_output): Likewise.
16456 (grub_term_input_class): New variable.
16457 (grub_term_output_class): Likewise.
16458 (grub_cur_term_input): Change variable as macro.
16459 (grub_cur_term_output): Likewise.
16460 (grub_term_register_input): Removed.
16461 (grub_term_register_output): Likewise.
16462 (grub_term_unregister_input): Likewise.
16463 (grub_term_unregister_output): Likewise.
16464 (grub_term_set_current_input): Likewise.
16465 (grub_term_set_current_output): Likewise.
16466 (grub_term_iterate_input): Likewise.
16467 (grub_term_iterate_output): Likewise.
16468 (grub_term_get_current_input): Likewise.
16469 (grub_term_get_current_output): Likewise.
16470
16471 * util/grub-editenv.c: Include header file <grub/handler.h>.
16472 (grub_term_get_current_input): Removed.
16473 (grub_term_get_current_output): Likewise.
16474 (grub_term_input_class): New variable.
16475 (grub_term_output_class): Likewise.
16476
16477 * util/grub-fstest.c (grub_term_get_current_input): Removed.
16478 (grub_term_get_current_output): Likewise.
16479 (grub_term_input_class): New variable.
16480 (grub_term_output_class): Likewise.
16481
16482 * util/grub-probe.c (grub_term_get_current_input): Removed.
16483 (grub_term_get_current_output): Likewise.
16484 (grub_term_input_class): New variable.
16485 (grub_term_output_class): Likewise.
16486
16487 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
16488 (grub_term_get_current_output): Likewise.
16489 (grub_term_input_class): New variable.
16490 (grub_term_output_class): Likewise.
16491
16492 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
16493 (terminal_mod_SOURCES): Likewise.
16494 (terminal_mod_CFLAGS): Likewise.
16495 (terminal_mod_LDFLAGS): Likewise.
16496
16497 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
16498 handler.c.
16499 (kernel_img_SOURCES): Add list.c and handler.c.
16500 (kernel_img_HEADERS): Add list.h and handler.h.
16501
16502 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
16503 handler.c.
16504 (kernel_mod_SOURCES): Add list.c and handler.c.
16505 (kernel_mod_HEADERS): Add list.h and handler.h.
16506
16507 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
16508 handler.c.
16509 (kernel_elf_SOURCES): Add list.c and handler.c.
16510 (kernel_elf_HEADERS): Add list.h and handler.h.
16511
16512 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
16513 handler.c.
16514 (kernel_elf_SOURCES): Add list.c and handler.c.
16515 (kernel_elf_HEADERS): Add list.h and handler.h.
16516
16517 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
16518 handler.c.
16519 (kernel_mod_SOURCES): Add list.c and handler.c.
16520 (kernel_mod_HEADERS): Add list.h and handler.h.
16521
16522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
16523 handler.c.
16524 (kernel_elf_SOURCES): Add list.c and handler.c.
16525 (kernel_elf_HEADERS): Add list.h and handler.h.
16526
16527 2009-02-27 Robert Millan <rmh@aybabtu.com>
16528
16529 Factorize elf32 / elf64 code in Multiboot loader. This will
16530 prevent it from getting out of sync again.
16531
16532 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
16533 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
16534 grub_multiboot_load_elf64): Move from here ...
16535 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
16536 grub_multiboot_load_elf): ... to here (new file).
16537
16538 2009-02-27 Robert Millan <rmh@aybabtu.com>
16539
16540 * util/grub.d/10_linux.in: Rename "single-user mode" to
16541 "recovery mode".
16542
16543 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
16544
16545 Don't leak in SCSI code.
16546 * disk/scsi.c (grub_scsi_close): free `scsi'.
16547
16548 2009-02-27 Robert Millan <rmh@aybabtu.com>
16549
16550 * loader/i386/pc/multiboot.c: Move from here ...
16551 * loader/i386/multiboot.c: ... to here. Update all users.
16552
16553 2009-02-27 Robert Millan <rmh@aybabtu.com>
16554
16555 Patch from Alexandre Bique <bique.alexandre@gmail.com>
16556 * util/i386/pc/grub-setup.c (setup): Fix directory path.
16557
16558 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
16559
16560 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
16561 b-tree.
16562
16563 2009-02-27 Robert Millan <rmh@aybabtu.com>
16564
16565 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
16566 `0x' qualifier as 0 when base is specified as parameter).
16567
16568 2009-02-24 Bean <bean123ch@gmail.com>
16569
16570 * configure.ac: Check for -mcmodel=large in x86_64 target.
16571
16572 * include/grub/efi/api.h (efi_call_10): New macro.
16573 (efi_wrap_10): New function.
16574
16575 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
16576 (GRUB_PE32_REL_BASED_HIGH): Likewise.
16577 (GRUB_PE32_REL_BASED_LOW): Likewise.
16578 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
16579 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
16580 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
16581 (GRUB_PE32_REL_BASED_SECTION): Likewise.
16582 (GRUB_PE32_REL_BASED_REL): Likewise.
16583 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
16584 (GRUB_PE32_REL_BASED_DIR64): Likewise.
16585 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
16586
16587 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
16588 issue.
16589
16590 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
16591 (efi_wrap_10): New function.
16592
16593 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
16594
16595 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
16596 MB/MBP model (NV chipset).
16597 (devdata_devs): Add devpath_5 to the list.
16598
16599 * load/i386/efi/linux.c (video_base): Remove variable.
16600 (RGB_MASK): New macro.
16601 (RGB_MAGIC): Likewise.
16602 (LINE_MIN): Likewise.
16603 (LINE_MAX): Likewise.
16604 (FBTEST_STEP): Likewise.
16605 (FBTEST_COUNT): Likewise.
16606 (fb_list): New variable.
16607 (grub_find_video_card): Remove function.
16608 (find_framebuf): New function.
16609 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
16610 line length.
16611
16612 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
16613 problem for x86_64.
16614
16615 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
16616
16617 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
16618
16619 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
16620 coding tool name.
16621
16622 2009-02-22 Robert Millan <rmh@aybabtu.com>
16623
16624 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
16625 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
16626 in our relocation, instead of using it directly from heap. Also
16627 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
16628
16629 2009-02-21 Robert Millan <rmh@aybabtu.com>
16630
16631 Implement USB keyboard support (based on patch by Marco Gerards)
16632
16633 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
16634 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
16635 (usb_keyboard_mod_LDFLAGS): New variables.
16636
16637 * term/usb_keyboard.c: New file.
16638
16639 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16640
16641 Corrected wrong declaration
16642
16643 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
16644
16645 2009-02-14 Christian Franke <franke@computer.org>
16646
16647 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
16648 (grub_lspci_iter): Print class code and programming interface byte.
16649
16650 2009-02-14 Christian Franke <franke@computer.org>
16651
16652 * gendistlist.sh: Ignore `.svn' directories.
16653
16654 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
16655
16656 * fs/fat.c: Add 2009 to Copyright line.
16657
16658 2009-02-14 Christian Franke <franke@computer.org>
16659
16660 * commands/hdparm.c: New file. Provides `hdparm' command
16661 which sends ATA commands via grub_disk_ata_pass_through ().
16662
16663 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
16664
16665 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
16666 and <grub/cpu/io.h> to include/grub/ata.h.
16667 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
16668 (GRUB_CDROM_SECTOR_SIZE): Remove.
16669 (GRUB_ATA_*): Move to include/grub/ata.h.
16670 (GRUB_ATAPI_*): Likewise.
16671 (enum grub_ata_commands): Likewise.
16672 (enum grub_ata_timeout_milliseconds): Likewise.
16673 (struct grub_ata_device): Likewise.
16674 (grub_ata_regset): Likewise.
16675 (grub_ata_regget): Likewise.
16676 (grub_ata_regset2): Likewise.
16677 (grub_ata_regget2): Likewise.
16678 (grub_ata_check_ready): Likewise.
16679 (grub_ata_wait_not_busy): Remove static, exported in
16680 include/grub/ata.h.
16681 (grub_ata_wait_drq): Likewise.
16682 (grub_ata_pio_read): Likewise.
16683
16684 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
16685 function for hdparm.mod.
16686
16687 * include/grub/ata.h: New file, contains declarations from
16688 disk/ata.c.
16689 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
16690
16691 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
16692 (grub_disk_ata_pass_through): New exported variable.
16693
16694 * kern/disk.c (grub_disk_ata_pass_through): New variable.
16695
16696 2009-02-13 Colin D Bennett <colin@gibibit.com>
16697
16698 Support multiple fallback entries, and provide an API to support
16699 executing default+fallback menu entries. Renamed the `terminal' menu
16700 viewer to `text'.
16701
16702 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
16703 variable declaration.
16704 (grub_menu_execute_callback): New structure declaration.
16705 (grub_menu_execute_callback_t): New typedef.
16706 (grub_menu_execute_with_fallback): New function declaration.
16707 (grub_menu_get_entry): Likewise.
16708 (grub_menu_get_timeout): Likewise.
16709 (grub_menu_set_timeout): Likewise.
16710
16711 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
16712
16713 * normal/menu.c (grub_wait_after_message): Moved to
16714 `normal/menu_text.c'.
16715 (draw_border): Likewise.
16716 (print_message): Likewise.
16717 (print_entry): Likewise.
16718 (print_entries): Likewise.
16719 (grub_menu_init_page): Likewise.
16720 (get_entry_number): Likewise.
16721 (print_timeout): Likewise.
16722 (run_menu): Likewise.
16723 (grub_menu_execute_entry): Likewise.
16724 (show_text_menu): Likewise.
16725 (get_and_remove_first_entry_number): New function.
16726 (grub_menu_execute_with_fallback): Likewise.
16727 (get_entry): Renamed to ...
16728 (grub_menu_get_entry): .. this and made it global.
16729 (get_timeout): Renamed to ...
16730 (grub_menu_get_timeout): ... this and made it global.
16731 (set_timeout): Renamed to ...
16732 (grub_menu_set_timeout): ... this and made it global.
16733 (grub_normal_terminal_menu_viewer): Renamed to ...
16734 (grub_normal_text_menu_viewer): ... this.
16735
16736 * normal/menu_text.c: New file. Extracted text-menu-specific code
16737 from normal/menu.c.
16738
16739 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
16740 (normal_mod_SOURCES): Likewise.
16741
16742 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16743 (normal_mod_SOURCES): Likewise.
16744
16745 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16746 (normal_mod_SOURCES): Likewise.
16747
16748 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
16749 (normal_mod_SOURCES): Likewise.
16750
16751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16752 (normal_mod_SOURCES): Likewise.
16753
16754 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16755 (normal_mod_SOURCES): Likewise.
16756
16757 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16758 (normal_mod_SOURCES): Likewise.
16759
16760 2009-02-11 Robert Millan <rmh@aybabtu.com>
16761
16762 * util/grub.d/00_header.in: Update old reference to `font' command.
16763
16764 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
16765
16766 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
16767
16768 Based on patch from Javier Martín.
16769
16770 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
16771
16772 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
16773 to avoid false positives with FAT.
16774 (grub_fstest_SOURCES): Likewise.
16775 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16776 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16778 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16779 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16780 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16781
16782 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
16783
16784 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
16785 bpb.version_specific.fat12_or_fat16.fstype and
16786 bpb.version_specific.fat32.fstype.
16787
16788 2009-02-08 Robert Millan <rmh@aybabtu.com>
16789
16790 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
16791
16792 2009-02-08 Robert Millan <rmh@aybabtu.com>
16793
16794 * Makefile.in (host_os, host_cpu): New variables.
16795 (target_os): Remove. Update all users.
16796
16797 2009-02-08 Marco Gerards <marco@gnu.org>
16798
16799 * Makefile.in (enable_grub_emu_usb): New variable.
16800 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
16801 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
16802 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
16803 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
16804 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
16805 `usbtest.mod' and `usbms.mod'.
16806 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
16807 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
16808 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
16809 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
16810 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
16811 variables.
16812
16813 * disk/usbms.c: New file.
16814
16815 * include/grub/usb.h: Likewise.
16816
16817 * include/grub/usbtrans.h: Likewise.
16818
16819 * include/grub/usbdesc.h: Likewise.
16820
16821 * bus/usb/usbtrans.c: Likewise.
16822
16823 * bus/usb/ohci.c: Likewise.
16824
16825 * bus/usb/uhci.c: Likewise.
16826
16827 * bus/usb/usbhub.c: Likewise.
16828
16829 * bus/usb/usb.c: Likewise.
16830
16831 * commands/usbtest.c: Likewise.
16832
16833 * util/usb.c: Likewise.
16834
16835 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
16836
16837 * configure.ac: Test for libusb presence.
16838
16839 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
16840
16841 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
16842
16843 * kern/mm.c: Add more comments.
16844
16845 2009-02-08 Robert Millan <rmh@aybabtu.com>
16846
16847 Patch from Javier Martín.
16848 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
16849 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
16850
16851 2009-02-08 Robert Millan <rmh@aybabtu.com>
16852
16853 * fs/cpio.c: Split tar functionality to ...
16854 * fs/tar.c: ... here (new file). Update all users.
16855
16856 2009-02-07 Robert Millan <rmh@aybabtu.com>
16857
16858 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
16859 backward-incompatible features.
16860
16861 Based on patch from Javier Martín, with some adjustments.
16862
16863 2009-02-07 Michael Scherer <misc@mandriva.org>
16864
16865 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
16866
16867 2009-02-07 Robert Millan <rmh@aybabtu.com>
16868
16869 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
16870 position of `disk/lvm.c' to ensure grub_init_all() always picks it
16871 after the RAID stuff.
16872
16873 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
16874
16875 Fixes problem when running vbetest command as reported by
16876 Vladimir Serbinenko <phcoder@gmail.com>.
16877
16878 * (grub_vbe_set_video_mode): Fixed problem with text modes.
16879
16880 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
16881
16882 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
16883 /dev/md/NpN style mdraid devices.
16884
16885 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
16886
16887 * util/unifont2pff.rb: Remove.
16888
16889 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
16890
16891 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
16892 `#'.
16893
16894 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
16895
16896 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
16897 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16898 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16899 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16901 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16902 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16903
16904 2009-02-02 Christian Franke <franke@computer.org>
16905
16906 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
16907
16908 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
16909
16910 * INSTALL: Note that we now require at least autoconf 2.59 and
16911 that LZO is optional.
16912
16913 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
16914
16915 Base on patch on bug #24154 created by Tomas Tintera
16916 <trosos@seznam.cz>.
16917
16918 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
16919
16920 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
16921
16922 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
16923 <bero@arklinux.org>.
16924
16925 * normal/parser.y (script_init): Add missing semicolon.
16926
16927 2009-01-31 Colin D Bennett <colin@gibibit.com>
16928
16929 * normal/main.c: Add include to grub/menu_viewer.h.
16930 (free_menu_entry_classes): Added.
16931 (grub_normal_menu_addentry): Added class property handling.
16932 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
16933 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
16934
16935 * normal/menu_viewer.c: New file.
16936
16937 * normal/menu.c (run_menu_entry): Renamed to ...
16938 (grub_menu_execute_entry): ... this and made it as global.
16939 (grub_menu_run): Renamed to ...
16940 (show_text_menu): ... this and made it local.
16941 (show_text_menu): Adapt to new function names.
16942 (grub_normal_terminal_menu_viewer): New global variable.
16943
16944 * include/grub/menu.h: New file.
16945
16946 * include/grub/menu_viewer.h: New file.
16947
16948 * include/grub/normal.h: Added include to grub/menu.h.
16949 (grub_menu_entry): Moved to include/grub/menu.h.
16950 (grub_menu_entry_t): Likewise.
16951 (grub_menu): Likewise.
16952 (grub_menu_t): Likewise.
16953 (grub_normal_terminal_menu_viewer): Added.
16954 (grub_menu_execute_entry): Likewise.
16955 (grub_menu_run): Removed.
16956
16957 * DISTLIST: Added include/grub/menu.h.
16958 Added include/grub/menu_viewer.h.
16959 Added normal/menu_viewer.c.
16960
16961 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
16962
16963 * normal/execute.c (grub_script_execute_menuentry): Changed to use
16964 arglist for menutitle arguments.
16965
16966 * normal/main.c (grub_normal_menu_addentry): Likewise.
16967
16968 * normal/parser.y (menuentry): Likewise.
16969
16970 * normal/script.c (grub_script_create_cmdmenu): Likewise.
16971
16972 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
16973 (grub_script_create_cmdmenu): Likewise.
16974
16975 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
16976
16977 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
16978 changes.
16979
16980 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
16981
16982 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
16983
16984 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
16985
16986 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
16987
16988 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
16989
16990 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
16991
16992 2009-01-30 Christian Franke <franke@computer.org>
16993
16994 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
16995 in option help text.
16996
16997 2009-01-27 Pavel Roskin <proski@gnu.org>
16998
16999 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
17000
17001 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
17002
17003 * commands/lsmmap.c: Add include to grub/machine/memory.h.
17004
17005 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
17006
17007 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
17008 unregister function.
17009
17010 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
17011
17012 * disk/scsi.c (grub_scsi_read): Fix sign problem.
17013
17014 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
17015
17016 * util/grub-mkfont.c (usage): Fix typo.
17017
17018 * util/elf/grub-mkimage.c (load_modules): Fix warning.
17019
17020 2009-01-26 Daniel Mierswa <impulze@impulze.org>
17021
17022 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
17023
17024 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
17025
17026 * kern/misc.c (grub_strcasecmp): New function.
17027 (grub_strcasecmp): Use grub_size_t instead of int for length.
17028 Fix return value.
17029 * include/grub/misc.h: Update function prototypes.
17030
17031 2009-01-26 Robert Millan <rmh@aybabtu.com>
17032
17033 * configure.ac: Fix cross-compilation check.
17034
17035 2009-01-22 Christian Franke <franke@computer.org>
17036
17037 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
17038 (precision) digit string. Allow `.format2' without `format1' (width).
17039 Limit input chars for `%s' output to `format2' if specified. This is
17040 compatible with standard printf ().
17041
17042 2009-01-22 Christian Franke <franke@computer.org>
17043
17044 * disk/ata.c (grub_ata_wait_status): Replace by ...
17045 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
17046 other status bits may be invalid while BSY is asserted.
17047 (grub_ata_check_ready): New function.
17048 (grub_ata_cmd): Removed.
17049 (grub_ata_wait_drq): New function.
17050 (grub_ata_strncpy): Remove inline.
17051 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
17052 and error check now done by grub_ata_wait_drq ().
17053 (grub_ata_pio_write): Likewise.
17054 (grub_atapi_identify): Set DEV before check for !BSY. Use
17055 grub_ata_wait_drq () to wait for data.
17056 (grub_ata_device_initialize): Add status register check to
17057 detect missing SATA slave devices. Add debug messages.
17058 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
17059 (grub_atapi_packet): Set DEV before check for !BSY. Replace
17060 transfer loop by grub_ata_pio_write ().
17061 (grub_ata_identify): Set DEV before check for !BSY. Use
17062 grub_ata_wait_drq () to wait for data.
17063 (grub_ata_setaddress): Set DEV before check for !BSY.
17064 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
17065 read/write in one loop. Fix invalid command on write. Fix incomplete
17066 command on (size % batch) == 0. Add missing error check after write of
17067 last block. Add debug messages.
17068 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
17069
17070 2009-01-19 Christian Franke <franke@computer.org>
17071
17072 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
17073 (GRUB_ATAPI_IREASON_*): Likewise.
17074 (grub_ata_pio_write): Fix timeout error return.
17075 (grub_atapi_identify): Add grub_ata_wait () after cmd.
17076 (grub_atapi_wait_drq): New function.
17077 (grub_atapi_packet): New parameter `size'.
17078 Use grub_atapi_wait_drq () and direct write instead of
17079 grub_ata_pio_write ().
17080 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
17081 reads the number of bytes requested by the device for each DRQ
17082 assertion.
17083 (grub_atapi_write): Remove old implementation, return not
17084 implemented instead.
17085
17086 2009-01-19 Christian Franke <franke@computer.org>
17087
17088 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
17089 of 512 to calculate data size.
17090 (grub_scsi_read12): Likewise.
17091 (grub_scsi_write10): Likewise.
17092 (grub_scsi_write12): Likewise.
17093 (grub_scsi_read): Adjust size according to blocksize.
17094 Add checks for invalid blocksize and unaligned transfer.
17095
17096 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
17097
17098 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
17099
17100 * term/gfxterm.c (write_char): Fix background rendering for wide
17101 width glyphs.
17102
17103 2009-01-19 Robert Millan <rmh@aybabtu.com>
17104
17105 * config.guess: Update to latest version from config git.
17106 * config.sub: Likewise.
17107
17108 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
17109
17110 * Makefile.in: Change font compilation to use new grub-mkfont instead
17111 of java version.
17112
17113 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
17114 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
17115 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
17116 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
17117 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
17118 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
17119 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
17120 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
17121 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
17122
17123 2009-01-16 Christian Franke <franke@computer.org>
17124
17125 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
17126 (enum grub_ata_timeout_milliseconds): New enum.
17127 (grub_ata_wait_status): Add parameter milliseconds.
17128 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
17129 recovery from timed-out commands.
17130 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
17131 return grub_errno instead of REG_ERROR.
17132 (grub_ata_pio_write): Add parameter milliseconds.
17133 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
17134 Pass milliseconds to grub_ata_wait_status () and
17135 grub_ata_pio_read ().
17136 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
17137 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
17138 grub_ata_wait_status (). Fix IDENTIFY timeout check.
17139 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
17140 It is not suitable for device detection, because DEV bit is ignored,
17141 the command may run too long, and not all devices set the signature
17142 properly.
17143 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
17144 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
17145 Fix device selection, DEV bit must be set first to address the registers
17146 of the correct device.
17147 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
17148 grub_ata_pio_read/write ().
17149 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
17150 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
17151
17152 2009-01-13 Carles Pina i Estany <carles@pina.cat>
17153
17154 * util/grub-editenv.c (main): Use fseeko(), not fseek().
17155
17156 2009-01-13 Bean <bean123ch@gmail.com>
17157
17158 * util/grub-mkfont.c (write_font): forget to remove some debug code.
17159
17160 2009-01-13 Bean <bean123ch@gmail.com>
17161
17162 * Makefile.in: (enable_grub_mkfont): New variable.
17163 (freetype_cflags): Likewise.
17164 (freetype_libs): Likewise.
17165
17166 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
17167 (grub_mkfont_SOURCES): New variable.
17168 (grub_mkfont_CFLAGS): Likewise.
17169 (grub_mkfont_LDFLAGS): Likewise.
17170
17171 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
17172 library if `--enable-grub-mkfont' is requested.
17173 (enable_grub_mkfont): New variable.
17174 (freetype_cflags): Likewise.
17175 (freetype_libs): Likewise.
17176
17177 * util/grub-mkfont.c: New file.
17178
17179 2009-01-12 Christian Franke <franke@computer.org>
17180
17181 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
17182 mode check. Fix setting of compat_use[].
17183
17184 2009-01-10 Robert Millan <rmh@aybabtu.com>
17185
17186 Update a few copyright years which we forgot to do in 2008 (only for
17187 files whose changes made in 2008 were copyright-significant)
17188
17189 * Makefile.in: Add 2008 to Copyright line.
17190 * disk/ieee1275/ofdisk.c: Likewise.
17191 * disk/efi/efidisk.c: Likewise.
17192 * kern/dl.c: Likewise.
17193 * kern/sparc64/ieee1275/init.c: Likewise.
17194 * kern/mm.c: Likewise.
17195 * kern/efi/mm.c: Likewise.
17196 * boot/i386/pc/boot.S: Likewise.
17197 * genfslist.sh: Likewise.
17198 * fs/iso9660.c: Likewise.
17199 * fs/hfs.c: Likewise.
17200 * fs/jfs.c: Likewise.
17201 * fs/minix.c: Likewise.
17202 * fs/ufs.c: Likewise.
17203 * gensymlist.sh.in: Likewise.
17204 * genkernsyms.sh.in: Likewise.
17205 * include/grub/misc.h: Likewise.
17206 * include/grub/types.h: Likewise.
17207 * include/grub/symbol.h: Likewise.
17208 * include/grub/elf.h: Likewise.
17209 * include/grub/kernel.h: Likewise.
17210 * include/grub/disk.h: Likewise.
17211 * include/grub/dl.h: Likewise.
17212 * include/grub/i386/linux.h: Likewise.
17213 * include/grub/i386/pc/biosdisk.h: Likewise.
17214 * include/grub/efi/api.h: Likewise.
17215 * include/grub/efi/pe32.h: Likewise.
17216 * include/grub/util/misc.h: Likewise.
17217 * normal/execute.c: Likewise.
17218 * normal/arg.c: Likewise.
17219 * normal/completion.c: Likewise.
17220 * normal/lexer.c: Likewise.
17221 * normal/parser.y: Likewise.
17222 * normal/misc.c: Likewise.
17223 * commands/i386/pc/vbeinfo.c: Likewise.
17224 * commands/hexdump.c: Likewise.
17225 * commands/terminal.c: Likewise.
17226 * commands/ls.c: Likewise.
17227 * commands/help.c: Likewise.
17228 * partmap/pc.c: Likewise.
17229 * loader/efi/chainloader.c: Likewise.
17230 * loader/multiboot_loader.c: Likewise.
17231 * loader/i386/pc/multiboot2.c: Likewise.
17232 * term/efi/console.c: Likewise.
17233 * term/i386/pc/serial.c: Likewise.
17234 * util/lvm.c: Likewise.
17235 * util/console.c: Likewise.
17236 * util/i386/efi/grub-mkimage.c: Likewise.
17237 * util/raid.c: Likewise.
17238
17239 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
17240
17241 * commands/videotest.c: Removed include to grub/machine/memory.h.
17242
17243 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
17244 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
17245 (video_mod_SOURCES): Removed.
17246 (video_mod_CFLAGS): Likewise.
17247 (video_mod_LDFLAGS): Likewise.
17248 (gfxterm_mod_SOURCES): Likewise.
17249 (gfxterm_mod_CFLAGS): Likewise.
17250 (gfxterm_mod_LDFLAGS): Likewise.
17251 (videotest_mod_SOURCES): Likewise.
17252 (videotest_mod_CFLAGS): Likewise.
17253 (videotest_mod_LDFLAGS): Likewise.
17254 (bitmap_mod_SOURCES): Likewise.
17255 (bitmap_mod_CFLAGS): Likewise.
17256 (bitmap_mod_LDFLAGS): Likewise.
17257 (tga_mod_SOURCES): Likewise.
17258 (tga_mod_CFLAGS): Likewise.
17259 (tga_mod_LDFLAGS): Likewise.
17260 (jpeg_mod_SOURCES): Likewise.
17261 (jpeg_mod_CFLAGS): Likewise.
17262 (jpeg_mod_LDFLAGS): Likewise.
17263 (png_mod_SOURCES): Likewise.
17264 (png_mod_CFLAGS): Likewise.
17265 (png_mod_LDFLAGS): Likewise.
17266
17267 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
17268 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
17269 (video_mod_SOURCES): Added.
17270 (video_mod_CFLAGS): Likewise.
17271 (video_mod_LDFLAGS): Likewise.
17272 (videotest_mod_SOURCES): Likewise.
17273 (videotest_mod_CFLAGS): Likewise.
17274 (videotest_mod_LDFLAGS): Likewise.
17275 (bitmap_mod_SOURCES): Likewise.
17276 (bitmap_mod_CFLAGS): Likewise.
17277 (bitmap_mod_LDFLAGS): Likewise.
17278 (tga_mod_SOURCES): Likewise.
17279 (tga_mod_CFLAGS): Likewise.
17280 (tga_mod_LDFLAGS): Likewise.
17281 (jpeg_mod_SOURCES): Likewise.
17282 (jpeg_mod_CFLAGS): Likewise.
17283 (jpeg_mod_LDFLAGS): Likewise.
17284 (png_mod_SOURCES): Likewise.
17285 (png_mod_CFLAGS): Likewise.
17286 (png_mod_LDFLAGS): Likewise.
17287 (gfxterm_mod_SOURCES): Likewise.
17288 (gfxterm_mod_CFLAGS): Likewise.
17289 (gfxterm_mod_LDFLAGS): Likewise.
17290
17291 * term/gfxterm.c: Removed include to grub/machine/memory.h,
17292 grub/machine/console.h.
17293
17294 2009-01-04 Jerone Young <jerone@gmail.com>
17295
17296 Make on screen instructions clearer
17297
17298 Based on patch created by Jidanni <jidanni@jidanni.org>
17299
17300 * normal/menu.c: print clearer instructions on the screen
17301
17302 2009-01-02 Colin D Bennett <colin@gibibit.com>
17303
17304 New font engine.
17305
17306 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
17307 build system and fixed gfxterm.c to work with different sized fonts.
17308
17309 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
17310
17311 * configure: Re-generated.
17312
17313 * DISTLIST: Removed font/manager.c.
17314 Added font/font.c.
17315 Added font/font_cmd.c.
17316
17317 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
17318 compilation.
17319
17320 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
17321
17322 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
17323
17324 * kern/term.c: Changed users of grub_utf8_to_ucs4.
17325
17326 * normal/menu.c: Likewise.
17327
17328 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
17329 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
17330
17331 * include/grub/font.h: Replaced with new file.
17332
17333 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
17334 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
17335 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
17336 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
17337 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
17338 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
17339 fg_red, fg_green, fg_blue, fg_alpha.
17340 (grub_video_adapter): Removed blit_glyph.
17341 (grub_video_blit_glyph): Removed.
17342
17343 * font/manager.c: Removed file.
17344
17345 * font/font.c: New file.
17346
17347 * font/font_cmd.c: Likewise.
17348
17349 * video/video.c (grub_video_blit_glyph): Removed.
17350
17351 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
17352 (grub_video_vbe_map_rgba): Likewise.
17353 (grub_video_vbe_unmap_color_int): Likewise.
17354 (grub_video_vbe_blit_glyph): Removed.
17355 (grub_video_vbe_adapter): Removed blit_glyph.
17356
17357 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
17358 (get_pixel): Likewise.
17359 (set_pixel): Likewise.
17360
17361 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
17362
17363 * term/gfxterm.c: Adapted to new font engine.
17364
17365 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
17366
17367 * term/i386/pc/vga.c: Likewise.
17368
17369 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
17370
17371 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
17372
17373 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
17374
17375 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
17376
17377 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
17378
17379 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
17380
17381 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
17382
17383 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
17384
17385 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
17386
17387 * util/grub.d/00_header.in: Changed to use new loadfont command.
17388
17389 * util/grub-mkconfig_lib.in: Changed font extension.
17390
17391 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
17392
17393 * util/getroot.c (grub_util_get_grub_dev): Add support for
17394 /dev/md/dNNpNN style partitionable mdraid devices.
17395
17396 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
17397
17398 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
17399 at a time limit of the PXE TFTP API correctly.
17400 (grub_pxefs_close): Likewise.
17401
17402 2008-11-29 Robert Millan <rmh@aybabtu.com>
17403
17404 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
17405 grub_ata_device_initialize() calls.
17406
17407 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
17408
17409 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
17410 iteration failed.
17411 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
17412
17413 2008-11-28 Robert Millan <rmh@aybabtu.com>
17414
17415 Fix build on powerpc-ieee1275. Based on patch created by
17416 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
17417 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
17418 `kern/ieee1275/mmap.c'.
17419 * include/grub/powerpc/ieee1275/memory.h: New file.
17420
17421 Provide grub-install on coreboot.
17422 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
17423 (grub_install_SOURCES): New variable.
17424 * util/i386/pc/grub-install.in: Add a few condition checks to make it
17425 usable on coreboot.
17426
17427 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
17428
17429 * util/grub-fstest.c (grub_term_get_current_input): Change return type
17430 to `grub_term_input_t'.
17431 (grub_term_get_current_output): Change return type to
17432 `grub_term_output_t'.
17433
17434 2008-11-22 Robert Millan <rmh@aybabtu.com>
17435
17436 Fix breakage on coreboot due to declaration mismatch.
17437 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
17438 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
17439 grub_vga_text_cls().
17440
17441 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
17442 comments. Avoid copying one more byte than necessary (just in case).
17443
17444 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
17445 to 0x200000 (avoids trouble with some OFW implementations, and matches
17446 with the one in Yaboot).
17447 Reported by Manoel Abranches
17448
17449 2008-11-20 Robert Millan <rmh@aybabtu.com>
17450
17451 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
17452 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
17453
17454 * util/grub-mkconfig_lib.in (grub_warn): New function.
17455 (convert_system_path_to_grub_path): Use grub_warn() when issuing
17456 warnings, to obtain consistent formatting.
17457 * util/grub.d/00_header.in: Likewise.
17458 * util/update-grub_lib.in: Likewise.
17459
17460 * loader/i386/linux.c (allocate_pages): Fix a warning.
17461 Move comment text to `#error' stanza.
17462
17463 Harmonize ieee1275's grub_available_iterate() with the generic
17464 grub_machine_mmap_iterate() interface (fixes a recently-introduced
17465 build problem on i386-ieee1275):
17466 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
17467 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
17468 parameter `type'. Update all users of this function.
17469 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
17470 `kern/ieee1275/mmap.c'.
17471 * kern/ieee1275/init.c
17472 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
17473 with ...
17474 (grub_machine_mmap_iterate): ... this.
17475 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
17476 return type to `grub_err_t'. Update all implementations of this
17477 function prototype.
17478 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
17479 Likewise.
17480
17481 Add `lsmmap' command (lists firmware-provided memory map):
17482 * commands/lsmmap.c: New file.
17483 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
17484 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
17485 variables.
17486 * conf/powerpc-ieee1275.rmk: Likewise.
17487 * conf/i386-coreboot.rmk: Likewise.
17488 * conf/i386-ieee1275.rmk: Likewise.
17489
17490 2008-11-19 Robert Millan <rmh@aybabtu.com>
17491
17492 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
17493 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
17494 constraints to initrd allocation (based on code from
17495 loader/i386/pc/linux.c). Without them, initrd was allocated too high
17496 for Linux to find it.
17497
17498 2008-11-14 Robert Millan <rmh@aybabtu.com>
17499
17500 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
17501 order to cope with duplicate slashes.
17502
17503 2008-11-14 Robert Millan <rmh@aybabtu.com>
17504
17505 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
17506 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
17507 don't want to mess with lower memory, because it is used in the Linux
17508 loader.
17509
17510 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
17511 an appropriate place in lower memory, between 0x10000 and 0x90000,
17512 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
17513 is in our heap (probably as a result of it being corrupted during
17514 decompression). Add #error instance with comment to explain why this
17515 loader isn't currently usable on PC/BIOS.
17516
17517 2008-11-14 Robert Millan <rmh@aybabtu.com>
17518
17519 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
17520 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
17521
17522 2008-11-12 Robert Millan <rmh@aybabtu.com>
17523
17524 Make loader/i386/linux.c buildable on i386-pc (although disabled).
17525
17526 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
17527 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
17528 from here ...
17529 * include/grub/i386/pc/memory.h: ... to here.
17530
17531 2008-11-12 Robert Millan <rmh@aybabtu.com>
17532
17533 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
17534 split).
17535
17536 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
17537 (grub_console_cur_color, grub_console_real_putchar)
17538 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
17539 (grub_console_setcolorstate, grub_console_setcolor)
17540 (grub_console_getcolor): Move from here ...
17541 * include/grub/i386/vga_common.h: ... to here (new file).
17542
17543 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
17544 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
17545 `<grub/i386/io.h>'.
17546 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
17547 `<grub/i386/vga_common.h>'.
17548
17549 2008-11-12 Robert Millan <rmh@aybabtu.com>
17550
17551 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
17552 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
17553 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
17554 variables.
17555 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
17556 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
17557
17558 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
17559 grub_console_init() with call to grub_vga_text_init().
17560 (grub_machine_fini): Replace call to
17561 grub_console_fini() with call to grub_vga_text_fini() and
17562 grub_at_keyboard_fini().
17563
17564 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
17565 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
17566 (grub_console_setcolorstate, grub_console_setcolor)
17567 (grub_console_getcolor): New function prototypes.
17568
17569 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
17570 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
17571 (grub_vga_text_setcursor): Static-ize.
17572 (grub_vga_text_term): New structure.
17573 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
17574
17575 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
17576 (grub_console_cur_color, grub_console_standard_color)
17577 (grub_console_normal_color, grub_console_highlight_color)
17578 (map_char, grub_console_putchar, grub_console_getcharwidth)
17579 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
17580 (grub_console_getcolor): Move from here ...
17581 * term/i386/vga_common.c: ... to here (same function names).
17582
17583 2008-11-12 Robert Millan <rmh@aybabtu.com>
17584
17585 Use newly-added Multiboot support in coreboot.
17586
17587 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
17588 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
17589
17590 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
17591 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
17592 (codestart): Store the MBI in `startup_multiboot_info' when we're
17593 being loaded using Multiboot.
17594
17595 * kern/i386/coreboot/init.c (grub_machine_init): Move
17596 grub_at_keyboard_init() call to beginning of function (useful for
17597 debugging). Call grub_machine_mmap_init() before attempting to use
17598 grub_machine_mmap_iterate().
17599 (grub_lower_mem, grub_upper_mem): Move from here ...
17600 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
17601 here (new file).
17602
17603 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
17604 function prototype.
17605
17606 2008-11-12 Robert Millan <rmh@aybabtu.com>
17607
17608 Fix a regression introduced by the at_keyboard.mod split. Because
17609 some terminals are default on some platforms and non-default on
17610 others, the first terminal being registered determines which is
17611 going to be default.
17612
17613 * kern/term.c (grub_term_register_input): If this is the first
17614 terminal being registered, set it as the current one.
17615 (grub_term_register_output): Likewise.
17616
17617 * term/efi/console.c (grub_console_init): Do not call
17618 grub_term_set_current_output() or grub_term_set_current_input().
17619 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
17620 * term/i386/pc/console.c (grub_console_init): Likewise.
17621 (grub_console_fini): Do not call grub_term_set_current_input()
17622 (but leave grub_term_set_current_output() to restore text mode).
17623
17624 2008-11-10 Robert Millan <rmh@aybabtu.com>
17625
17626 * util/grub.d/00_header.in: Add backward compatibility check for
17627 versions of terminal.mod that don't understand `terminal_input' or
17628 `terminal_output'.
17629
17630 2008-11-09 Robert Millan <rmh@aybabtu.com>
17631
17632 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
17633 `terminal_input' / `terminal_output', not `terminal'.
17634
17635 2008-11-08 Robert Millan <rmh@aybabtu.com>
17636
17637 * Makefile.in (include_DATA): Fix srcdir=. assumption.
17638 (DISTCLEANFILES): Add `build_env.mk'.
17639
17640 2008-11-08 Robert Millan <rmh@aybabtu.com>
17641
17642 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
17643 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
17644 members. Update all users.
17645 * util/console.c (grub_ncurses_term): Split in ...
17646 (grub_ncurses_term_input): ... this, and ...
17647 (grub_ncurses_term_output): ... this. Update all users.
17648 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
17649
17650 2008-11-08 Robert Millan <rmh@aybabtu.com>
17651
17652 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
17653 (PKGDATA): Add $(pkgdata_SRCDIR).
17654 (pkglib_BUILDDIR): New variable.
17655 (pkgdata_SRCDIR): New variable.
17656 (build_env.mk): New target.
17657 (include_DATA): New variable.
17658 (install-local): Install $(include_DATA) files in $(includedir).
17659
17660 2008-11-07 Pavel Roskin <proski@gnu.org>
17661
17662 * gendistlist.sh: Use C locale for sorting to ensure consistent
17663 output on all systems.
17664
17665 * util/grub.d/00_header.in: Remove incorrect space before
17666 "serial".
17667
17668 2008-11-07 Robert Millan <rmh@aybabtu.com>
17669
17670 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
17671 per specification.
17672 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
17673 * loader/multiboot_loader.c (find_multi_boot2_header): New function
17674 (based on find_multi_boot1_header).
17675 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
17676 using find_multi_boot2_header(), and abort if neither Multiboot or
17677 Multiboot headers were found.
17678
17679 2008-11-07 Robert Millan <rmh@aybabtu.com>
17680
17681 Modularize at_keyboard.mod:
17682
17683 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
17684 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
17685 (at_keyboard_mod_LDFLAGS): New variables.
17686
17687 Actual terminal split:
17688
17689 * include/grub/term.h (struct grub_term): Split in ...
17690 (struct grub_term_input): ... this, and ...
17691 (struct grub_term_output): ... this. Update all users.
17692 (grub_term_set_current): Split in ...
17693 (grub_term_set_current_input): ... this, and ...
17694 (grub_term_set_current_output): ... this.
17695 (grub_term_get_current): Split in ...
17696 (grub_term_get_current_input): ... this, and ...
17697 (grub_term_get_current_output): ... this.
17698 (grub_term_register): Split in ...
17699 (grub_term_register_input): ... this, and ...
17700 (grub_term_register_output): ... this.
17701 (grub_term_unregister): Split in ...
17702 (grub_term_unregister_input): ... this, and ...
17703 (grub_term_unregister_output): ... this.
17704 (grub_term_iterate): Split in ...
17705 (grub_term_iterate_input): ... this, and ...
17706 (grub_term_iterate_output): ... this.
17707
17708 * kern/term.c (grub_term_list): Split in ...
17709 (grub_term_list_input): ... this, and ...
17710 (grub_term_list_output): ... this. Update all users.
17711 (grub_cur_term): Split in ...
17712 (grub_cur_term_input): ... this, and ...
17713 (grub_cur_term_output): ... this. Update all users.
17714 (grub_term_set_current): Split in ...
17715 (grub_term_set_current_input): ... this, and ...
17716 (grub_term_set_current_output): ... this.
17717 (grub_term_get_current): Split in ...
17718 (grub_term_get_current_input): ... this, and ...
17719 (grub_term_get_current_output): ... this.
17720 (grub_term_register): Split in ...
17721 (grub_term_register_input): ... this, and ...
17722 (grub_term_register_output): ... this.
17723 (grub_term_unregister): Split in ...
17724 (grub_term_unregister_input): ... this, and ...
17725 (grub_term_unregister_output): ... this.
17726 (grub_term_iterate): Split in ...
17727 (grub_term_iterate_input): ... this, and ...
17728 (grub_term_iterate_output): ... this.
17729
17730 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
17731 a check for input and one for output (and only attempt to get keys
17732 from user when input works).
17733
17734 * util/grub-probe.c (grub_term_get_current): Split in ...
17735 (grub_term_get_current_input): ... this, and ...
17736 (grub_term_get_current_output): ... this.
17737 * util/grub-fstest.c: Likewise.
17738 * util/i386/pc/grub-setup.c: Likewise.
17739 * util/grub-editenv.c: Likewise.
17740
17741 Portability adjustments:
17742
17743 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
17744 `term/i386/pc/at_keyboard.c'.
17745 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
17746 grub_keyboard_controller_init() (now handled by terminal .init).
17747 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
17748 grub_at_keyboard_init().
17749 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
17750 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
17751 at_keyboard.mod via input terminal interface).
17752 * include/grub/i386/coreboot/console.h: Convert into a stub for
17753 `<grub/i386/pc/console.h>'.
17754
17755 Migrate full terminals to new API:
17756
17757 * term/efi/console.c (grub_console_term): Split into ...
17758 (grub_console_term_input): ... this, and ...
17759 (grub_console_term_output): ... this. Update all users.
17760 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
17761 (grub_ofconsole_init): Split into ...
17762 (grub_ofconsole_init_input): ... this, and ...
17763 (grub_ofconsole_init_output): ... this.
17764 (grub_ofconsole_term): Split into ...
17765 (grub_ofconsole_term_input): ... this, and ...
17766 (grub_ofconsole_term_output): ... this. Update all users.
17767 * term/i386/pc/serial.c (grub_serial_term): Split into ...
17768 (grub_serial_term_input): ... this, and ...
17769 (grub_serial_term_output): ... this. Update all users.
17770 * term/i386/pc/console.c (grub_console_term): Split into ...
17771 (grub_console_term_input): ... this, and ...
17772 (grub_console_term_output): ... this. Update all users.
17773 (grub_console_term_input): Only enable it on PC/BIOS platform.
17774 (grub_console_init): Remove grub_keyboard_controller_init() call.
17775
17776 Migrate input terminals to new API:
17777
17778 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
17779 `i386' and `i386/pc' to enable build on x86_64 (this driver is
17780 i386-specific anyway).
17781 (grub_console_checkkey): Rename to ...
17782 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
17783 users.
17784 (grub_keyboard_controller_orig): New variable.
17785 (grub_console_getkey): Rename to ...
17786 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
17787 users.
17788 (grub_keyboard_controller_init): Static-ize. Save original
17789 controller value so that it can be restored ...
17790 (grub_keyboard_controller_fini): ... here (new function).
17791 (grub_at_keyboard_term): New structure.
17792 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
17793 functions.
17794
17795 Migrate output terminals to new API:
17796
17797 * term/i386/pc/vga.c (grub_vga_term): Change type to
17798 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
17799 members. Update all users.
17800 * term/gfxterm.c (grub_video_term): Change type to
17801 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
17802 members. Update all users.
17803 * include/grub/i386/pc/console.h (grub_console_checkkey)
17804 (grub_console_getkey): Do not export (no longer needed by gfxterm,
17805 etc).
17806
17807 Migrate `terminal' command and userland tools to new API:
17808
17809 * commands/terminal.c (grub_cmd_terminal): Split into ...
17810 (grub_cmd_terminal_input): ... this, and ...
17811 (grub_cmd_terminal_output): ... this.
17812 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
17813 `terminal_input' and `terminal_output'.
17814 * util/grub.d/00_header.in: Adjust `terminal' calls to new
17815 `terminal_input' / `terminal_output' API.
17816 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
17817 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
17818 provided ${GRUB_TERMINAL}, convert it).
17819
17820 2008-11-04 Robert Millan <rmh@aybabtu.com>
17821
17822 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
17823 for FreeBSD.
17824 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
17825
17826 2008-11-03 Bean <bean123ch@gmail.com>
17827
17828 * kern/elf.c (grub_elf32_load): Revert to previous code.
17829 (grub_elf64_load): Likewise.
17830
17831 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
17832
17833 2008-11-01 Robert Millan <rmh@aybabtu.com>
17834
17835 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
17836 (TARGET_CPPFLAGS): Likewise.
17837 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
17838
17839 2008-11-01 Carles Pina i Estany <carles@pina.cat>
17840
17841 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
17842
17843 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
17844
17845 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
17846 addition of objects until the code is not going to be able to fail.
17847
17848 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
17849
17850 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
17851 (add a missing NULL check, and correct them by moving the pointer
17852 operations after the actual check).
17853
17854 2008-10-29 Robert Millan <rmh@aybabtu.com>
17855
17856 * util/i386/pc/grub-install.in: Handle empty string as output from
17857 make_system_path_relative_to_its_root().
17858
17859 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
17860
17861 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
17862 circular metadata worst case scenario. If the metadata is circular
17863 then copy the wrap in place.
17864 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
17865 project lib/format_text/layout.h
17866 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
17867
17868 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
17869
17870 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
17871
17872 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
17873
17874 * util/update-grub_lib.in: Mention filename in warning message.
17875
17876 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
17877
17878 * NEWS: Update for rename of update-grub to grub-mkconfig.
17879
17880 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
17881
17882 * util/update-grub_lib.in: Copy to ...
17883 * util/grub-mkconfig_lib.in: ... this. Update all users.
17884 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
17885 * util/update-grub.in: Rename to ...
17886 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
17887 option. Add `--output' option to allow users to specify the generated
17888 configuration file. Default to stdout.
17889 (update_grub_dir): Rename to ...
17890 (grub_mkconfig_dir): ... this.
17891 (grub_cfg): Default to an empty string.
17892 * conf/common.rmk (update-grub): Rename to ...
17893 (grub-mkconfig): ... this.
17894 (update-grub_lib): Copy to ...
17895 (grub-mkconfig_lib): ... this.
17896 (update-grub_SCRIPTS): Copy to ...
17897 (grub-mkconfig_SCRIPTS): ... this. Update all users.
17898 (update-grub_DATA): Rename to ...
17899 (grub-mkconfig_DATA): ... this.
17900
17901 2008-09-28 Robert Millan <rmh@aybabtu.com>
17902
17903 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
17904 to `modified'. Add the real `created' field.
17905 (grub_iso9660_uuid): Use `modified' rather than `created' for
17906 constructing the UUID.
17907
17908 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
17909
17910 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
17911 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
17912
17913 2008-09-28 Bean <bean123ch@gmail.com>
17914
17915 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
17916 Thanks to Christian Franke for finding this bug.
17917
17918 2008-09-25 Robert Millan <rmh@aybabtu.com>
17919
17920 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
17921 instances of grub_util_get_disk_name() (see previous commit).
17922
17923 2008-09-25 Robert Millan <rmh@aybabtu.com>
17924
17925 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
17926 `util/i386/get_disk_name.c'.
17927 * conf/i386-efi.rmk: Likewise.
17928 * conf/x86_64-efi.rmk: Likewise.
17929 * conf/i386-coreboot.rmk: Likewise.
17930 * conf/i386-ieee1275.rmk: Likewise.
17931 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
17932 `util/ieee1275/get_disk_name.c'.
17933 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
17934 * util/ieee1275/get_disk_name.c: Remove file.
17935 * util/i386/get_disk_name.c: Remove file.
17936 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
17937 "hd%d" for device.map entries, rather than using
17938 grub_util_get_disk_name().
17939
17940 2008-09-24 Carles Pina i Estany <carles@pina.cat>
17941
17942 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
17943 warning.
17944 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
17945
17946 2008-09-24 Carles Pina i Estany <carles@pina.cat>
17947
17948 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
17949 Changed to 0x5100.
17950 (GRUB_TERM_PPAGE): Changed to 0x4900.
17951
17952 2008-09-24 Robert Millan <rmh@aybabtu.com>
17953
17954 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
17955 macros (they were i386-pc specific).
17956 * include/grub/sparc64/ieee1275/console.h: Likewise.
17957 * include/grub/efi/console.h: Likewise.
17958
17959 2008-09-22 Bean <bean123ch@gmail.com>
17960
17961 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
17962 resident and in attribute list.
17963
17964 * include/grub/ntfs.h (BMP_LEN): Removed.
17965
17966 2008-09-22 Bean <bean123ch@gmail.com>
17967
17968 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
17969 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
17970
17971 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
17972 error occurs, as grub_disk_open will call grub_disk_close, which will
17973 call p->close (scsi).
17974
17975 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
17976
17977 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
17978 (AC_PREREQ): Bumped to 2.59.
17979 (AC_TRY_COMPILE): Replace obsolete macro with ...
17980 (AC_COMPILE_IFELSE): ... this.
17981 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
17982 (AC_LINK_IFELSE): ... this.
17983
17984 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
17985
17986 * autogen.sh: Add a call to `gendistlist.sh'.
17987
17988 2008-09-19 Christian Franke <franke@computer.org>
17989
17990 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
17991 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
17992 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
17993 Export __enable_execute_stack() to modules.
17994 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
17995 New function.
17996
17997 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
17998
17999 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
18000 Sort the list.
18001
18002 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
18003
18004 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
18005 #include <grub/util/hostdisk.h>.
18006
18007 2008-09-08 Robert Millan <rmh@aybabtu.com>
18008
18009 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
18010 segments when their filesz is zero (grub_file_read() interprets
18011 zero-size as "read until EOF", which results in memory corruption).
18012 Use `lowest_segment' rather than 0 for calculating the current
18013 segment load address.
18014
18015 2008-09-08 Robert Millan <rmh@aybabtu.com>
18016
18017 * util/hostdisk.c (open_device): Replace a grub_util_info() call
18018 with grub_dprintf("hostdisk", ...), as it was so verbose that it
18019 clobbered useful information.
18020
18021 2008-09-08 Robert Millan <rmh@aybabtu.com>
18022
18023 * include/grub/util/biosdisk.h: Move to ...
18024 * include/grub/util/hostdisk.h: ... here. Update all users.
18025 * util/biosdisk.c: Move to ...
18026 * util/hostdisk.c: ... here. Update all users.
18027
18028 2008-09-07 Robert Millan <rmh@aybabtu.com>
18029
18030 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
18031 variables.
18032 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
18033 and length can be stored directly in the `mbi->mmap_addr' and
18034 `mbi->mmap_length' struct fields.
18035
18036 2008-09-07 Robert Millan <rmh@aybabtu.com>
18037
18038 * conf/i386.rmk: New file. Provides declaration for building
18039 `cpuid.mod'.
18040 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
18041 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
18042 variables.
18043 Include `conf/i386.mk'.
18044 * conf/i386-efi.rmk: Likewise.
18045 * conf/x86_64-efi.rmk: Likewise.
18046 * conf/i386-coreboot.rmk: Likewise.
18047 * conf/i386-ieee1275.rmk: Likewise.
18048
18049 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
18050
18051 Based on patch created by Colin D Bennett <colin@gibibit.com>.
18052 Adds optimization support for BGR based modes.
18053
18054 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
18055 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
18056 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18057 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18058 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18059 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18060 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18061 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18062 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18063 (grub_video_i386_vbeblit_index_index): Likewise.
18064 (grub_video_i386_vbeblit_replace_directN): Added.
18065 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
18066 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
18067 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
18068 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
18069 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
18070 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
18071 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
18072 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
18073 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
18074 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
18075 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
18076 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
18077 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
18078
18079 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
18080 (grub_video_i386_vbefill_R8G8B8): Likewise.
18081 (grub_video_i386_vbefill_index): Likewise.
18082 (grub_video_i386_vbefill_direct32): Added.
18083 (grub_video_i386_vbefill_direct24): Likewise.
18084 (grub_video_i386_vbefill_direct16): Likewise.
18085 (grub_video_i386_vbefill_direct8): Likewise.
18086
18087 * include/grub/video.h (grub_video_blit_format): Removed
18088 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
18089 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
18090 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
18091 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
18092 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
18093
18094 * video/video.c (grub_video_get_blit_format): Updated to use new
18095 blit formats. Added handling for 16 bit color modes.
18096
18097 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
18098 fillers.
18099 (common_blitter): Updated to use new blitters.
18100
18101 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
18102 Removed.
18103 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
18104 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
18105 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
18106 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
18107 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
18108 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
18109 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
18110 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
18111 (grub_video_i386_vbeblit_index_index): Likewise.
18112 (grub_video_i386_vbeblit_replace_directN): Added.
18113 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
18114 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
18115 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
18116 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
18117 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
18118 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
18119 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
18120 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
18121 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
18122 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
18123 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
18124 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
18125 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
18126
18127 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
18128 (grub_video_i386_vbefill_R8G8B8): Likewise.
18129 (grub_video_i386_vbefill_index): Likewise.
18130 (grub_video_i386_vbefill_direct32): Added.
18131 (grub_video_i386_vbefill_direct24): Likewise.
18132 (grub_video_i386_vbefill_direct16): Likewise.
18133 (grub_video_i386_vbefill_direct8): Likewise.
18134
18135 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
18136 types.
18137
18138 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
18139 types.
18140
18141 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
18142 blitter types.
18143
18144 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
18145 types.
18146
18147 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
18148
18149 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
18150 RAID level 1.
18151
18152 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
18153
18154 * fs/iso9660.c (grub_iso9660_date): New structure.
18155 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
18156 (grub_iso9660_uuid): New function.
18157
18158 2008-09-05 Bean <bean123ch@gmail.com>
18159
18160 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
18161
18162 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
18163 insensitive bit for names in Win32 and Win32 & DOS namespace.
18164
18165 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
18166
18167 * include/grub/types.h (LONG_MAX): Likewise.
18168
18169 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
18170
18171 * util/getroot.c: Include <config.h>.
18172 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
18173 add support for /dev/md/N devices and handle LVM double dash escaping.
18174
18175 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
18176
18177 * config.guess: Update to latest version from config git.
18178 * config.sub: Likewise.
18179
18180 2008-09-03 Robert Millan <rmh@aybabtu.com>
18181
18182 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
18183 `disk->total_sectors'.
18184
18185 2008-09-01 Colin D Bennett <colin@gibibit.com>
18186
18187 * include/grub/normal.h: Fixed incorrect comment for
18188 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
18189
18190 2008-09-01 Colin D Bennett <colin@gibibit.com>
18191
18192 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
18193 values with defines.
18194
18195 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
18196 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
18197 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
18198 (GRUB_VBE_MODEATTR_COLOR): Likewise.
18199 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
18200 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
18201 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
18202 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
18203 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
18204 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
18205 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
18206 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
18207 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
18208 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
18209 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
18210 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
18211 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
18212 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
18213 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
18214
18215 2008-08-31 Robert Millan <rmh@aybabtu.com>
18216
18217 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
18218 declaration.
18219 (grub_multiboot): Fix a few warnings.
18220
18221 2008-08-31 Robert Millan <rmh@aybabtu.com>
18222
18223 * loader/i386/pc/multiboot.c: Update comment not to say that
18224 boot_device support is unimplemented.
18225
18226 2008-08-31 Robert Millan <rmh@aybabtu.com>
18227
18228 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
18229 or memory map support are unimplemented.
18230
18231 2008-08-31 Colin D Bennett <colin@gibibit.com>
18232
18233 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
18234
18235 2008-08-31 Colin D Bennett <colin@gibibit.com>
18236
18237 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
18238 total video memory in 'vbeinfo' output; show color format details for
18239 each video mode.
18240
18241 2008-08-30 Pavel Roskin <proski@gnu.org>
18242
18243 * util/genmoddep.c: Remove for real this time.
18244 * DISTLIST: Remove util/genmoddep.c.
18245
18246 2008-08-30 Robert Millan <rmh@aybabtu.com>
18247
18248 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
18249 as required by Multiboot spec (it was already 4-byte aligned, but
18250 only by chance).
18251
18252 2008-08-29 Pavel Roskin <proski@gnu.org>
18253
18254 * kern/powerpc/ieee1275/crt0.S: Rename to ...
18255 * kern/powerpc/ieee1275/startup.S: ... this.
18256 * conf/powerpc-ieee1275.rmk: Adjust for the above.
18257 * DISTLIST: Likewise.
18258
18259 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
18260 grub/cpu/kernel.h. Add start label for consistency with other
18261 platforms. Add grub_prefix immediately after start. Add jump
18262 to the code after grub_prefix.
18263 * include/grub/powerpc/kernel.h: Provide valid values for
18264 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
18265
18266 2008-08-29 Bean <bean123ch@gmail.com>
18267
18268 * configure.ac: Change host_os to cygwin for mingw.
18269 (asprintf): New check for function.
18270
18271 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
18272 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
18273
18274 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
18275 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
18276 sync, sleep and grub_util_get_disk_size for mingw.
18277
18278 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
18279 to get size in mingw.
18280 (open_device): Use flag O_BINARY if it's defined.
18281 (find_root_device): Add dummy code for mingw.
18282
18283 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
18284 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
18285 (get_scsi_disk_name): Return 0 for mingw.
18286
18287 * util/hostfs.c: #include <grub/util/misc.h>.
18288 (grub_hostfs_open): Use "rb" flag to open file, use
18289 grub_util_get_disk_size to get disk size for mingw.
18290
18291 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
18292 (asprintf): New function if HAVE_ASPRINTF is not set.
18293 (sync): New function for mingw.
18294 (sleep): Likewise.
18295 (grub_util_get_disk_size): Likewise.
18296
18297 2008-08-28 Pavel Roskin <proski@gnu.org>
18298
18299 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
18300 kern/time.c.
18301
18302 2008-08-28 Robert Millan <rmh@aybabtu.com>
18303
18304 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
18305
18306 2008-08-28 Robert Millan <rmh@aybabtu.com>
18307
18308 Change find_grub_drive() syntax so it doesn't prevent it from
18309 detecting NULL names as errors.
18310
18311 * util/biosdisk.c (find_grub_drive): Move free slot search code
18312 from here ...
18313 (find_free_slot): ... to here.
18314 (read_device_map): Use find_free_slot() to search for free slots.
18315
18316 2008-08-27 Marco Gerards <marco@gnu.org>
18317
18318 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
18319 (scsi_mod_SOURCES): New variable.
18320 (scsi_mod_CFLAGS): Likewise
18321 (scsi_mod_LDFLAGS): Likewise.
18322
18323 * disk/scsi.c: New file.
18324
18325 * include/grub/scsi.h: Likewise.
18326
18327 * include/grub/scsicmd.h: Likewise.
18328
18329 * disk/ata.c: Include <grub/scsi.h>.
18330 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
18331 instead.
18332 (grub_ata_iterate): Skip ATAPI devices.
18333 (grub_ata_open): Only handle ATAPI devices.
18334 (struct grub_atapi_read): Removed.
18335 (grub_atapi_readsector): Likewise.
18336 (grub_ata_read): No longer handle ATAPI devices.
18337 (grub_ata_write): Likewise.
18338 (grub_atapi_iterate): New function.
18339 (grub_atapi_read): Likewise.
18340 (grub_atapi_write): Likewise.
18341 (grub_atapi_open): Likewise.
18342 (grub_atapi_close): Likewise.
18343 (grub_atapi_dev): New variable.
18344 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
18345 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
18346
18347 * include/grub/disk.h (enum grub_disk_dev_id): Add
18348 `GRUB_DISK_DEVICE_SCSI_ID'.
18349
18350 2008-08-26 Robert Millan <rmh@aybabtu.com>
18351
18352 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
18353 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
18354 descriptive.
18355
18356 2008-08-23 Bean <bean123ch@gmail.com>
18357
18358 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
18359 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
18360 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
18361 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
18362 dm_nv.mod.
18363 (raid5rec_mod_SOURCES): New macro.
18364 (raid5rec_mod_CFLAGS): Likewise.
18365 (raid5rec_mod_LDFLAGS): Likewise.
18366 (raid6rec_mod_SOURCES): Likewise.
18367 (raid6rec_mod_CFLAGS): Likewise.
18368 (raid6rec_mod_LDFLAGS): Likewise.
18369 (mdraid_mod_SOURCES): Likewise.
18370 (mdraid_mod_CFLAGS): Likewise.
18371 (mdraid_mod_LDFLAGS): Likewise.
18372 (dm_nv_mod_SOURCES): Likewise.
18373 (dm_nv_mod_CFLAGS): Likewise.
18374 (dm_nv_mod_LDFLAGS): Likewise.
18375
18376 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
18377 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
18378 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
18379
18380 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
18381 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
18382
18383 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18384
18385 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18386
18387 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18388
18389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18390
18391 * disk/raid5_recover.c: New file.
18392
18393 * disk/raid6_recover.c: Likewise.
18394
18395 * disk/mdraid_linux.c: Likewise.
18396
18397 * disk/dmraid_nvidia.c: Likewise.
18398
18399 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
18400 ULONG_MAX.
18401
18402 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
18403 calculate the size of raid device.
18404 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
18405 different layout of raid5.
18406 (grub_raid_scan_device): Remove code specific to mdraid.
18407 (grub_raid_list): New variable.
18408 (free_array): New function.
18409 (grub_raid_register): Likewise.
18410 (grub_raid_unregister): Likewise.
18411 (grub_raid_rescan): Likewise.
18412 (GRUB_MOD_INIT): Don't iterate device here.
18413 (GRUB_MOD_FINI): Use free_array to release resource.
18414
18415 * include/grub/raid.h: Remove macro and structure specific to mdraid.
18416 (grub_raid5_recover_func_t): New function variable type.
18417 (grub_raid6_recover_func_t): Likewise.
18418 (grub_raid5_recover_func): New variable.
18419 (grub_raid6_recover_func): Likewise.
18420 (grub_raid_register): New function.
18421 (grub_raid_unregister): Likewise.
18422 (grub_raid_rescan): Likewise.
18423 (grub_raid_block_xor): Likewise.
18424
18425 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
18426 (CMD_CRC): New macro.
18427 (part): Removed.
18428 (read_file): Handle device as well as file.
18429 (cmd_crc): New function.
18430 (fstest): Handle multiple disks.
18431 (options): Remove part, raw and long, add root and diskcount.
18432 (usage): Add crc, remove -p, -r, -l, add -r and -c.
18433 (main): Find the first non option entry and ignore subsequent options,
18434 add handling for the new options, support multiple disks.
18435
18436 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
18437
18438 2008-08-23 Bean <bean123ch@gmail.com>
18439
18440 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
18441
18442 * genfslist.sh: Ignore kernel.mod.
18443
18444 * genpartmaplist.sh: Likewise.
18445
18446 2008-08-23 Robert Millan <rmh@aybabtu.com>
18447
18448 * util/getroot.c (find_root_device): Skip anything that starts with
18449 a dot, not just directories. This avoids things like /dev/.tmp.md0.
18450
18451 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
18452
18453 * util/update-grub.in (GRUB_GFXMODE): Export variable.
18454 * util/grub.d/00_header.in: Allow the administrator to change default
18455 gfxmode via ${GRUB_GFXMODE}.
18456
18457 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
18458
18459 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
18460
18461 2008-08-21 Robert Millan <rmh@aybabtu.com>
18462
18463 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
18464 loader.
18465 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
18466 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
18467
18468 2008-08-20 Carles Pina i Estany <carles@pina.cat>
18469
18470 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
18471 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
18472
18473 2008-08-19 Robert Millan <rmh@aybabtu.com>
18474
18475 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
18476 (struct grub_virtual_screen): Remove `cursor_color'.
18477 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
18478 initialization.
18479 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
18480
18481 2008-08-18 Robert Millan <rmh@aybabtu.com>
18482
18483 Unify (identical) linux_normal.c files.
18484 * loader/i386/efi/linux_normal.c: Move from here ...
18485 * loader/linux_normal.c: ... to here. Update all users.
18486 * loader/i386/pc/linux_normal.c: Delete. Update all users.
18487 * loader/i386/ieee1275/linux_normal.c: Likewise.
18488
18489 2008-08-18 Robert Millan <rmh@aybabtu.com>
18490
18491 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
18492 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
18493 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
18494 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
18495 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
18496 New macros.
18497 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
18498 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
18499 (GRUB_LINUX_CL_END_OFFSET): ... to here.
18500 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
18501 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
18502 (GRUB_EFI_CL_END_OFFSET): Rename to ...
18503 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
18504 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
18505 Initialize `params->video_cursor_x' and `params->video_cursor_y'
18506 portably using grub_getxy().
18507 Replace `-EFI' with `-bzImage' in boot message.
18508
18509 2008-08-17 Robert Millan <rmh@aybabtu.com>
18510
18511 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
18512
18513 2008-08-17 Robert Millan <rmh@aybabtu.com>
18514
18515 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
18516
18517 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
18518 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
18519 (grub_machine_mmap_iterate): New function declaration.
18520 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
18521 structure.
18522 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
18523 macros.
18524
18525 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
18526 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
18527 Move e820 parsing from here ...
18528 * kern/i386/pc/mmap.c: New file.
18529 (grub_machine_mmap_iterate): ... to here.
18530
18531 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
18532 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
18533 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
18534 (grub_available_iterate): Redeclare to return `void', and redeclare
18535 its hook to use grub_uint64_t as addr and size parameters, and rename
18536 to ...
18537 (grub_machine_mmap_iterate): ... this. Update all users.
18538
18539 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
18540 to make it more readable. Rename to ...
18541 (grub_machine_mmap_iterate): ... this.
18542
18543 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
18544 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
18545 (grub_multiboot): Allocate an extra region after the payload, and fill
18546 it with a Multiboot memory map. Adjust a.out loader to calculate size
18547 with the extra space.
18548 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
18549 with the extra space.
18550
18551 2008-08-17 Carles Pina i Estany <carles@pina.cat>
18552
18553 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
18554
18555 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
18556
18557 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
18558 mdate-sh to the list `find' searches for.
18559 * DISTLIST: Regenerated.
18560
18561 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
18562
18563 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
18564 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
18565 genmoddep.awk, gensymlist.sh.in.
18566 (DISTDIRS): Add bus, docs, hook, lib.
18567 * DISTLIST: Regenerated.
18568 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
18569
18570 2008-08-16 Robert Millan <rmh@aybabtu.com>
18571
18572 * disk/raid.c (grub_raid_init): Handle/report errors set by
18573 grub_device_iterate().
18574 * disk/lvm.c (grub_lvm_init): Likewise.
18575
18576 2008-08-15 Bean <bean123ch@gmail.com>
18577
18578 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18579 and datehook.mod.
18580 (datetime_mod_SOURCES): New macro.
18581 (datetime_mod_CFLAGS): Likewise.
18582 (datetime_mod_LDFLAGS): Likewise.
18583 (date_mod_SOURCES): Likewise.
18584 (date_mod_CFLAGS): Likewise.
18585 (date_mod_LDFLAGS): Likewise.
18586 (datehook_mod_SOURCES): Likewise.
18587 (datehook_mod_CFLAGS): Likewise.
18588 (datehook_mod_LDFLAGS): Likewise.
18589
18590 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18591 and datehook.mod.
18592 (datetime_mod_SOURCES): New macro.
18593 (datetime_mod_CFLAGS): Likewise.
18594 (datetime_mod_LDFLAGS): Likewise.
18595 (date_mod_SOURCES): Likewise.
18596 (date_mod_CFLAGS): Likewise.
18597 (date_mod_LDFLAGS): Likewise.
18598 (datehook_mod_SOURCES): Likewise.
18599 (datehook_mod_CFLAGS): Likewise.
18600 (datehook_mod_LDFLAGS): Likewise.
18601
18602 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18603 and datehook.mod.
18604 (datetime_mod_SOURCES): New macro.
18605 (datetime_mod_CFLAGS): Likewise.
18606 (datetime_mod_LDFLAGS): Likewise.
18607 (date_mod_SOURCES): Likewise.
18608 (date_mod_CFLAGS): Likewise.
18609 (date_mod_LDFLAGS): Likewise.
18610 (datehook_mod_SOURCES): Likewise.
18611 (datehook_mod_CFLAGS): Likewise.
18612 (datehook_mod_LDFLAGS): Likewise.
18613
18614 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18615 and datehook.mod.
18616 (datetime_mod_SOURCES): New macro.
18617 (datetime_mod_CFLAGS): Likewise.
18618 (datetime_mod_LDFLAGS): Likewise.
18619 (date_mod_SOURCES): Likewise.
18620 (date_mod_CFLAGS): Likewise.
18621 (date_mod_LDFLAGS): Likewise.
18622 (datehook_mod_SOURCES): Likewise.
18623 (datehook_mod_CFLAGS): Likewise.
18624 (datehook_mod_LDFLAGS): Likewise.
18625
18626 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
18627 and datehook.mod.
18628 (datetime_mod_SOURCES): New macro.
18629 (datetime_mod_CFLAGS): Likewise.
18630 (datetime_mod_LDFLAGS): Likewise.
18631 (date_mod_SOURCES): Likewise.
18632 (date_mod_CFLAGS): Likewise.
18633 (date_mod_LDFLAGS): Likewise.
18634 (datehook_mod_SOURCES): Likewise.
18635 (datehook_mod_CFLAGS): Likewise.
18636 (datehook_mod_LDFLAGS): Likewise.
18637
18638 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
18639
18640 * commands/date.c: New file.
18641
18642 * hook/datehook.c: Likewise.
18643
18644 * include/grub/lib/datetime.h: Likewise.
18645
18646 * include/grub/i386/cmos.h: Likewise.
18647
18648 * lib/datetime.c: Likewise.
18649
18650 * lib/i386/datetime.c: Likewise.
18651
18652 * lib/efi/datetime.c: Likewise.
18653
18654 2008-08-14 Robert Millan <rmh@aybabtu.com>
18655
18656 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
18657 (grub_mkelfimage_SOURCES): New variable.
18658 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
18659
18660 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
18661 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
18662 * conf/powerpc-ieee1275.rmk: Likewise.
18663 * conf/i386-ieee1275.rmk: Likewise.
18664
18665 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
18666 * kern/i386/coreboot/init.c: Likewise.
18667
18668 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
18669 with `<grub/cpu/kernel.h>'.
18670 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
18671 to ...
18672 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
18673 * kern/i386/coreboot/startup.S: Likewise.
18674
18675 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
18676 (GRUB_MOD_GAP): Remove.
18677 * include/grub/powerpc/kernel.h: New file.
18678 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
18679 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
18680 * include/grub/i386/kernel.h: New file.
18681 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
18682 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
18683 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
18684
18685 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
18686 `grub-mkelfimage'.
18687 Use --directory when invoking grub_mkimage.
18688
18689 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
18690 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
18691 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
18692 and GRUB_KERNEL_CPU_PREFIX.
18693
18694 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
18695
18696 * include/grub/err.h (grub_err_printf): New function prototype.
18697 * util/misc.c (grub_err_printf): New function.
18698 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
18699 grub_printf.
18700 * kern/err.c (grub_print_error): Use grub_err_printf.
18701
18702 2008-08-13 Robert Millan <rmh@aybabtu.com>
18703
18704 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
18705
18706 2008-08-13 Robert Millan <rmh@aybabtu.com>
18707
18708 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
18709 boot entry.
18710
18711 2008-08-12 Robert Millan <rmh@aybabtu.com>
18712
18713 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
18714 of the relocation code from here ...
18715 (grub_multiboot): ... to here.
18716 (forward_relocator, backward_relocator): Move from here ...
18717 * kern/i386/loader.S (grub_multiboot_forward_relocator)
18718 (grub_multiboot_backward_relocator): ... to here.
18719 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
18720 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
18721 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
18722 (grub_multiboot_forward_relocator_end)
18723 (grub_multiboot_backward_relocator)
18724 (grub_multiboot_backward_relocator_end): New variables.
18725
18726 2008-08-12 Bean <bean123ch@gmail.com>
18727
18728 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
18729
18730 2008-08-11 Robert Millan <rmh@aybabtu.com>
18731
18732 * kern/i386/linuxbios/startup.S: Move from here ...
18733 * kern/i386/coreboot/startup.S: ... to here.
18734
18735 * kern/i386/linuxbios/init.c: Move from here ...
18736 * kern/i386/coreboot/init.c: ... to here.
18737
18738 * kern/i386/linuxbios/table.c: Move from here ...
18739 * kern/i386/coreboot/mmap.c: ... to here.
18740
18741 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
18742
18743 2008-08-11 Robert Millan <rmh@aybabtu.com>
18744
18745 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
18746 errors. Leave it to the upper layer to handle them.
18747
18748 2008-08-09 Christian Franke <franke@computer.org>
18749
18750 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
18751 * conf/common.rmk: Install `grub-pe2elf' only if requested.
18752 Install `grub.d/10_windows' only on Cygwin.
18753 * configure.ac: Add subst of `target_os'.
18754 Check `target_os' also before setting TARGET_OBJ2ELF.
18755 Add `--enable-grub-pe2elf'.
18756
18757 2008-08-08 Robert Millan <rmh@aybabtu.com>
18758
18759 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
18760 (grub_last_time): Change type to grub_uint64_t.
18761 (grub_disk_open): Migrate code from to using grub_get_time_ms().
18762 (grub_disk_close): Likewise.
18763
18764 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
18765 (run_menu): Migrate code from to using grub_get_time_ms().
18766
18767 * util/misc.c (grub_get_time_ms): New function.
18768
18769 2008-08-08 Marco Gerards <marco@gnu.org>
18770
18771 * disk/ata.c (grub_ata_regget): Change return type to
18772 `grub_uint8_t'.
18773 (grub_ata_regget2): Likewise.
18774 (grub_ata_wait_status): New function.
18775 (grub_ata_wait_busy): Removed function, updated all users to use
18776 `grub_ata_wait_status'.
18777 (grub_ata_wait_drq): Likewise.
18778 (grub_ata_cmd): New function.
18779 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
18780 error handling.
18781 (grub_ata_pio_write): Add error handling.
18782 (grub_atapi_identify): Likewise.
18783 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
18784 handling.
18785 (grub_ata_identify): Use `grub_ata_cmd' and improve error
18786 handling. Actually use the detected registers. Reorder the
18787 detection logic such that it is easier to read.
18788 (grub_ata_pciinit): Do not assign the same ID to each controller.
18789 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
18790 handling.
18791 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
18792
18793 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
18794
18795 2008-08-08 Marco Gerards <marco@gnu.org>
18796
18797 * NEWS: Update.
18798
18799 2008-08-07 Bean <bean123ch@gmail.com>
18800
18801 * include/grub/x86_64/pci.h: New file.
18802
18803 2008-08-07 Christian Franke <franke@computer.org>
18804
18805 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
18806 (TIMER2_GATE): Likewise.
18807 (grub_pit_wait): Add enable/disable of the timer2 gate
18808 bit of port 0x61. This fixes a possible infinite loop.
18809
18810 2008-08-07 Bean <bean123ch@gmail.com>
18811
18812 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
18813 kern/i386/tsc.c and kern/i386/pit.c.
18814
18815 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
18816 x86_64 platform.
18817
18818 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
18819 <grub/i386/tsc.h>.
18820
18821 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
18822
18823 2008-08-07 Bean <bean123ch@gmail.com>
18824
18825 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
18826
18827 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
18828
18829 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
18830 multiple inclusion. Add #include <grub/types.h>.
18831
18832 2008-08-06 Christian Franke <franke@computer.org>
18833
18834 * conf/common.rmk: Build and install `10_windows'.
18835 * util/grub.d/10_windows.in: New script.
18836
18837 2008-08-06 Pavel Roskin <proski@gnu.org>
18838
18839 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
18840
18841 2008-08-06 Robert Millan <rmh@aybabtu.com>
18842
18843 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
18844 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
18845
18846 2008-08-06 Bean <bean123ch@gmail.com>
18847
18848 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
18849 (grub_pxefs_fs_int): Remove dummy definition.
18850 (grub_pxefs_open): Use data->block_size to store the current block
18851 size setting.
18852 (grub_pxefs_read): Use block size stored in data->block_size. As the
18853 value of grub_pxe_blksize can be changed after the file is opened.
18854
18855 2008-08-06 Bean <bean123ch@gmail.com>
18856
18857 * fs/i386/pc/pxe.c (curr_file): new variable.
18858 (grub_pxefs_open): Simply the handling of pxe file system. Don't
18859 require the dummy internal file system anymore.
18860 (grub_pxefs_read): Removed.
18861 (grub_pxefs_close): Likewise.
18862 (grub_pxefs_fs_int): Likewise.
18863 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
18864 connection when we switch file.
18865 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
18866
18867 2008-08-06 Robert Millan <rmh@aybabtu.com>
18868
18869 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
18870 `halt.mod'.
18871 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
18872 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
18873
18874 * kern/i386/halt.c: New file.
18875 * kern/i386/reboot.c: Likewise.
18876 * include/grub/i386/reboot.h: Likewise.
18877 * include/grub/i386/halt.h: Likewise.
18878
18879 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
18880 Include `<grub/cpu/halt.h>'.
18881 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
18882 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
18883
18884 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
18885 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
18886 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
18887 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
18888 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
18889 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
18890 from here ...
18891 * include/grub/i386/at_keyboard.h: ... to here.
18892
18893 2008-08-05 Robert Millan <rmh@aybabtu.com>
18894
18895 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
18896 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
18897 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
18898 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
18899 `kern/generic/millisleep.c'.
18900
18901 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
18902 instead of grub_get_rtc().
18903 (grub_tsc_init): Initialize `tsc_boot_time'.
18904
18905 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
18906 (grub_machine_init): Use grub_tsc_init() rather than
18907 installing an RTC-based handler via grub_install_get_time_ms().
18908
18909 * kern/i386/pit.c: New file.
18910 * include/grub/i386/pit.h: Likewise.
18911
18912 2008-08-05 Bean <bean123ch@gmail.com>
18913
18914 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
18915
18916 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
18917 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
18918 (pxe_mod_SOURCES): New macro.
18919 (pxe_mod_CFLAGS): Likewise.
18920 (pxe_mod_LDFLAGS): Likewise.
18921 (pxecmd_mod_SOURCES): Likewise.
18922 (pxecmd_mod_CFLAGS): Likewise.
18923 (pxecmd_mod_LDFLAGS): Likewise.
18924
18925 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
18926 (grub_pxe_call): Likewise.
18927
18928 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
18929
18930 * commands/i386/pc/pxecmd.c: New file.
18931
18932 * fs/i386/pc/pxe.c: Likewise.
18933
18934 * include/grub/i386/pc/pxe.h: Likewise.
18935
18936 2008-08-05 Bean <bean123ch@gmail.com>
18937
18938 * util/console.c (grub_console_cur_color): New variable.
18939 (grub_console_standard_color): Likewise.
18940 (grub_console_normal_color): Likewise.
18941 (grub_console_highlight_color): Likewise.
18942 (color_map): Likewise.
18943 (use_color): Likewise.
18944 (NUM_COLORS): New macro.
18945 (grub_ncurses_setcolorstate): Handle color properly.
18946 (grub_ncurses_setcolor): Don't change color here, just remember the
18947 settings, color will be set in grub_ncurses_setcolorstate.
18948 (grub_ncurses_getcolor): New function.
18949 (grub_ncurses_init): Initialize color pairs.
18950 (grub_ncurses_term): New member grub_ncurses_getcolor.
18951
18952 2008-08-05 Colin D Bennett <colin@gibibit.com>
18953
18954 High resolution timer support. Implemented for x86 CPUs using TSC.
18955 Extracted generic grub_millisleep() so it's linked in only as needed.
18956 This requires a Pentium compatible CPU; if the RDTSC instruction is
18957 not supported, then it falls back on the generic grub_get_time_ms()
18958 implementation that uses the machine's RTC.
18959
18960 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
18961 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
18962 `kern/generic/millisleep.c'.
18963
18964 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
18965 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
18966
18967 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
18968 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
18969
18970 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18971
18972 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
18973 `kern/generic/millisleep.c'.
18974
18975 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18976
18977 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
18978
18979 * kern/generic/rtc_get_time_ms.c: New file.
18980
18981 * kern/generic/millisleep.c: New file.
18982
18983 * kern/misc.c: Don't include
18984 <kern/time.h> anymore.
18985 (grub_millisleep_generic): Removed.
18986
18987 * commands/sleep.c (grub_interruptible_millisleep): Uses
18988 grub_get_time_ms() instead of grub_get_rtc().
18989
18990 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
18991 function.
18992 (grub_cpu_is_cpuid_supported): New inline function.
18993 (grub_cpu_is_tsc_supported): New inline function.
18994 (grub_tsc_init): New function prototype.
18995 (grub_tsc_get_time_ms): New function prototype.
18996
18997 * kern/i386/tsc.c (grub_get_time_ms): New file.
18998
18999 * include/grub/time.h: Include <grub/types.h.
19000 (grub_millisleep_generic): Removed.
19001 (grub_get_time_ms): New prototype.
19002 (grub_install_get_time_ms): New prototype.
19003 (grub_rtc_get_time_ms): New prototype.
19004
19005 * kern/time.c (grub_get_time_ms): New function.
19006 (grub_install_get_time_ms): New function.
19007
19008 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
19009 <grub/time.h> anymore.
19010 (grub_millisleep): Removed.
19011 (grub_machine_init): Call grub_tsc_init.
19012
19013 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
19014 get_time_ms() implementation.
19015
19016 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
19017 (ieee1275_get_time_ms): New function.
19018 (grub_machine_init): Install get_time_ms() implementation.
19019
19020 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
19021 (grub_machine_init): Call grub_tsc_init().
19022 (grub_millisleep): Removed.
19023
19024 * kern/ieee1275/init.c (grub_millisleep): Removed.
19025 (grub_machine_init): Install ieee1275_get_time_ms()
19026 implementation.
19027 (ieee1275_get_time_ms): New function.
19028 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
19029 real work.
19030
19031 2008-08-05 Marco Gerards <marco@gnu.org>
19032
19033 * disk/ata.c: Include <grub/pci.h>.
19034 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
19035 (grub_ata_initialize): Rewritten.
19036 (grub_ata_device_initialize): New function.
19037
19038 2008-08-04 Pavel Roskin <proski@gnu.org>
19039
19040 * kern/main.c: Include grub/mm.h.
19041
19042 2008-08-04 Robert Millan <rmh@aybabtu.com>
19043
19044 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
19045 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
19046 corruption problem).
19047
19048 2008-08-04 Robert Millan <rmh@aybabtu.com>
19049
19050 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
19051 warnings introduced in my last commit.
19052
19053 2008-08-03 Robert Millan <rmh@aybabtu.com>
19054
19055 Make PCI available on all i386 architectures.
19056
19057 * include/grub/i386/pc/pci.h: Move from here ...
19058 * include/grub/i386/pci.h: ... to here.
19059
19060 * include/grub/i386/pc/pci.h: Remove.
19061 * include/grub/i386/efi/pci.h: Remove.
19062 * include/grub/x86_64/efi/pci.h: Remove.
19063
19064 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
19065 `<grub/cpu/pci.h>'.
19066
19067 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
19068 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
19069 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
19070
19071 * conf/i386-ieee1275.rmk: Likewise.
19072
19073 2008-08-03 Robert Millan <rmh@aybabtu.com>
19074
19075 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
19076 (grub_console_setcursor): Make it possible to set cursor off.
19077
19078 2008-08-03 Robert Millan <rmh@aybabtu.com>
19079
19080 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
19081 of modules instead of assuming which platform provides what.
19082 * util/update-grub.in: Likewise.
19083
19084 2008-08-03 Robert Millan <rmh@aybabtu.com>
19085
19086 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
19087 instead of `grub_install_dos_part' to determine whether a drive needs
19088 to be prepended to prefix (`grub_install_dos_part' is not reliable,
19089 because it can be overridden when loading GRUB via Multiboot).
19090
19091 2008-08-02 Robert Millan <rmh@aybabtu.com>
19092
19093 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
19094
19095 2008-08-02 Robert Millan <rmh@aybabtu.com>
19096
19097 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
19098 of informational grub_dprintf() calls.
19099
19100 2008-08-02 Robert Millan <rmh@aybabtu.com>
19101
19102 * disk/memdisk.c (memdisk_size): Don't initialize.
19103 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
19104
19105 * include/grub/i386/pc/kernel.h
19106 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
19107 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
19108 (grub_memdisk_image_size, grub_arch_memdisk_addr)
19109 (grub_arch_memdisk_size): Remove.
19110
19111 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
19112 field (was only used to transfer a constant). Add `type' field to
19113 support multiple module types.
19114 (grub_module_iterate): New function.
19115
19116 * kern/device.c (grub_device_open): Do not hide error messages
19117 when grub_disk_open() fails. Use grub_print_error() instead.
19118
19119 * kern/i386/pc/init.c (grub_arch_modules_addr)
19120 (grub_arch_memdisk_size): Remove functions.
19121 (grub_arch_modules_addr): Return the module address in high memory
19122 (now that it isn't copied anymore).
19123
19124 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
19125 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
19126 decompression routine (grub_total_module_size already includes that
19127 now). Don't copy modules back to low memory.
19128
19129 * kern/main.c: Include `<grub/mm.h>'.
19130 (grub_load_modules): Split out (and use) ...
19131 (grub_module_iterate): ... this function, which iterates through
19132 module objects and runs a hook.
19133 Comment out grub_mm_init_region() call, as it would cause non-ELF
19134 modules to be overwritten.
19135
19136 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
19137 the memdisk image in its own region, make it part of the module list.
19138 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
19139 (main): Parse --memdisk|-m option, and pass user-provided path as
19140 parameter to generate_image().
19141 (add_segments): Pass `memdisk_path' down to load_modules().
19142 (load_modules): Embed memdisk image in module section when requested.
19143 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
19144 `header.type' instead of `header.offset'.
19145
19146 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
19147 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
19148 (memdisk_mod_LDFLAGS): New variables.
19149 * conf/i386-coreboot.rmk: Likewise.
19150 * conf/i386-ieee1275.rmk: Likewise.
19151
19152 2008-08-02 Robert Millan <rmh@aybabtu.com>
19153
19154 * loader/i386/pc/multiboot.c (playground, forward_relocator)
19155 (backward_relocator): New variables. Used to allocate and relocate
19156 the payload, respectively.
19157 (grub_multiboot_load_elf32): Load into heap instead of requested
19158 address, install the appropriate relocator code in each bound of
19159 the payload, and set the entry point such that
19160 grub_multiboot_real_boot() will jump to one of them.
19161
19162 * kern/i386/loader.S (grub_multiboot_payload_size)
19163 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
19164 (grub_multiboot_payload_entry_offset): New variables.
19165 (grub_multiboot_real_boot): Set cpu context to what the relocator
19166 expects, and jump to the relocator instead of the payload.
19167
19168 * include/grub/i386/loader.h (grub_multiboot_payload_size)
19169 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
19170 (grub_multiboot_payload_entry_offset): Export.
19171
19172 2008-08-01 Bean <bean123ch@gmail.com>
19173
19174 * normal/menu_entry.c (editor_getline): Don't return the original
19175 string as result, as it will be released by lexer once it has done
19176 using it.
19177
19178 2008-08-01 Robert Millan <rmh@aybabtu.com>
19179
19180 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
19181 within menuentries, not before them.
19182 util/grub.d/10_hurd.in: Likewise.
19183
19184 2008-08-01 Bean <bean123ch@gmail.com>
19185
19186 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
19187 (bufio_mod_SOURCES): New macro.
19188 (bufio_mod_CFLAGS): Likewise.
19189 (bufio_mod_LDFLAGS): Likewise.
19190
19191 * include/grub/bufio.h: New file.
19192
19193 * io/bufio.c: Likewise.
19194
19195 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
19196 (grub_video_reader_png): Use grub_buffile_open to open file.
19197
19198 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
19199 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
19200
19201 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
19202 (grub_video_reader_tga): Use grub_buffile_open to open file.
19203
19204 * font/manager.c: Include <grub/bufio.h>.
19205 (add_font): Use grub_buffile_open to open file.
19206
19207 2008-07-31 Robert Millan <rmh@aybabtu.com>
19208
19209 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
19210 ELF segments, use a macro for arbitrarily accessing any of them instead
19211 of preparing a pointer that allows access to one at a time.
19212 (grub_multiboot_load_elf64): Likewise.
19213
19214 2008-07-31 Bean <bean123ch@gmail.com>
19215
19216 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
19217 GRUB_KERNEL_MACHINE_DATA_END.
19218
19219 2008-07-30 Robert Millan <rmh@aybabtu.com>
19220
19221 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
19222 Increase from 0x50 to 0x60.
19223 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
19224 use UUIDs to identify the root drive for them. If that's not
19225 possible, abort.
19226 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
19227 check, for cross-disk installs.
19228
19229 2008-07-30 Robert Millan <rmh@aybabtu.com>
19230
19231 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
19232 is non-empty, use it to set the `prefix' environment variable instead
19233 of the usual approach.
19234 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
19235 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
19236 environment variable instead of dummy make_install_device().
19237
19238 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
19239 (start): Insert a data section, with `grub_prefix' variable.
19240 * kern/i386/linuxbios/startup.S: Likewise.
19241
19242 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
19243 New variable reference.
19244 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
19245 New macro. Defines offset of `grub_prefix' within startup.S (relative
19246 to `start').
19247 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
19248 section within startup.S (relative to `start').
19249 * include/grub/i386/coreboot/kernel.h: Likewise.
19250
19251 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
19252 Overwrite grub_prefix with its contents, at the beginning of the
19253 first segment.
19254 (main): Understand -p|--prefix.
19255
19256 2008-07-30 Robert Millan <rmh@aybabtu.com>
19257
19258 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
19259
19260 2008-07-30 Robert Millan <rmh@aybabtu.com>
19261
19262 * term/i386/pc/vga_text.c (grub_console_cls): Use
19263 grub_console_gotoxy() to go back to beginning of the screen.
19264 Found by Patrick Georgi <patrick.georgi@coresystems.de>
19265
19266 2008-07-29 Christian Franke <franke@computer.org>
19267
19268 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
19269 Add conversion of emulated mount points on Cygwin.
19270
19271 2008-07-29 Christian Franke <franke@computer.org>
19272
19273 * util/update-grub.in: Add a check for admin
19274 group on Cygwin.
19275 Remove old `grub.cfg.new' before creation.
19276 Add `-f' to `mv' to handle the different filesystem
19277 semantics of Windows.
19278
19279 2008-07-29 Bean <bean123ch@gmail.com>
19280
19281 * normal/main.c (get_line): Fix buffer overflow bug.
19282
19283 2008-07-28 Robert Millan <rmh@aybabtu.com>
19284
19285 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
19286 (struct grub_apple_header): New struct. Describes the layout of
19287 the partmap header.
19288 (apple_partition_map_iterate): Check the header magic as well as the
19289 partition magic (which was already being checked).
19290
19291 2008-07-28 Pavel Roskin <proski@gnu.org>
19292
19293 * genmk.rb: Add a warning to the beginning of the output that
19294 it's a generated file and should not be edited.
19295
19296 2008-07-28 Robert Millan <rmh@aybabtu.com>
19297
19298 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19299 with the same number are found, just use issue a warning with
19300 grub_dprintf(), as this error has been reported to be non-fatal.
19301
19302 2008-07-27 Robert Millan <rmh@aybabtu.com>
19303
19304 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
19305 information.
19306
19307 2008-07-27 Bean <bean123ch@gmail.com>
19308
19309 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
19310 (grub_fat_find_dir): Ignore case when comparing filename.
19311
19312 2008-07-27 Bean <bean123ch@gmail.com>
19313
19314 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
19315 smallino, as it's more descriptive, and i8count can be confused with
19316 the other field count.
19317 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
19318 inode type.
19319
19320 2008-07-27 Bean <bean123ch@gmail.com>
19321
19322 * commands/crc.c: New file.
19323
19324 * lib/crc.c: Likewise.
19325
19326 * include/grub/lib/crc.h: Likewise.
19327
19328 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
19329
19330 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
19331 (hexdump): Move this function to ...
19332
19333 * lib/hexdump.c: ... here.
19334
19335 * include/grub/hexdump.h: Renamed to ...
19336
19337 * include/grub/lib/hexdump.h: ... this.
19338
19339 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
19340
19341 * util/grub-editenv.c: Likewise.
19342
19343 * include/envblk.h: Renamed to ...
19344
19345 * include/lib/envblk.h: ... this.
19346
19347 * util/envblk.c: Renamed to ...
19348
19349 * lib/envblk.c: ... this.
19350
19351 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
19352 lib/hexdump.c.
19353 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
19354 (pkglib_MODULES): Add crc.mod.
19355 (hexdump_mod_SOURCES): Add lib/hexdump.c.
19356 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
19357 (crc_mod_SOURCES): New macro.
19358 (crc_mod_CFLAGS): Likewise.
19359 (crc_mod_LDFLAGS): Likewise.
19360
19361 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
19362
19363 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19364
19365 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19366
19367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19368
19369 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19370
19371 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
19372
19373 * commands/help.c: Include <grub/term.h>.
19374 (TERM_WIDTH): Removed. Updated all users.
19375
19376 2008-07-27 Pavel Roskin <proski@gnu.org>
19377
19378 * util/getroot.c (find_root_device): Rephrase a comment to avoid
19379 spurious warnings about a comment within a comment.
19380
19381 2008-07-25 Robert Millan <rmh@aybabtu.com>
19382
19383 * util/getroot.c (find_root_device): Skip devices that match
19384 /dev/dm-[0-9]. This lets the real device be found for any type of
19385 abstraction (LVM, EVMS, RAID..).
19386 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
19387 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
19388 device is found first, find_root_device() will now skip it.
19389
19390 2008-07-24 Pavel Roskin <proski@gnu.org>
19391
19392 * include/grub/types.h: Use __builtin_bswap32() and
19393 __builtin_bswap64() with gcc 4.3 and newer.
19394
19395 2008-07-24 Christian Franke <franke@computer.org>
19396
19397 * util/i386/pc/grub-install.in: If `--debug' is specified,
19398 pass `--verbose' to grub-setup.
19399 Abort script if make_system_path_relative_to_its_root() fails.
19400
19401 2008-07-24 Bean <bean123ch@gmail.com>
19402
19403 * configure.ac: Fixed a bug caused by the previous cygwin patch,
19404 variable `target_platform' should be `platform'.
19405
19406 2008-07-24 Bean <bean123ch@gmail.com>
19407
19408 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
19409 (grub_png_init_fixed_block): New function.
19410 (grub_png_decode_image_data): Handle fixed huffman code compression.
19411
19412 2008-07-24 Bean <bean123ch@gmail.com>
19413
19414 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
19415 (grub_pe2elf_SOURCES): New macro.
19416 (CLEANFILES): Add grub-pe2elf.
19417
19418 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
19419 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
19420 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
19421 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
19422 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
19423 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
19424 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
19425 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
19426 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
19427 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
19428 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
19429 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
19430 (GRUB_PE32_DT_FUNCTION): Likewise.
19431 (GRUB_PE32_REL_I386_DIR32): Likewise.
19432 (GRUB_PE32_REL_I386_REL32): Likewise.
19433 (grub_pe32_symbol): New structure.
19434 (grub_pe32_reloc): Likewise.
19435
19436 * util/grub-pe2elf.c: New file.
19437
19438 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
19439 start symbol in non pc platform.
19440
19441 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
19442
19443 The following patches are from Christian Franke.
19444
19445 * include/grub/dl.h: Remove .previous, gas supports this only
19446 for ELF format.
19447
19448 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
19449 Remove .type, gas supports this only for ELF format.
19450
19451 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
19452 nullbytes in symbol table. This fixes an infinite loop if table is
19453 zero filled.
19454
19455 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
19456 TARGET_IMG_LDFLAGS and EXEEXT.
19457
19458 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
19459 TARGET_IMG_LDFLAGS_AC.
19460 (grub_CHECK_STACK_ARG_PROBE): New function.
19461
19462 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
19463
19464 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
19465
19466 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
19467 to set TARGET_IMG_LD* accordingly.
19468 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
19469 Add call to grub_CHECK_STACK_ARG_PROBE.
19470 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
19471
19472 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
19473
19474 * genmk.rb: Add EXEEXT to CLEANFILES.
19475
19476 2008-07-23 Robert Millan <rmh@aybabtu.com>
19477
19478 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
19479 define the codes for arrows and lines used for the menu).
19480 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
19481 as well.
19482
19483 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
19484 fonts, because the latter are too slow.
19485
19486 2008-07-21 Bean <bean123ch@gmail.com>
19487
19488 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
19489 a20. Run keyboard test last, as it will cause macbook to halt.
19490
19491 2008-07-18 Pavel Roskin <proski@gnu.org>
19492
19493 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
19494 load foreign architecture modules correctly anyway. Keep
19495 support for loading host architecture modules, whether we
19496 compile them or not.
19497
19498 2008-07-17 Pavel Roskin <proski@gnu.org>
19499
19500 * configure.ac: Use -m32 or -m64 regardless of whether we had to
19501 change target_cpu. The compiler default can mismatch target_cpu
19502 in any case.
19503
19504 * disk/efi/efidisk.c: Fix format warnings on x86_64.
19505 * kern/efi/efi.c: Likewise.
19506
19507 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
19508 target compiler is functional.
19509 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
19510 are set up.
19511
19512 * configure.ac: Default to efi platform for x86_64-apple. Allow
19513 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
19514 adjustments from the rest, only do them if target is not
19515 explicitly given. Merge other adjustments with the final sanity
19516 check. Remove an extraneous check for supported CPU. Be
19517 specific which CPU and which platform is not supported.
19518
19519 * configure.ac: Default to pc platform for x86_64.
19520
19521 2008-07-17 Robert Millan <rmh@aybabtu.com>
19522
19523 Partial LinuxBIOS -> Coreboot rename.
19524
19525 * conf/i386-linuxbios.rmk: Renamed to ...
19526 * conf/i386-coreboot.rmk: ... this.
19527 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
19528 * configure.ac: Accept "coreboot" as input platform (but maintain
19529 compatibility with "linuxbios").
19530 * include/grub/i386/linuxbios: Renamed to ...
19531 * include/grub/i386/coreboot: ... this.
19532
19533 2008-07-17 Bean <bean123ch@gmail.com>
19534
19535 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
19536 (appleldr_mod_SOURCE): New variable.
19537 (appleldr_mod_CFLAGS): Likewise.
19538 (appleldr_mod_LDFLAGS): Likewise.
19539 (pci_mod_SOURCES): Likewise.
19540 (pci_mod_CFLAGS): Likewise.
19541 (pci_mod_LDFLAGS): Likewise.
19542 (lspci_mod_SOURCES): Likewise.
19543 (lspci_mod_CFLAGS): Likewise.
19544 (lspci_mod_LDFLAGS): Likewise.
19545
19546 * conf/x86_64-efi.rmk: New file.
19547
19548 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
19549 macro.
19550 (grub_efidisk_write): Likewise.
19551
19552 * include/efi/api.h (efi_call_0): New macro.
19553 (efi_call_1): Likewise.
19554 (efi_call_2): Likewise.
19555 (efi_call_3): Likewise.
19556 (efi_call_4): Likewise.
19557 (efi_call_5): Likewise.
19558 (efi_call_6): Likewise.
19559
19560 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
19561 grub_rescue_cmd_chainloader.
19562
19563 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
19564 (grub_pe32_optional_header): Change some fields based on i386 or
19565 x86_64 platform.
19566 (GRUB_PE32_PE32_MAGIC): Likewise.
19567
19568 * include/grub/efi/uga_draw.h: New file.
19569
19570 * include/grub/elf.h (STN_ABS): New constant.
19571 (R_X86_64_NONE): Relocation constant for x86_64.
19572 (R_X86_64_64): Likewise.
19573 (R_X86_64_PC32): Likewise.
19574 (R_X86_64_GOT32): Likewise.
19575 (R_X86_64_PLT32): Likewise.
19576 (R_X86_64_COPY): Likewise.
19577 (R_X86_64_GLOB_DAT): Likewise.
19578 (R_X86_64_JUMP_SLOT): Likewise.
19579 (R_X86_64_RELATIVE): Likewise.
19580 (R_X86_64_GOTPCREL): Likewise.
19581 (R_X86_64_32): Likewise.
19582 (R_X86_64_32S): Likewise.
19583 (R_X86_64_16): Likewise.
19584 (R_X86_64_PC16): Likewise.
19585 (R_X86_64_8): Likewise.
19586 (R_X86_64_PC8): Likewise.
19587
19588 * include/grub/i386/efi/pci.h: New file.
19589
19590 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
19591 Change it value based on platform.
19592 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
19593 (GRUB_E820_RAM): Likewise.
19594 (GRUB_E820_RESERVED): Likewise.
19595 (GRUB_E820_ACPI): Likewise.
19596 (GRUB_E820_NVS): Likewise.
19597 (GRUB_E820_EXEC_CODE): Likewise.
19598 (GRUB_E820_MAX_ENTRY): Likewise.
19599 (grub_e820_mmap): New structure.
19600 (linux_kernel_header): Change the efi field according to different
19601 kernel version, also field from linux_kernel_header.
19602
19603 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
19604
19605 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
19606 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
19607 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
19608 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
19609 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
19610 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
19611 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
19612 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
19613 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
19614 (GRUB_PCI_ADDR_IO_MASK): Likewise.
19615
19616 * include/grub/x86_64/efi/kernel.h: New file.
19617
19618 * include/grub/x86_64/efi/loader.h: Likewise.
19619
19620 * include/grub/x86_64/efi/machine.h: Likewise.
19621
19622 * include/grub/x86_64/efi/pci.h: Likewise.
19623
19624 * include/grub/x86_64/efi/time.h: Likewise.
19625
19626 * include/grub/x86_64/linux.h: Likewise.
19627
19628 * include/grub/x86_64/setjmp.h: Likewise.
19629
19630 * include/grub/x86_64/time.h: Likewise.
19631
19632 * include/grub/x86_64/types.h: Likewise.
19633
19634 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
19635 GRUB_TARGET_SIZEOF_VOID_P.
19636
19637 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
19638 (grub_efi_locate_handle): Likewise.
19639 (grub_efi_open_protocol): Likewise.
19640 (grub_efi_set_text_mode): Likewise.
19641 (grub_efi_stall): Likewise.
19642 (grub_exit): Likewise.
19643 (grub_reboot): Likewise.
19644 (grub_halt): Likewise.
19645 (grub_efi_exit_boot_services): Likewise.
19646 (grub_get_rtc): Likewise.
19647
19648 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
19649 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
19650 (grub_efi_allocate_pages): Wrap efi calls.
19651 (grub_efi_free_pages): Wrap efi calls.
19652 (grub_efi_get_memory_map): Wrap efi calls.
19653
19654 * kern/x86_64/dl.c: New file.
19655
19656 * kern/x86_64/efi/callwrap.S: Likewise.
19657
19658 * kern/x86_64/efi/startup.S: Likewise.
19659
19660 * loader/efi/appleloader.c: Likewise.
19661
19662 * loader/efi/chainloader.c (cmdline): New variable.
19663 (grub_chainloader_unload): Wrap efi calls.
19664 (grub_chainloader_boot): Likewise.
19665 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
19666 command line.
19667
19668 * loader/efi/chainloader_normal.c (chainloader_command):
19669 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
19670 command line.
19671
19672 * loader/i386/efi/linux.c (allocate_pages): Change allocation
19673 method.
19674 (grub_e820_add_region): New function.
19675 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
19676 booting.
19677 (grub_find_video_card): New function.
19678 (grub_linux_setup_video): New function.
19679 (grub_rescue_cmd_linux): Probe for video information.
19680
19681 * normal/x86_64/setjmp.S: New file.
19682
19683 * term/efi/console.c (map_char): New function.
19684 (grub_console_putchar): Map unicode char.
19685 (grub_console_checkkey): Wrap efi calls.
19686 (grub_console_getkey): Likewise.
19687 (grub_console_getwh): Likewise.
19688 (grub_console_gotoxy): Likewise.
19689 (grub_console_cls): Likewise.
19690 (grub_console_setcolorstate): Likewise.
19691 (grub_console_setcursor): Likewise.
19692
19693 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
19694
19695 2008-07-16 Pavel Roskin <proski@gnu.org>
19696
19697 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
19698 format strings.
19699
19700 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
19701 pointer, not an integer. This fixes a warning and prevents
19702 precision loss on 64-bit systems.
19703 (relocate_addresses): Remove unneeded cast.
19704
19705 2008-07-15 Pavel Roskin <proski@gnu.org>
19706
19707 * kern/i386/ieee1275/init.c: Include grub/cache.h.
19708
19709 * term/ieee1275/ofconsole.c: Disable code unused on i386.
19710
19711 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
19712 Fix comparison between signed and unsigned.
19713
19714 * include/grub/i386/ieee1275/console.h: Declare
19715 grub_console_init() and grub_console_fini().
19716
19717 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
19718 It's empty and unused.
19719
19720 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
19721 beginning to avoid warnings with some compilers.
19722
19723 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
19724 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
19725
19726 2008-07-14 Pavel Roskin <proski@gnu.org>
19727
19728 * kern/env.c (grub_register_variable_hook): Don't copy empty
19729 string, it leaks memory. Pass "" to grub_env_set(), it should
19730 handle constant strings.
19731
19732 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
19733 * commands/cmp.c (grub_cmd_cmp): Likewise.
19734 * kern/dl.c (grub_dl_flush_cache): Likewise.
19735 (grub_dl_load_core): Likewise.
19736 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
19737 (grub_elf64_load_phdrs): Likewise.
19738
19739 2008-07-13 Pavel Roskin <proski@gnu.org>
19740
19741 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
19742 between signed and unsigned.
19743 (LzmaEnc_Finish): Fix warning about an unused parameter.
19744
19745 2008-07-13 Bean <bean123ch@gmail.com>
19746
19747 * Makefile.in (enable_lzo): New rule.
19748
19749 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
19750
19751 * configure.ac (ENABLE_LZO): New option --enable-lzo.
19752
19753 * boot/i386/pc/lnxboot.S: #include <config.h>.
19754
19755 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
19756 its value according to the compression algorithm used, lzo or lzma.
19757
19758 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
19759 compression algorithm according to configure macro.
19760
19761 * kern/i386/pc/startup.S (codestart): Likewise.
19762
19763 * kern/i386/pc/lzma_decode.S: New file.
19764
19765 * include/grub/lib/LzFind.h: Likewise.
19766
19767 * include/grub/lib/LzHash.h: Likewise.
19768
19769 * include/grub/lib/LzmaDec.h: Likewise.
19770
19771 * include/grub/lib/LzmaEnc.h: Likewise.
19772
19773 * include/grub/lib/LzmaTypes.h: Likewise.
19774
19775 * lib/LzFind.c: Likewise.
19776
19777 * lib/LzmaDec.c: Likewise.
19778
19779 * lib/LzmaEnc.c: Likewise.
19780
19781 2008-07-13 Bean <bean123ch@gmail.com>
19782
19783 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
19784 (grub_ext4_extent_header): New structure.
19785 (grub_ext4_extent): Likewise.
19786 (grub_ext4_extent_idx): Likewise.
19787 (grub_ext4_find_leaf): New function.
19788 (grub_ext2_read_block): Handle extents.
19789
19790 2008-07-12 Robert Millan <rmh@aybabtu.com>
19791
19792 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
19793
19794 2008-07-11 Robert Millan <rmh@aybabtu.com>
19795
19796 * util/grub.d/40_custom.in: New file. Example on how to add custom
19797 entries to /etc/grub.d.
19798 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
19799 40_custom (implicitly, by merging all the grub.d rules).
19800
19801 2008-07-11 Pavel Roskin <proski@gnu.org>
19802
19803 * commands/read.c (grub_getline): Fix invalid memory access.
19804 Don't add newline to the variable value.
19805
19806 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
19807 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
19808 (serial_hw_get_port): Check validity of the port number.
19809 (grub_cmd_serial): Check return value of serial_hw_get_port().
19810
19811 2008-07-07 Pavel Roskin <proski@gnu.org>
19812
19813 * boot/i386/pc/diskboot.S (notification_string): Replace
19814 "Loading kernel" with just "loading". This is shorter, less
19815 confusing and saves a few bytes for possible future changes.
19816
19817 2008-07-05 Pavel Roskin <proski@gnu.org>
19818
19819 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
19820 size for ATAPI devices, they are undefined. Output sector
19821 number in decimal form.
19822
19823 * disk/ata.c: Use named constants for status bits.
19824
19825 2008-07-04 Pavel Roskin <proski@gnu.org>
19826
19827 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
19828 grub_addr_t before casting it to the void pointer to fix a
19829 warning. Non-addressable regions are discarded earlier.
19830 (grub_arch_modules_addr): Cast _end to grub_addr_t.
19831 * kern/i386/linuxbios/table.c: Include grub/misc.h.
19832 (check_signature): Don't shadow table_header.
19833 (grub_linuxbios_table_iterate): Cast numeric constants to
19834 grub_linuxbios_table_header_t.
19835 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
19836 grub_stop().
19837
19838 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
19839 prevent warnings.
19840
19841 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
19842 pointer, which can cause warnings. Support 64-bit addresses.
19843
19844 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
19845 of sizeof(long). This fixes PowerPC image generation on x86_64.
19846
19847 2008-07-04 Robert Millan <rmh@aybabtu.com>
19848
19849 This fixes a performance issue when pc & gpt partmap iterators
19850 didn't abort iteration even after our hook found what it was
19851 looking for (often causing expensive probes of non-existent drives).
19852
19853 Some callers relied on previous buggy behaviour, since they would
19854 raise an error when their own hooks caused early abortion of its
19855 iteration.
19856
19857 * kern/device.c (grub_device_open): Improve error message.
19858 * disk/lvm.c (grub_lvm_open): Likewise.
19859 * disk/raid.c (grub_raid_open): Likewise.
19860
19861 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
19862 when hook requests it, independently of grub_errno.
19863 (pc_partition_map_probe): Do not fail when find_func() caused
19864 early abortion of pc_partition_map_iterate().
19865
19866 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
19867 when hook requests it, independently of grub_errno.
19868 (gpt_partition_map_probe): Do not fail when find_func() caused
19869 early abortion of gpt_partition_map_iterate().
19870
19871 * kern/partition.c (grub_partition_iterate): Abort parent iteration
19872 when hook requests it, independently of grub_errno. Do not fail when
19873 part_map_iterate_hook() caused early abortion of p->iterate().
19874
19875 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
19876 when grub_partition_iterate() returned with non-zero.
19877
19878 2008-07-03 Pavel Roskin <proski@gnu.org>
19879
19880 * disk/ata.c (grub_ata_pio_write): Check status before writing,
19881 like we do in grub_ata_pio_read().
19882 (grub_ata_readwrite): Always write individual sectors. Fix the
19883 sector count for the remainder.
19884 (grub_ata_write): Enable writing to ATA devices. Correctly
19885 report error for ATAPI devices.
19886
19887 2008-07-02 Pavel Roskin <proski@gnu.org>
19888
19889 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
19890 warning.
19891
19892 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
19893 for every read sector, we already increment it for the whole
19894 batch. This fixes reading more than 256 sectors at once.
19895
19896 * util/grub-editenv.c (cmd_info): Cast argument to long
19897 explicitly. ptrdiff_t reduces to int on i386.
19898
19899 * util/grub-editenv.c (main): Be specific which parameter is
19900 missing.
19901
19902 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
19903 (memdisk): Make memdisk_orig_addr a pointer.
19904
19905 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
19906 for file offsets, use grub_off_t instead. Fix printf format
19907 warnings.
19908
19909 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
19910 there. Real unexpected warnings should not drown in the noise
19911 about known problems.
19912
19913 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
19914 grub_disk_addr_t for memory addresses.
19915
19916 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
19917 explicitly to fix a warning.
19918
19919 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
19920
19921 * Makefile.in (MODULE_LDFLAGS): New variable.
19922 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
19923 the linker accepts --build-id=none.
19924 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
19925 MODULE_LDFLAGS.
19926 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
19927
19928 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
19929 those in Linux XFS code. Provide a way to access 64-bit parent
19930 inode.
19931 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
19932 the end of struct grub_xfs_dir_header.
19933
19934 2008-07-02 Bean <bean123ch@gmail.com>
19935
19936 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
19937 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
19938 and GRUB_IEEE1275_FLAG_NO_ANSI.
19939
19940 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
19941 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
19942 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
19943
19944 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
19945 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
19946
19947 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
19948 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
19949
19950 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
19951 esc sequence on non ANSI terminal.
19952 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
19953
19954 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
19955 beginning of file.
19956
19957 2008-07-02 Bean <bean123ch@gmail.com>
19958
19959 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
19960 (grub_editenv_SOURCES): New variable.
19961 (pkglib_MODULES): Add loadenv.mod.
19962 (loadenv_mod_SOURCES): New variable.
19963 (loadenv_mod_CFLAGS): Likewise.
19964 (loadenv_mod_LDFLAGS): Likewise.
19965
19966 * include/grub/envblk.h: New file.
19967
19968 * util/envblk.c: New file.
19969
19970 * util/grub-editenv.c: New file.
19971
19972 * commands/loadenv.c: New file.
19973
19974 2008-07-01 Pavel Roskin <proski@gnu.org>
19975
19976 * include/multiboot2.h (struct multiboot_tag_module): Use char,
19977 not unsigned char. This fixes warnings and is consistent with
19978 other tags.
19979
19980 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
19981
19982 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
19983
19984 * term/tparm.c (analyze): Always set *popcount.
19985
19986 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
19987 cast to fix a warning.
19988
19989 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
19990 cast to suppress a warning.
19991
19992 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
19993 grub_fshelp_read_file() expects.
19994
19995 * fs/fat.c: Fix UUID calculation on big-endian systems. We
19996 write uuid as a 32-bit value in CPU byte order, so declare and
19997 use it as such.
19998
19999 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
20000 long if the format specifier expects it.
20001 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
20002 * partmap/pc.c (pc_partition_map_iterate): Likewise.
20003 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
20004 long to fix a warning.
20005 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
20006 grub_dprintf() arguments to fix warnings.
20007
20008 2008-06-30 Pavel Roskin <proski@gnu.org>
20009
20010 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
20011 install_bsd_part immediately before core.img is embedded or
20012 modified on disk. This fixes core.img verification if core.img
20013 cannot be embedded.
20014
20015 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
20016 core_path to calculate the blocklist.
20017 Patch from Javier Martín <lordhabbit@gmail.com>
20018
20019 2008-06-29 Robert Millan <rmh@aybabtu.com>
20020
20021 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
20022 block to disk block.
20023 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
20024 Patch from Niels Böhm <bitbucket@arcor.de>
20025
20026 2008-06-29 Robert Millan <rmh@aybabtu.com>
20027
20028 * util/update-grub_lib.in (font_path): Search for fonts in
20029 /boot/grub first, which is more likely to be readable (we aren't
20030 deciding where fonts live, just looking for them).
20031
20032 2008-06-26 Pavel Roskin <proski@gnu.org>
20033
20034 * util/biosdisk.c (read_device_map): Don't leave dead map
20035 entries for devices failing stat() check.
20036
20037 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
20038 core_path_dev for the core.img path on the target device.
20039
20040 2008-06-26 Robert Millan <rmh@aybabtu.com>
20041
20042 * disk/fs_uuid.c: New file.
20043 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
20044 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
20045 (fs_uuid_mod_LDFLAGS): New variables.
20046 * include/grub/disk.h (grub_disk_dev_id): Add
20047 `GRUB_DISK_DEVICE_UUID_ID'.
20048 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
20049 implement iterate().
20050
20051 2008-06-26 Robert Millan <rmh@aybabtu.com>
20052
20053 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
20054 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
20055 Linux image includes no initrd.
20056
20057 2008-06-21 Javier Martín <lordhabbit@gmail.com>
20058
20059 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
20060 call to resolve the core image location that effectively appended the
20061 name twice.
20062
20063 2008-06-21 Robert Millan <rmh@aybabtu.com>
20064
20065 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
20066 call from here ...
20067
20068 * util/grub.d/10_hurd.in: ... to here ...
20069 * util/grub.d/10_linux.in: ... and here.
20070
20071 2008-06-19 Robert Millan <rmh@aybabtu.com>
20072
20073 * kern/main.c (grub_main): Export `prefix' variable immediately
20074 after it has been set by grub_machine_set_prefix().
20075
20076 2008-06-19 Robert Millan <rmh@aybabtu.com>
20077
20078 * commands/search.c (search_label, search_fs_uuid, search_file): Print
20079 search result when not saving to variable, not the other way around.
20080 When saving to variable, abort iteration as soon as a match is found.
20081
20082 2008-06-19 Robert Millan <rmh@aybabtu.com>
20083
20084 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
20085 check for partition that provides /boot/grub. Its logic is flawed,
20086 as it prevents prepare_grub_to_access_device() from being called
20087 multiple times.
20088
20089 2008-06-19 Robert Millan <rmh@aybabtu.com>
20090
20091 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
20092 "insmod" command directly when abstraction modules are needed,
20093 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
20094 since it had already been processed).
20095
20096 2008-06-19 Pavel Roskin <proski@gnu.org>
20097
20098 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
20099 changed. This is needed in case GRUB_LIBDIR changes.
20100 * conf/i386-ieee1275.rmk: Likewise.
20101 * conf/i386-linuxbios.rmk: Likewise.
20102 * conf/i386-pc.rmk: Likewise.
20103 * conf/powerpc-ieee1275.rmk: Likewise.
20104
20105 2008-06-18 Pavel Roskin <proski@gnu.org>
20106
20107 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
20108 kernel_elf_symlist.c to symlist.c for consistency with other
20109 architectures. Update all users.
20110 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
20111
20112 2008-06-18 Robert Millan <rmh@aybabtu.com>
20113
20114 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
20115 it in prefix.
20116
20117 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
20118 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
20119 a RAID device, run setup() for all members independently on whether
20120 LVM abstraction is being used.
20121 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
20122 If grub-mkimage has set `*install_dos_part == -2', don't override this
20123 value.
20124 Perform *install_dos_part adjustments independently on whether
20125 we're embedding or not.
20126 Clarify error message when image is too big for embedding.
20127 Remove duplicate *install_dos_part stanza.
20128
20129 2008-06-17 Robert Millan <rmh@aybabtu.com>
20130
20131 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
20132 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
20133 variables.
20134 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
20135 values in grub_ofconsole_normal_color and
20136 grub_ofconsole_highlight_color (they're not directly related to
20137 background and foreground).
20138 (grub_ofconsole_setcolorstate): Extract background and foreground
20139 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
20140
20141 2008-06-17 Robert Millan <rmh@aybabtu.com>
20142
20143 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
20144 /boot/grub for the check in last commit, not /boot (they could be
20145 different partitions).
20146
20147 2008-06-16 Robert Millan <rmh@aybabtu.com>
20148
20149 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
20150 asked to setup access for the same partition that provides /boot,
20151 don't bother using UUIDs since our root already has the value we
20152 want.
20153
20154 2008-06-16 Robert Millan <rmh@aybabtu.com>
20155
20156 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
20157 I2O devices.
20158 Patch from Sven Mueller <sven@debian.org>.
20159
20160 2008-06-16 Robert Millan <rmh@aybabtu.com>
20161
20162 * util/update-grub.in: Check for $EUID instead of $UID.
20163 Reported by Vincent Zweije.
20164
20165 2008-06-16 Bean <bean123ch@gmail.com>
20166
20167 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
20168 (grub_ext2_read_block): Likewise.
20169 (grub_ext2_read_inode): Likewise.
20170 (grub_ext2_mount): Likewise.
20171 (grub_ext2_close): Likewise.
20172 (grub_ext3_get_journal): Removed.
20173
20174 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
20175 (grub_reiserfs_read_symlink): Likewise.
20176 (grub_reiserfs_mount): Likewise.
20177 (grub_reiserfs_open): Likewise.
20178 (grub_reiserfs_read): Likewise.
20179 (grub_reiserfs_close): Likewise.
20180 (grub_reiserfs_get_journal): Removed.
20181
20182 * fs/fshelp.c (grub_fshelp_read): Removed.
20183 (grub_fshelp_map_block): Likewise.
20184
20185 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
20186 (grub_fshelp_journal): Likewise.
20187 (grub_fshelp_read): Likewise.
20188 (grub_fshelp_map_block): Likewise.
20189
20190 2008-06-16 Pavel Roskin <proski@gnu.org>
20191
20192 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
20193 floating point anymore.
20194 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
20195
20196 2008-06-15 Pavel Roskin <proski@gnu.org>
20197
20198 * commands/ls.c (grub_ls_list_files): Use integer calculations
20199 for human readable format, avoid floating point use.
20200 * kern/misc.c (grub_ftoa): Remove.
20201 (grub_vsprintf): Remove floating point support.
20202
20203 2008-06-15 Robert Millan <rmh@aybabtu.com>
20204
20205 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
20206 devices.
20207 Reported by Max Vozeler.
20208
20209 2008-06-15 Robert Millan <rmh@aybabtu.com>
20210
20211 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
20212 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
20213 skipped later.
20214 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
20215 the beginning of the prefix.
20216
20217 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
20218 It is assumed that if we have a memdisk, grub-mkimage has set
20219 grub_prefix to include the "(memdisk)" drive in it.
20220
20221 2008-06-15 Robert Millan <rmh@aybabtu.com>
20222
20223 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
20224 Initialize keyboard controller after registering the terminal, so that
20225 grub_printf() can be called from grub_keyboard_controller_init().
20226
20227 2008-06-15 Robert Millan <rmh@aybabtu.com>
20228
20229 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
20230 extent-btree which is written as big endian on disk.
20231 Reported by Alain Greppin <al@chilibi.org>.
20232
20233 2008-06-14 Robert Millan <rmh@aybabtu.com>
20234
20235 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
20236 * util/i386/pc/grub-install.in (modules): Likewise.
20237
20238 2008-06-13 Pavel Roskin <proski@gnu.org>
20239
20240 * commands/ls.c (grub_ls_list_files): Fix format warnings.
20241
20242 2008-06-13 Bean <bean123ch@gmail.com>
20243
20244 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
20245
20246 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
20247
20248 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
20249 to indicate sparse block.
20250
20251 2008-06-12 Pavel Roskin <proski@gnu.org>
20252
20253 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
20254 number, grub_fshelp_read() does it for us.
20255
20256 * fs/fshelp.c (grub_fshelp_read): New function. Implement
20257 linear disk read with journal translation.
20258 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
20259 * include/grub/fshelp.h: Declare grub_fshelp_read().
20260
20261 2008-06-09 Pavel Roskin <proski@gnu.org>
20262
20263 * fs/minix.c (grub_minix_mount): Handle error reading
20264 superblock.
20265
20266 2008-06-08 Robert Millan <rmh@aybabtu.com>
20267
20268 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
20269 don't append the RAID prefix afterwards.
20270 Reported by Clint Adams.
20271
20272 2008-06-08 Robert Millan <rmh@aybabtu.com>
20273
20274 Based on description from Pavel:
20275 * kern/disk.c (grub_disk_check_range): Rename to ...
20276 (grub_disk_adjust_range): ... this. Add a comment explaining the
20277 tasks performed by this function.
20278
20279 2008-06-08 Robert Millan <rmh@aybabtu.com>
20280
20281 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
20282 `num_serial' (for consistency with other variables).
20283 (struct grub_ntfs_data): Add `uuid' member.
20284 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
20285 (grub_ntfs_uuid): New function.
20286 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
20287
20288 2008-06-07 Pavel Roskin <proski@gnu.org>
20289
20290 * util/biosdisk.c (open_device): Revert last change to the
20291 function, it broke installation. The sector needs to be
20292 different dependent on which device is opened.
20293
20294 2008-06-06 Robert Millan <rmh@aybabtu.com>
20295
20296 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
20297 rest of GRUB, and breakage doesn't happen if its value were modified.
20298
20299 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20300 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
20301 a constant (same value).
20302 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
20303 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
20304
20305 2008-06-06 Robert Millan <rmh@aybabtu.com>
20306
20307 * util/biosdisk.c (open_device): Do not modify sector offset when
20308 accessing a partition. kern/disk.c already handles this for us.
20309
20310 2008-06-06 Robert Millan <rmh@aybabtu.com>
20311
20312 * util/grub-emu.c (grub_machine_init): Move code in this function from
20313 here ...
20314 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
20315 segfault in case grub_printf() is called).
20316
20317 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
20318 grub_probe. Update all users not to explicitly add it again.
20319 (grub_device): New variable; contains corresponding device for grubdir.
20320 (fs_module, partmap_module, devabstraction_module): Pass
20321 `--device ${grub_device}' to grub_probe to avoid traversing /dev
20322 every time.
20323
20324 2008-06-05 Robert Millan <rmh@aybabtu.com>
20325
20326 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
20327 is found, print it (same layout as with labels).
20328
20329 2008-06-04 Robert Millan <rmh@aybabtu.com>
20330
20331 * util/biosdisk.c (get_drive): Rename to ...
20332 (find_grub_drive): ... this. Update all users.
20333
20334 (get_os_disk): Rename to ...
20335 (convert_system_partition_to_system_disk): ... this. Update all users.
20336
20337 (find_drive): Rename to ...
20338 (find_system_device): ... this. Update all users.
20339
20340 2008-06-04 Robert Millan <rmh@aybabtu.com>
20341
20342 * util/biosdisk.c (get_os_disk): Handle IDA devices.
20343 * util/grub-mkdevicemap.c (get_mmc_disk_name)
20344 (make_device_map): Likewise.
20345
20346 2008-06-01 Robert Millan <rmh@aybabtu.com>
20347
20348 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
20349 before dereferencing it.
20350
20351 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
20352 union with fat12/fat16-specific ones. Add some new fields, including
20353 `num_serial' for both versions.
20354 (struct grub_fat_data): Add `uuid' member.
20355 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
20356 names. Initialize `data->uuid' using `num_serial'.
20357 (grub_fat_uuid): New function.
20358 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
20359
20360 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
20361 (grub_reiserfs_uuid): New function.
20362 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
20363 member.
20364
20365 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
20366 (grub_xfs_uuid): New function.
20367 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
20368
20369 2008-06-01 Robert Millan <rmh@aybabtu.com>
20370
20371 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
20372 code that is backward compatible with pre-uuid search command.
20373
20374 2008-05-31 Robert Millan <rmh@aybabtu.com>
20375
20376 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
20377 floppies after everything else, to ensure floppy drive isn't accessed
20378 unnecessarily (patch from Bean).
20379
20380 2008-05-31 Robert Millan <rmh@aybabtu.com>
20381
20382 * commands/search.c (search_label, search_fs_uuid, search_file): Do
20383 not print device names when we were asked to set a variable.
20384
20385 2008-05-31 Robert Millan <rmh@aybabtu.com>
20386
20387 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
20388 using "cursor-on" and "cursor-off" commands (understood at least by
20389 the Open Firmware flavour on OLPC).
20390
20391 2008-05-31 Michael Gorven <michael@gorven.za.net>
20392
20393 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
20394 on and off sequences.
20395
20396 2008-05-31 Robert Millan <rmh@aybabtu.com>
20397
20398 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
20399 * util/update-grub.in: Likewise.
20400
20401 2008-05-30 Pavel Roskin <proski@gnu.org>
20402
20403 * util/biosdisk.c (linux_find_partition): Simplify logic and
20404 make the code more universal. Keep special processing for
20405 devfs, but use a simple rule for all other devices. If the
20406 device ends with a number, append 'p' and the partition number.
20407 Otherwise, append only the partition number.
20408
20409 2008-05-30 Robert Millan <rmh@aybabtu.com>
20410
20411 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
20412 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
20413 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
20414 the `root' parameter to Linux.
20415
20416 2008-05-30 Robert Millan <rmh@aybabtu.com>
20417
20418 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
20419 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
20420 --fs_uuid with --fs-uuid.
20421 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
20422 all filesystems support them).
20423
20424 2008-05-30 Robert Millan <rmh@aybabtu.com>
20425
20426 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
20427 grub_printf() flags, since we're printing in units of 2 bytes.
20428
20429 2008-05-30 Robert Millan <rmh@aybabtu.com>
20430
20431 * util/grub.d/00_header.in: Remove obsolete comment referencing
20432 convert_system_path_to_grub_path().
20433 * util/update-grub.in: Likewise.
20434 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
20435 (convert_system_path_to_grub_path): Add a warning message explaining
20436 that this function is deprecated. Rely on is_path_readable_by_grub()
20437 for the readability checks.
20438 (font_path): Use is_path_readable_by_grub() for the readability
20439 check rather than convert_system_path_to_grub_path().
20440
20441 2008-05-30 Robert Millan <rmh@aybabtu.com>
20442
20443 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
20444 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
20445 converting it first.
20446 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
20447 grub.cfg for access to font file, and afterwards call it again to set
20448 the root device.
20449
20450 2008-05-30 Robert Millan <rmh@aybabtu.com>
20451
20452 * commands/search.c (options): Add --fs_uuid option.
20453 (search_fs_uuid): New function.
20454 (grub_cmd_search): Fix --set argument passing.
20455 Use search_fs_uuid() when requested via --fs_uuid.
20456 (grub_search_init): Update help message.
20457 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
20458 and redeclare it as an array of 16-bit words.
20459 (grub_ext2_uuid): New function.
20460 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
20461 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
20462 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
20463 (GRUB_DEVICE_BOOT_UUID): New variables.
20464 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
20465 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
20466 whenever possible.
20467 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
20468 just assume `root' variable has the right value.
20469 * util/grub.d/10_linux.in: Likewise.
20470 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
20471 via PRINT_FS_UUID.
20472 (main): Recognise `-t fs_uuid' argument.
20473
20474 2008-05-30 Robert Millan <rmh@aybabtu.com>
20475
20476 * util/biosdisk.c (map): Redefine structure to hold information
20477 about GRUB drive name.
20478 (get_drive): Reimplement without assuming (and verifying) BIOS-like
20479 drive names.
20480 (call_hook): Remove.
20481 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
20482 member. Assume drive has partitions.
20483 (grub_util_biosdisk_open): Access device names via `.device' struct
20484 member.
20485 (open_device): Likewise.
20486 (find_drive): Likewise.
20487 (read_device_map): Adjust map[] usage to match the new struct
20488 definition. Don't check for duplicates (still possible, but not cheap
20489 anymore).
20490 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
20491 (make_device_name): Remove assumption of BIOS-like drive names.
20492
20493 2008-05-30 Pavel Roskin <proski@gnu.org>
20494
20495 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
20496 compiling execute.c doesn't need grub_script.tab.h anymore.
20497 (normal/command.c_DEPENDENCIES): Likewise.
20498 (normal/function.c_DEPENDENCIES): Likewise.
20499 * conf/i386-ieee1275.rmk: Likewise.
20500 * conf/i386-linuxbios.rmk: Likewise.
20501 * conf/i386-pc.rmk: Likewise.
20502 * conf/powerpc-ieee1275.rmk: Likewise.
20503 * conf/sparc64-ieee1275.rmk: Likewise.
20504
20505 2008-05-29 Pavel Roskin <proski@gnu.org>
20506
20507 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
20508 when scanning metadata for volume group name.
20509
20510 * include/grub/script.h: Don't include grub_script.tab.h. It's
20511 a generated file, which may only be included from the files with
20512 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
20513 use union YYSTYPE, as the later allows forward declaration.
20514 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
20515
20516 2008-05-29 Robert Millan <rmh@aybabtu.com>
20517
20518 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
20519 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
20520 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
20521 (grub_console_checkkey): Add grub_dprintf() call to report unknown
20522 scan codes.
20523
20524 2008-05-29 Robert Millan <rmh@aybabtu.com>
20525
20526 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
20527 control key combinations.
20528
20529 2008-05-29 Robert Millan <rmh@aybabtu.com>
20530
20531 * util/powerpc/ieee1275/grub-install.in: Move from here ...
20532 * util/ieee1275/grub-install.in: ... to here.
20533 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
20534 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
20535 (grub_install_SOURCES): Likewise.
20536
20537 2008-05-29 Robert Millan <rmh@aybabtu.com>
20538
20539 * fs/affs.c: Update copyright year.
20540 * fs/ext2.c: Likewise.
20541 * fs/fshelp.c: Likewise.
20542 * fs/hfsplus.c: Likewise.
20543 * fs/ntfs.c: Likewise.
20544 * fs/xfs.c: Likewise.
20545 * include/grub/fshelp.h: Likewise.
20546 * util/grub-mkdevicemap.c: Likewise.
20547
20548 2008-05-28 Robert Millan <rmh@aybabtu.com>
20549
20550 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
20551 might need to be fatfs to support some firmware implementations
20552 (e.g. OFW or EFI).
20553
20554 2008-05-28 Robert Millan <rmh@aybabtu.com>
20555
20556 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
20557 devices.
20558 * util/grub-mkdevicemap.c (get_mmc_disk_name)
20559 (make_device_map): Likewise.
20560
20561 2008-05-20 Bean <bean123ch@gmail.com>
20562
20563 * fs/fshelp.c (grub_fshelp_map_block): New function.
20564 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
20565 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
20566
20567 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
20568 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
20569 (grub_fshelp_journal): New structure.
20570 (grub_fshelp_map_block): New function prototype.
20571 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
20572 (grub_fshelp_map_block): Likewise.
20573
20574 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
20575 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
20576 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
20577 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
20578 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
20579 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
20580 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
20581 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
20582 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
20583 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
20584 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
20585 (grub_ext2_sblock): New members for journal support.
20586 (grub_ext3_journal_header): New structure.
20587 (grub_ext3_journal_revoke_header): Likewise.
20588 (grub_ext3_journal_block_tag): Likewise.
20589 (grub_ext3_journal_sblock): Likewise.
20590 (grub_fshelp_node): New members logfile and journal.
20591 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
20592 grub_fshelp_map_block to get real block number.
20593 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
20594 number.
20595 (grub_ext2_read_inode): Likewise.
20596 (grub_ext3_get_journal): New function.
20597 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
20598 (grub_ext2_close): Release memory used by journal.
20599
20600 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
20601 (REISERFS_MAGIC_DESC_BLOCK): New macro.
20602 (grub_reiserfs_transaction_header): Renamed to
20603 grub_reiserfs_description_block, replace field data with real_blocks.
20604 (grub_reiserfs_commit_block): New structure.
20605 (grub_reiserfs_data): New member journal.
20606 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
20607 number.
20608 (grub_reiserfs_read_symlink): Likewise.
20609 (grub_reiserfs_iterate_dir): Likewise.
20610 (grub_reiserfs_open): Likewise.
20611 (grub_reiserfs_read): Likewise.
20612 (grub_reiserfs_get_journal): New function.
20613 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
20614 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
20615 using grub_reiserfs_get_journal.
20616 (grub_reiserfs_close): Release memory used by journal.
20617
20618 * fs/affs.c (grub_affs_read_block): Change block type to
20619 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
20620
20621 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
20622
20623 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
20624
20625 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
20626
20627 * fs/udf.c (grub_udf_read_block): Change block type to
20628 grub_disk_addr_t. Use type cast to avoid warning.
20629
20630 * fs/xfs.c (grub_xfs_read_block): Likewise.
20631
20632 2008-05-16 Christian Franke <franke@computer.org>
20633
20634 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
20635 to ensure that break with ESC will always work.
20636 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
20637 Remove ESC from keyboard queue.
20638
20639 2008-05-16 Christian Franke <franke@computer.org>
20640
20641 * util/biosdisk.c: [__CYGWIN__] Add includes.
20642 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
20643 (get_os_disk): Move variable declarations to OS specific
20644 parts to avoid warning.
20645 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
20646 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
20647 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
20648 Cygwin.
20649 * util/getroot.c: [__CYGWIN__] Add includes.
20650 (strip_extra_slashes): Fix "/" case.
20651 [__CYGWIN__] (get_win32_path): New function.
20652 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
20653 [__CYGWIN__] (find_root_device): Disable.
20654 [__CYGWIN__] (get_bootsec_serial): New function.
20655 [__CYGWIN__] (find_cygwin_root_device): Likewise.
20656 [__linux__] (grub_guess_root_device): Add early returns to simplify
20657 structure.
20658 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
20659 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
20660 check for Linux only.
20661
20662 2008-05-15 Bean <bean123ch@gmail.com>
20663
20664 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
20665 keyboard hang problem in apple's intel mac.
20666
20667 2008-05-09 Robert Millan <rmh@aybabtu.com>
20668
20669 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
20670 devices.
20671 * util/grub-mkdevicemap.c (get_virtio_disk_name)
20672 (make_device_map): Likewise.
20673 Reported by Aurelien Jarno <aurel32@debian.org>
20674
20675 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
20676
20677 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
20678 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
20679 (make_device_map): Output entries for xvd type disks.
20680
20681 2008-05-07 Robert Millan <rmh@aybabtu.com>
20682
20683 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
20684 devices.
20685 * util/grub-mkdevicemap.c (get_cciss_disk_name)
20686 (make_device_map): Likewise.
20687 Reported by Roland Dreier <rdreier@cisco.com>
20688
20689 2008-05-07 Robert Millan <rmh@aybabtu.com>
20690
20691 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
20692 grub_strstr() call. Correct a few mistakes in failure path handling.
20693
20694 2008-05-06 Robert Millan <rmh@aybabtu.com>
20695
20696 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
20697 Do not print a trailing slash (therefore, the root directory is an
20698 empty string).
20699 (convert_system_path_to_grub_path): Do not remove trailing slash
20700 from make_system_path_relative_to_its_root() output.
20701
20702 * util/i386/pc/grub-install.in: Add trailing slash to output from
20703 make_system_path_relative_to_its_root().
20704
20705 2008-05-06 Robert Millan <rmh@aybabtu.com>
20706
20707 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
20708 ensures that output lines aren't intermangled with those sent to
20709 stderr (via grub_util_info()).
20710 * util/grub-probe.c (grub_refresh): Likewise.
20711 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
20712
20713 2008-05-05 Christian Franke <franke@computer.org>
20714
20715 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
20716 Add Cygwin device names.
20717 (get_ide_disk_name) [__CYGWIN__]: Likewise.
20718 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
20719 (check_device): Return error instead of success on empty name.
20720 (make_device_map): Move label inside linux specific code to
20721 prevent compiler warning.
20722
20723 2008-04-30 Robert Millan <rmh@aybabtu.com>
20724
20725 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
20726 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
20727 first boot option.
20728 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
20729
20730 2008-04-29 Robert Millan <rmh@aybabtu.com>
20731
20732 * docs/grub.cfg: New file (example GRUB configuration).
20733
20734 2008-04-26 Robert Millan <rmh@aybabtu.com>
20735
20736 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
20737 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
20738 and `disk/ieee1275/nand.c'.
20739
20740 2008-04-25 Bean <bean123ch@gmail.com>
20741
20742 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
20743 i386-linuxbios.
20744
20745 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
20746 change the buffer size to 4096 for cdrom device.
20747
20748 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
20749 and nand.mod.
20750 (_linux_mod_SOURCES): New variable.
20751 (_linux_mod_CFLAGS): Likewise.
20752 (_linux_mod_LDFLAGS): Likewise.
20753 (linux_mod_SOURCES): Likewise.
20754 (linux_mod_CFLAGS): Likewise.
20755 (linux_mod_LDFLAGS): Likewise.
20756 (nand_mod_SOURCES): Likewise.
20757 (nand_mod_CFLAGS): Likewise.
20758 (nand_mod_LDFLAGS): Likewise.
20759
20760 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
20761 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
20762 type property. (nand device in olpc don't have this property)
20763
20764 * include/grub/disk.h (grub_disk_dev_id): New macro
20765 GRUB_DISK_DEVICE_NAND_ID.
20766
20767 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
20768 function prototype.
20769 (grub_rescue_cmd_initrd): Likewise.
20770
20771 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
20772 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
20773 ofw_cif_handler and ofw_idt, adjust padding number.
20774
20775 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
20776 GRUB_MACHINE_IEEE1275 is defined.
20777
20778 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
20779 Use NESTED_FUNC_ATTR attribute on the hook parameter.
20780
20781 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
20782 on nested function heap_init.
20783 (grub_upper_mem): New variable for i386-ieee1275.
20784 (grub_get_extended_memory): New function for i386-ieee1275.
20785 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
20786
20787 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
20788 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
20789 property.
20790
20791 * loader/i386/ieee1275/linux.c: New file.
20792
20793 * loader/i386/ieee1275/linux_normal.c: New file.
20794
20795 * disk/ieee1275/nand.c: New file.
20796
20797 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
20798
20799 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
20800 value.
20801 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
20802
20803 2008-04-18 Robert Millan <rmh@aybabtu.com>
20804
20805 Restructures early code path on ieee1275 to unify grub_main() as
20806 the first C function that is executed in every platform.
20807
20808 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
20809 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
20810 cmain().
20811 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
20812 * kern/ieee1275/cmain.c (cmain): Rename to ...
20813 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
20814 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
20815 at the beginning.
20816
20817 2008-04-18 Robert Millan <rmh@aybabtu.com>
20818
20819 * util/update-grub.in: Fix syntax error when setting
20820 `GRUB_PRELOAD_MODULES'.
20821 Reported by Stephane Chazelas <stephane@artesyncp.com>
20822
20823 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
20824
20825 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
20826 section into account, newer toolchains generate unique build ids
20827 * configure.ac: remove the test for --build-id=none acceptance,
20828 we want build ids to be preserved
20829 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
20830 far from other sections don't cause the raw binary images grow
20831 size
20832
20833 2008-04-15 Robert Millan <rmh@aybabtu.com>
20834
20835 * disk/lvm.c: Update copyright year.
20836 * kern/misc.c: Likewise.
20837
20838 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
20839
20840 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
20841 there is no memory left for physical volume name.
20842
20843 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
20844
20845 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
20846 volume name mapping to support bigger than 9 character names properly.
20847
20848 2008-04-13 Robert Millan <rmh@aybabtu.com>
20849
20850 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
20851 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
20852
20853 2008-04-13 Christian Franke <franke@computer.org>
20854
20855 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
20856 to create a floppy emulation boot CD when non emulation mode
20857 does not work.
20858 Enable Joliet CD filesystem extension.
20859
20860 2008-04-13 Robert Millan <rmh@aybabtu.com>
20861
20862 * kern/misc.c (grub_strncat): Fix off-by-one error.
20863 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
20864
20865 * kern/env.c (grub_env_context_close): Clear current context, not
20866 previous one.
20867 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
20868
20869 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
20870
20871 2008-04-13 Robert Millan <rmh@aybabtu.com>
20872
20873 Improve robustness when handling LVM.
20874
20875 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
20876 (and leave `*p' unmodified).
20877 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
20878 through it.
20879 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
20880 iterating through it.
20881 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
20882 through it.
20883 (grub_lvm_scan_device): Check the return value (and fail gracefully
20884 when due) on each grub_lvm_getvalue() or grub_strstr() call.
20885 Don't assume `vg->pvs != NULL' when iterating through it.
20886
20887 2008-04-13 Robert Millan <rmh@aybabtu.com>
20888
20889 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
20890 * genmk.rb (partmap): New variable.
20891 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
20892 (#{partmap}): New target rule.
20893 * genpartmaplist.sh: New file.
20894 * Makefile.in (pkglib_DATA): Add partmap.lst.
20895 (partmap.lst): New target rule.
20896 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
20897 modules (including all partition maps), instead of preloading them.
20898
20899 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
20900
20901 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
20902 `linux-boot-prober' (if installed) to detect other operating
20903 systems which are installed on the computer and add them to
20904 the boot menu.
20905 * conf/common.rmk: Build and install 30_os-prober.
20906
20907 2008-04-12 Robert Millan <rmh@aybabtu.com>
20908
20909 * kern/powerpc/ieee1275/init.c: Move from here ...
20910 * kern/ieee1275/init.c: ... to here. Update all users.
20911
20912 * kern/powerpc/ieee1275/cmain.c: Move from here ...
20913 * kern/ieee1275/cmain.c: ... to here. Update all users.
20914
20915 * kern/powerpc/ieee1275/openfw.c: Move from here ...
20916 * kern/ieee1275/openfw.c: ... to here. Update all users.
20917
20918 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
20919 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
20920
20921 2008-04-10 Pavel Roskin <proski@gnu.org>
20922
20923 * configure.ac: Always use "_cv_" in cache variables for
20924 compatibility with Autoconf 2.62.
20925
20926 2008-04-07 Robert Millan <rmh@aybabtu.com>
20927
20928 Revert grub/machine/init.h addition by Pavel (since it breaks on
20929 i386-ieee1275 and others):
20930 * util/i386/pc/misc.c: Remove grub/machine/init.h.
20931 * util/powerpc/ieee1275/misc.c: Likewise.
20932
20933 2008-04-07 Robert Millan <rmh@aybabtu.com>
20934
20935 * util/grub-probe.c (probe): Improve error message.
20936
20937 2008-04-07 Robert Millan <rmh@aybabtu.com>
20938
20939 * util/biosdisk.c (read_device_map): Skip devices that don't exist
20940 (this prevents the presence of a bogus entry from ruining the whole
20941 thing).
20942
20943 2008-04-06 Pavel Roskin <proski@gnu.org>
20944
20945 * util/biosdisk.c: Include grub/util/biosdisk.h.
20946 * util/grub-fstest.c (execute_command): Make static.
20947 * util/grub-mkdevicemap.c (check_device): Likewise.
20948 * util/i386/pc/misc.c: Include grub/machine/init.h.
20949 * util/powerpc/ieee1275/misc.c: Likewise.
20950 * util/lvm.c: Include grub/util/lvm.h.
20951 * util/misc.c: Include grub/kernel.h, grub/misc.h and
20952 grub/cache.h.
20953 * util/raid.c: Include grub/util/raid.h.
20954 (grub_util_getdiskname): Make static.
20955
20956 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
20957 grub_hostfs_fini(), as they are called from grub_init_all() and
20958 grub_fini_all() respectively. This fixes an infinite loop in
20959 grub-fstest due to double registration of hostfs.
20960 Reported by Christian Franke <Christian.Franke@t-online.de>
20961
20962 2008-04-05 Pavel Roskin <proski@gnu.org>
20963
20964 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
20965 all 8 functions. Otherwise, probe function 0 only.
20966
20967 2008-04-04 Pavel Roskin <proski@gnu.org>
20968
20969 * commands/lspci.c (grub_lspci_iter): Print the bus number
20970 correctly.
20971
20972 * commands/lspci.c (grub_pci_classes): Fix typos.
20973 (grub_lspci_iter): Don't print func twice. Print vendor ID
20974 before device ID, as it's normally done.
20975
20976 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
20977 Fix signedness warnings.
20978 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
20979 Likewise.
20980 * util/ieee1275/get_disk_name.c: Include config.h so that
20981 _GNU_SOURCE is defined and getline() is declared. Mark an
20982 unused argument as such. Fix a signedness warning.
20983
20984 2008-04-02 Pavel Roskin <proski@gnu.org>
20985
20986 * genkernsyms.sh.in: Use more robust assignments for CC and
20987 srcdir. Quote srcdir.
20988 * gensymlist.sh.in: Likewise. Assert at the compile time that
20989 the symbol table is not empty.
20990
20991 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
20992 * fs/cpio.c (grub_cpio_read): Likewise.
20993
20994 2008-04-01 Pavel Roskin <proski@gnu.org>
20995
20996 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
20997 * disk/host.c (grub_host_open): Likewise.
20998 * disk/loopback.c (grub_loopback_open): Likewise.
20999 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
21000 disk->id as in disk/host.c, not a multi-character constant.
21001
21002 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
21003 later is obsolete, potentially dangerous and sets a bad example.
21004 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
21005 * util/misc.c (grub_util_get_image_size): Likewise.
21006
21007 * disk/loopback.c (options): Improve help for "--partitions".
21008
21009 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
21010 options to align them with the short options, e.g. "echo -e".
21011
21012 2008-03-31 Bean <bean123ch@gmail.com>
21013
21014 * video/reader/png.c (grub_png_data): New member is_16bit and
21015 image_data.
21016 (grub_png_decode_image_header): Detect 16 bit png image.
21017 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
21018 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
21019 (grub_video_reader_png): Release memory occupied by image_data.
21020
21021 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
21022 4096 bytes.
21023 (grub_nfs_mount): Skip the test for sector per cluster.
21024
21025 * include/grub/ntfs.h (MAX_SPC): Removed.
21026
21027 2008-03-31 Bean <bean123ch@gmail.com>
21028
21029 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
21030 (grub_probe_SOURCES): Add fs/afs.c.
21031 (grub_fstest_SOURCES): Likewise.
21032 (afs_mod_SOURCES): New variable.
21033 (afs_mod_CFLAGS): Likewise.
21034 (afs_mod_LDFLAGS): Likewise.
21035
21036 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
21037 (grub_emu_SOURCES): Likewise.
21038
21039 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21040
21041 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21042
21043 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21044
21045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21046
21047 * fs/afs.c: New file.
21048
21049 2008-03-30 Pavel Roskin <proski@gnu.org>
21050
21051 * disk/host.c: Include grub/misc.h to fix a warning.
21052 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
21053 warnings about implicit declarations.
21054
21055 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
21056 variable.
21057 * include/grub/i386/loader.h: Change declaration of
21058 grub_linux_boot() to match what grub_loader_set() expects.
21059 * util/getroot.c (grub_guess_root_device): Return const char* to
21060 fix a warning.
21061 * util/grub-probe.c (probe): Fix a warning about uninitialized
21062 abstraction_name variable.
21063 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
21064 second argument as unused to fix a warning.
21065
21066 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
21067 missing grub_error() call.
21068
21069 * util/update-grub_lib.in: Define datarootdir, since Autoconf
21070 2.60 and newer uses it to define datadir.
21071
21072 * commands/sleep.c: Fix warning about implicit declaration.
21073 * disk/memdisk.c: Likewise.
21074 * loader/aout.c: Likewise.
21075 * loader/i386/bsd_normal.c: Likewise.
21076 * util/grub-probe.c: Likewise.
21077
21078 * commands/i386/cpuid.c (has_longmode): Make static.
21079 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
21080 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
21081
21082 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
21083 GDT. This is more robust, as %ds can change.
21084 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
21085 calling real_to_prot().
21086 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
21087
21088 2008-03-28 Pavel Roskin <proski@gnu.org>
21089
21090 * kern/i386/pc/startup.S: Assert that uncompressed functions
21091 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
21092 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
21093 code, as they push parts of the code (error handlers) beyond
21094 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
21095 code as correctness and size.
21096
21097 2008-03-28 Pavel Roskin <proski@gnu.org>
21098
21099 * kern/i386/pc/startup.S
21100 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
21101 data block address to the real mode, keep offset minimal. This
21102 works around a bug in AWARD BIOS on old Athlon systems, which
21103 makes CD detection hang.
21104
21105 2008-03-26 Pavel Roskin <proski@gnu.org>
21106
21107 * normal/color.c (grub_parse_color_name_pair): Make `name' a
21108 const.
21109 * include/grub/normal.h: Add grub_parse_color_name_pair()
21110 declaration.
21111
21112 2008-03-24 Bean <bean123ch@gmail.com>
21113
21114 * disk/i386/pc/biosdisk.c (cd_start): Removed.
21115 (cd_count): Removed.
21116 (cd_drive): New variable.
21117 (grub_biosdisk_get_drive): Don't check for (cdN) device.
21118 (grub_biosdisk_call_hook): Likewise.
21119 (grub_biosdisk_iterate): Change cdrom detection method.
21120 (grub_biosdisk_open): Replace cd_start with cd_drive.
21121 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
21122 detect cdrom device.
21123
21124 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
21125 Removed.
21126 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
21127 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
21128 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
21129 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
21130 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
21131 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
21132 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
21133 (grub_biosdisk_cdrp): New structure.
21134 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
21135
21136 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
21137
21138 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
21139 device.
21140
21141 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
21142 New function.
21143
21144 2008-03-20 Robert Millan <rmh@aybabtu.com>
21145
21146 Remove 2 TiB limit in ata.mod.
21147 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
21148 (grub_ata_dumpinfo): Print sector count with 0x%llx.
21149 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
21150 grub_uint64_t instead of grub_uint32_t.
21151
21152 2008-03-05 Bean <bean123ch@gmail.com>
21153
21154 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
21155 (grub_multiboot): Set boot device.
21156
21157 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
21158
21159 2008-03-02 Bean <bean123ch@gmail.com>
21160
21161 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
21162 symlink_buffer.
21163
21164 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
21165
21166 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
21167 texinfo.tex.
21168
21169 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
21170 modified.
21171
21172 * docs/fdl.texi: New file.
21173
21174 * docs/mdate-sh: New file. Copied from gnulib.
21175 * docs/texinfo.tex: Likewise.
21176
21177 * config.guess: Updated from gnulib.
21178 * install-sh: Likewise.
21179
21180 2008-02-28 Robert Millan <rmh@aybabtu.com>
21181
21182 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
21183 (aout_mod_SOURCES): New variable.
21184 (aout_mod_CFLAGS): Likewise.
21185 (aout_mod_LDFLAGS): Likewise.
21186
21187 * conf/i386-ieee1275.rmk: Likewise.
21188
21189 2008-02-28 Robert Millan <rmh@aybabtu.com>
21190
21191 * util/update-grub.in: Reorganise terminal validity check. Accept
21192 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
21193 Based on suggestion by Franklin PIAT.
21194
21195 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
21196
21197 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
21198 function.
21199 * util/getroot.c (grub_util_check_block_device): New function that
21200 returns the given argument if it is a block device and returns NULL else.
21201 * util/grub-probe.c (argument_is_device): New variable.
21202 (probe): Promote device_name from a variable to an argument. Receive
21203 device_name from grub_util_check_block_device() if path is NULL and from
21204 grub_guess_root_device() else. Do not free() device_name anymore.
21205 (options): Introduce new parameter '-d, --device'.
21206 (main): Add description of the new parameter to the help screen.
21207 Rename path variable to argument. Set argument_is_device if the '-d'
21208 option is given. Pass argument to probe() depending on
21209 argument_is_device.
21210
21211 2008-02-24 Bean <bean123ch@gmail.com>
21212
21213 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
21214 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
21215 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
21216 (GRUB_ISO9660_VOLDESC_PART): Likewise.
21217 (GRUB_ISO9660_VOLDESC_END): Likewise.
21218 (grub_iso9660_primary_voldesc): New member escape.
21219 (grub_iso9660_data): New member joliet.
21220 (grub_iso9660_convert_string): New function.
21221 (grub_iso9660_mount): Detect joliet extension.
21222 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
21223 (grub_iso9660_iso9660_label): Likewise.
21224
21225 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
21226 (grub_setup_SOURCES): Add fs/udf.c.
21227 (grub_fstest_SOURCES): Likewise.
21228 (udf_mod_SOURCES): New variable.
21229 (udf_mod_CFLAGS): Likewise.
21230 (udf_mod_LDFLAGS): Likewise.
21231
21232 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
21233 (grub_emu_SOURCES): Likewise.
21234
21235 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21236
21237 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21238
21239 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21240
21241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21242
21243 * fs/udf.c: New file.
21244
21245 2008-02-24 Robert Millan <rmh@aybabtu.com>
21246
21247 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
21248 (normal/lexer.c_DEPENDENCIES): New variables.
21249 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
21250 (normal/lexer.c_DEPENDENCIES): Likewise.
21251 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
21252 (normal/lexer.c_DEPENDENCIES): Likewise.
21253 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
21254 (normal/lexer.c_DEPENDENCIES): Likewise.
21255 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
21256 (normal/lexer.c_DEPENDENCIES): Likewise.
21257 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
21258 (normal/lexer.c_DEPENDENCIES): Likewise.
21259
21260 2008-02-23 Robert Millan <rmh@aybabtu.com>
21261
21262 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
21263 since they were intended to be in hex. This didn't break previously
21264 because of a bug in gpt_partition_map_iterate() (see below).
21265
21266 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
21267 when checking the validity of GPT header.
21268 Remove `partno', since it always provides the same information as `i'.
21269
21270 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
21271
21272 * include/grub/efi/time.h: Fix a wrong comment.
21273
21274 2008-02-19 Pavel Roskin <proski@gnu.org>
21275
21276 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
21277 message.
21278
21279 2008-02-19 Bean <bean123ch@gmail.com>
21280
21281 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
21282 (aout_mod_SOURCES): New variable.
21283 (aout_mod_CFLAGS): Likewise.
21284 (aout_mod_LDFLAGS): Likewise.
21285 (_bsd_mod_SOURCES): New variable.
21286 (_bsd_mod_CFLAGS): Likewise.
21287 (_bsd_mod_LDFLAGS): Likewise.
21288 (bsd_mod_SOURCES): New variable.
21289 (bsd_mod_CFLAGS): Likewise.
21290 (bsd_mod_LDFLAGS): Likewise.
21291
21292 * include/grub/aout.h: New file.
21293
21294 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
21295
21296 * include/grub/i386/bsd.h: New file.
21297
21298 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
21299 to make it public.
21300
21301 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
21302 function is called, so that it's possible to change it inside the hook.
21303 (grub_elf64_load): Likewise.
21304 (grub_elf_file): Don't close the file if elf header is not found.
21305 (grub_elf_close): Close the file if grub_elf_file fails (The new
21306 grub_elf_file won't close it).
21307 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
21308 (grub_elf64_size): Likewise.
21309
21310 * kern/i386/loader.S (grub_unix_real_boot): New function.
21311
21312 * loader/aout.c: New file.
21313
21314 * loader/i386/bsd.c: New file.
21315
21316 * loader/i386/bsd_normal.c: New file.
21317
21318 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
21319
21320 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
21321 can test other formats.
21322
21323 2008-02-19 Robert Millan <rmh@aybabtu.com>
21324
21325 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
21326 (grub_gpt_partition_type_empty): Redefine with macro from
21327 `<grub/gpt_partition.h>'.
21328 (gpt_partition_map_iterate): Adjust partition type comparison.
21329
21330 Export `entry' as partmap-specific `part.data' struct.
21331 (grub_gpt_header, grub_gpt_partentry): Move from here ...
21332
21333 * include/grub/gpt_partition.h (grub_gpt_header)
21334 (grub_gpt_partentry): ... to here (new file).
21335
21336 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
21337
21338 (grub_gpt_partition_type_bios_boot): New const variable, defined
21339 with macro from `<grub/gpt_partition.h>'.
21340
21341 (setup): Replace `first_start' with `embed_region', which keeps
21342 track of the embed region (and is partmap-agnostic).
21343
21344 Replace find_first_partition_start() with find_usable_region(),
21345 which finds a usable region for embedding using partmap-specific
21346 knowledge (supports PC/MSDOS and GPT).
21347
21348 Fix all assumptions that the embed region start at sector 1, using
21349 `embed_region.start' from now on. Similarly, use `embed_region.end'
21350 rather than `first_start' to calculate available size.
21351
21352 In grub_util_info() message, replace "into after the MBR" with an
21353 indication of the specific sector our embed region starts at.
21354
21355 2008-02-19 Robert Millan <rmh@aybabtu.com>
21356
21357 * DISTLIST: Replace `commands/ieee1275/halt.c' and
21358 `commands/ieee1275/reboot.c' with `commands/halt.c' and
21359 `commands/reboot.c'.
21360 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
21361 (halt_mod_SOURCES): Likewise.
21362 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
21363 (halt_mod_SOURCES): Likewise.
21364
21365 2008-02-17 Christian Franke <franke@computer.org>
21366
21367 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
21368
21369 2008-02-17 Robert Millan <rmh@aybabtu.com>
21370
21371 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
21372 set `first_start' to 0 for non-PC/MSDOS partition maps.
21373
21374 2008-02-16 Robert Millan <rmh@aybabtu.com>
21375
21376 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
21377 do not assume partition map is PC/MSDOS before performing checks that
21378 are specific to that layout.
21379
21380 2008-02-13 Robert Millan <rmh@aybabtu.com>
21381
21382 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
21383 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
21384 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
21385
21386 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
21387
21388 * configure.ac: Only a cosmetic change on the handling of
21389 -fno-stack-protector.
21390
21391 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
21392
21393 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
21394 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
21395 reboot.c.
21396 (grub_install_SOURCES): Add halt.mod and reboot.mod.
21397 (halt_mod_SOURCES): New variable.
21398 (halt_mod_CFLAGS): Likewise.
21399 (halt_mod_LDFLAGS): Likewise.
21400 (reboot_mod_SOURCES): Likewise.
21401 (reboot_mod_CFLAGS): Likewise.
21402 (reboot_mod_LDFLAGS): Likewise.
21403
21404 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
21405 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
21406 reboot.c.
21407 (halt_mod_SOURCES): Likewise.
21408 (reboot_mod_SOURCES): Likewise.
21409
21410 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
21411 commands/i386/pc/reboot.c by commands/reboot.c.
21412 (reboot_mod_SOURCES): Likewise.
21413
21414 * commands/i386/pc/reboot.c: merge this file ...
21415
21416 * commands/ieee1275/reboot.c: ... and this file ...
21417
21418 * commands/reboot.c: ... to this file.
21419 Add some precompiler directive to include the correct header for
21420 each machine.
21421
21422 * commands/ieee1275/halt.c: move this file ...
21423
21424 * commands/halt.c: ... to here.
21425 Add some precompiler directive to include the correct header for
21426 each machine.
21427
21428 * include/grub/efi/efi.h (grub_reboot): New function declaration.
21429 (grub_halt): Likewise.
21430
21431 * kern/efi/efi.c (grub_reboot): New function.
21432 (grub_halt): Likewise.
21433
21434 2008-02-12 Robert Millan <rmh@aybabtu.com>
21435
21436 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
21437 /dev (like it is done for /dev/mapper). This doesn't provide support
21438 for EVMS, but at least it is now easy to identify the problem when it
21439 arises.
21440
21441 2008-02-11 Robert Millan <rmh@aybabtu.com>
21442
21443 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
21444 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
21445 comparing it with -1, not 0.
21446
21447 2008-02-10 Robert Millan <rmh@aybabtu.com>
21448
21449 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
21450 `disk/lvm.c'.
21451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21452 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21453
21454 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
21455 `disk/lvm.c' to the end of the list.
21456 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21457 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21458
21459 2008-02-10 Robert Millan <rmh@aybabtu.com>
21460
21461 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
21462 grub_print_error() instead. This will let user know why we're entering
21463 rescue mode.
21464 Based on suggestions from Sam Morris.
21465
21466 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
21467
21468 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
21469 on remaining N args, instead of "--" arg N times.
21470
21471 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
21472
21473 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
21474 (fill_with_default_glyph): Changed to use unknown_glyph for fill
21475 pattern for unknown glyphs.
21476
21477 2008-02-09 Robert Millan <rmh@aybabtu.com>
21478
21479 * configure.ac: Probe for `help2man'.
21480 * Makefile.in (builddir): New variable.
21481 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
21482 or otherwise add a few flags/options to it.
21483 (install-local): For every executable utility or script that is
21484 installed, invoke $(HELP2MAN) to install a manpage based on --help
21485 output.
21486
21487 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
21488 that it doesn't prevent --help from working in build tree.
21489
21490 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
21491 with `bug-grub@gnu.org'.
21492 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
21493 * util/update-grub.in (usage): New function.
21494 Implement proper argument check, with support for --help and --version
21495 (as well as existing -y).
21496
21497 2008-02-09 Christian Franke <franke@computer.org>
21498
21499 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
21500 avoid overwriting previous output.
21501 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
21502
21503 2008-02-09 Robert Millan <rmh@aybabtu.com>
21504
21505 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
21506 drawing the menu.
21507
21508 2008-02-09 Robert Millan <rmh@aybabtu.com>
21509
21510 * commands/sleep.c: New file.
21511 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
21512 (sleep_mod_SOURCES): New variable.
21513 (sleep_mod_CFLAGS): Likewise.
21514 (sleep_mod_LDFLAGS): Likewise.
21515
21516 2008-02-09 Robert Millan <rmh@aybabtu.com>
21517
21518 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
21519 situations in which we can deduce the RAID size and the superblock
21520 doesn't match it.
21521
21522 2008-02-09 Robert Millan <rmh@aybabtu.com>
21523
21524 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
21525 and return a grub_diskmemberlist_t composed of LVM physical volumes.
21526 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
21527
21528 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
21529 and return a grub_diskmemberlist_t composed of physical array members.
21530 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
21531
21532 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
21533 prototype.
21534 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
21535 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
21536 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
21537
21538 * util/grub-probe.c (probe): Move partmap probing code from here ...
21539 (probe_partmap): ... to here.
21540 (probe): Use probe_partmap() once for the disk we're probing, and
21541 additionally, when such disk contains a memberlist() struct member,
21542 once for each disk that is contained in the structure returned by
21543 memberlist().
21544
21545 2008-02-09 Robert Millan <rmh@aybabtu.com>
21546
21547 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
21548 environment variable to 'all' in order to obtain debug output from
21549 non-util/ code.
21550 * util/i386/pc/grub-setup.c (main): Likewise.
21551
21552 2008-02-08 Robert Millan <rmh@aybabtu.com>
21553
21554 * disk/raid.c (grub_raid_scan_device): Check for
21555 `array->device[sb.this_disk.number]' rather than for
21556 `array->device[sb.this_disk.number]->name', since the latter is not
21557 guaranteed to be accessible.
21558
21559 2008-02-08 Robert Millan <rmh@aybabtu.com>
21560
21561 * disk/raid.c: Update copyright.
21562 * fs/cpio.c: Likewise.
21563 * include/grub/raid.h: Likewise.
21564 * loader/i386/pc/multiboot.c: Likewise.
21565 * util/hostfs.c: Likewise.
21566
21567 2008-02-08 Robert Millan <rmh@aybabtu.com>
21568
21569 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
21570 to a grub_disk_t array.
21571 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
21572 `device[x]'.
21573 (grub_raid_scan_device): Replace `device[x].name' accesses with
21574 `device[x]->name'. Simplify initialization of `array->device[x]'.
21575
21576 2008-02-08 Robert Millan <rmh@aybabtu.com>
21577
21578 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
21579 grub_dprintf() calls.
21580 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
21581 error message.
21582
21583 2008-02-07 Christian Franke <franke@computer.org>
21584
21585 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
21586 instead of fseek and ftell to support large files.
21587 (grub_hostfs_read): Likewise.
21588
21589 2008-02-07 Robert Millan <rmh@aybabtu.com>
21590
21591 Patch from Jeroen Dekkers.
21592 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
21593 failure, since successfully reading all array members might not be
21594 required.
21595
21596 2008-02-06 Robert Millan <rmh@aybabtu.com>
21597
21598 * util/grub-probe.c (probe): Simplify partmap probing (with the
21599 assumption that the first word up to the underscore equals to
21600 the module name).
21601
21602 2008-02-06 Christian Franke <franke@computer.org>
21603
21604 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
21605 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
21606 last block of a cpio or tar stream.
21607 Check for "TRAILER!!!" instead of any empty data
21608 block to detect last block of a cpio stream.
21609 (grub_cpio_dir): Fix constness of variable np.
21610 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
21611 cpio or tar trailer is detected. This fixes a crash
21612 on open of a non existing file.
21613
21614 2008-02-05 Bean <bean123ch@gmail.com>
21615
21616 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
21617 address of entry.
21618 (grub_multiboot_load_elf64): Likewise.
21619 (grub_multiboot): Initialize mbi structure.
21620
21621 * util/grub-fstest.c: Don't include unused header file script.h.
21622
21623 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
21624 of file.
21625 (grub_fstest_SOURCES): Likewise.
21626
21627 2008-02-05 Robert Millan <rmh@aybabtu.com>
21628
21629 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
21630 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
21631 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
21632 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
21633
21634 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
21635 (translation_table): Replace hardcoded values with macros
21636 provided by `<grub/term.h>'.
21637
21638 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
21639 (keyboard_map): Correct/add a few values, with macros provided
21640 by `<grub/term.h>'.
21641 (keyboard_map_shift): Zero values that don't differ from their
21642 `keyboard_map' equivalents.
21643 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
21644 Discard the second scan code that is always sent by Caps lock.
21645 Only use `keyboard_map_shift' when it provides a non-zero value,
21646 otherwise fallback to `keyboard_map'.
21647
21648 2008-02-04 Bean <bean123ch@gmail.com>
21649
21650 * Makefile.in (enable_grub_fstest): New variable.
21651
21652 * conf/common.rmk (grub_fstest_init.lst): New rule.
21653 (grub_fstest_init.h): Likewise.
21654 (grub_fstest_init.c): Likewise.
21655 (util/grub-fstest.c_DEPENDENCIES): New variable.
21656 (grub_fstest_SOURCES): Likewise.
21657
21658 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
21659
21660 * util/grub-fstest.c: New file.
21661
21662 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
21663
21664 Make grub-setup handle a separate root device.
21665
21666 * util/i386/pc/grub-setup.c (setup): Always open the root device,
21667 so that the root device can be compared with the destination
21668 device.
21669 When embedding the core image, if the root and destination devices
21670 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
21671 0xFF.
21672 When not embedding, set ROOT_DRIVE to 0xFF.
21673
21674 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
21675
21676 Add support for having a grub directory in a different drive. This
21677 is still only the data handling part.
21678
21679 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
21680 (codestart): Save %dh in GRUB_ROOT_DRIVE.
21681 (grub_root_drive): New variable.
21682
21683 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
21684 instead of GRUB_BOOT_DRIVE to construct a device name. Set
21685 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
21686 as it was.
21687
21688 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
21689
21690 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
21691 macro.
21692 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
21693
21694 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
21695 is bogus, because PXE booting does not specify any drive
21696 correctly.
21697
21698 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
21699 am not sure if this is really correct.
21700
21701 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
21702 is always identical to the boot drive when booting from a CD.
21703
21704 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
21705 longer.
21706 (root_drive): New variable.
21707 (real_start): Unconditionally set %dh to ROOT_DRIVE.
21708 (setup_sectors): Push %dx right after popping it, because %dh will
21709 be modified later.
21710 (copy_buffer): Restore %dx.
21711
21712 2008-02-03 Robert Millan <rmh@aybabtu.com>
21713
21714 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
21715 use `cdboot.img' for cdrom images.
21716
21717 2008-02-03 Robert Millan <rmh@aybabtu.com>
21718
21719 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
21720 only setup gfxterm when `font' command has succeeded.
21721
21722 2008-02-03 Robert Millan <rmh@aybabtu.com>
21723
21724 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
21725 (grub_rescue_cmd_multiboot_loader)
21726 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
21727
21728 2008-02-03 Pavel Roskin <proski@gnu.org>
21729
21730 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
21731 %edx and %esi from stack only after grub_gate_a20() is called.
21732 grub_gate_a20() clobbers %edx.
21733
21734 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
21735
21736 * configure.ac (AC_INIT): Bumped to 1.96.
21737
21738 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
21739 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
21740 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
21741 video/readers/png.c.
21742
21743 2008-02-03 Bean <bean123ch@gmail.com>
21744
21745 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
21746 (cdboot_img_SOURCES): New variable.
21747 (cdboot_img_ASFLAGS): New variable.
21748 (cdboot_img_LDFLAGS): New variable.
21749
21750 * boot/i386/pc/cdboot.S: New file.
21751
21752 * disk/i386/pc/biosdisk.c (cd_start): New variable.
21753 (cd_count): Likewise.
21754 (grub_biosdisk_get_drive): Add support for cd device.
21755 (grub_biosdisk_call_hook): Likewise.
21756 (grub_biosdisk_iterate): Likewise.
21757 (grub_biosdisk_open): Likewise.
21758 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
21759 (grub_biosdisk_rw): Support reading from cd device.
21760 (GRUB_MOD_INIT): Iterate cd devices.
21761
21762 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
21763 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
21764 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
21765
21766 * kern/i386/pc/init.c (make_install_device): Check for cd device.
21767
21768 2008-02-02 Robert Millan <rmh@aybabtu.com>
21769
21770 * commands/read.c: New file.
21771 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
21772 (read_mod_SOURCES): New variable.
21773 (read_mod_CFLAGS): Likewise.
21774 (read_mod_LDFLAGS): Likewise.
21775
21776 2008-02-02 Robert Millan <rmh@aybabtu.com>
21777
21778 * normal/main.c (grub_normal_execute): Check for `menu->size' when
21779 determining whether menu has to be displayed.
21780
21781 2008-02-02 Marco Gerards <marco@gnu.org>
21782
21783 * bus/pci.c: New file.
21784
21785 * include/grub/pci.h: Likewise.
21786
21787 * include/grub/i386/pc/pci.h: Likewise.
21788
21789 * commands/lspci.c: Likewise.
21790
21791 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
21792 `lspci.mod'.
21793 (pci_mod_SOURCES): New variable.
21794 (pci_mod_CFLAGS): Likewise.
21795 (pci_mod_LDFLAGS): Likewise.
21796 (lspci_mod_SOURCES): Likewise.
21797 (lspci_mod_CFLAGS): Likewise.
21798 (lspci_mod_LDFLAGS): Likewise.
21799
21800 2008-02-02 Bean <bean123ch@gmail.com>
21801
21802 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
21803 (grub_ufs_get_file_block): Fix indirect block calculation problem.
21804
21805 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
21806 (grub_xfs_btree_node): New structure.
21807 (grub_xfs_btree_root): New structure.
21808 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
21809 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
21810 (GRUB_XFS_EXTENT_BLOCK): Likewise.
21811 (GRUB_XFS_EXTENT_SIZE): Likewise.
21812 (grub_xfs_read_block): Support btree format type.
21813 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
21814 Use directory block as basic unit.
21815
21816 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
21817
21818 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
21819 __attribute__ ((__regparm__ (1))).
21820
21821 2008-02-01 Robert Millan <rmh@aybabtu.com>
21822
21823 Correct a mistake in previous commit.
21824
21825 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
21826 top.
21827 (normal/command.c_DEPENDENCIES): New variable.
21828
21829 2008-02-01 Robert Millan <rmh@aybabtu.com>
21830
21831 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
21832 top.
21833 (normal/command.c_DEPENDENCIES): New variable.
21834 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
21835 * conf/i386-ieee1275.rmk: Likewise.
21836 * conf/i386-linuxbios.rmk: Likewise.
21837 * conf/i386-pc.rmk: Likewise.
21838 * conf/sparc64-ieee1275.rmk: Likewise.
21839 * conf/powerpc-ieee1275.rmk: Likewise.
21840 (grub_emu_SOURCES): Add `fs/fshelp.c'.
21841
21842 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
21843
21844 2008-02-01 Robert Millan <rmh@aybabtu.com>
21845
21846 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
21847 call at beginning of function.
21848
21849 2008-01-31 Pavel Roskin <proski@gnu.org>
21850
21851 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
21852 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
21853 (grub_mkrescue_SOURCES): Likewise.
21854 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
21855
21856 2008-01-30 Robert Millan <rmh@aybabtu.com>
21857
21858 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
21859 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
21860 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
21861 (grub_probe_SOURCES): ... to here.
21862
21863 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
21864 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
21865 * conf/i386-ieee1275.rmk: Likewise.
21866 * conf/i386-linuxbios.rmk: Likewise.
21867 * conf/powerpc-ieee1275.rmk: Likewise.
21868
21869 2008-01-30 Tristan Gingold <gingold@free.fr>
21870
21871 * kern/rescue.c: Silently accept empty lines.
21872
21873 2008-01-29 Bean <bean123ch@gmail.com>
21874
21875 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
21876 (real_code_2): Code cleanup and change comment style.
21877 (move_memory): Avoid using 32-bit address mode.
21878
21879 2008-01-29 Bean <bean123ch@gmail.com>
21880
21881 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
21882 (png_mod_SOURCES): New variable.
21883 (png_mod_CFLAGS): Likewise.
21884 (png_mod_LDFLAGS): Likewise.
21885
21886 * video/readers/png.c: New file.
21887
21888 2008-01-28 Robert Millan <rmh@aybabtu.com>
21889
21890 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
21891 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
21892 `ifndef GRUB_MOD_GAP' hack.
21893 * util/elf/grub-mkimage.c (add_segments): Likewise.
21894
21895 2008-01-27 Robert Millan <rmh@aybabtu.com>
21896
21897 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
21898 `GRUB_MOD_GAP' for platforms in which it's not defined.
21899 * util/elf/grub-mkimage.c (add_segments): Likewise.
21900
21901 2008-01-27 Robert Millan <rmh@aybabtu.com>
21902
21903 Get grub-emu to build again (including parallel builds).
21904
21905 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
21906 Split into ...
21907 (util/grub-emu.c_DEPENDENCIES): ... this, ...
21908 (normal/execute.c_DEPENDENCIES): ... this, ...
21909 (grub-emu_DEPENDENCIES): ... and this.
21910
21911 * conf/i386-efi.rmk: Likewise.
21912 * conf/i386-linuxbios.rmk: Likewise.
21913 * conf/i386-ieee1275.rmk: Likewise.
21914 * conf/powerpc-ieee1275.rmk: Likewise.
21915 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
21916
21917 2008-01-27 Robert Millan <rmh@aybabtu.com>
21918
21919 * NEWS: Add a few items.
21920
21921 2008-01-27 Robert Millan <rmh@aybabtu.com>
21922
21923 Fix parallel builds with grub-emu. Based on earlier commit for
21924 grub-probe and grub-setup.
21925
21926 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21927 (util/grub-emu.c_DEPENDENCIES): ... this.
21928 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21929 (util/grub-emu.c_DEPENDENCIES): ... this.
21930 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21931 (util/grub-emu.c_DEPENDENCIES): ... this.
21932 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21933 (util/grub-emu.c_DEPENDENCIES): ... this.
21934 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
21935 (util/grub-emu.c_DEPENDENCIES): ... this.
21936
21937 2008-01-27 Pavel Roskin <proski@gnu.org>
21938
21939 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
21940 to create a gap between _end and the modules added to the image
21941 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
21942 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
21943 * util/elf/grub-mkimage.c (add_segments): Likewise.
21944
21945 2008-01-26 Pavel Roskin <proski@gnu.org>
21946
21947 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
21948 just return an error.
21949
21950 2008-01-26 Bean <bean123ch@gmail.com>
21951
21952 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
21953 (grub_reiserfs_get_item): Save offset of the next item.
21954 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
21955
21956 2008-01-25 Robert Millan <rmh@aybabtu.com>
21957
21958 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
21959 make all filesystem sources appear together (possibly fixing omissions
21960 while at it).
21961 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21962 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21963 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21964 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21965
21966 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
21967 add `kern/file.c'.
21968 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
21969 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
21970 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
21971 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
21972
21973 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
21974 (probe): Add a sanity check to make sure of our ability to read
21975 requested files when probing for filesystem type.
21976
21977 * genmk.rb: Update copyright year (2007).
21978
21979 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
21980 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
21981 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
21982 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
21983 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
21984 : Remove function prototypes.
21985
21986 2008-01-25 Robert Millan <rmh@aybabtu.com>
21987
21988 Revert my previous commits (based on wrong assumption of how grub_errno
21989 works).
21990
21991 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
21992 * kern/file.c (grub_file_open): Likewise.
21993
21994 2008-01-24 Pavel Roskin <proski@gnu.org>
21995
21996 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
21997 that hang if GRUB tries to setup colors.
21998 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
21999 colors for firmwares that don't support it.
22000 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
22001 Recognize Open Hack'Ware, set flags to work around its
22002 limitations.
22003
22004 2008-01-24 Robert Millan <rmh@aybabtu.com>
22005
22006 * kern/file.c (grub_file_open): Do not account previous failures of
22007 unrelated functions when grub_errno is checked for.
22008 Reported by Oleg Strikov.
22009
22010 2008-01-24 Bean <bean123ch@gmail.com>
22011
22012 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
22013 (grub_ufs_sblock): New member volume name.
22014 (grub_ufs_find_file): Fix string copy bug.
22015 (grub_ufs_label): Implement this function properly.
22016
22017 * fs/hfs.c (grub_hfs_cnid_type): New enum.
22018 (grub_hfs_iterate_records): Use the correct file number for extents
22019 and catalog file. Fix problem in next index calculation.
22020 (grub_hfs_find_node): Replace recursive function call with loop.
22021 (grub_hfs_iterate_dir): Replace recursive function call with loop.
22022
22023 2008-01-23 Robert Millan <rmh@aybabtu.com>
22024
22025 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
22026 `<grub/symbol.h>' and `<grub/multiboot.h>'.
22027 (grub_multiboot2_real_boot): New function prototype.
22028
22029 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
22030 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
22031
22032 * kern/i386/ieee1275/init.c (grub_os_area_addr)
22033 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
22034
22035 2008-01-23 Robert Millan <rmh@aybabtu.com>
22036
22037 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
22038 #ifdef'ed out grub_printf().
22039
22040 2008-01-23 Robert Millan <rmh@aybabtu.com>
22041
22042 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
22043 grub_dprintf calls, since they make "debug=all" mode unusable.
22044 (grub_console_checkkey): Likewise.
22045
22046 2008-01-23 Robert Millan <rmh@aybabtu.com>
22047
22048 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
22049 `term/i386/pc/at_keyboard.c'.
22050 (pkglib_MODULES): Add `serial.mod'.
22051 (serial_mod_SOURCES): New variable.
22052 (serial_mod_CFLAGS): Likewise.
22053 (serial_mod_LDFLAGS): Likewise.
22054
22055 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
22056 `<grub/powerpc/ieee1275/console.h>'.
22057 (grub_keyboard_controller_init): New function prototype.
22058 (grub_console_checkkey): Likewise.
22059 (grub_console_getkey): Likewise.
22060
22061 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
22062 keyboard on i386.
22063
22064 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
22065 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
22066
22067 2008-01-23 Robert Millan <rmh@aybabtu.com>
22068
22069 * kern/i386/pc/init.c (make_install_device): When memdisk image is
22070 present, "(memdisk)/boot/grub" becomes the default prefix.
22071
22072 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
22073 a memdisk tarball with all the modules. Add --overlay=DIR option that
22074 allows users to overlay additional files into the image.
22075
22076 2008-01-23 Robert Millan <rmh@aybabtu.com>
22077
22078 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
22079 and `machine/memory.h'.
22080 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
22081 (_multiboot_mod_SOURCES): New variable.
22082 (_multiboot_mod_CFLAGS): Likewise.
22083 (_multiboot_mod_LDFLAGS): Likewise.
22084 (multiboot_mod_SOURCES): Likewise.
22085 (multiboot_mod_CFLAGS): Likewise.
22086 (multiboot_mod_LDFLAGS): Likewise.
22087
22088 * include/grub/i386/ieee1275/loader.h: New file.
22089
22090 * include/grub/i386/ieee1275/machine.h: Likewise.
22091
22092 * include/grub/i386/ieee1275/memory.h: Likewise.
22093
22094 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
22095 variable declaration.
22096 (grub_os_area_size): Likewise.
22097
22098 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
22099 (grub_lower_mem, grub_upper_mem): New variables.
22100 (grub_stop_floppy): New function (just to make
22101 grub_multiboot2_real_boot() happy).
22102
22103 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
22104 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
22105 (grub_stop): New function.
22106 Include `"../realmode.S"' and `"../loader.S"'.
22107
22108 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
22109 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
22110
22111 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
22112 rely on grub_multiboot2_real_boot() for final boot.
22113
22114 2008-01-22 Robert Millan <rmh@aybabtu.com>
22115
22116 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
22117 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
22118 device that doesn't look like an SD card.
22119 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
22120 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
22121 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
22122 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
22123 found.
22124
22125 2008-01-22 Robert Millan <rmh@aybabtu.com>
22126
22127 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
22128 avoid claiming over our own code.
22129
22130 2008-01-22 Bean <bean123ch@gmail.com>
22131
22132 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
22133 (jpeg_mod_SOURCES): New variable.
22134 (jpeg_mod_CFLAGS): Likewise.
22135 (jpeg_mod_LDFLAGS): Likewise.
22136
22137 * video/readers/jpeg.c : New file.
22138
22139 2008-01-22 Bean <bean123ch@gmail.com>
22140
22141 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
22142 there are no more items.
22143
22144 2008-01-21 Robert Millan <rmh@aybabtu.com>
22145
22146 * kern/mm.c (grub_mm_init_region): Improve debug message.
22147
22148 2008-01-21 Robert Millan <rmh@aybabtu.com>
22149
22150 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
22151 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
22152 address.
22153 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
22154 a C macro.
22155 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
22156 Indicates start of upper memory.
22157 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
22158 (generate_image): Abort when image size is big enough to corrupt
22159 upper memory.
22160
22161 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
22162 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
22163 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
22164 instead of hardcoding 0xA0000.
22165 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
22166 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
22167 instead of hardcoding 0xA0000.
22168
22169 2008-01-21 Robert Millan <rmh@aybabtu.com>
22170
22171 * disk/memdisk.c (memdisk_size): New variable.
22172 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
22173 `memdisk_size'.
22174 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
22175 image to dynamic memory.
22176 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
22177 `memdisk_size'. Free memdisk block.
22178
22179 2008-01-21 Robert Millan <rmh@aybabtu.com>
22180
22181 Fix detection of very small filesystems (like tar).
22182
22183 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
22184 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
22185 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
22186 a problem with this disk).
22187
22188 2008-01-21 Robert Millan <rmh@aybabtu.com>
22189
22190 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
22191 on grub_biosdisk_rw_standard() error.
22192
22193 2008-01-21 Robert Millan <rmh@aybabtu.com>
22194
22195 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
22196 recent changes.
22197 * kern/elf.c: Likewise.
22198 * kern/ieee1275/ieee1275.c: Likewise.
22199 * kern/powerpc/ieee1275/openfw.c: Likewise.
22200 * term/ieee1275/ofconsole.c: Likewise.
22201
22202 2008-01-21 Robert Millan <rmh@aybabtu.com>
22203
22204 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
22205
22206 * include/grub/kernel.h (grub_arch_memdisk_addr)
22207 (grub_arch_memdisk_size): Moved from here ...
22208
22209 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
22210 (grub_arch_memdisk_size): ... to here.
22211
22212 2008-01-21 Robert Millan <rmh@aybabtu.com>
22213
22214 Mostly based on bugfix from Bean.
22215
22216 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
22217 attribute with hook() parameter.
22218 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
22219 declaration.
22220 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
22221 attribute with hook() parameter.
22222 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
22223 declaration.
22224
22225 2008-01-21 Robert Millan <rmh@aybabtu.com>
22226
22227 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
22228 (pkglib_MODULES): Add `memdisk.mod'.
22229 (memdisk_mod_SOURCES): New variable.
22230 (memdisk_mod_CFLAGS): Likewise.
22231 (memdisk_mod_LDFLAGS): Likewise.
22232
22233 * disk/memdisk.c: New file.
22234
22235 * include/grub/disk.h (grub_disk_dev_id): Add
22236 `GRUB_DISK_DEVICE_MEMDISK_ID'.
22237
22238 * include/grub/i386/pc/kernel.h
22239 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
22240 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
22241 (grub_kernel_image_size): New variable declaration.
22242 (grub_total_module_size): Likewise.
22243 (grub_memdisk_image_size): Likewise.
22244
22245 * include/grub/i386/pc/memory.h
22246 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
22247
22248 * include/grub/kernel.h: Include `<grub/symbol.h>'.
22249 (grub_arch_memdisk_addr): New variable declaration.
22250 (grub_arch_memdisk_size): Likewise.
22251
22252 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
22253 (grub_arch_memdisk_size): Likewise.
22254
22255 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
22256 (codestart): Replace hardcoded `0x100000' with
22257 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
22258
22259 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
22260 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
22261 not NULL, append the contents of the file it refers to, at the end of
22262 the compressed kernel image. Initialize `grub_memdisk_image_size'
22263 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
22264 (options): Add "memdisk"|'m' option.
22265 (main): Parse --memdisk|-m option, and pass user-provided path as
22266 parameter to generate_image().
22267
22268 2008-01-20 Robert Millan <rmh@aybabtu.com>
22269
22270 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
22271 grub_dprintf() calls from here ...
22272 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
22273
22274 2008-01-20 Robert Millan <rmh@aybabtu.com>
22275
22276 Fix detection of "real mode" when /options/real-mode? doesn't exist.
22277
22278 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
22279 declaration.
22280 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
22281 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
22282 `GRUB_IEEE1275_FLAG_REAL_MODE'.
22283 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
22284 property).
22285 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
22286 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
22287
22288 2008-01-19 Robert Millan <rmh@aybabtu.com>
22289
22290 Get rid of confusing function (superseded by
22291 `grub_ieee1275_get_integer_property')
22292 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
22293 prototype.
22294 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
22295 function.
22296 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
22297 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
22298 in native endianness from grub_ieee1275_get_integer_property().
22299
22300 2008-01-19 Robert Millan <rmh@aybabtu.com>
22301
22302 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
22303 command after "shut-down", since implementations differ on which
22304 the command for halt is.
22305
22306 2008-01-19 Robert Millan <rmh@aybabtu.com>
22307
22308 * include/grub/i386/linuxbios/console.h: Add header protection.
22309 (grub_keyboard_controller_init): New function prototype.
22310 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
22311 (KEYBOARD_COMMAND_READ): Likewise.
22312 (KEYBOARD_COMMAND_WRITE): Likewise.
22313 (KEYBOARD_SCANCODE_SET1): Likewise.
22314 (grub_keyboard_controller_write): New function.
22315 (grub_keyboard_controller_read): Likewise.
22316 (grub_keyboard_controller_init): Likewise.
22317
22318 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
22319 (grub_console_init): On coreboot/LinuxBIOS, call
22320 grub_keyboard_controller_init().
22321
22322 2008-01-19 Robert Millan <rmh@aybabtu.com>
22323
22324 PowerPC changes provided by Pavel Roskin.
22325
22326 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
22327 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
22328 don't rely on cmain() doing it.
22329 * kern/i386/ieee1275/startup.S (_start): Store %eax in
22330 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
22331
22332 2008-01-16 Robert Millan <rmh@aybabtu.com>
22333
22334 * include/grub/i386/linuxbios/memory.h
22335 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
22336 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
22337 receive `table_header' as argument. Instead, probe for it in the
22338 known memory ranges where it can be present.
22339 (grub_available_iterate): Do not pass a fixed `table_header' address
22340 to grub_linuxbios_table_iterate().
22341
22342 2008-01-15 Robert Millan <rmh@aybabtu.com>
22343
22344 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
22345 * conf/i386-ieee1275.rmk: New file.
22346 * include/grub/i386/ieee1275/console.h: Likewise.
22347 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
22348 * include/grub/i386/ieee1275/kernel.h: Likewise.
22349 * include/grub/i386/ieee1275/time.h: Likewise.
22350 * kern/i386/ieee1275/init.c: Likewise.
22351 * kern/i386/ieee1275/startup.S: Likewise.
22352
22353 2008-01-15 Robert Millan <rmh@aybabtu.com>
22354
22355 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
22356 when pointers are 32-bit (but still do set it to one when they are
22357 64-bit).
22358
22359 2008-01-15 Robert Millan <rmh@aybabtu.com>
22360
22361 * include/grub/ieee1275/ieee1275.h
22362 (grub_ieee1275_get_integer_property): New function prototype.
22363
22364 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
22365 (grub_ieee1275_get_integer_property): New function. Wraps around
22366 grub_ieee1275_get_property() to handle endianness.
22367
22368 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
22369 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
22370 where appropriate.
22371 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
22372 (grub_map): Likewise.
22373 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
22374
22375 2008-01-15 Bean <bean123ch@gmail.com>
22376
22377 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
22378 (grub_script_execute_cmdline): Reset grub_errno.
22379
22380 * normal/main.c (read_config_file): Reset grub_errno.
22381
22382 * normal/parse.y (script_init): New.
22383 (script): Move function and menuentry here.
22384 (delimiter): New.
22385 (command): Add delimiter at the end of command.
22386 (commands): Adjust to match the new command.
22387 (commandblock): Remove grub_script_lexer_record_start.
22388 (menuentry): Add grub_script_lexer_record_start, use the new commands.
22389 (if): Use the new commands.
22390
22391 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
22392
22393 2008-01-15 Robert Millan <rmh@aybabtu.com>
22394
22395 * normal/menu.c (run_menu): Move timeout message from here ...
22396 (print_timeout): ... to here.
22397 (run_menu): Use print_timeout() once during initial draw to print
22398 the whole message, and again in every clock tick to update only
22399 the number of seconds.
22400
22401 2008-01-15 Robert Millan <rmh@aybabtu.com>
22402
22403 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
22404 actual size of `available' from grub_ieee1275_get_property(), and
22405 restrict parsing to that bound.
22406
22407 2008-01-15 Christian Franke <franke@computer.org>
22408
22409 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
22410 (argp_program_version): Remove variable.
22411 (argp_program_bug_address): Likewise.
22412 (options): Convert from struct argp_option to struct option.
22413 (struct arguments): Remove.
22414 (parse_opt): Remove.
22415 (usage): New function.
22416 (main): Replace struct args members by simple variables.
22417 Replace argp_parse() by getopt_long().
22418 Add switch to evaluate options.
22419 Add missing "(...)" around root_dev in prefix string.
22420
22421 2008-01-14 Robert Millan <rmh@aybabtu.com>
22422
22423 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
22424 for grub_ieee1275_exit(), in order to improve portability.
22425
22426 2008-01-14 Robert Millan <rmh@aybabtu.com>
22427
22428 * util/grub.d/10_linux.in (prefix): Define.
22429 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
22430
22431 2008-01-13 Pavel Roskin <proski@gnu.org>
22432
22433 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
22434 grub_errno if no errors have been detected.
22435
22436 2008-01-12 Robert Millan <rmh@aybabtu.com>
22437
22438 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
22439 (grub_util_get_dev_abstraction): New function prototype.
22440
22441 * util/getroot.c: Include `<grub/util/getroot.h>'
22442 (grub_util_get_grub_dev): Move detection of abstraction type to ...
22443 (grub_util_get_dev_abstraction): ... here (new function).
22444
22445 * util/grub-probe.c: Convert PRINT_* to an enum. Add
22446 `PRINT_ABSTRACTION'.
22447 (probe): Probe for abstraction type when requested.
22448 (main): Understand `--target=abstraction'.
22449
22450 * util/i386/efi/grub-install.in: Add abstraction module to core
22451 image when it is found to be necessary.
22452 * util/i386/pc/grub-install.in: Likewise.
22453 * util/powerpc/ieee1275/grub-install.in: Likewise.
22454
22455 * util/update-grub_lib.in (font_path): Return system path without
22456 converting to GRUB path.
22457 * util/update-grub.in: Convert system path returned by font_path()
22458 to a GRUB path. Use `grub-probe -t abstraction' to determine what
22459 abstraction module is needed for loading fonts (if any). Export
22460 that as `GRUB_PRELOAD_MODULES'.
22461 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
22462 insmod commands).
22463
22464 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
22465
22466 Remove some unused code from reiserfs.
22467
22468 * fs/reiserfs.c (struct grub_reiserfs_key)
22469 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
22470 (struct grub_reiserfs_node_body): Removed.
22471 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
22472 Likewise.
22473 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
22474 Likewise.
22475 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
22476 Likewise.
22477 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
22478 Likewise.
22479 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
22480 Likewise.
22481 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
22482 Likewise.
22483 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
22484 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
22485 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
22486
22487 2008-01-10 Robert Millan <rmh@aybabtu.com>
22488
22489 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
22490 Determines if a file is garbage left by packaging systems, etc.
22491 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
22492 for processing /etc/grub.d scripts.
22493 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
22494 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
22495 as a condition for processing Linux images.
22496
22497 2008-01-10 Pavel Roskin <proski@gnu.org>
22498
22499 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
22500 to compile reiserfs.c on PowerPC.
22501
22502 2008-01-10 Robert Millan <rmh@aybabtu.com>
22503
22504 * kern/device.c (grub_device_iterate): Do not abort device iteration
22505 when one of the devices cannot be opened.
22506 * kern/disk.c (grub_disk_open): Do not account previous failures of
22507 unrelated functions when grub_errno is checked for.
22508
22509 2008-01-08 Robert Millan <rmh@aybabtu.com>
22510
22511 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
22512 `! grub_linux_is_bzimage', change order of address comparison to make
22513 it more intuitive, and improve "too big zImage" error message.
22514
22515 2008-01-08 Robert Millan <rmh@aybabtu.com>
22516
22517 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
22518 `$(update-grub_DATA)'.
22519 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
22520 targets.
22521
22522 2008-01-07 Robert Millan <rmh@aybabtu.com>
22523
22524 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
22525 which instruction is modified by grub-setup during installation
22526 (since it wasn't obvious by only looking at this file).
22527
22528 2008-01-07 Robert Millan <rmh@aybabtu.com>
22529
22530 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
22531 listing actual TODO items.
22532
22533 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22534
22535 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
22536 correctly.
22537 (grub_reiserfs_get_key_offset): Likewise.
22538 (grub_reiserfs_set_key_offset): Likewise.
22539 (grub_reiserfs_set_key_type): Likewise.
22540 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
22541
22542 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
22543 better to remove the bitfield version completely.
22544
22545 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22546
22547 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
22548 allocated from the heap, due to the fshelp implementation.
22549 (grub_reiserfs_dir): Free NODE, due to the same reason.
22550
22551 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22552
22553 Mostly from Vincent Pelletier:
22554
22555 * fs/reiserfs.c: New file.
22556
22557 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
22558 (reiserfs_mod_SOURCES): New variable.
22559 (reiserfs_mod_CFLAGS): Likewise.
22560 (reiserfs_mod_LDFLAGS): Likewise.
22561
22562 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
22563 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
22564 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
22565 normal/color.c.
22566
22567 2008-01-06 Robert Millan <rmh@aybabtu.com>
22568
22569 * normal/color.c: Remove `<grub/env.h>'.
22570
22571 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
22572
22573 * include/grub/normal.h: Include <grub/env.h>.
22574
22575 2008-01-05 Robert Millan <rmh@aybabtu.com>
22576
22577 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
22578 usage example with `(hd0,1)'.
22579 Reported by Samuel Thibault.
22580
22581 2008-01-05 Robert Millan <rmh@aybabtu.com>
22582
22583 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
22584 (grub_linux_boot_zimage): Rename to ...
22585 (grub_linux_boot): ... this.
22586 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
22587 (grub_linux_boot_zimage): Conditionalize zImage copy.
22588
22589 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
22590 (grub_linux_boot_bzimage): Remove prototype.
22591 (grub_linux_boot_zimage): Rename to ...
22592 (grub_linux_boot): ... this.
22593
22594 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
22595 (grub_linux_boot): Remove function.
22596
22597 2008-01-05 Robert Millan <rmh@aybabtu.com>
22598
22599 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
22600 (grub_env_write_color_highlight): Likewise.
22601 (grub_wait_after_message): Likewise.
22602
22603 * normal/color.c: New file.
22604
22605 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22606 (normal_mod_DEPENDENCIES): Likewise.
22607
22608 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22609 (normal_mod_DEPENDENCIES): Likewise.
22610
22611 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22612 (normal_mod_DEPENDENCIES): Likewise.
22613
22614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22615 (normal_mod_DEPENDENCIES): Likewise.
22616
22617 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
22618 for waiting after a message is printed.
22619 * normal/main.c (read_config_file): Likewise.
22620 (grub_normal_init): Register grub_env_write_color_normal() and
22621 grub_env_write_color_highlight() hooks. Mark `color_normal' and
22622 `color_highlight' variables as global.
22623
22624 * normal/menu.c (grub_wait_after_message): New function.
22625 (grub_color_menu_normal): New variable. Replaces ...
22626 (GRUB_COLOR_MENU_NORMAL): ... this macro.
22627 (grub_color_menu_highlight): New variable. Replaces ...
22628 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
22629 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
22630 `GRUB_TERM_COLOR_STANDARD'.
22631 (print_message): Use `grub_setcolorstate' to reload colors. Rename
22632 `normal_code' and `highlight_code' to `old_color_normal' and
22633 `old_color_highlight', respectively.
22634 (grub_menu_init_page): Update colors when drawing the menu, based on
22635 `menu_color_normal' and `menu_color_highlight' variables.
22636 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
22637 a message is printed.
22638
22639 2008-01-05 Robert Millan <rmh@aybabtu.com>
22640
22641 * kern/env.c (grub_env_context_open): Propagate hooks for global
22642 variables to new context.
22643
22644 * kern/main.c (grub_set_root_dev): Export `root' variable.
22645
22646 2008-01-05 Robert Millan <rmh@aybabtu.com>
22647
22648 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
22649 discs unconditionally, since udev and others have options to provide
22650 them.
22651
22652 2008-01-05 Robert Millan <rmh@aybabtu.com>
22653
22654 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
22655
22656 2008-01-04 Christian Franke <franke@computer.org>
22657
22658 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
22659 of eisa_mmap.
22660
22661 2008-01-03 Pavel Roskin <proski@gnu.org>
22662
22663 * kern/i386/linuxbios/init.c: Put "void" to all function
22664 declarations with no arguments.
22665 * kern/powerpc/ieee1275/init.c: Likewise.
22666 * term/i386/pc/at_keyboard.c: Likewise.
22667 * term/i386/pc/vga_text.c: Likewise.
22668 * util/grub-mkdevicemap.c: Likewise.
22669
22670 2008-01-02 Robert Millan <rmh@aybabtu.com>
22671
22672 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
22673 message when loaded image is out of bounds.
22674 (grub_multiboot_load_elf64): Likewise.
22675
22676 2008-01-02 Pavel Roskin <proski@gnu.org>
22677
22678 * util/grub.d/10_linux.in: Try version without ".old" when
22679 looking for initrd. It's better to use initrd from the newer
22680 kernel of the same version than no initrd at all.
22681
22682 2008-01-01 Robert Millan <rmh@aybabtu.com>
22683
22684 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
22685
22686 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
22687
22688 * include/grub/video.h: Added grub_video_unmap_color and
22689 grub_video_get_active_render_target.
22690 (grub_video_adapter): Added unmap_color and get_active_render_target.
22691
22692 * video/video.c: Added grub_video_unmap_color and
22693 grub_video_get_active_render_target.
22694 (grub_video_get_info): Changed method to accept NULL pointer as an
22695 argument to allow detection of active video adapter.
22696
22697 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
22698 grub_video_vbe_unmap_color_int.
22699 Added grub_video_vbe_unmap_color and
22700 grub_video_vbe_get_active_render_target.
22701 (grub_video_vbe_adapter): Added unmap_color and
22702 get_active_render_target.
22703
22704 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
22705 with grub_video_vbe_unmap_color_int.
22706
22707 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
22708 (DEFAULT_NORMAL_COLOR): Likewise.
22709 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
22710 (DEFAULT_FG_COLOR): Removed.
22711 (DEFAULT_BG_COLOR): Likewise.
22712 (DEFAULT_CURSOR_COLOR): Changed value.
22713 (grub_virtual_screen): Added standard_color_setting,
22714 normal_color_setting, highlight_color_setting and term_color.
22715 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
22716 (bitmap_width): Added.
22717 (bitmap_height): Likewise.
22718 (bitmap): Likewise.
22719 (set_term_color): Likewise.
22720 (grub_virtual_screen_setup): Changed to use new terminal coloring
22721 settings.
22722 (grub_gfxterm_init): Added init for bitmap.
22723 (grub_gfxterm_fini): Added destroy for bitmap.
22724 (redraw_screen_rect): Updated to use background bitmap and new
22725 terminal coloring.
22726 (scroll_up): Added optimization for case when there is no bitmap.
22727 (grub_gfxterm_cls): Fixed to use correct background color.
22728 (grub_virtual_screen_setcolorstate): Changed to use new terminal
22729 coloring.
22730 (grub_virtual_screen_setcolor): Likewise.
22731 (grub_virtual_screen_getcolor): Added.
22732 (grub_gfxterm_background_image_cmd): Likewise.
22733 (grub_video_term): Added setcolor and getcolor.
22734 (MOD_INIT): Added registration of background_image command.
22735 (MOD_TERM): Added unregistration for background_image command.
22736
22737 2007-12-30 Pavel Roskin <proski@gnu.org>
22738
22739 * loader/multiboot_loader.c: Fix multiboot command
22740 unregistration. Fix all typos in the word "multiboot".
22741
22742 2007-12-29 Pavel Roskin <proski@gnu.org>
22743
22744 * util/grub.d/10_linux.in: Refactor search for initrd. Add
22745 support for initrd names used in Fedora.
22746
22747 2007-12-26 Bean <bean123ch@gmail.com>
22748
22749 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
22750 (cpio_mod_SOURCES): New variable.
22751 (cpio_mod_CFLAGS): Likewise.
22752 (cpio_mod_LDFLAGS): Likewise.
22753
22754 * fs/cpio.c: New file.
22755
22756 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
22757
22758 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22759
22760 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22761
22762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22763
22764 2007-12-25 Robert Millan <rmh@aybabtu.com>
22765
22766 * include/grub/term.h (struct grub_term): Add `getcolor' function.
22767 (grub_getcolor): New function.
22768
22769 * kern/term.c (grub_getcolor): New function.
22770 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
22771 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
22772 (print_entry): Set normal and highlight colors to
22773 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
22774 respectively, before printing and restore them to old
22775 values afterwards.
22776 (grub_menu_init_page): Likewise. Fill an additional colored space
22777 that would otherwise be left blank.
22778
22779 * term/efi/console.c (grub_console_getcolor): New function.
22780 (struct grub_console_term.getcolor): New variable.
22781 * term/i386/pc/console.c (grub_console_getcolor): New function.
22782 (struct grub_console_term.getcolor): New variable.
22783 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
22784 (struct grub_console_term.getcolor): New variable.
22785
22786 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
22787 (struct grub_console_term.setcolor): Remove variable.
22788 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
22789 (struct grub_console_term.setcolor): Remove variable.
22790 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
22791 (struct grub_console_term.setcolor): Remove variable.
22792 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
22793 (struct grub_console_term.setcolor): Remove variable.
22794
22795 2007-12-25 Robert Millan <rmh@aybabtu.com>
22796
22797 * configure.ac: Search for possible unifont.hex locations, and
22798 define UNIFONT_HEX if found.
22799
22800 * Makefile.in (UNIFONT_HEX): Define variable.
22801 (DATA): Rename to ...
22802 (PKGLIB): ... this. Update all users.
22803 (PKGDATA): New variable.
22804 (pkgdata_IMAGES): Rename to ...
22805 (pkglib_IMAGES): ... this. Update all users.
22806 (pkgdata_MODULES): Rename to ...
22807 (pkglib_MODULES): ... this. Update all users.
22808 (pkgdata_PROGRAMS): Rename to ...
22809 (pkglib_PROGRAMS): ... this. Update all users.
22810 (pkgdata_DATA): Rename to ...
22811 (pkglib_DATA): ... this. Update all users.
22812 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
22813 (unicode.pff, ascii.pff): New rules.
22814 (all-local): Add `$(PKGDATA)' dependency.
22815 (install-local): Process `$(PKGDATA)'.
22816
22817 * util/update-grub_lib.in (font_path): Search for *.pff files in
22818 a few more locations, including `${pkgdata}'.
22819
22820 2007-12-23 Robert Millan <rmh@aybabtu.com>
22821
22822 Patch from Bean <bean123ch@gmail.com>:
22823 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
22824 `size'.
22825
22826 2007-12-21 Bean <bean123ch@gmail.com>
22827
22828 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
22829 (ntfscomp_mod_SOURCES): New variable.
22830 (ntfscomp_mod_CFLAGS): Likewise.
22831 (ntfscomp_mod_LDFLAGS): Likewise.
22832
22833 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
22834 (grub_probe_SOURCES): Likewise.
22835 (grub_emu_SOURCES): Likewise.
22836
22837 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
22838 (grub_emu_SOURCES): Likewise.
22839
22840 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
22841 (grub_emu_SOURCES): Likewise.
22842
22843 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
22844 (grub_emu_SOURCES): Likewise.
22845
22846 * fs/ntfs.c (grub_ntfscomp_func): New variable.
22847 (read_run_list): Renamed to grub_ntfs_read_run_list.
22848 (decomp_nextvcn): Moved to ntfscomp.c.
22849 (decomp_getch): Likewise.
22850 (decomp_get16): Likewise.
22851 (decomp_block): Likewise.
22852 (read_block): Likewise.
22853 (read_data): Partially moved to ntfscomp.c.
22854 (fixup): Change unsigned to grub_uint16_t.
22855 (read_mft): Change unsigned long to grub_uint32_t.
22856 (read_attr): Likewise.
22857 (read_data): Likewise.
22858 (read_run_data): Likewise.
22859 (read_run_list): Likewise.
22860 (read_mft): Likewise.
22861
22862 * fs/ntfscomp.c: New file.
22863
22864 * include/grub/ntfs.h: New file.
22865
22866 2007-12-16 Robert Millan <rmh@aybabtu.com>
22867
22868 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
22869 IDE disk check, since Linux is known to support 20 IDE disks.
22870 Reported by Colin Watson.
22871
22872 2007-12-15 Bean <bean123ch@gmail.com>
22873
22874 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
22875 (lnxboot_img_SOURCES): New variable.
22876 (lnxboot_img_ASFLAGS): Likewise.
22877 (lnxboot_img_LDFLAGS): Likewise.
22878
22879 * boot/i386/pc/lnxboot.S: New file.
22880
22881 2007-11-24 Pavel Roskin <proski@gnu.org>
22882
22883 * configure.ac: Test if '--build-id=none' is supported by the
22884 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
22885 objcopy to generate incorrect binary files (binutils
22886 2.17.50.0.18-1 as shipped by Fedora 8).
22887 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
22888 linking, so that build ID doesn't break the test.
22889
22890 2007-11-24 Pavel Roskin <proski@gnu.org>
22891
22892 * include/grub/i386/time.h: use "void" in the argument list
22893 of grub_cpu_idle().
22894 * include/grub/powerpc/time.h: Likewise.
22895 * include/grub/sparc64/time.h: Likewise.
22896
22897 2007-11-18 Christian Franke <franke@computer.org>
22898
22899 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
22900 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
22901 This fixes the problem that function keys did not work in grub-emu.
22902
22903 2007-11-18 Christian Franke <franke@computer.org>
22904
22905 * disk/host.c (grub_host_open): Remove attribute unused from
22906 name parameter. Add check for "host". This fixes the problem
22907 that grub-emu does not find partitions.
22908
22909 2007-11-18 Christian Franke <franke@computer.org>
22910
22911 * util/hostfs.c (is_dir): New function.
22912 (grub_hostfs_dir): Handle missing dirent.d_type case.
22913 (grub_hostfs_read): Add missing fseek().
22914 (grub_hostfs_label): Clear label pointer. This fixes a crash
22915 of grub-emu on "ls (host)".
22916
22917 2007-11-18 Christian Franke <franke@computer.org>
22918
22919 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
22920 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
22921 to 64 bit boundary by default.
22922
22923 2007-11-18 Bean <bean123ch@gmail.com>
22924
22925 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
22926 (hexdump_mod_SOURCES): New variable.
22927 (hexdump_mod_CFLAGS): Likewise.
22928 (hexdump_mod_LDFLAGS): Likewise.
22929
22930 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22931
22932 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22933
22934 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22935
22936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22937
22938 * include/grub/hexdump.h: New file.
22939
22940 * commands/hexdump.c: New file.
22941
22942 2007-11-10 Robert Millan <rmh@aybabtu.com>
22943
22944 * commands/i386/pc/play.c (beep_off): Switch order of arguments
22945 in grub_outb() calls.
22946 (beep_on): Likewise.
22947
22948 2007-11-10 Christian Franke <franke@computer.org>
22949
22950 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
22951 (grub_menu_run): Likewise.
22952
22953 2007-11-10 Robert Millan <rmh@aybabtu.com>
22954
22955 * include/grub/i386/efi/machine.h: New file.
22956 * include/grub/i386/linuxbios/machine.h: Likewise.
22957 * include/grub/i386/pc/machine.h: Likewise.
22958 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22959 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22960
22961 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
22962 (serial_hw_io_addr): New variable.
22963 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
22964 instead of `(unsigned short *) 0x400'.
22965
22966 2007-11-10 Bean <bean123ch@gmail.com>
22967
22968 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
22969
22970 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
22971
22972 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
22973 (vga_mod_SOURCES): Added.
22974 (vga_mod_CFLAGS): Likewise.
22975 (vga_mod_LDFLAGS): Likewise.
22976
22977 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
22978 grub_outb() calls.
22979 (set_map_mask): Likewise.
22980 (set_read_map): Likewise.
22981 (set_read_address): Likewise.
22982 (vga_font): Removed variable.
22983 (get_vga_glyph): Removed function.
22984 (invalidate_char): Likewise.
22985 (write_char): Changed to use grub_font_get_glyph() for font
22986 information.
22987 (grub_vga_putchar): Likewise.
22988 (grub_vga_getcharwidth): Likewise.
22989
22990 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
22991
22992 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
22993 flags.
22994 (pxeboot_img_LDFLAGS): Likewise.
22995 (diskboot_img_LDFLAGS): Likewise.
22996 (kernel_img_LDFLAGS): Likewise.
22997
22998 2007-11-06 Robert Millan <rmh@aybabtu.com>
22999
23000 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
23001 in grub_outb() calls.
23002 (serial_hw_init): Likewise.
23003
23004 2007-11-05 Robert Millan <rmh@aybabtu.com>
23005
23006 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
23007 spaces. Skip non-regular files.
23008
23009 2007-11-05 Robert Millan <rmh@aybabtu.com>
23010
23011 * kern/disk.c (grub_disk_firmware_fini)
23012 (grub_disk_firmware_is_tainted): New variables.
23013
23014 * include/grub/disk.h (grub_disk_firmware_fini)
23015 (grub_disk_firmware_is_tainted): Likewise.
23016
23017 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
23018 (grub_disk_biosdisk_fini): ... to here.
23019 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
23020 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
23021 is set. Register grub_disk_biosdisk_fini() in
23022 `grub_disk_firmware_fini'.
23023
23024 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
23025 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
23026 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
23027 to finish existing firmware disk interface.
23028
23029 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
23030 (ata_mod_SOURCES): New variable.
23031 (ata_mod_CFLAGS): Likewise.
23032 (ata_mod_LDFLAGS): Likewise.
23033
23034 2007-11-05 Robert Millan <rmh@aybabtu.com>
23035
23036 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
23037 (grub_ata_wait): Reimplement using grub_millisleep().
23038
23039 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
23040 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
23041
23042 2007-11-03 Marco Gerards <marco@gnu.org>
23043
23044 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
23045 (CRTC_ADDR_PORT): New macro.
23046 (CRTC_DATA_PORT): Likewise.
23047 (CRTC_CURSOR): Likewise.
23048 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23049 (CRTC_CURSOR_ADDR_LOW): Likewise.
23050 (update_cursor): New function.
23051 (grub_console_real_putchar): Call `update_cursor'.
23052 (grub_console_gotoxy): Likewise.
23053 (grub_console_cls): Set the default color when clearing the
23054 screen.
23055 (grub_console_setcursor): Implemented.
23056
23057 2007-11-03 Marco Gerards <marco@gnu.org>
23058
23059 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
23060 become activate.
23061 (grub_ata_pio_write): Likewise.
23062
23063 (grub_atapi_identify): Wait after issuing an ATA command.
23064 (grub_atapi_packet): Likewise.
23065 (grub_ata_identify): Likewise.
23066 (grub_ata_readwrite): Likewise.
23067
23068 2007-11-03 Marco Gerards <marco@gnu.org>
23069
23070 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
23071 (grub_ata_pio_write): Likewise.
23072 (grub_ata_readwrite): Use `grub_error', instead of
23073 returning `grub_errno'.
23074
23075 2007-11-03 Marco Gerards <marco@gnu.org>
23076
23077 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
23078 grub_ata_pio_write once for every single sector, instead of for
23079 multiple sectors.
23080
23081 2007-10-31 Robert Millan <rmh@aybabtu.com>
23082
23083 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
23084
23085 * conf/i386-linuxbios.rmk: New file.
23086
23087 * kern/i386/pc/hardware.c: Likewise.
23088 * term/i386/pc/at_keyboard.c: Likewise.
23089 * term/i386/pc/vga_text.c: Likewise.
23090
23091 * include/grub/i386/linuxbios/boot.h: Likewise.
23092 * include/grub/i386/linuxbios/console.h: Likewise.
23093 * include/grub/i386/linuxbios/init.h: Likewise.
23094 * include/grub/i386/linuxbios/kernel.h: Likewise.
23095 * include/grub/i386/linuxbios/loader.h: Likewise.
23096 * include/grub/i386/linuxbios/memory.h: Likewise.
23097 * include/grub/i386/linuxbios/serial.h: Likewise.
23098 * include/grub/i386/linuxbios/time.h: Likewise.
23099
23100 * kern/i386/linuxbios/init.c: Likewise.
23101 * kern/i386/linuxbios/startup.S: Likewise.
23102 * kern/i386/linuxbios/table.c: Likewise.
23103
23104 2007-10-31 Marco Gerards <marco@gnu.org>
23105
23106 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
23107 (ata_mod_SOURCES): New variable.
23108 (ata_mod_CFLAGS): Likewise.
23109 (ata_mod_LDFLAGS): Likewise.
23110
23111 * disk/ata.c: New file.
23112
23113 * include/grub/disk.h (grub_disk_dev_id): Add
23114 `GRUB_DISK_DEV_ATA_ID'.
23115
23116 2007-10-31 Robert Millan <rmh@aybabtu.com>
23117
23118 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
23119 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
23120
23121 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
23122 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
23123
23124 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
23125 `<grub/types.h>'.
23126
23127 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
23128
23129 2007-10-27 Robert Millan <rmh@aybabtu.com>
23130
23131 * include/grub/types.h (ULONG_MAX): Define macro.
23132
23133 2007-10-22 Robert Millan <rmh@aybabtu.com>
23134
23135 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
23136 `"../realmode.S"'.
23137 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
23138
23139 2007-10-22 Robert Millan <rmh@aybabtu.com>
23140
23141 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
23142 (pkgdata_MODULES): Add `biosdisk.mod'.
23143 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
23144 variables.
23145
23146 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
23147 (grub_biosdisk_init): Replace with ...
23148 (GRUB_MOD_INIT(biosdisk)): ... this.
23149 (grub_biosdisk_fini): Replace with ...
23150 (GRUB_MOD_FINI(biosdisk)): ... this.
23151
23152 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
23153 (grub_machine_init): Remove call to grub_biosdisk_init().
23154 (grub_machine_fini): Remove call to grub_machine_fini().
23155
23156 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
23157
23158 2007-10-22 Robert Millan <rmh@aybabtu.com>
23159
23160 * include/grub/time.h: New file.
23161 * include/grub/i386/time.h: Likewise.
23162 * include/grub/powerpc/time.h: Likewise.
23163 * include/grub/sparc64/time.h: Likewise.
23164
23165 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
23166 instances to ...
23167 (KERNEL_MACHINE_TIME_HEADER): ... this.
23168 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
23169 instances to ...
23170 (KERNEL_MACHINE_TIME_HEADER): ... this.
23171 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
23172 instances to ...
23173 (KERNEL_MACHINE_TIME_HEADER): ... this.
23174
23175 * kern/i386/efi/init.c: Include `<grub/time.h>'.
23176 (grub_millisleep): New function.
23177 * kern/i386/pc/init.c: Include `<grub/time.h>'.
23178 (grub_millisleep): New function.
23179 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
23180 Remove `grub/machine/time.h' include.
23181 (grub_millisleep): New function.
23182 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
23183 Remove `grub/machine/time.h' include.
23184 (grub_millisleep): New function.
23185
23186 * include/grub/misc.h (grub_div_roundup): New function.
23187
23188 * kern/misc.c: Include `<grub/time.h>'.
23189 (grub_millisleep_generic): New function.
23190
23191 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
23192 Add `time.h'.
23193 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
23194 Add `time.h'.
23195 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
23196 `machine/time.h'. Add `time.h'.
23197 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
23198
23199 2007-10-21 Robert Millan <rmh@aybabtu.com>
23200
23201 * include/grub/misc.h (grub_max): New function.
23202
23203 2007-10-21 Robert Millan <rmh@aybabtu.com>
23204
23205 * util/misc.c (grub_util_info): Call fflush() before returning.
23206
23207 2007-10-20 Robert Millan <rmh@aybabtu.com>
23208
23209 * genmk.rb (Image): Copy `extra_flags' from here ...
23210 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
23211
23212 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
23213 to `argc' and `args' arguments.
23214
23215 2007-10-17 Robert Millan <rmh@aybabtu.com>
23216
23217 * kern/i386/loader.S: New file.
23218
23219 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
23220 * kern/i386/loader.S (grub_linux_prot_size)... to here.
23221 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
23222 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
23223 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
23224 * kern/i386/loader.S (grub_linux_real_addr)... to here.
23225 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
23226 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
23227 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
23228 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
23229 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
23230 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
23231 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
23232 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
23233
23234 * kern/i386/realmode.S: New file.
23235
23236 * kern/i386/pc/startup.S (protstack): Moved from here ...
23237 * kern/i386/realmode.S (protstack)... to here.
23238 * kern/i386/pc/startup.S (gdt): Moved from here ...
23239 * kern/i386/realmode.S (gdt)... to here.
23240 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
23241 * kern/i386/realmode.S (prot_to_real)... to here.
23242
23243 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
23244 `kern/i386/realmode.S'.
23245
23246 2007-10-17 Robert Millan <rmh@aybabtu.com>
23247
23248 * include/grub/i386/loader.h: New file.
23249
23250 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
23251 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
23252 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
23253 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
23254 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
23255 * include/grub/i386/loader.h (grub_linux_prot_size)
23256 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
23257 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
23258 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
23259 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
23260
23261 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
23262
23263 2007-10-15 Robert Millan <rmh@aybabtu.com>
23264
23265 * normal/misc.c (grub_normal_print_device_info): Do not probe for
23266 filesystem when dev->disk is unset.
23267 Do probe for filesystem even when dev->disk->has_partitions is set.
23268 In case a filesystem is found, always report it.
23269 In case it isn't, if dev->disk->has_partitions is set, report that
23270 a partition table was found instead of reporting that no filesystem
23271 could be identified.
23272
23273 2007-10-12 Robert Millan <rmh@aybabtu.com>
23274
23275 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
23276 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
23277
23278 * include/grub/types.h (grub_host_to_target16): New macro.
23279 (grub_host_to_target32): Likewise.
23280 (grub_host_to_target64): Likewise.
23281 (grub_target_to_host16): Likewise.
23282 (grub_target_to_host32): Likewise.
23283 (grub_target_to_host64): Likewise.
23284
23285 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
23286 Renamed from to ...
23287 (GRUB_MOD_ALIGN): ...this. Update all users.
23288
23289 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
23290 grub_host_to_target32.
23291 Replace grub_be_to_cpu32 with grub_target_to_host32.
23292 (load_modules): Likewise.
23293 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
23294 Replace grub_be_to_cpu32 with grub_target_to_host32.
23295 Replace grub_cpu_to_be16 with grub_host_to_target16.
23296 Replace grub_cpu_to_be32 grub_host_to_target32.
23297
23298 2007-10-12 Robert Millan <rmh@aybabtu.com>
23299
23300 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
23301 * util/elf/grub-mkimage.c: ... here.
23302
23303 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
23304 `util/powerpc/ieee1275/grub-mkimage.c'.
23305
23306 2007-10-07 Robert Millan <rmh@aybabtu.com>
23307
23308 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
23309 and make it easier to figure out.
23310 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
23311 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
23312 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
23313 leave us with less than HEAP_MIN_SIZE total heap.
23314 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
23315
23316 2007-10-03 Robert Millan <rmh@aybabtu.com>
23317
23318 * include/grub/i386/io.h: New file.
23319 * commands/i386/pc/play.c (inb): Removed.
23320 (outb): Removed.
23321 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23322 with grub_outb().
23323 * term/i386/pc/serial.c (inb): Removed.
23324 (outb): Removed.
23325 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23326 with grub_outb().
23327 * term/i386/pc/vga.c (inb): Removed.
23328 (outb): Removed.
23329 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23330 with grub_outb().
23331
23332 2007-10-02 Robert Millan <rmh@aybabtu.com>
23333
23334 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
23335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23336 Reported by Marcin Kurek.
23337
23338 2007-09-07 Robert Millan <rmh@aybabtu.com>
23339
23340 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
23341 SmartFirmware version updates (as released by Sven Luther), and avoid
23342 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
23343 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
23344 known broken.
23345
23346 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23347
23348 From Hitoshi Ozeki:
23349 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
23350 when merging two regions.
23351
23352 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23353
23354 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
23355 * normal/completion.c (grub_normal_do_completion): Likewise.
23356 Reported by Hitoshi Ozeki.
23357
23358 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23359
23360 Do not use devices at boot in chainloading.
23361
23362 * loader/i386/pc/chainloader.c (boot_drive): New variable.
23363 (boot_part_addr): Likewise.
23364 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
23365 with BOOT_DRIVE and BOOT_PART_ADDR.
23366 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
23367 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
23368
23369 2007-08-29 Robert Millan <rmh@aybabtu.com>
23370
23371 Patch from Simon Peter <dn.tlp@gmx.net>:
23372 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
23373 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
23374 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
23375 util/i386/pc/grub-setup.c_DEPENDENCIES.
23376 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
23377 util/grub-probe.c_DEPENDENCIES.
23378 * conf/powerpc-ieee1275.rmk: Likewise.
23379
23380 2007-08-28 Robert Millan <rmh@aybabtu.com>
23381
23382 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
23383 to tell grub-mkdevicemap how to name devices.
23384 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
23385 feature).
23386
23387 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
23388 util/i386/get_disk_name.c.
23389 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
23390 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
23391 util/ieee1275/get_disk_name.c.
23392
23393 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
23394
23395 * DISTLIST: Add util/i386/get_disk_name.c and
23396 util/ieee1275/get_disk_name.c.
23397
23398 * util/grub-mkdevicemap.c: Replace device naming logic with
23399 grub_util_get_disk_name() calls.
23400
23401 2007-08-20 Robert Millan <rmh@aybabtu.com>
23402
23403 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
23404 (so that it works for both plural and singular quantities).
23405
23406 2007-08-05 Robert Millan <rmh@aybabtu.com>
23407
23408 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
23409 so that [xz] isn't taken into account when determining order.
23410
23411 2007-08-02 Marco Gerards <marco@gnu.org>
23412
23413 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
23414 `include/multiboot2.h', `include/grub/elfload.h',
23415 `include/multiboot.h', `include/grub/multiboot.h',
23416 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
23417 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
23418 `kern/elf.c', `loader/multiboot_loader.c',
23419 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
23420 `loader/i386/pc/multiboot2.c',
23421 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
23422 `util/i386/pc/grub-mkrescue.in'. Remove
23423 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
23424 `include/grub/i386/pc/util/biosdisk.h' and
23425 `include/grub/powerpc/ieee1275/multiboot.h'.
23426
23427 2007-08-02 Bean <bean123ch@gmail.com>
23428
23429 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
23430 (ntfs_mod_SOURCES): New variable.
23431 (ntfs_mod_CFLAGS): Likewise.
23432 (ntfs_mod_LDFLAGS): Likewise.
23433
23434 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
23435 (grub_probe_SOURCES): Likewise.
23436 (grub_emu_SOURCES): Likewise.
23437
23438 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
23439 (grub_emu_SOURCES): Likewise.
23440
23441 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
23442 (grub_emu_SOURCES): Likewise.
23443
23444 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
23445
23446 * fs/ntfs.c: New file.
23447
23448 2007-08-02 Bean <bean123ch@gmail.com>
23449
23450 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
23451
23452 * file.h (grub_file): Likewise.
23453
23454 * fshelp.h (grub_fshelp_read_file): Likewise.
23455
23456 * util/i386/pc/grub-setup.c (setup): Likewise.
23457 (save_first_sector): Likewise.
23458 (save_blocklists): Likewise.
23459
23460 * fs/affs.c (grub_affs_read_file): Likewise.
23461
23462 * fs/ext2.c (grub_ext2_read_file): Likewise.
23463
23464 * fs/fat.c (grub_fat_read_data): Likewise.
23465
23466 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
23467
23468 * fs/hfs.c (grub_hfs_read_file): Likewise.
23469
23470 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23471
23472 * fs/jfs.c (grub_jfs_read_file): Likewise.
23473
23474 * fs/minix.c (grub_minix_read_file): Likewise.
23475
23476 * fs/sfs.c (grub_sfs_read_file): Likewise.
23477
23478 * fs/ufs.c (grub_ufs_read_file): Likewise.
23479
23480 * fs/xfs.c (grub_xfs_read_file): Likewise.
23481
23482 * command/blocklist.c (read_blocklist): Likewise.
23483 (print_blocklist): Likewise.
23484
23485 2007-08-02 Marco Gerards <marco@gnu.org>
23486
23487 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
23488 `util/hostfs.c'.
23489
23490 * disk/host.c: New file.
23491
23492 * util/hostfs.c: Likewise.
23493
23494 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
23495 return `GRUB_ERR_BAD_FS'.
23496 * fs/sfs.c (grub_sfs_mount): Likewise.
23497 * fs/xfs.c (grub_xfs_mount): Likewise.
23498
23499 * include/grub/disk.h (enum grub_disk_dev_id): Add
23500 `GRUB_DISK_DEVICE_HOST_ID'.
23501
23502 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
23503
23504 2007-07-24 Jerone Young <jerone@gmail.com>
23505
23506 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
23507 modules for compilation.
23508 * conf/powerpc-ieee1275.rmk: Likewise.
23509
23510 * include/multiboot.h: Move multiboot definitions to one file. Rename
23511 many definitions to not get grub specific.
23512 * include/multiboot2.h: Create header with multiboot 2 definitions.
23513 * include/grub/multiboot.h: Header for grub specific function
23514 prototypes and definitions.
23515 * include/grub/multiboot2.h: Likewise.
23516 * include/grub/multiboot_loader.h: Likewise.
23517 * include/grub/i386/pc/multiboot.h: Removed.
23518 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
23519
23520 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
23521 and 2 to allow for one multiboot and module commands.
23522 * loader/multiboot2.c: Add multiboot2 functionality.
23523 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
23524 and definition names.
23525 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
23526 2 functions.
23527 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
23528 ieee1275 specific multiboot2 code.
23529
23530 * kern/i386/pc/startup.S: Change headers and definition names for
23531 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
23532
23533 2007-07-22 Robert Millan <rmh@aybabtu.com>
23534
23535 * geninitheader.sh: Process file specified in first parameter rather
23536 than hardcoding grub_modules_init.lst.
23537 * geninit.sh: Likewise. Also, construct header name dynamically rather
23538 than hardcoding grub_modules_init.h.
23539
23540 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
23541 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
23542 grub_probe_init.[ch] and grub_setup_init.[ch].
23543
23544 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
23545 grub_modules_init.h with grub_emu_init.h.
23546 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
23547 grub_probe_init.[ch] files.
23548 * conf/i386-efi.rmk: Likewise.
23549 * conf/i386-pc.rmk: Likewise.
23550 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
23551 grub_setup_init.[ch] files.
23552
23553 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
23554 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
23555 to initialize modules rather than a list of hardcoded functions.
23556 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
23557 grub_init_all() to initialize modules rather than a list of hardcoded
23558 functions.
23559
23560 2007-07-22 Robert Millan <rmh@aybabtu.com>
23561
23562 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23563 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
23564
23565 2007-07-22 Robert Millan <rmh@aybabtu.com>
23566
23567 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
23568 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
23569 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
23570 flag when running on SmartFirmware.
23571 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
23572 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
23573 was set.
23574
23575 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
23576 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
23577 rather than decreasing it.
23578
23579 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
23580 there's not enough space to do it, fail in the same way as when it
23581 can't be done because there are no partitions.
23582
23583 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
23584 when nvsetenv failed.
23585
23586 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
23587
23588 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
23589 because this rule is automatically generated.
23590 (grub-mkrescue): Removed for the same reason as above.
23591
23592 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
23593
23594 Migrate to GNU General Public License Version 3.
23595
23596 * COPYING: Replaced with the plain text version of GPLv3.
23597
23598 * config.guess: Updated from gnulib.
23599 * config.sub: Likewise.
23600
23601 * geninit.sh: Output a GPLv3 copyright notice.
23602 * geninitheader.sh: Likewise.
23603 * genmodsrc.sh: Likewise.
23604 * gensymlist.sh.in: Likewise.
23605
23606 * boot/i386/pc/boot.S: Upgraded to GPLv3.
23607 * boot/i386/pc/diskboot.S: Likewise.
23608 * boot/i386/pc/pxeboot.S: Likewise.
23609 * commands/blocklist.c: Likewise.
23610 * commands/boot.c: Likewise.
23611 * commands/cat.c: Likewise.
23612 * commands/cmp.c: Likewise.
23613 * commands/configfile.c: Likewise.
23614 * commands/echo.c: Likewise.
23615 * commands/help.c: Likewise.
23616 * commands/ls.c: Likewise.
23617 * commands/search.c: Likewise.
23618 * commands/terminal.c: Likewise.
23619 * commands/test.c: Likewise.
23620 * commands/videotest.c: Likewise.
23621 * commands/i386/cpuid.c: Likewise.
23622 * commands/i386/pc/halt.c: Likewise.
23623 * commands/i386/pc/play.c: Likewise.
23624 * commands/i386/pc/reboot.c: Likewise.
23625 * commands/i386/pc/vbeinfo.c: Likewise.
23626 * commands/i386/pc/vbetest.c: Likewise.
23627 * commands/ieee1275/halt.c: Likewise.
23628 * commands/ieee1275/reboot.c: Likewise.
23629 * commands/ieee1275/suspend.c: Likewise.
23630 * disk/loopback.c: Likewise.
23631 * disk/lvm.c: Likewise.
23632 * disk/raid.c: Likewise.
23633 * disk/efi/efidisk.c: Likewise.
23634 * disk/i386/pc/biosdisk.c: Likewise.
23635 * disk/ieee1275/ofdisk.c: Likewise.
23636 * font/manager.c: Likewise.
23637 * fs/affs.c: Likewise.
23638 * fs/ext2.c: Likewise.
23639 * fs/fat.c: Likewise.
23640 * fs/fshelp.c: Likewise.
23641 * fs/hfs.c: Likewise.
23642 * fs/hfsplus.c: Likewise.
23643 * fs/iso9660.c: Likewise.
23644 * fs/jfs.c: Likewise.
23645 * fs/minix.c: Likewise.
23646 * fs/sfs.c: Likewise.
23647 * fs/ufs.c: Likewise.
23648 * fs/xfs.c: Likewise.
23649 * hello/hello.c: Likewise.
23650 * include/grub/acorn_filecore.h: Likewise.
23651 * include/grub/arg.h: Likewise.
23652 * include/grub/bitmap.h: Likewise.
23653 * include/grub/boot.h: Likewise.
23654 * include/grub/cache.h: Likewise.
23655 * include/grub/device.h: Likewise.
23656 * include/grub/disk.h: Likewise.
23657 * include/grub/dl.h: Likewise.
23658 * include/grub/elfload.h: Likewise.
23659 * include/grub/env.h: Likewise.
23660 * include/grub/err.h: Likewise.
23661 * include/grub/file.h: Likewise.
23662 * include/grub/font.h: Likewise.
23663 * include/grub/fs.h: Likewise.
23664 * include/grub/fshelp.h: Likewise.
23665 * include/grub/gzio.h: Likewise.
23666 * include/grub/hfs.h: Likewise.
23667 * include/grub/kernel.h: Likewise.
23668 * include/grub/loader.h: Likewise.
23669 * include/grub/lvm.h: Likewise.
23670 * include/grub/misc.h: Likewise.
23671 * include/grub/mm.h: Likewise.
23672 * include/grub/net.h: Likewise.
23673 * include/grub/normal.h: Likewise.
23674 * include/grub/parser.h: Likewise.
23675 * include/grub/partition.h: Likewise.
23676 * include/grub/pc_partition.h: Likewise.
23677 * include/grub/raid.h: Likewise.
23678 * include/grub/rescue.h: Likewise.
23679 * include/grub/script.h: Likewise.
23680 * include/grub/setjmp.h: Likewise.
23681 * include/grub/symbol.h: Likewise.
23682 * include/grub/term.h: Likewise.
23683 * include/grub/terminfo.h: Likewise.
23684 * include/grub/tparm.h: Likewise.
23685 * include/grub/types.h: Likewise.
23686 * include/grub/video.h: Likewise.
23687 * include/grub/efi/api.h: Likewise.
23688 * include/grub/efi/chainloader.h: Likewise.
23689 * include/grub/efi/console.h: Likewise.
23690 * include/grub/efi/console_control.h: Likewise.
23691 * include/grub/efi/disk.h: Likewise.
23692 * include/grub/efi/efi.h: Likewise.
23693 * include/grub/efi/pe32.h: Likewise.
23694 * include/grub/efi/time.h: Likewise.
23695 * include/grub/i386/linux.h: Likewise.
23696 * include/grub/i386/setjmp.h: Likewise.
23697 * include/grub/i386/types.h: Likewise.
23698 * include/grub/i386/efi/kernel.h: Likewise.
23699 * include/grub/i386/efi/loader.h: Likewise.
23700 * include/grub/i386/efi/time.h: Likewise.
23701 * include/grub/i386/pc/biosdisk.h: Likewise.
23702 * include/grub/i386/pc/boot.h: Likewise.
23703 * include/grub/i386/pc/chainloader.h: Likewise.
23704 * include/grub/i386/pc/console.h: Likewise.
23705 * include/grub/i386/pc/init.h: Likewise.
23706 * include/grub/i386/pc/kernel.h: Likewise.
23707 * include/grub/i386/pc/loader.h: Likewise.
23708 * include/grub/i386/pc/memory.h: Likewise.
23709 * include/grub/i386/pc/multiboot.h: Likewise.
23710 * include/grub/i386/pc/serial.h: Likewise.
23711 * include/grub/i386/pc/time.h: Likewise.
23712 * include/grub/i386/pc/vbe.h: Likewise.
23713 * include/grub/i386/pc/vbeblit.h: Likewise.
23714 * include/grub/i386/pc/vbefill.h: Likewise.
23715 * include/grub/i386/pc/vbeutil.h: Likewise.
23716 * include/grub/i386/pc/vga.h: Likewise.
23717 * include/grub/ieee1275/ieee1275.h: Likewise.
23718 * include/grub/ieee1275/ofdisk.h: Likewise.
23719 * include/grub/powerpc/libgcc.h: Likewise.
23720 * include/grub/powerpc/setjmp.h: Likewise.
23721 * include/grub/powerpc/types.h: Likewise.
23722 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
23723 * include/grub/powerpc/ieee1275/console.h: Likewise.
23724 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
23725 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
23726 * include/grub/powerpc/ieee1275/loader.h: Likewise.
23727 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
23728 * include/grub/powerpc/ieee1275/time.h: Likewise.
23729 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
23730 * include/grub/sparc64/libgcc.h: Likewise.
23731 * include/grub/sparc64/setjmp.h: Likewise.
23732 * include/grub/sparc64/types.h: Likewise.
23733 * include/grub/sparc64/ieee1275/console.h: Likewise.
23734 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23735 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23736 * include/grub/sparc64/ieee1275/time.h: Likewise.
23737 * include/grub/util/biosdisk.h: Likewise.
23738 * include/grub/util/getroot.h: Likewise.
23739 * include/grub/util/lvm.h: Likewise.
23740 * include/grub/util/misc.h: Likewise.
23741 * include/grub/util/raid.h: Likewise.
23742 * include/grub/util/resolve.h: Likewise.
23743 * io/gzio.c: Likewise.
23744 * kern/device.c: Likewise.
23745 * kern/disk.c: Likewise.
23746 * kern/dl.c: Likewise.
23747 * kern/elf.c: Likewise.
23748 * kern/env.c: Likewise.
23749 * kern/err.c: Likewise.
23750 * kern/file.c: Likewise.
23751 * kern/fs.c: Likewise.
23752 * kern/loader.c: Likewise.
23753 * kern/main.c: Likewise.
23754 * kern/misc.c: Likewise.
23755 * kern/mm.c: Likewise.
23756 * kern/parser.c: Likewise.
23757 * kern/partition.c: Likewise.
23758 * kern/rescue.c: Likewise.
23759 * kern/term.c: Likewise.
23760 * kern/efi/efi.c: Likewise.
23761 * kern/efi/init.c: Likewise.
23762 * kern/efi/mm.c: Likewise.
23763 * kern/i386/dl.c: Likewise.
23764 * kern/i386/efi/init.c: Likewise.
23765 * kern/i386/efi/startup.S: Likewise.
23766 * kern/i386/pc/init.c: Likewise.
23767 * kern/i386/pc/lzo1x.S: Likewise.
23768 * kern/i386/pc/startup.S: Likewise.
23769 * kern/ieee1275/ieee1275.c: Likewise.
23770 * kern/powerpc/cache.S: Likewise.
23771 * kern/powerpc/dl.c: Likewise.
23772 * kern/powerpc/ieee1275/cmain.c: Likewise.
23773 * kern/powerpc/ieee1275/crt0.S: Likewise.
23774 * kern/powerpc/ieee1275/init.c: Likewise.
23775 * kern/powerpc/ieee1275/openfw.c: Likewise.
23776 * kern/sparc64/cache.S: Likewise.
23777 * kern/sparc64/dl.c: Likewise.
23778 * kern/sparc64/ieee1275/init.c: Likewise.
23779 * kern/sparc64/ieee1275/openfw.c: Likewise.
23780 * loader/efi/chainloader.c: Likewise.
23781 * loader/efi/chainloader_normal.c: Likewise.
23782 * loader/i386/efi/linux.c: Likewise.
23783 * loader/i386/efi/linux_normal.c: Likewise.
23784 * loader/i386/pc/chainloader.c: Likewise.
23785 * loader/i386/pc/chainloader_normal.c: Likewise.
23786 * loader/i386/pc/linux.c: Likewise.
23787 * loader/i386/pc/linux_normal.c: Likewise.
23788 * loader/i386/pc/multiboot.c: Likewise.
23789 * loader/i386/pc/multiboot_normal.c: Likewise.
23790 * loader/powerpc/ieee1275/linux.c: Likewise.
23791 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23792 * normal/arg.c: Likewise.
23793 * normal/cmdline.c: Likewise.
23794 * normal/command.c: Likewise.
23795 * normal/completion.c: Likewise.
23796 * normal/execute.c: Likewise.
23797 * normal/function.c: Likewise.
23798 * normal/lexer.c: Likewise.
23799 * normal/main.c: Likewise.
23800 * normal/menu.c: Likewise.
23801 * normal/menu_entry.c: Likewise.
23802 * normal/misc.c: Likewise.
23803 * normal/parser.y: Likewise.
23804 * normal/script.c: Likewise.
23805 * normal/i386/setjmp.S: Likewise.
23806 * normal/powerpc/setjmp.S: Likewise.
23807 * normal/sparc64/setjmp.S: Likewise.
23808 * partmap/acorn.c: Likewise.
23809 * partmap/amiga.c: Likewise.
23810 * partmap/apple.c: Likewise.
23811 * partmap/gpt.c: Likewise.
23812 * partmap/pc.c: Likewise.
23813 * partmap/sun.c: Likewise.
23814 * term/gfxterm.c: Likewise.
23815 * term/terminfo.c: Likewise.
23816 * term/efi/console.c: Likewise.
23817 * term/i386/pc/console.c: Likewise.
23818 * term/i386/pc/serial.c: Likewise.
23819 * term/i386/pc/vesafb.c: Likewise.
23820 * term/i386/pc/vga.c: Likewise.
23821 * term/ieee1275/ofconsole.c: Likewise.
23822 * util/biosdisk.c: Likewise.
23823 * util/console.c: Likewise.
23824 * util/genmoddep.c: Likewise.
23825 * util/getroot.c: Likewise.
23826 * util/grub-emu.c: Likewise.
23827 * util/grub-mkdevicemap.c: Likewise.
23828 * util/grub-probe.c: Likewise.
23829 * util/lvm.c: Likewise.
23830 * util/misc.c: Likewise.
23831 * util/raid.c: Likewise.
23832 * util/resolve.c: Likewise.
23833 * util/update-grub.in: Likewise.
23834 * util/update-grub_lib.in: Likewise.
23835 * util/grub.d/00_header.in: Likewise.
23836 * util/grub.d/10_hurd.in: Likewise.
23837 * util/grub.d/10_linux.in: Likewise.
23838 * util/i386/efi/grub-install.in: Likewise.
23839 * util/i386/efi/grub-mkimage.c: Likewise.
23840 * util/i386/pc/grub-install.in: Likewise.
23841 * util/i386/pc/grub-mkimage.c: Likewise.
23842 * util/i386/pc/grub-mkrescue.in: Likewise.
23843 * util/i386/pc/grub-setup.c: Likewise.
23844 * util/i386/pc/misc.c: Likewise.
23845 * util/powerpc/ieee1275/grub-install.in: Likewise.
23846 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
23847 * util/powerpc/ieee1275/misc.c: Likewise.
23848 * video/bitmap.c: Likewise.
23849 * video/video.c: Likewise.
23850 * video/i386/pc/vbe.c: Likewise.
23851 * video/i386/pc/vbeblit.c: Likewise.
23852 * video/i386/pc/vbefill.c: Likewise.
23853 * video/i386/pc/vbeutil.c: Likewise.
23854 * video/readers/tga.c: Likewise.
23855
23856 2007-07-02 Robert Millan <rmh@aybabtu.com>
23857
23858 * conf/i386-efi.rmk: Replace obsolete reference to
23859 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
23860 with util/getroot.c.
23861 * conf/powerpc-ieee1275.rmk: Likewise.
23862 * conf/sparc64-ieee1275.rmk: Likewise.
23863
23864 * util/grub-emu.c (main): Fix unchecked pointer handling.
23865
23866 2007-07-02 Robert Millan <rmh@aybabtu.com>
23867
23868 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
23869 invocation to fail, in order to support partition-less media.
23870
23871 * util/i386/pc/grub-install.in: Likewise.
23872
23873 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
23874 which fs or partmap modules are needed (akin to its sister scripts).
23875
23876 Also use grub-probe to get rid of unportable /proc/mounts check.
23877
23878 Print the same informational message that the other scripts do, before
23879 exiting.
23880
23881 2007-06-23 Robert Millan <rmh@aybabtu.com>
23882
23883 * util/update-grub_lib.in (font_path): New function. Determine whether
23884 a font file can be found and, if so, echo the GRUB path to it.
23885
23886 * util/update-grub.in: Handle multiple terminals depending on user
23887 input, platform availability and font file presence. Propagate
23888 variables of our findings to /etc/grub.d/ children.
23889
23890 * util/grub.d/00_header.in: Handle multiple terminals, based on
23891 environment setup by update-grub.
23892
23893 2007-06-23 Robert Millan <rmh@aybabtu.com>
23894
23895 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
23896
23897 2007-06-21 Robert Millan <rmh@aybabtu.com>
23898
23899 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
23900 indicate end of data section in kernel image.
23901 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
23902 GRUB_KERNEL_MACHINE_DATA_END.
23903
23904 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
23905 space for it.
23906 * kern/i386/efi/startup.S: Likewise.
23907
23908 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
23909 during image generation. Implement --prefix option to override this
23910 patch.
23911 * util/i386/efi/grub-mkimage.c: Likewise.
23912
23913 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
23914 code to make path relative to its root into a separate function.
23915
23916 * util/i386/pc/grub-install.in: Use newly provided
23917 make_system_path_relative_to_its_root() to convert ${grubdir}, then
23918 pass the result to grub-install --prefix.
23919
23920 2007-06-13 Robert Millan <rmh@aybabtu.com>
23921
23922 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
23923 DEFAULT_DEVICE_MAP.
23924 * util/grub-emu.c: Use above definitions from misc.h instead of
23925 defining them.
23926 * util/grub-mkdevicemap.c: Likewise.
23927 * util/i386/pc/grub-setup.c: Likewise.
23928 * util/grub-probe.c: Likewise.
23929 (probe): Abort with grub_util_error() when either
23930 grub_guess_root_device or grub_util_get_grub_dev fails.
23931
23932 2007-06-12 Robert Millan <rmh@aybabtu.com>
23933
23934 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
23935 "pager" assignment.
23936 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
23937 "pcdata".
23938 * util/grub-probe.c (probe): Likewise for "drive_name".
23939
23940 2007-06-11 Robert Millan <rmh@aybabtu.com>
23941
23942 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
23943 not just the cdrom one.
23944
23945 2007-06-11 Robert Millan <rmh@aybabtu.com>
23946
23947 * util/i386/pc/grub-mkrescue.in: Add "set -e".
23948 Add --pkglibdir=DIR option to override pkglibdir.
23949 Mention --image-type=TYPE in help output.
23950 Fix --grub-mkimage (it was a no-op).
23951 Abort gracefully when no parameter is given.
23952
23953 2007-06-11 Robert Millan <rmh@aybabtu.com>
23954
23955 * util/i386/pc/grub-mkrescue.in: New file.
23956 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
23957 * Makefile.in: Handle bin_SCRIPTS.
23958
23959 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
23960
23961 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
23962 list of video modes.
23963
23964 2007-06-06 Robert Millan <rmh@aybabtu.com>
23965
23966 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
23967 file doesn't exist, or if it is in a filesystem grub can't read.
23968
23969 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
23970 not abort if GRUB_DRIVE could not be defined. Rearrange generated
23971 header comment to fit in 80 columns when the variables are resolved.
23972
23973 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
23974 could be identified by update-grub. Remove redundant check for
23975 unifont.pff existence (since convert_system_path_to_grub_path now
23976 handles that).
23977
23978 2007-06-04 Robert Millan <rmh@aybabtu.com>
23979
23980 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
23981
23982 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
23983
23984 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
23985
23986 2007-06-04 Robert Millan <rmh@aybabtu.com>
23987
23988 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
23989
23990 * include/grub/partition.h: Declare grub_apple_partition_map_init and
23991 grub_apple_partition_map_fini.
23992
23993 * util/biosdisk.c
23994 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
23995 to access >2 TiB disks).
23996
23997 Print disk->total_sectors with %llu instead of %lu, since this
23998 variable is always 64-bit (prevents wrong disk size from being displayed
23999 on either >2 TiB disk or big-endian CPU).
24000
24001 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
24002 into a generic case that supports all (sane) partition maps.
24003
24004 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
24005 breaks big-endian.
24006
24007 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
24008 and grub_apple_partition_map_fini() after that.
24009
24010 2007-06-01 Robert Millan <rmh@aybabtu.com>
24011
24012 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
24013
24014 * util/grub.d/00_header.in: Only enable gfxterm when
24015 convert_system_path_to_grub_path() succeeds.
24016
24017 2007-05-20 Robert Millan <rmh@aybabtu.com>
24018
24019 * util/update-grub_lib.in: New file.
24020 * DISTLIST: Add update-grub_lib.in.
24021 * conf/common.rmk: Generate update-grub_lib and install it in
24022 $(lib_DATA).
24023 * Makefile.in: Add install routine for $(lib_DATA).
24024
24025 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
24026 function provided by update-grub_lib to support arbitrary paths of
24027 unifont.pff.
24028 * util/update-grub.in: Use convert_system_path_to_grub_path() to
24029 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
24030
24031 2007-05-19 Robert Millan <rmh@aybabtu.com>
24032
24033 * commands/i386/cpuid.c: New module.
24034 * DISTLIST: Add it.
24035 * conf/i386-efi.rmk: Enable cpuid.mod.
24036 * conf/i386-pc.rmk: Likewise.
24037
24038 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
24039
24040 * kern/disk.c (grub_disk_read): Check return value of
24041 grub_realloc().
24042
24043 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
24044
24045 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
24046 arrays.
24047 * disk/raid.c (grub_raid_open): Likewise.
24048
24049 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
24050
24051 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
24052 stack instead of on the heap.
24053
24054 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
24055 before doing a read on it.
24056
24057 * configure.ac: Only use -fno-stack-protector for the target
24058 environment.
24059
24060 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
24061
24062 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
24063 __attribute_ ((unused)) to mode_type argument.
24064
24065 * util/getroot.c (grub_guess_root_device): Fix #endif.
24066
24067 * kern/misc.c (memcmp): Fix prototype.
24068
24069 * include/grub/partition.h [GRUB_UTIL]
24070 (grub_gpt_partition_map_init): Add prototype.
24071 (grub_gpt_partition_map_fini): Likewise.
24072
24073 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
24074 at the right place.
24075
24076 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
24077 (grub_fat_read_data): Likewise.
24078 (grub_fat_find_dir): Likewise.
24079
24080 * font/manager.c (find_glyph): Make table a const.
24081 (grub_font_get_glyph): Remove bitmap from if statement.
24082
24083 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
24084
24085 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
24086 code, first search for device in /dev/mapper, then in /dev.
24087 (grub_util_get_grub_dev): New function.
24088 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
24089 prototype.
24090 * util/grub-probe.c (probe): Remove check for RAID, call
24091 grub_util_get_grub_dev() instead of
24092 grub_util_biosdisk_get_grub_dev().
24093 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
24094 grub_util_biosdisk_get_grub_dev().
24095 * util/i386/pc/grub-setup.c (main): Likewise.
24096
24097 2007-05-16 Robert Millan <rmh@aybabtu.com>
24098
24099 * DISTLIST: Update for the latest changes.
24100 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
24101 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
24102 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
24103 grub/util/biosdisk.h.
24104 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
24105 grub/util/biosdisk.h.
24106
24107 2007-05-16 Robert Millan <rmh@aybabtu.com>
24108
24109 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
24110
24111 2007-05-16 Robert Millan <rmh@aybabtu.com>
24112
24113 * util/i386/efi/grub-install.in: New.
24114 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
24115 newly added grub-install.
24116 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
24117 include.
24118 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
24119 grub/util/biosdisk.h.
24120 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
24121 grub/util/biosdisk.h.
24122
24123 2007-05-16 Robert Millan <rmh@aybabtu.com>
24124
24125 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
24126 * include/grub/util/biosdisk.h: ... here.
24127 * util/i386/pc/biosdisk.c: Moved to ...
24128 * util/biosdisk.c: ... here.
24129 * util/i386/pc/getroot.c: Moved to ...
24130 * util/getroot.c: ... here.
24131 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
24132 * util/grub-mkdevicemap.c: ... here.
24133 * util/i386/pc/grub-probe.c: Moved to ...
24134 * util/grub-probe.c: ... here.
24135
24136 2007-05-15 Robert Millan <rmh@aybabtu.com>
24137
24138 * util/update-grub.in: Remove duplicated line in grub.cfg header
24139 message.
24140
24141 2007-05-13 Robert Millan <rmh@aybabtu.com>
24142
24143 * util/update-grub.in: Fix a few assumptions about the devices holding
24144 /, /boot and /boot/grub being the same.
24145 * util/grub.d/00_header.in: Likewise.
24146 * util/grub.d/10_hurd.in: Likewise.
24147 * util/grub.d/10_linux.in: Likewise.
24148
24149 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
24150 patterns. Use that to define the `.old' suffix as older than `'.
24151
24152 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
24153
24154 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
24155 the grub.cfg header message.
24156
24157 2007-05-11 Robert Millan <rmh@aybabtu.com>
24158
24159 * util/update-grub.in: Create device.map if it doesn't already exist,
24160 before attempting to run grub-probe.
24161 Check for grub-probe and grub-mkdevicemap with the same code
24162 grub-install is using.
24163 Remove test mode.
24164
24165 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
24166
24167 * Makefile.in: Add the datarootdir autoconf variable.
24168
24169 2007-05-09 Robert Millan <rmh@aybabtu.com>
24170
24171 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
24172 fail gracefully if dev->disk->partition == NULL.
24173
24174 2007-05-07 Robert Millan <rmh@aybabtu.com>
24175
24176 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
24177 determine partition map module.
24178 * util/i386/pc/grub-install.in: Use this feature to decide which
24179 partition module to load, instead of hardcoding pc and gpt.
24180
24181 2007-05-07 Robert Millan <rmh@aybabtu.com>
24182
24183 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
24184 source directory differs from build directory.
24185
24186 2007-05-05 Robert Millan <rmh@aybabtu.com>
24187
24188 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
24189 initialisation.
24190
24191 2007-05-05 Robert Millan <rmh@aybabtu.com>
24192
24193 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
24194
24195 2007-05-05 Robert Millan <rmh@aybabtu.com>
24196
24197 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
24198 command-line arguments via ${GRUB_CMDLINE_LINUX}.
24199
24200 2007-05-05 Robert Millan <rmh@aybabtu.com>
24201
24202 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
24203 (grub_probe_SOURCES): Likewise.
24204 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
24205 GPT and initialize dos_part and bsd_part accordingly.
24206 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
24207 install_bsd_part.
24208 (main): Activate gpt module for use during partition identification,
24209 and deactivate it afterwards.
24210 * util/i386/pc/grub-install.in: Add gpt module to core.img.
24211 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
24212 partition identification, and deactivate it afterwards.
24213
24214 2007-05-05 Robert Millan <rmh@aybabtu.com>
24215
24216 * term/i386/pc/console.c (grub_console_fini): Call
24217 grub_term_set_current() before grub_term_unregister().
24218
24219 2007-05-04 Robert Millan <rmh@aybabtu.com>
24220
24221 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
24222 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
24223 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
24224 and update-grub_DATA.
24225 * conf/common.rmk: Build and install update-grub components.
24226 * conf/common.mk: Regenerate.
24227 * util/update-grub.in: New. Core of update-grub.
24228 * util/grub.d/00_header.in: New. Generates grub.cfg header.
24229 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
24230 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
24231 * util/grub.d/README: New. Document grub.d directory layout.
24232
24233 2007-05-01 Robert Millan <rmh@aybabtu.com>
24234
24235 * util/grub-emu.c: Move initialization functions
24236 grub_util_biosdisk_init() and grub_init_all() before
24237 grub_util_biosdisk_get_grub_dev(), which relies on them.
24238
24239 2007-04-19 Robert Millan <rmh@aybabtu.com>
24240
24241 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
24242 it is used later.
24243
24244 2007-04-18 Jerone Young <jerone@gmail.com>
24245
24246 * kernel/elf.c: Add missing parenthesis for conditional statement
24247 stanza.
24248
24249 2007-04-10 Jerone Young <jerone@gmail.com>
24250
24251 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
24252 continue on and look for device node with real device name.
24253
24254 2007-04-10 Jerone Young <jerone@gmail.com>
24255
24256 * configure.ac: Add argument for autoconf to use transformation
24257 ability.
24258 * Makefile.in: Add autoconf package transformation code.
24259 * util/i386/pc/grub-install.in: Likewise.
24260 * util/powerpc/ieee1275/grub-install.in: Likewise.
24261
24262 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
24263
24264 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
24265 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
24266 (EXT2_REVISION): Likewise.
24267 (EXT2_INODE_SIZE): Likewise.
24268 (struct grub_ext2_block_group): Added a missing member
24269 "used_dirs".
24270 (grub_ext2_read_inode): Divide by the inode size in a superblock
24271 instead of 128 to obtain INODES_PER_BLOCK.
24272 Use the macro EXT2_INODE_SIZE instead of directly using
24273 SBLOCK->INODE_SIZE.
24274
24275 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
24276
24277 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
24278 superblock instead of the structure size to compute an
24279 offset. This fixes the problem that GRUB could not read a
24280 filesystem when inode size is different from 128-byte.
24281
24282 2007-03-05 Marco Gerards <marco@gnu.org>
24283
24284 * normal/main.c (read_config_file): When "menu" is not set, create
24285 an initial context.
24286
24287 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
24288
24289 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
24290 (HEAP_LIMIT): New macro.
24291 (grub_claim_heap): Claim memory up to `heaplimit'.
24292
24293 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
24294
24295 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
24296 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
24297 (_start): Likewise.
24298 (grub_arch_modules_addr): Return address after `_end'.
24299 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
24300 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
24301 (add_segments): Calculate `_end' from phdr size and location.
24302 (ALIGN_UP): Moved to ...
24303 * include/grub/misc.h: here.
24304 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
24305 New macro.
24306 (GRUB_IEEE1275_MODULE_BASE): Removed.
24307
24308 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24309
24310 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
24311 loop boundary.
24312
24313 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24314
24315 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
24316 All users updated.
24317 (grub_elf64_load_hook_t): Likewise.
24318 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
24319 debug output.
24320
24321 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24322
24323 * kern/mm.c: Update copyright.
24324 (grub_mm_debug): Correct syntax error.
24325 (grub_mm_dump_free): New function.
24326 (grub_debug_free): Call `grub_free'.
24327 * include/grub/mm.h: Update copyright.
24328 (grub_mm_dump_free): Add declaration.
24329
24330 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
24331
24332 * include/grub/ieee1275/ieee1275.h: Update copyright.
24333 * kern/powerpc/ieee1275/init.c: Likewise.
24334 * kern/powerpc/ieee1275/openfw.c: Likewise.
24335
24336 * loader/powerpc/ieee1275/linux.c: Likewise.
24337 * include/grub/elfload.h: Likewise.
24338 * kern/elf.c: Likewise.
24339 (grub_elf32_load): Pass `base' and `size' parameters. Update all
24340 callers.
24341 (grub_elf64_load): Likewise.
24342 (grub_elf32_load_segment): Move to a nested function.
24343 (grub_elf64_load_segment): Likewise.
24344
24345 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
24346
24347 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
24348 prototype.
24349 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
24350 (grub_heap_len): Likewise.
24351 (HEAP_SIZE): New macro.
24352 (grub_claim_heap): New function.
24353 (grub_machine_init): Don't claim heap directly. Call
24354 `grub_claim_heap'.
24355 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
24356 (grub_available_iterate): New function.
24357
24358 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
24359
24360 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
24361 * configure.ac: Use it for testing the HOST and TARGET compilers.
24362
24363 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
24364
24365 * Makefile.in (enable_grub_emu): New variable.
24366 * configure.ac (--enable-grub-emu): New option.
24367 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
24368 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
24369 * conf/i386-pc.rmk: Likewise.
24370 * conf/powerpc-ieee1275.rmk: Likewise.
24371 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
24372
24373 2006-12-12 Marco Gerards <marco@gnu.org>
24374
24375 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
24376
24377 * kern/env.c (grub_env_unset): Don't free the member `value' when
24378 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
24379 pointer.
24380
24381 * normal/main.c (current_menu): Removed.
24382 (free_menu): Unset the `menu' environment variable.
24383 (grub_normal_menu_addentry): Make use of the environment variable
24384 `menu', instead of using the global `current_menu'. Allocate
24385 memory for the sourcecode of this entry.
24386 (read_config_file): New argument `nested', changed all callers.
24387 Only in the case of a new context, initialize a new menu. Set the
24388 `menu' environment variable.
24389 (grub_normal_execute): Don't set and unset the environment
24390 variable `menu' here anymore. Only free the menu when leaving the
24391 context.
24392
24393 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
24394 leak.
24395
24396 2006-12-11 Marco Gerards <marco@gnu.org>
24397
24398 * normal/menu_entry.c (run): Fix off by one bug so the last line
24399 is executed. Move the loader check to outside the loop.
24400
24401 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
24402
24403 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
24404
24405 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
24406
24407 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
24408 the number of sectors. Reported by Andrey Shuvikov
24409 <mr_hyro@yahoo.com>.
24410
24411 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
24412
24413 * kern/disk.c (grub_disk_read): When there is a read error, always
24414 try to read only the necessary data.
24415
24416 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
24417 disk/raid.c.
24418 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
24419 prototype.
24420 [GRUB_UTIL] (grub_raid_fini): Likewise.
24421 [GRUB_UTIL] (grub_lvm_init): Likewise.
24422 [GRUB_UTIL] (grub_lvm_fini): Likewise.
24423 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
24424 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
24425 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
24426 and grub_raid_fini().
24427
24428 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
24429
24430 * include/grub/types.h (__unused): Rename to UNUSED.
24431 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
24432 (grub_elf64_size): Likewise.
24433
24434 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
24435
24436 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
24437 grub_error_push and grub_error_pop in the error-handling path.
24438 (grub_elf32_load_segment): Only call grub_file_read with non-zero
24439 length.
24440
24441 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
24442
24443 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
24444 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24446 (kernel_elf_SOURCES): Likewise.
24447 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
24448 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
24449 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
24450 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
24451 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
24452 (elf_mod_SOURCES): New variable.
24453 (elf_mod_CFLAGS): Likewise.
24454 (elf_mod_LDFLAGS): Likewise.
24455 * include/grub/types.h (__unused): New macro.
24456 * include/grub/elfload.h: New file.
24457 * kern/elf.c: Likewise.
24458 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
24459 (ELF32_LOADMASK): New macro.
24460 (ELF64_LOADMASK): Likewise.
24461 (vmlinux): Removed.
24462 (grub_linux_load32): New function.
24463 (grub_linux_load64): Likewise.
24464 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
24465 Use grub_elf_t instead of grub_file_t.
24466
24467 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
24468
24469 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
24470 `catch_result' to struct set_color_args.
24471
24472 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
24473
24474 * normal/menu.c: Include grub/script.h.
24475 * normal/menu_entry.c: Likewise.
24476 * include/grub/normal.h: Do not include grub/script.h.
24477
24478 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
24479
24480 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
24481
24482 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
24483
24484 * kern/disk.c (grub_disk_open): Print debug messages when opening a
24485 disk.
24486 (grub_disk_close): Print debug messages when closing a disk.
24487 (grub_disk_read): Print debug messages when disk read fails.
24488 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
24489 filesystem type.
24490 * kern/partition.c: Include misc.h.
24491 (grub_partition_iterate): Print debug messages when detecting
24492 partition type.
24493
24494 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
24495
24496 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
24497 is negative.
24498 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
24499
24500 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
24501
24502 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
24503 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
24504
24505 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
24506
24507 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
24508 instead of sizeof(lv). Patch by Michael Guntsche.
24509
24510 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
24511
24512 * disk/lvm.c: Rename VGS to VG_LIST.
24513 (grub_lvm_iterate): Change VGS->LV to VG-LV.
24514 (grub_lvm_open): Likewise.
24515 Thanks to Michael Guntsche for finding this bug.
24516
24517 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24518
24519 * configure.ac (AC_INIT): Bumped to 1.95.
24520
24521 2006-10-14 Robert Millan <rmh@aybabtu.com>
24522
24523 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
24524 with "/dev/.static/dev/md".
24525
24526 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
24527
24528 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
24529 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
24530 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
24531 DRIVE_NAME are always freed.
24532
24533 * util/i386/pc/biosdisk.c (make_device_name): Add one into
24534 DOS_PART, as a DOS partition is counted from one instead of zero
24535 now. Reported by Robert Millan.
24536
24537 2006-10-14 Robert Millan <rmh@aybabtu.com>
24538
24539 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
24540 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
24541 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
24542 string returned by grub_guess_root_device.
24543 * util/i386/pc/grub-setup.c: Likewise.
24544 * util/i386/pc/grub-probefs.c: Likewise.
24545
24546 * util/i386/pc/grub-probefs.c: Rename to ...
24547 * util/i386/pc/grub-probe.c: ... this.
24548 * DISTLIST: Remove grub-probefs, add grub-probe.
24549 * conf/i386-efi.rmk: Likewise.
24550 * conf/i386-pc.rmk: Likewise.
24551 * util/i386/pc/grub-install.in: Likewise.
24552
24553 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
24554 choose which information we want to print.
24555
24556 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
24557
24558 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
24559 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
24560 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
24561 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
24562 video/readers/tga.c and video/i386/pc/vbeutil.c.
24563
24564 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
24565
24566 Added support for RAID and LVM.
24567
24568 * disk/lvm.c: New file.
24569 * disk/raid.c: Likewise.
24570 * include/grub/lvm.h: Likewise.
24571 * include/grub/raid.h: Likewise.
24572 * include/grub/util/lvm.h: Likewise.
24573 * include/grub/util/raid.h: Likewise.
24574 * util/lvm.c: Likewise.
24575 * util/raid.c: Likewise.
24576
24577 * include/grub/disk.h (grub_disk_dev_id): Add
24578 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
24579 (grub_disk_get_size): New prototype.
24580 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
24581 returns a partition.
24582 (grub_disk_get_size): New function.
24583
24584 * kern/i386/pc/init.c (make_install_device): Copy the prefix
24585 verbatim if grub_install_dos_part is -2.
24586
24587 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
24588 and LVM devices.
24589
24590 * util/i386/pc/grub-setup.c (setup): New argument
24591 MUST_EMBED. Force embedding of GRUB when the argument is
24592 true. Close FILE before returning.
24593 (main): Add support for RAID and LVM.
24594
24595 * conf/common.rmk: Add RAID and LVM modules.
24596 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
24597 util/lvm.c.
24598 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
24599
24600 * kern/misc.c (grub_strstr): New function.
24601 * include/grub/misc.h (grub_strstr): New prototype.
24602
24603 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
24604
24605 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
24606
24607 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
24608
24609 * kern/misc.c (grub_strtoull): Guess the base only if not
24610 specified.
24611
24612 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
24613
24614 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
24615 PowerMac support.
24616
24617 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
24618
24619 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
24620
24621 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
24622 Remove `flags' argument. All callers changed.
24623 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
24624 (IEEE1275_IHANDLE_INVALID): New variable.
24625 (IEEE1275_CELL_INVALID): New variable.
24626 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
24627 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
24628 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
24629 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
24630 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
24631 codes from Open Firmware. All callers updated.
24632 (grub_ieee1275_next_property): Directly return Open Firmware return
24633 code.
24634 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
24635 Standardize error checking from `grub_ieee1275_get_property'.
24636 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
24637 `devalias' to `aliases'. Correct comments. Consolidate error paths.
24638
24639 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
24640
24641 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
24642 `instance_to_package_args' to `instance_to_path_args'.
24643
24644 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
24645 `grub_ieee1275_chosen'.
24646
24647 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
24648 `grub_ieee1275_interpret'.
24649
24650 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
24651
24652 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
24653
24654 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
24655
24656 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
24657 (__cmpdi): Likewise.
24658
24659 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
24660 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
24661 `grub_ssize_t'.
24662
24663 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
24664
24665 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
24666 to type `grub_ssize_t'.
24667 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
24668
24669 2006-09-22 Marco Gerards <marco@gnu.org>
24670
24671 * normal/script.c (grub_script_create_cmdmenu): Skip leading
24672 newlines.
24673
24674 2006-09-22 Marco Gerards <marco@gnu.org>
24675
24676 * commands/echo.c: New file.
24677
24678 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
24679
24680 * conf/common.rmk (echo_mod_SOURCES): New variable.
24681 (echo_mod_CFLAGS): Likewise.
24682 (echo_mod_LDFLAGS): Likewise.
24683
24684 2006-09-22 Marco Gerards <marco@gnu.org>
24685
24686 * normal/main.c (get_line): Malloc memory instead of using
24687 preallocated memory. Removed the arguments `cmdline' and
24688 `max_len'. Updated all callers.
24689
24690 2006-09-22 Marco Gerards <marco@gnu.org>
24691
24692 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
24693 (normal_mod_DEPENDENCIES): Likewise.
24694
24695 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
24696 (normal_mod_DEPENDENCIES): Likewise.
24697
24698 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
24699
24700 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
24701
24702 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
24703 programs.
24704 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
24705 (normal_mod_DEPENDENCIES): Likewise.
24706 * conf/i386-pc.mk: Regenerate.
24707 * conf/i386-efi.mk: Likewise
24708 * conf/common.mk: Likewise.
24709 * conf/powerpc-ieee1275.mk: Likewise.
24710 * conf/sparc64-ieee1275.mk: Likewise.
24711
24712 2006-09-22 Robert Millan <rmh@aybabtu.com>
24713
24714 Sync with i386 version.
24715 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
24716 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
24717
24718 2006-09-21 Robert Millan <rmh@aybabtu.com>
24719
24720 Import from GRUB Legacy (lib/device.c):
24721 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
24722 (init_device_map) [__linux__]: Add support for I2O devices.
24723
24724 2006-09-14 Marco Gerards <marco@gnu.org>
24725
24726 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
24727 `-melf_i386'.
24728
24729 2006-09-14 Robert Millan <rmh@aybabtu.com>
24730
24731 * util/i386/pc/grub-install.in: Skip menu.lst when removing
24732 /boot/grub/*.lst.
24733
24734 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
24735
24736 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
24737 before adding it to device.map.
24738
24739 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
24740
24741 * genmk.rb: Let GCC generate dependencies the first time it
24742 compiles a file; using the -MD option.
24743 * conf/common.mk: Regenerate.
24744 * conf/i386-pc.mk: Likewise.
24745 * conf/i386-efi.mk: Likewise.
24746 * conf/powerpc-ieee1275.mk: Likewise.
24747 * conf/sparc64-ieee1275.mk: Likewise.
24748
24749 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
24750
24751 Move the prototypes of grub_setjmp and grub_longjmp to
24752 cpu/setjmp.h, so that each architecture may specify different
24753 attributes.
24754
24755 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
24756 (grub_longjmp): Likewise.
24757 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
24758 (grub_longjmp): Likewise.
24759 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
24760 (grub_longjmp): Likewise.
24761
24762 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
24763 [!GRUB_UTIL] (grub_longjmp): Removed.
24764
24765 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
24766
24767 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
24768 "color!" method does not return any value.
24769
24770 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
24771
24772 * include/grub/bitmap.h: New file.
24773
24774 * include/grub/i386/pc/vbeutil.h: Likewise.
24775
24776 * video/bitmap.c: Likewise.
24777
24778 * video/readers/tga.c: Likewise.
24779
24780 * video/i386/pc/vbeutil.c: Likewise.
24781
24782 * commands/videotest.c: Code cleanup and updated to reflect to new
24783 video API.
24784
24785 * term/gfxterm.c: Likewise.
24786
24787 * video/video.c: Likewise.
24788
24789 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
24790 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
24791 (bitmap_mod_SOURCES): New entry.
24792 (bitmap_mod_CFLAGS): Likewise.
24793 (bitmap_mod_LDFLAGS): Likewise.
24794 (tga_mod_SOURCES): Likewise.
24795 (tga_mod_CFLAGS): Likewise.
24796 (tga_mod_LDFLAGS): Likewise.
24797
24798 * include/grub/video.h (grub_video_blit_operators): New enum type.
24799 (grub_video_render_target): Changed as forward declaration and moved
24800 actual definition to be video driver specific.
24801 (grub_video_adapter.blit_bitmap): Added blitting operator.
24802 (grub_video_adapter.blit_render_target): Likewise.
24803 (grub_video_blit_bitmap): Likewise.
24804 (grub_video_blit_render_target): Likewise.
24805
24806 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
24807 driver specific render target definition.
24808 (grub_video_vbe_map_rgba): Added driver internal helper.
24809 (grub_video_vbe_unmap_color): Updated to use
24810 grub_video_i386_vbeblit_info.
24811 (grub_video_vbe_get_video_ptr): Likewise.
24812
24813 * include/grub/i386/pc/vbeblit.h
24814 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
24815 grub_video_i386_vbeblit_info.
24816 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24817 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24818 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24819 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24820 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24821 (grub_video_i386_vbeblit_index_index): Likewise.
24822 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
24823 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24824 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24825 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
24826 operator.
24827 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
24828 operator.
24829
24830 * video/i386/pc/vbeblit.c: Updated to reflect changes on
24831 include/grub/i386/pc/vbeblit.h.
24832
24833 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
24834 Updated to use grub_video_i386_vbeblit_info.
24835 (grub_video_i386_vbefill_R8G8B8): Likewise.
24836 (grub_video_i386_vbefill_index): Likewise.
24837 (grub_video_i386_vbefill): Added generic filler.
24838
24839 * video/i386/pc/vbefill.c: Updated to reflect changes on
24840 include/grub/i386/pc/vbefill.h.
24841
24842 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
24843 grub_video_i386_vbeblit_info.
24844 (grub_video_vbe_unmap_color): Likewise.
24845 (grub_video_vbe_blit_glyph): Likewise.
24846 (grub_video_vbe_scroll): Likewise.
24847 (grub_video_vbe_draw_pixel): Removed function.
24848 (grub_video_vbe_get_pixel): Likewise.
24849 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
24850 updated code to use it.
24851 (common_blitter): Added common blitter for render target and bitmap.
24852 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
24853 (grub_video_vbe_blit_render_target): Likewise.
24854
24855 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
24856
24857 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
24858 is in text mode if there is no console control protocol instance
24859 available.
24860
24861 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
24862
24863 * include/grub/video.h: Code cleanup.
24864
24865 * include/grub/i386/pc/vbe.h: Likewise.
24866
24867 * video/i386/pc/vbe.c: Likewise.
24868
24869 * video/i386/pc/vbeblit.c: Likewise.
24870
24871 * video/i386/pc/vbefill.c: Likewise.
24872
24873 * video/video.c: Likewise. Also added more comments.
24874
24875 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
24876
24877 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
24878 (struct grub_biosdisk_dap): Likewise.
24879
24880 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
24881 linkage settings for all functions.
24882
24883 2006-07-12 Marco Gerards <marco@gnu.org>
24884
24885 * configure.ac (--enable-mm-debug): Fix typo.
24886
24887 * genkernsyms.sh.in: Use proper quoting for `CC'.
24888
24889 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
24890
24891 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
24892 (normal_mod_ASFLAGS): Remove "-m32".
24893
24894 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
24895
24896 * util/misc.c: Include config.h.
24897 [!HAVE_MEMALIGN]: Do not include malloc.h.
24898 (grub_memalign): Use posix_memalign, if present. Then, use
24899 memalign, if present. Otherwise, emit an error.
24900
24901 * util/grub-emu.c: Do not include malloc.h.
24902
24903 * include/grub/util/misc.h: Include unistd.h. This is required for
24904 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
24905 D. Eades III <hde@foobar-qux.org>.
24906
24907 * configure.ac (AC_GNU_SOURCE): Added.
24908 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
24909 type.
24910
24911 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
24912
24913 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
24914 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
24915
24916 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
24917
24918 * include/grub/types.h (grub_host_addr_t): Rename to
24919 grub_target_addr_t.
24920 (grub_host_off_t): Rename to grub_target_off_t.
24921 (grub_host_size_t): Rename to grub_target_size_t.
24922 (grub_host_ssize_t): Rename to grub_target_ssize_t.
24923 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
24924
24925 * include/grub/kernel.h (struct grub_module_header): Change type
24926 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
24927 (grub_module_info): Likewise.
24928
24929 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
24930
24931 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
24932 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
24933 Velazquez <jesus.velazquez@gmail.com>.
24934
24935 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
24936
24937 Count partitions from 1 instead of 0 in the string representation
24938 of partitions. Still use 0-based internally.
24939
24940 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
24941 (sun_partition_map_iterate): Use grub_partition_t instead of
24942 struct grub_partition *. Cast DESC->START_CYLINDER to
24943 grub_uint64_t after converting the endian.
24944 (sun_partition_map_probe): Subtract 1 for PARTNUM.
24945 (sun_partition_map_get_name): Add 1 to P->INDEX.
24946
24947 * partmap/pc.c (grub_partition_parse): Subtract 1 for
24948 PCDATA->DOS_PART.
24949 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
24950
24951 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
24952 zero instead of one.
24953 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
24954 (gpt_partition_map_get_name): Add 1 into P->INDEX.
24955
24956 * partmap/apple.c (apple_partition_map_iterate): Change the type
24957 of POS to unsigned.
24958 (apple_partition_map_probe): Subtract 1 for PARTNUM.
24959 (apple_partition_map_get_name): Add 1 into P->INDEX.
24960
24961 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
24962 of POS to unsigned.
24963 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
24964 calculate the offset of a partition.
24965 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
24966 (amiga_partition_map_get_name): Add 1 into P->INDEX.
24967
24968 * partmap/acorn.c (acorn_partition_map_find): Change the type of
24969 SECTOR to grub_disk_addr_t.
24970 (acorn_partition_map_iterate): Likewise.
24971 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
24972 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
24973 top.
24974 (acorn_partition_map_get_name): Add 1 into P->INDEX.
24975
24976 * kern/i386/pc/init.c (make_install_device): Add 1 into
24977 GRUB_INSTALL_DOS_PART.
24978
24979 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
24980 conditional.
24981
24982 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
24983
24984 Clean up the code to support 64-bit addressing in disks and
24985 files. This change is not enough for filesystems yet.
24986
24987 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
24988 type of "start" to grub_uint64_t.
24989 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
24990 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
24991 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
24992 convert addresses.
24993
24994 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
24995 to grub_disk_addr_t.
24996
24997 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
24998 string.
24999
25000 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25001
25002 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
25003 to char *.
25004
25005 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
25006
25007 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
25008
25009 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
25010
25011 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
25012 to grub_off_t, to detect an error from grub_file_seek.
25013 (grub_multiboot_load_elf32): Likewise.
25014
25015 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
25016 maximum unsigned long value when an overflow is detected.
25017 (grub_strtoull): New function.
25018 (grub_divmod64): Likewise.
25019 (grub_lltoa): use grub_divmod64.
25020
25021 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
25022 grub_disk_addr_t.
25023 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
25024 the pointer to next character. Use grub_strtoull instead of
25025 grub_strtoul.
25026 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
25027 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
25028 respectively.
25029
25030 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
25031 return value is signed.
25032 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
25033 test if OFFSET is less than zero, as OFFSET is unsigned now.
25034
25035 * kern/disk.c (struct grub_disk_cache): Change the type of
25036 "sector" to grub_disk_addr_t.
25037 (grub_disk_cache_get_index): Change the type of SECTOR to
25038 grub_disk_addr_t. Calculate the hash with SECTOR casted to
25039 unsigned after shifting.
25040 (grub_disk_cache_invalidate): Change the type of SECTOR to
25041 grub_disk_addr_t.
25042 (grub_disk_cache_unlock): Likewise.
25043 (grub_disk_cache_store): Likewise.
25044 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
25045 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
25046 grub_disk_addr_t and grub_uint64_t, respectively.
25047 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
25048 body, as the value of OFFSET is tweaked by
25049 grub_disk_check_range. Change the types of START_SECTOR, LEN and
25050 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
25051 respectively.
25052 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
25053 body, as the value of OFFSET is tweaked by
25054 grub_disk_check_range. Change the types of LEN and N to
25055 grub_size_t.
25056
25057 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
25058 and "saved_offset" to grub_off_t.
25059 (test_header): Cast BUF to char *.
25060 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
25061 to char *.
25062 (grub_gzio_read): Change the types of OFFSET and SIZE to
25063 grub_off_t and grub_size_t, respectively.
25064
25065 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
25066 Removed.
25067 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
25068 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
25069 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
25070 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
25071 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
25072
25073 * include/grub/types.h (grub_off_t): Unconditionally set to
25074 grub_uint64_t.
25075 (grub_disk_addr_t): Changed to grub_uint64_t.
25076
25077 * include/grub/partition.h (struct grub_partition): Change the
25078 types of "start", "len" and "offset" to grub_disk_addr_t,
25079 grub_uint64_t and grub_disk_addr_t, respectively.
25080 (grub_partition_get_start): Return grub_disk_addr_t.
25081 (grub_partition_get_len): Return grub_uint64_t.
25082
25083 * include/grub/misc.h (grub_strtoull): New prototype.
25084 (grub_divmod64): Likewise.
25085
25086 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
25087 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
25088 grub_off_t, respectively.
25089 All callers and references changed.
25090
25091 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
25092 grub_size_t in "read".
25093 All callers and references changed.
25094
25095 * include/grub/file.h (struct grub_file): Change the types of
25096 "offset" and "size" to grub_off_t and grub_off_t,
25097 respectively. Change the type of SECTOR to grub_disk_addr_t in
25098 "read_hook".
25099 (grub_file_read): Change the type of LEN to grub_size_t.
25100 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
25101 grub_off_t.
25102 (grub_file_size): Return grub_off_t.
25103 (grub_file_tell): Likewise.
25104 All callers and references changed.
25105
25106 * include/grub/disk.h (struct grub_disk_dev): Change the types of
25107 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
25108 "write".
25109 (struct grub_disk): Change the type of "total_sectors" to
25110 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
25111 "read_hook".
25112 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
25113 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
25114 (grub_disk_write): Likewise.
25115 All callers and references changed.
25116
25117 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
25118 char * for grub_strncmp to silence gcc.
25119 (grub_iso9660_mount): Likewise.
25120 (grub_iso9660_mount): Likewise.
25121 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
25122 return statement.
25123 (grub_iso9660_iterate_dir): Likewise.
25124 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
25125
25126 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
25127 LEN to grub_disk_addr_t and grub_size_t, respectively.
25128
25129 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25130
25131 * fs/jfs.c (grub_jfs_read_file): Likewise.
25132
25133 * fs/minix.c (grub_jfs_read_file): Likewise.
25134
25135 * fs/sfs.c (grub_jfs_read_file): Likewise.
25136
25137 * fs/ufs.c (grub_jfs_read_file): Likewise.
25138
25139 * fs/xfs.c (grub_jfs_read_file): Likewise.
25140
25141 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
25142 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
25143 respectively.
25144
25145 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
25146 BLKNR to -1 instead of returning GRUB_ERRNO.
25147 (grub_ext2_read_file): Change the types of SECTOR and
25148 LEN to grub_disk_addr_t and grub_size_t, respectively.
25149
25150 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
25151 LEN to grub_disk_addr_t and grub_size_t, respectively.
25152
25153 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
25154 grub_file_read.
25155
25156 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
25157 string. Do not cast SECTOR explicitly.
25158
25159 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
25160 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
25161 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
25162 grub_disk_addr_t and grub_size_t, respectively. If the sector is
25163 over 2TB and LBA mode is not supported, raise an error.
25164 (get_safe_sectors): New function.
25165 (grub_biosdisk_read): Use get_safe_sectors.
25166 (grub_biosdisk_write): Likewise.
25167
25168 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
25169 (grub_efidisk_write): Likewise.
25170
25171 * disk/loopback.c (delete_loopback): Cosmetic changes.
25172 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
25173 correctly.
25174 (grub_loopback_open): Likewise.
25175 (grub_loopback_read): Likewise. Also, change the type of POS to
25176 grub_off_t, and fix the usage of grub_memset.
25177
25178 * commands/i386/pc/play.c: Include grub/machine/time.h.
25179
25180 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
25181 print FILE->SIZE.
25182
25183 * commands/configfile.c: Include grub/env.h.
25184
25185 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
25186 GRUB_ERRNO directly instead. Change the type of POS to
25187 grub_off_t. Follow the coding standard.
25188
25189 * commands/blocklist.c: Include grub/partition.h.
25190 (grub_cmd_blocklist): Return an error if the underlying device is
25191 not a disk. Take the starting sector of a partition into account,
25192 if a partition is used.
25193
25194 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
25195 a length field.
25196 (lba_mode): Support 64-bit addresses.
25197 (chs_mode): Likewise.
25198 (copy_buffer): Adapted to the new offsets of a length field and a
25199 segment field.
25200 (blocklist_default_start): Allocate 64-bit space.
25201
25202 * boot/i386/pc/boot.S (force_lba): Removed.
25203 (boot_drive): Moved to under KERNEL_SECTOR.
25204 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
25205 space.
25206 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
25207 is useless.
25208 (lba_mode): Refactored to support a 64-bit address. More size
25209 optimization.
25210 (setup_sectors): Likewise.
25211
25212 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
25213
25214 * DISTLIST: Added include/grub/i386/linux.h. Removed
25215 include/grub/i386/pc/linux.h
25216
25217 * configure.ac (AC_INIT): Bumped to 1.94.
25218
25219 * config.guess: Updated from gnulib.
25220 * config.sub: Likewise.
25221 * install-sh: Likewise.
25222 * mkinstalldirs: Likewise.
25223
25224 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
25225
25226 * conf/common.rmk (grub_modules_init.lst): Depended on
25227 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
25228 MODSRCFILES.
25229
25230 * genmk.rb (PModule::rule): Reverted the previous change.
25231
25232 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
25233
25234 * conf/common.rmk (grub_modules_init.lst): Depends on
25235 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
25236 that the target does not exist before producing.
25237 (grub_modules_init.h): Remove the target before generating.
25238 (grub_emu_init.c): Likewise.
25239
25240 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
25241
25242 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
25243
25244 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
25245 for the target-specific tests. Make sure that we also have the
25246 up-to-date target variables for those tests.
25247
25248 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
25249
25250 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
25251 (PModule::rule): Likewise.
25252
25253 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
25254
25255 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
25256 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
25257 target-specific flags should be prefixed.
25258 (PModule::rule): Likewise.
25259
25260 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
25261
25262 * configure.ac (CMP): Check if cmp is available explicitly.
25263
25264 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
25265
25266 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
25267 (target_cpu): New variable.
25268 (pkglibdir): Use target_cpu instead of host_cpu.
25269
25270 * util/i386/pc/grub-install.in (host_cpu): Removed.
25271 (target_cpu): New variable.
25272 (pkglibdir): Use target_cpu instead of host_cpu.
25273
25274 * util/genmoddep.c: Removed.
25275
25276 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
25277 instead of GRUB_HOST_SIZEOF_VOID_P.
25278 * kern/dl.c: Likewise.
25279
25280 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
25281 ...
25282 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
25283 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
25284 (GRUB_TARGET_SIZEOF_LONG): ... this.
25285 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
25286 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
25287 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
25288 to ...
25289 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
25290 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
25291 (GRUB_TARGET_SIZEOF_LONG): ... this.
25292 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
25293 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
25294 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
25295 to ...
25296 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
25297 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
25298 (GRUB_TARGET_SIZEOF_LONG): ... this.
25299 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
25300 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
25301
25302 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
25303 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
25304 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
25305 instead of GRUB_HOST_SIZEOF_LONG.
25306 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
25307 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
25308 GRUB_CPU_WORDS_BIGENDIAN.
25309 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
25310 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
25311 grub_host_ssize_t.
25312
25313 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
25314 (genmoddep_SOURCES): Likewise.
25315 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
25316 (genmoddep_SOURCES): Likewise.
25317 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
25318 (genmoddep_SOURCES): Likewise.
25319 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
25320 Likewise.
25321 (genmoddep_SOURCES): Likewise.
25322
25323 * genmoddep.awk: New file.
25324
25325 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
25326 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
25327 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
25328 (PModule::rule): Likewise.
25329 (Program::rule): Likewise.
25330 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
25331 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
25332 respectively.
25333
25334 * configure.ac: Rewritten intensively to use host and target
25335 instead of build and host, respectively.
25336
25337 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
25338 (host_cpu): Removed.
25339 (target_cpu): New variable.
25340 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
25341 (BUILD_CC): Removed.
25342 (BUILD_CFLAGS): Likewise.
25343 (BUILD_CPPFLAGS): Likewise.
25344 (TARGET_CC): New variable.
25345 (TARGET_CFLAGS): Likewise.
25346 (TARGET_CPPFLAGS): Likewise.
25347 (TARGET_LDFLAGS): Likewise.
25348 (AWK): Likewise.
25349 (include): Use target_cpu instead of host_cpu.
25350 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
25351
25352 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
25353
25354 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
25355
25356 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
25357 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
25358 field 'false' to 'exec_on_false'.
25359 (grub_script_create_cmdif): Renamed argument names to reflect above
25360 changes.
25361
25362 * normal/execute.c (grub_script_execute_cmdif): Likewise.
25363
25364 * normal/script.c (grub_script_create_cmdif): Likewise.
25365
25366 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
25367
25368 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
25369 top.
25370 (grub_hfsplus_btree_recptr): Likewise.
25371 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
25372 FILEBLOCK both to pass a block number and store next block
25373 number.
25374 (grub_hfsplus_read_block): Rewritten heavily to support an extent
25375 overflow file correctly. Specify errors appropriately, because
25376 fshelp expects that GRUB_ERRNO is set when fails. Reuse
25377 grub_hfsplus_btree_recptr to get the pointer to a found key.
25378 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
25379 is found.
25380
25381 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
25382 linux.mod.
25383 (_linux_mod_SOURCES): New variable.
25384 (_linux_mod_CFLAGS): Likewise.
25385 (_linux_mod_LDFLAGS): Likewise.
25386 (linux_mod_SOURCES): Likewise.
25387 (linux_mod_CFLAGS): Likewise.
25388 (linux_mod_LDFLAGS): Likewise.
25389
25390 * DISTLIST: Added loader/i386/efi/linux.c,
25391 loader/i386/efi/linux_normal.c and
25392 include/grub/i386/efi/loader.h.
25393
25394 * loader/i386/efi/linux.c: New file.
25395 * loader/i386/efi/linux_normal.c: Likewise.
25396 * include/grub/i386/efi/loader.h: Likewise.
25397
25398 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
25399
25400 * commands/blocklist.c: New file.
25401
25402 * DISTLIST: Added commands/blocklist.c.
25403
25404 * term/efi/console.c (grub_console_highlight_color): Use a lighter
25405 color for the background, and a darker color for the foreground.
25406 (grub_console_checkkey): Return READ_KEY.
25407 (grub_console_cls): Set the background to
25408 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
25409
25410 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
25411
25412 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
25413 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
25414
25415 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
25416 prototype.
25417
25418 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
25419 BG. The spec is wrong again.
25420
25421 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
25422 prototype.
25423 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
25424
25425 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25426 commands/blocklist.c.
25427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25428
25429 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
25430 (blocklist_mod_SOURCES): New variable.
25431 (blocklist_mod_CFLAGS): Likewise.
25432 (blocklist_mod_LDFLAGS): Likewise.
25433
25434 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
25435
25436 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
25437 duplication.
25438 (lba_mode): Use %eax more intensively to reduce the code size.
25439
25440 2006-05-20 Marco Gerards <marco@gnu.org>
25441
25442 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
25443
25444 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
25445 for `menuentry'.
25446 (script): Accept leading newlines.
25447 (newlines): New rule to describe 0 or more newlines.
25448 (commands): Accept `command' with trailing newline. Fixed the
25449 order in which arguments were passed to `grub_script_add_cmd'.
25450 Accept commands separated by newlines.
25451 (function): Changed to accept newlines.
25452 (menuentry) Rewritten.
25453
25454 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
25455 front of the list, instead of to the end.
25456
25457 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
25458
25459 * util/i386/pc/grub-install.in (bindir): New variable.
25460 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
25461 Shaver <lbgwjl@gmail.com>.
25462
25463 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
25464
25465 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
25466 grub/machine/linux.h
25467 * loader/i386/pc/linux.c: Likewise.
25468
25469 * include/grub/i386/pc/linux.h: Moved to ...
25470 * include/grub/i386/linux.h: ... here.
25471
25472 * include/grub/i386/linux.h (struct linux_kernel_params): New
25473 struct.
25474
25475 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
25476
25477 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
25478 checking.
25479 (grub_video_vbe_blit_glyph): Likewise.
25480 (grub_video_vbe_blit_bitmap): Likewise.
25481 (grub_video_vbe_blit_render_target): Likewise.
25482
25483 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
25484
25485 * configure.ac (--with-platform): Properly quote the square
25486 brackets.
25487
25488 2006-05-08 Marco Gerards <marco@gnu.org>
25489
25490 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
25491 this...
25492 (kernel_elf_HEADERS): ...to this. Updated all users.
25493 (grubof_symlist.c): Renamed from this...
25494 (kernel_elf_symlist.c): ...to this. Updated all users.
25495 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
25496 (grubof_SOURCES): Renamed from this...
25497 (kernel_elf_SOURCES): ...to this.
25498 (grubof_HEADERS): Renamed from this...
25499 (kernel_elf_HEADERS): ...to this.
25500 (grubof_CFLAGS): Renamed from this...
25501 (kernel_elf_CFLAGS): ...to this.
25502 (grubof_ASFLAGS): Renamed from this...
25503 (kernel_elf_ASFLAGS): ...to this.
25504 (grubof_LDFLAGS): Renamed from this...
25505 (kernel_elf_LDFLAGS): ...to this.
25506
25507 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
25508 this...
25509 (kernel_elf_HEADERS): ...to this. Updated all users.
25510 (grubof_symlist.c): Renamed from this...
25511 (kernel_elf_symlist.c): ...to this. Updated all users.
25512 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
25513 (grubof_SOURCES): Renamed from this...
25514 (kernel_elf_SOURCES): ...to this.
25515 (grubof_HEADERS): Renamed from this...
25516 (kernel_elf_HEADERS): ...to this.
25517 (grubof_CFLAGS): Renamed from this...
25518 (kernel_elf_CFLAGS): ...to this.
25519 (grubof_ASFLAGS): Renamed from this...
25520 (kernel_elf_ASFLAGS): ...to this.
25521 (grubof_LDFLAGS): Renamed from this...
25522 (kernel_elf_LDFLAGS): ...to this.
25523
25524 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
25525 `kernel.elf' instead of `grubof'.
25526
25527 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
25528
25529 Add --with-platform to configure. Use pkglibdir instead of
25530 pkgdatadir. This is reported by Roger Leigh.
25531
25532 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
25533 (host_vendor): Likewise.
25534 (host_os): Likewise.
25535 (pkgdatadir): Likewise.
25536 (platform): New variable.
25537 (pkglibdir): Likewise.
25538 Use PKGLIBDIR instead of PKGDATADIR.
25539
25540 * util/i386/pc/grub-install.in (datadir): Removed.
25541 (host_vendor): Likewise.
25542 (host_os): Likewise.
25543 (pkgdatadir): Likewise.
25544 (platform): New variable.
25545 (pkglibdir): Likewise.
25546 Use PKGLIBDIR instead of PKGDATADIR.
25547
25548 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
25549 instead of GRUB_DATADIR.
25550 (main): Likewise.
25551 * util/i386/pc/grub-mkimage.c (usage): Likewise.
25552 (main): Likewise.
25553 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25554 (main): Likewise.
25555
25556 * configure.ac (--with-platform): New option.
25557 Use PLATFORM instead of HOST_VENDOR to specify a platform.
25558
25559 * Makefile.in: Include a makefile based on PLATFORM instead of
25560 HOST_VENDOR.
25561 (pkgdatadir): Not appended by the machine type.
25562 (pkglibdir): Appended by the machine type.
25563 (host_vendor): Removed.
25564 (platform): New variable.
25565 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
25566 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
25567 (uninstall): Likewise.
25568
25569 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
25570
25571 Use the environment context in the menu. Remove the commands
25572 "default" and "timeout", and use variables instead.
25573
25574 * normal/menu.c: Include grub/env.h.
25575 (print_entry): Cast TITLE to silence gcc.
25576 (get_timeout): New function.
25577 (set_timeout): Likewise.
25578 (get_entry_number): Likewise.
25579 (run_menu): Use a default entry, a fallback entry and a timeout
25580 in the environment variables "default", "fallback" and
25581 "timeout". Also, tweak the default entry if it is not within the
25582 current menu entries.
25583 (grub_menu_run): Use a fallback entry in the environment variable
25584 "fallback".
25585
25586 * normal/main.c (read_config_file): Do not initialize
25587 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
25588 NEWMENU->TIMEOUT.
25589 (grub_normal_execute): Use a data slot to store the menu.
25590
25591 * include/grub/normal.h (struct grub_menu): Removed default_entry,
25592 fallback_entry and timeout.
25593 (struct grub_menu_list): Removed.
25594 (grub_menu_list_t): Likewise.
25595 (struct grub_context): Likewise.
25596 (grub_context_t): Likewise.
25597 (grub_context_get): Likewise.
25598 (grub_context_get_current_menu): Likewise.
25599 (grub_context_push_menu): Likewise.
25600 (grub_context_pop_menu): Likewise.
25601 (grub_default_init): Likewise.
25602 (grub_default_fini): Likewise.
25603 (grub_timeout_init): Likewise.
25604 (grub_timeout_fini): Likewise.
25605
25606 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
25607 and timeout.mod.
25608 (normal_mod_SOURCES): Removed normal/context.c.
25609
25610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
25611 commands/default.c, commands/timeout.c and normal/context.c.
25612 (normal_mod_SOURCES): Removed normal/context.c.
25613
25614 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
25615 commands/timeout.c and normal/context.c.
25616 (normal_mod_SOURCES): Removed normal/context.c.
25617
25618 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
25619 commands/default.c, commands/timeout.c and normal/context.c.
25620 (normal_mod_SOURCES): Removed normal/context.c.
25621
25622 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
25623 timeout.mod.
25624 (default_mod_SOURCES): Removed.
25625 (default_mod_CFLAGS): Likewise.
25626 (default_mod_LDFLAGS): Likewise.
25627 (timeout_mod_SOURCES): Removed.
25628 (timeout_mod_CFLAGS): Likewise.
25629 (timeout_mod_LDFLAGS): Likewise.
25630
25631 * DISTLIST: Removed commands/default.c, commands/timeout.c and
25632 normal/context.c.
25633
25634 * commands/default.c: Removed.
25635 * commands/timeout.c: Likewise.
25636 * normal/context.c: Likewise.
25637
25638 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
25639
25640 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
25641
25642 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
25643
25644 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
25645 "next" to "prev" for readability.
25646 (struct grub_env_sorted_var): New struct.
25647 (grub_env_context): Renamed to ...
25648 (initial_context): ... this.
25649 (grub_env_var_context): Renamed to ...
25650 (current_context): ... this.
25651 (grub_env_find): Look only at CURRENT_CONTEXT.
25652 (grub_env_context_open): Rewritten to copy exported variables from
25653 previous context.
25654 (grub_env_context_close): Rewritten according to the new
25655 scheme. Also, add an assertion to prevent the initial context from
25656 removed.
25657 (grub_env_insert): Removed the code for the sorted list.
25658 (grub_env_remove): Likewise.
25659 (grub_env_export): Simply mark the variable with
25660 GRUB_ENV_VAR_GLOBAL.
25661 (grub_env_set): A cosmetic change for naming consistency.
25662 (grub_env_get): Likewise.
25663 (grub_env_unset): Likewise.
25664 (grub_env_iterate): Rewritten to sort variables within this
25665 function.
25666 (grub_register_variable_hook): Fixed for naming consistency. Call
25667 grub_env_find again, only if NAME is not found at the first time.
25668 (mangle_data_slot_name): New function.
25669 (grub_env_set_data_slot): Likewise.
25670 (grub_env_get_data_slot): Likewise.
25671 (grub_env_unset_data_slot): Likewise.
25672
25673 * include/grub/env.h (grub_env_var_type): New enum.
25674 (GRUB_ENV_VAR_LOCAL): New constant.
25675 (GRUB_ENV_VAR_GLOBAL): Likewise.
25676 (GRUB_ENV_VAR_DATA): Likewise.
25677 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
25678 "type".
25679 (grub_env_set): Replace VAR with NAME for consistency.
25680 (grub_register_variable_hook): Likewise.
25681 (grub_env_export): Specify the name of the argument.
25682 (grub_env_set_data_slot): New prototype.
25683 (grub_env_get_data_slot): Likewise.
25684 (grub_env_unset_data_slot): Likewise.
25685
25686 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
25687
25688 Extend the loader so that GRUB can accept a loader which comes
25689 back to GRUB when a loaded image exits. Also, this change adds
25690 support for a chainloader on EFI.
25691
25692 * term/efi/console.c: Include grub/misc.h.
25693 (grub_console_checkkey): Display a scan code on the top for
25694 debugging. This will be removed once the EFI port gets stable.
25695 Correct the scan code mapping.
25696
25697 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
25698 allocate memory from larger regions, in order to reduce the number
25699 of allocated regions. Otherwise, the MacOSX loader panics.
25700 (filter_memory_map): Avoid less than 1MB for compatibility with
25701 other loaders.
25702 (add_memory_regions): Allocate from the tail of a region, if
25703 possible, to avoid allocating a region near to 1MB, for the MacOSX
25704 loader.
25705
25706 * kern/efi/init.c (grub_efi_set_prefix): Specify
25707 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
25708
25709 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
25710 argument IMAGE_HANDLE and specify it to get a loaded image.
25711 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
25712 grub_efi_get_loaded_image.
25713 (grub_efi_get_filename): Divide the length by the size of
25714 grub_efi_char16_t.
25715 (grub_efi_get_device_path): New function.
25716 (grub_efi_print_device_path): Print End Device Path nodes. Divide
25717 the length by the size of grub_efi_char16_t for a file path device
25718 path node.
25719
25720 * kern/loader.c (grub_loader_noreturn): New variable.
25721 (grub_loader_set): Accept a new argument NORETURN. Set
25722 GRUB_LOADER_NORETURN to NORETURN.
25723 All callers changed.
25724 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
25725 grub_machine_fini.
25726
25727 * include/grub/efi/efi.h (grub_efi_get_device_path): New
25728 prototype.
25729 (grub_efi_get_loaded_image): Take an argument to specify an image
25730 handle.
25731
25732 * include/grub/loader.h (grub_loader_set): Added one more argument
25733 NORETURN.
25734
25735 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
25736 instead of grub_efi_open_protocol.
25737 (grub_efidisk_get_device_name): Likewise.
25738 (grub_efidisk_close): Print a newline.
25739 (grub_efidisk_get_device_handle): Fixed to use
25740 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
25741 GRUB_EFI_DEVICE_PATH_TYPE.
25742
25743 * disk/efi/efidisk.c (device_path_guid): Moved to ...
25744 * kern/efi/efi.c (device_path_guid): ... here.
25745
25746 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
25747 chain.mod.
25748 (kernel_mod_HEADERS): Added efi/disk.h.
25749 (_chain_mod_SOURCES): New variable.
25750 (_chain_mod_CFLAGS): Likewise.
25751 (_chain_mod_LDFLAGS): Likewise.
25752 (chain_mod_SOURCES): Likewise.
25753 (chain_mod_CFLAGS): Likewise.
25754 (chain_mod_LDFLAGS): Likewise.
25755
25756 * DISTLIST: Added include/grub/efi/chainloader.h,
25757 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
25758
25759 * include/grub/efi/chainloader.h: New file.
25760 * loader/efi/chainloader.c: Likewise.
25761 * loader/efi/chainloader_normal.c: Likewise.
25762
25763 2006-04-30 Marco Gerards <marco@gnu.org>
25764
25765 * commands/configfile.c (grub_cmd_source): New function.
25766 (GRUB_MOD_INIT): Register the commands `source' and `.'.
25767 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
25768
25769 2006-04-30 Marco Gerards <marco@gnu.org>
25770
25771 * normal/execute.c (grub_script_execute_cmd): Change the return
25772 type to `grub_err_t'. Correctly return the error.
25773 (grub_script_execute_cmdline): In case a command line is not a
25774 command or a function, try to interpret it as an assignment.
25775
25776 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
25777
25778 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
25779 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
25780 skip a node whose name is obviously invalid as UTF-16,
25781 i.e. contains a NUL character. Stop the iteration when the last
25782 directory entry is found. Instead of using the return value of
25783 grub_hfsplus_btree_iterate_node, store the value in RET and use
25784 it, because the iterator can be stopped by the last directory
25785 entry.
25786
25787 2006-04-30 Marco Gerards <marco@gnu.org>
25788
25789 * include/grub/env.h (grub_env_export): New prototype. Reported
25790 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
25791
25792 2006-04-30 Marco Gerards <marco@gnu.org>
25793
25794 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
25795 size of the extents in a catalog file record.
25796
25797 2006-04-29 Marco Gerards <marco@gnu.org>
25798
25799 * commands/configfile.c (grub_cmd_configfile): Execute the
25800 configfile within its own context.
25801
25802 * include/grub/env.h (grub_env_context_open): New prototype.
25803 (grub_env_context_close): Likewise.
25804
25805 * kern/env.c (grub_env): Removed.
25806 (grub_env_sorted): Likewise.
25807 (grub_env_context): New variable.
25808 (grub_env_var_context): Likewise.
25809 (grub_env_find): Search both the active context and the global
25810 context.
25811 (grub_env_context_open): New function.
25812 (grub_env_context_close): Likewise.
25813 (grub_env_insert): Likewise.
25814 (grub_env_remove): Likewise.
25815 (grub_env_export): Likewise.
25816 (grub_env_set): Changed to use helper functions to avoid code
25817 duplication.
25818 (grub_env_iterate): Rewritten so both the current context and the
25819 global context are being used.
25820
25821 * normal/command.c (export_command): New function.
25822 (grub_command_init): Register the `export' function.
25823
25824 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
25825
25826 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
25827 explicitly to suppress gcc's warnings.
25828 * fs/fat.c (grub_fat_find_dir): Likewise.
25829 (grub_fat_label): Likewise.
25830 * fs/xfs.c (grub_xfs_read_inode): Likewise.
25831 (grub_xfs_mount): Likewise.
25832 (grub_xfs_label): Likewise.
25833 * fs/affs.c (grub_affs_mount): Likewise.
25834 (grub_affs_label): Likewise.
25835 (grub_affs_iterate_dir): Likewise.
25836 * fs/sfs.c (grub_sfs_mount): Likewise.
25837 (grub_sfs_iterate_dir): Likewise.
25838 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
25839 * fs/hfs.c (grub_hfs_mount): Likewise.
25840 (grub_hfs_cmp_catkeys): Likewise.
25841 (grub_hfs_find_dir): Likewise.
25842 (grub_hfs_dir): Likewise.
25843 (grub_hfs_label): Likewise.
25844 * fs/jfs.c (grub_jfs_mount): Likewise.
25845 (grub_jfs_opendir): Likewise.
25846 (grub_jfs_getent): Likewise.
25847 (grub_jfs_lookup_symlink): Likewise.
25848 (grub_jfs_label): Likewise.
25849 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
25850 (grub_hfsplus_iterate_dir): Likewise.
25851 (grub_hfsplus_btree_iterate_node): Made static.
25852
25853 * util/grub-emu.c (prefix): New variable.
25854 (grub_machine_set_prefix): New function.
25855 (main): Do not set the environment variable "prefix" here. Only
25856 set PREFIX, which is used later by grub_machine_set_prefix.
25857
25858 * include/grub/video.h: Do not include grub/symbol.h.
25859 (grub_video_register): Not exported. This symbol is not defined in
25860 the kernel.
25861 (grub_video_unregister): Likewise.
25862 (grub_video_iterate): Likewise.
25863 (grub_video_setup): Likewise.
25864 (grub_video_restore): Likewise.
25865 (grub_video_get_info): Likewise.
25866 (grub_video_get_blit_format): Likewise.
25867 (grub_video_set_palette): Likewise.
25868 (grub_video_get_palette): Likewise.
25869 (grub_video_set_viewport): Likewise.
25870 (grub_video_get_viewport): Likewise.
25871 (grub_video_map_color): Likewise.
25872 (grub_video_map_rgb): Likewise.
25873 (grub_video_map_rgba): Likewise.
25874 (grub_video_fill_rect): Likewise.
25875 (grub_video_blit_glyph): Likewise.
25876 (grub_video_blit_bitmap): Likewise.
25877 (grub_video_blit_render_target): Likewise.
25878 (grub_video_scroll): Likewise.
25879 (grub_video_swap_buffers): Likewise.
25880 (grub_video_create_render_target): Likewise.
25881 (grub_video_delete_render_target): Likewise.
25882 (grub_video_set_active_render_target): Likewise.
25883
25884 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
25885 Undefined.
25886 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
25887
25888 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
25889 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
25890 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
25891 instead of $(srcdir)/genkernsyms.sh.
25892
25893 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
25894 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
25895 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
25896 instead of $(srcdir)/genkernsyms.sh.
25897
25898 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
25899 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
25900 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
25901 instead of $(srcdir)/genkernsyms.sh.
25902
25903 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
25904 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
25905 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
25906 instead of $(srcdir)/genkernsyms.sh.
25907
25908 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
25909 genkernsyms.sh.
25910
25911 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
25912 genkernsyms.sh.
25913 (gensymlist.sh): New target.
25914 (genkernsyms.sh): Likewise.
25915
25916 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
25917 genkernsyms.sh.in and gensymlist.sh.in.
25918
25919 * genkernsyms.sh: Removed.
25920 * gensymlist.sh: Likewise.
25921
25922 * genkernsyms.sh.in: New file.
25923 * gensymlist.sh.in: Likewise.
25924
25925 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
25926
25927 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
25928 clobber "prefix", since we may have already set it manually.
25929
25930 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
25931
25932 * kern/misc.c (abort): New alias for grub_abort.
25933
25934 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
25935
25936 A new machine-specific function "grub_machine_set_prefix" is
25937 defined. This is called after loading modules, so that a prefix
25938 initialization can use modules. Also, this change adds an
25939 intensive debugging feature for the memory manager via the
25940 configure option "--enable-mm-debug".
25941
25942 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
25943 PART.LEN.
25944
25945 * kern/sparc64/ieee1275/init.c (abort): Removed.
25946 (grub_stop): Likewise.
25947 (grub_exit): New function.
25948 (grub_set_prefix): Renamed to ...
25949 (grub_machine_set_prefix): ... this.
25950 (grub_machine_init): Do not call grub_set_prefix.
25951
25952 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
25953 (grub_machine_set_prefix): ... this.
25954 (grub_machine_init): Do not call grub_set_prefix.
25955
25956 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
25957 (grub_machine_init): Do not set the prefix here.
25958
25959 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
25960
25961 * kern/efi/init.c: Include grub/mm.h.
25962 (grub_efi_set_prefix): New function.
25963
25964 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
25965 (grub_efi_get_filename): New function.
25966 (grub_print_device_path): Renamed to ...
25967 (grub_efi_print_device_path): ... this.
25968
25969 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
25970 [MM_DEBUG] (grub_realloc): Likewise.
25971 [MM_DEBUG] (grub_free): Likewise.
25972 [MM_DEBUG] (grub_memalign): Likewise.
25973 [MM_DEBUG] (grub_mm_debug): New variable.
25974 [MM_DEBUG] (grub_debug_malloc): New function.
25975 [MM_DEBUG] (grub_debug_free): New function.
25976 [MM_DEBUG] (grub_debug_realloc): New function.
25977 [MM_DEBUG] (grub_debug_memalign): New function.
25978
25979 * kern/misc.c (grub_abort): Print a newline to distinguish
25980 the message.
25981
25982 * kern/main.c (grub_main): Call grub_machine_set_prefix and
25983 grub_set_root_dev after loading modules. This is necessary when
25984 setting a prefix depends on modules.
25985
25986 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
25987 (grub_efi_print_device_path): ... this.
25988 (grub_efi_get_filename): New prototype.
25989 (grub_efi_set_prefix): Likewise.
25990
25991 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
25992 and grub/disk.h.
25993 (grub_efidisk_get_device_handle): New prototype.
25994 (grub_efidisk_get_device_name): Likewise.
25995
25996 * include/grub/mm.h: Include config.h.
25997 (MM_DEBUG): Removed.
25998 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
25999 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
26000 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
26001 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
26002 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
26003 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
26004 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
26005 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
26006 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
26007
26008 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
26009
26010 * disk/efi/efidisk.c: Include grub/partition.h.
26011 (iterate_child_devices): New function.
26012 (add_device): First, compare only last device path nodes, so that
26013 devices are sorted by the types.
26014 (grub_efidisk_get_device_handle): New function.
26015 (grub_efidisk_get_device_name): Likewise.
26016
26017 * configure.ac (--enable-mm-debug): New option to enable the
26018 memory manager debugging feature. This makes the binary much
26019 bigger, so is disabled by default.
26020
26021 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
26022
26023 Use grub_abort instead of grub_stop, and grub_exit must be
26024 define in each architecture now. Also, this change adds support
26025 for EFI disks.
26026
26027 * util/i386/pc/grub-probefs.c: Include grub/term.h.
26028 (grub_getkey): New function.
26029 (grub_term_get_current): Likewise.
26030
26031 * util/i386/pc/grub-setup.c: Include grub/term.h.
26032 (grub_getkey): New function.
26033 (grub_term_get_current): Likewise.
26034
26035 * util/misc.c (grub_stop): Renamed to ...
26036 (grub_exit): ... this.
26037
26038 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
26039 (grub_exit): ... this.
26040 (grub_machine_init): Use grub_abort instead of abort.
26041 (grub_stop): Removed.
26042
26043 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
26044 abort.
26045
26046 * kern/i386/pc/startup.S (grub_exit): New function.
26047 (cold_reboot): New label.
26048
26049 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
26050 (grub_efi_init): Call grub_efidisk_init.
26051 (grub_efi_fini): Call grub_efidisk_fini.
26052
26053 * kern/efi/efi.c: Include grub/mm.h.
26054 (grub_efi_console_control_guid): Renamed to ...
26055 (console_control_guid): ... this.
26056 (grub_efi_loaded_image_guid): Renamed to ...
26057 (loaded_image_guid): ... this.
26058 (grub_efi_locate_handle): New function.
26059 (grub_efi_open_protocol): Likewise.
26060 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
26061 GRUB_EFI_CONSOLE_CONTROL_GUID.
26062 (grub_efi_exit): Removed.
26063 (grub_stop): Likewise.
26064 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
26065 (grub_exit): New function.
26066 (grub_print_device_path): Likewise.
26067
26068 * kern/rescue.c (grub_rescue_cmd_exit): New function.
26069 (grub_enter_rescue_mode): Register "exit".
26070
26071 * kern/misc.c (grub_real_dprintf): A cosmetic change.
26072 (grub_abort): New function.
26073
26074 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
26075
26076 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
26077
26078 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
26079
26080 * include/grub/efi/efi.h (grub_efi_exit): Removed.
26081 (grub_print_device_path): New prototype.
26082 (grub_efi_locate_handle): Likewise.
26083 (grub_efi_open_protocol): Likewise.
26084
26085 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
26086 * disk/efi/efidisk.c: Likewise.
26087
26088 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
26089
26090 * include/grub/efi/console_control.h
26091 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
26092
26093 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
26094 last 8 bytes as an array.
26095 (GRUB_EFI_DISK_IO_GUID): New macro.
26096 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
26097 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
26098 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
26099 grub_uint8_t.
26100 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
26101 (struct grub_efi_device_path): Rename the member "sub_type" to
26102 "subtype".
26103 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
26104 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
26105 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
26106 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
26107 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
26108 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
26109 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
26110 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
26111 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
26112 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
26113 (struct grub_efi_pci_device_path): New structure.
26114 (grub_efi_pci_device_path_t): New type.
26115 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
26116 (struct grub_efi_pccard_device_path): New structure.
26117 (grub_efi_pccard_device_path_t): New type.
26118 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
26119 (struct grub_efi_memory_mapped_device_path): New structure.
26120 (grub_efi_memory_mapped_device_path_t): New type.
26121 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
26122 (struct grub_efi_vendor_device_path): New structure.
26123 (grub_efi_vendor_device_path_t): New type.
26124 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
26125 (struct grub_efi_controller_device_path): New structure.
26126 (grub_efi_controller_device_path_t): New type.
26127 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
26128 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
26129 (struct grub_efi_acpi_device_path): New structure.
26130 (grub_efi_acpi_device_path_t): New type.
26131 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
26132 (struct grub_efi_expanded_acpi_device_path): New structure.
26133 (grub_efi_expanded_acpi_device_path_t): New type.
26134 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
26135 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
26136 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
26137 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
26138 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
26139 (struct grub_efi_atapi_device_path): New structure.
26140 (grub_efi_atapi_device_path_t): New type.
26141 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
26142 (struct grub_efi_fibre_channel_device_path): New structure.
26143 (grub_efi_fibre_channel_device_path_t): New type.
26144 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
26145 (struct grub_efi_1394_device_path): New structure.
26146 (grub_efi_1394_device_path_t): New type.
26147 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
26148 (struct grub_efi_usb_device_path): New structure.
26149 (grub_efi_usb_device_path_t): New type.
26150 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
26151 (struct grub_efi_usb_class_device_path): New structure.
26152 (grub_efi_usb_class_device_path_t): New type.
26153 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
26154 (struct grub_efi_i2o_device_path): New structure.
26155 (grub_efi_i2o_device_path_t): New type.
26156 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
26157 (struct grub_efi_mac_address_device_path): New structure.
26158 (grub_efi_mac_address_device_path_t): New type.
26159 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
26160 (struct grub_efi_ipv4_device_path): New structure.
26161 (grub_efi_ipv4_device_path_t): New type.
26162 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
26163 (struct grub_efi_ipv6_device_path): New structure.
26164 (grub_efi_ipv6_device_path_t): New type.
26165 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
26166 (struct grub_efi_infiniband_device_path): New structure.
26167 (grub_efi_infiniband_device_path_t): New type.
26168 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
26169 (struct grub_efi_uart_device_path): New structure.
26170 (grub_efi_uart_device_path_t): New type.
26171 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
26172 (struct grub_efi_vendor_messaging_device_path): New structure.
26173 (grub_efi_vendor_messaging_device_path_t): New type.
26174 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
26175 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
26176 (struct grub_efi_hard_drive_device_path): New structure.
26177 (grub_efi_hard_drive_device_path_t): New type.
26178 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
26179 (struct grub_efi_cdrom_device_path): New structure.
26180 (grub_efi_cdrom_device_path_t): New type.
26181 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
26182 (struct grub_efi_vendor_media_device_path): New structure.
26183 (grub_efi_vendor_media_device_path_t): New type.
26184 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
26185 (struct grub_efi_file_path_device_path): New structure.
26186 (grub_efi_file_path_device_path_t): New type.
26187 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
26188 (struct grub_efi_protocol_device_path): New structure.
26189 (grub_efi_protocol_device_path_t): New type.
26190 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
26191 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
26192 (struct grub_efi_bios_device_path): New structure.
26193 (grub_efi_bios_device_path_t): New type.
26194 (struct grub_efi_disk_io): New structure.
26195 (grub_efi_disk_io_t): New type.
26196 (struct grub_efi_block_io_media): New structure.
26197 (grub_efi_block_io_media_t): New type.
26198 (struct grub_efi_block_io): New structure.
26199 (grub_efi_block_io_t): New type.
26200
26201 * include/grub/misc.h (grub_stop): Removed.
26202 (grub_exit): New prototype.
26203 (grub_abort): Likewise.
26204
26205 * include/grub/disk.h (enum grub_disk_dev_id): Added
26206 GRUB_DISK_DEVICE_EFIDISK_ID.
26207
26208 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
26209 disk/efi/efidisk.c.
26210 (kernel_syms.lst): Remove the target if an error occurs.
26211
26212 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
26213
26214 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
26215 as it was simply too buggy.
26216
26217 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
26218
26219 * kern/misc.c (grub_lltoa): New function.
26220 (grub_vsprintf): Added support for the long long suffix,
26221 i.e. "ll".
26222
26223 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
26224
26225 * Makefile.in (LDFLAGS): Add variable.
26226 (LD): Remove variable.
26227 * configure.ac: Add -m32 to LDFLAGS.
26228 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
26229 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
26230 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
26231 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
26232 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
26233 variables.
26234 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
26235 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
26236 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
26237
26238 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
26239
26240 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
26241 length for unknown glyph.
26242
26243 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
26244
26245 Add support for pre-loaded modules into the EFI port.
26246
26247 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
26248 completely. Accept one more argument DIR. The caller has changed.
26249
26250 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
26251
26252 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
26253 (grub_efi_loaded_image_guid): New variable.
26254 (grub_efi_get_loaded_image): New function.
26255 (grub_arch_modules_addr): Likewise.
26256
26257 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
26258 prototype.
26259
26260 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
26261 (struct grub_efi_loaded_image): New structure.
26262 (grub_efi_loaded_image_t): New type.
26263
26264 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
26265
26266 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
26267 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
26268 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
26269
26270 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
26271
26272 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
26273
26274 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
26275
26276 * DISTLIST: Added include/grub/efi/console.h,
26277 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
26278 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
26279
26280 * include/grub/efi/console.h: New file.
26281 * include/grub/efi/time.h: Likewise.
26282 * include/grub/i386/efi/kernel.h: Likewise.
26283 * kern/efi/init.c: Likewise.
26284 * kern/efi/mm.c: Likewise.
26285 * term/efi/console.c: Likewise.
26286
26287 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
26288 (grub_stop): Removed.
26289 (grub_get_rtc): Likewise.
26290 (grub_machine_init): Simply call grub_efi_init.
26291 (grub_machine_fini): Call grub_efi_fini.
26292
26293 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
26294 (grub_efi_output_string): Removed.
26295 (grub_efi_stall): New function.
26296 (grub_stop): Likewise.
26297 (grub_get_rtc): Likewise.
26298
26299 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
26300 (grub_efi_stall): New prototype.
26301 (grub_efi_allocate_pages): Likewise.
26302 (grub_efi_free_pages): Likewise.
26303 (grub_efi_get_memory_map): Likewise.
26304 (grub_efi_mm_init): Likewise.
26305 (grub_efi_mm_fini): Likewise.
26306 (grub_efi_init): Likewise.
26307 (grub_efi_fini): Likewise.
26308
26309 * include/grub/i386/efi/time.h: Do not include
26310 grub/symbol.h. Include grub/efi/time.h.
26311 (GRUB_TICKS_PER_SECOND): Removed.
26312 (grub_get_rtc): Likewise.
26313
26314 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
26315 Added padding. The EFI spec is buggy.
26316 (GRUB_EFI_BLACK): New macro.
26317 (GRUB_EFI_BLUE): Likewise.
26318 (GRUB_EFI_GREEN): Likewise.
26319 (GRUB_EFI_CYAN): Likewise.
26320 (GRUB_EFI_RED): Likewise.
26321 (GRUB_EFI_MAGENTA): Likewise.
26322 (GRUB_EFI_BROWN): Likewise.
26323 (GRUB_EFI_LIGHTGRAY): Likewise.
26324 (GRUB_EFI_BRIGHT): Likewise.
26325 (GRUB_EFI_DARKGRAY): Likewise.
26326 (GRUB_EFI_LIGHTBLUE): Likewise.
26327 (GRUB_EFI_LIGHTGREEN): Likewise.
26328 (GRUB_EFI_LIGHTCYAN): Likewise.
26329 (GRUB_EFI_LIGHTRED): Likewise.
26330 (GRUB_EFI_LIGHTMAGENTA): Likewise.
26331 (GRUB_EFI_YELLOW): Likewise.
26332 (GRUB_EFI_WHITE): Likewise.
26333 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
26334 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
26335 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
26336 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
26337 (GRUB_EFI_BACKGROUND_RED): Likewise.
26338 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
26339 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
26340 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
26341 (GRUB_EFI_TEXT_ATTR): Likewise.
26342
26343 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
26344 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
26345 (kernel_mod_HEADERS): Added efi/time.h.
26346
26347 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
26348
26349 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
26350 include/grub/efi/api.h, include/grub/efi/console_control.h,
26351 include/grub/efi/efi.h, include/grub/efi/pe32.h,
26352 include/grub/i386/efi/time.h, kern/efi/efi.c,
26353 kern/i386/efi/init.c, kern/i386/efi/startup.S,
26354 and util/i386/efi/grub-mkimage.c.
26355
26356 * Makefile.in (RMKFILES): Added i386-efi.rmk.
26357
26358 * genmk.rb (PModule#rule): Do not export symbols if
26359 #{prefix}_EXPORTS is set to "no".
26360
26361 * conf/i386-efi.mk: New file.
26362 * conf/i386-efi.rmk: Likewise.
26363 * include/grub/efi/api.h: Likewise.
26364 * include/grub/efi/console_control.h: Likewise.
26365 * include/grub/efi/efi.h: Likewise.
26366 * include/grub/efi/pe32.h: Likewise.
26367 * include/grub/i386/efi/time.h: Likewise.
26368 * kern/efi/efi.c: Likewise.
26369 * kern/i386/efi/init.c: Likewise.
26370 * kern/i386/efi/startup.S: Likewise.
26371 * util/i386/efi/grub-mkimage.c: Likewise.
26372
26373 2006-04-17 Marco Gerards <marco@gnu.org>
26374
26375 * include/grub/script.h: Include <grub/parser.h> and
26376 "grub_script.tab.h".
26377 (struct grub_lexer_param): New struct.
26378 (struct grub_parser_param): Likewise.
26379 (grub_script_create_arglist): Pass the state in an argument.
26380 (grub_script_add_arglist): Likewise.
26381 (grub_script_create_cmdline): Likewise.
26382 (grub_script_create_cmdblock): Likewise.
26383 (grub_script_create_cmdif): Likewise.
26384 (grub_script_create_cmdmenu): Likewise.
26385 (grub_script_add_cmd): Likewise.
26386 (grub_script_arg_add): Likewise.
26387 (grub_script_lexer_ref): Likewise.
26388 (grub_script_lexer_deref): Likewise.
26389 (grub_script_lexer_record_start): Likewise.
26390 (grub_script_lexer_record_stop): Likewise.
26391 (grub_script_mem_record): Likewise.
26392 (grub_script_mem_record_stop): Likewise.
26393 (grub_script_malloc): Likewise.
26394 (grub_script_yylex): Likewise.
26395 (grub_script_yyparse): Likewise.
26396 (grub_script_yyerror): Likewise.
26397 (grub_script_yylex): Likewise.
26398 (grub_script_lexer_init): Return the state.
26399
26400 * normal/lexer.c (grub_script_lexer_state): Removed variable.
26401 (grub_script_lexer_done): Likewise.
26402 (grub_script_lexer_getline): Likewise.
26403 (grub_script_lexer_refs): Likewise.
26404 (script): Likewise.
26405 (newscript): Likewise.
26406 (record): Likewise.
26407 (recording): Likewise.
26408 (recordpos): Likewise.
26409 (recordlen): Likewise.
26410 (grub_script_lexer_init): Return the state instead of setting
26411 global variables.
26412 (grub_script_lexer_ref): Use the newly added argument for state
26413 instead of globals.
26414 (grub_script_lexer_deref): Likewise.
26415 (grub_script_lexer_record_start): Likewise.
26416 (grub_script_lexer_record_stop): Likewise.
26417 (recordchar): Likewise.
26418 (nextchar): Likewise.
26419 (grub_script_yylex2): Likewise.
26420 (grub_script_yylex): Likewise.
26421 (grub_script_yyerror): Likewise.
26422
26423 * normal/parser.y (func_mem): Removed variable.
26424 (menu_entry): Likewise.
26425 (err): Likewise.
26426 (%lex-param): New parser option.
26427 (%parse-param): Likewise.
26428 (script): Always return the AST.
26429 (argument): Pass the state around.
26430 (arguments): Likewise.
26431 (grubcmd): Likewise.
26432 (commands): Likewise.
26433 (function): Likewise.
26434 (menuentry): Likewise.
26435 (if_statement): Likewise.
26436 (if): Likewise.
26437
26438 * normal/script.c (grub_script_memused): Removed variable.
26439 (grub_script_parsed): Likewise.
26440 (grub_script_malloc): Added a state argument. Use that instead of
26441 global variables.
26442 (grub_script_mem_record): Likewise.
26443 (grub_script_mem_record_stop): Likewise.
26444 (grub_script_arg_add): Likewise.
26445 (grub_script_add_arglist): Likewise.
26446 (grub_script_create_cmdline): Likewise.
26447 (grub_script_create_cmdif): Likewise.
26448 (grub_script_create_cmdmenu): Likewise.
26449 (grub_script_add_cmd): Likewise.
26450 (grub_script_parse): Setup the state before calling the parser.
26451
26452 2006-04-16 Marco Gerards <marco@gnu.org>
26453
26454 * normal/command.c (grub_command_init): Remove the title command.
26455
26456 * normal/lexer.c (grub_script_yylex): Renamed from this...
26457 (grub_script_yylex2): ... to this.
26458 (grub_script_yylex): New function. Temporary
26459 introduced to filter some tokens.
26460 (grub_script_yyerror): Print a newline.
26461
26462 * normal/main.c (read_config_file): Output information about the
26463 lines that contain errors. Wait for a key after all lines have
26464 been processed. Don't return an empty menu.
26465
26466 * normal/parser.y (func_mem): Don't initialize.
26467 (menu_entry): Likewise.
26468 (err): New variable.
26469 (script): Don't return anything when an error was encountered.
26470 (ws, returns): Removed rules.
26471 (argument): Disabled concatenated variable support.
26472 (arguments): Remove explicit separators.
26473 (grubcmd): Likewise.
26474 (function): Likewise.
26475 (menuentry): Likewise.
26476 (if): Likewise.
26477 (commands): Likewise. Add error handling.
26478
26479 * normal/script.c (grub_script_create_cmdline): If
26480 `grub_script_parsed' is 0, assume the parser encountered an error.
26481
26482 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
26483
26484 * configure.ac: Add support for EFI. Fix the typo
26485 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
26486
26487 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
26488
26489 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
26490 foreign multibyte characters should be shown correctly.
26491
26492 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
26493
26494 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
26495 calculation.
26496 (read_config_file): Made it to close file before returning.
26497
26498 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
26499
26500 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
26501 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
26502 video/i386/pc/vbefill.c.
26503
26504 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
26505 video/i386/pc/vbefill.c.
26506
26507 * include/grub/video.h (grub_video_blit_format): New enum.
26508 (grub_video_mode_info): Added new member blit_format.
26509 (grub_video_get_blit_format): New function prototype.
26510
26511 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
26512 function prototype.
26513 (grub_video_vbe_map_rgb): Likewise.
26514 (grub_video_vbe_unmap_color): Likewise.
26515
26516 * include/grub/i386/pc/vbeblit.h: New file.
26517
26518 * include/grub/i386/pc/vbefill.h: New file.
26519
26520 * video/video.c (grub_video_get_blit_format): New function.
26521 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
26522 (grub_video_vbe_map_rgb): Likewise.
26523 (grub_video_vbe_unmap_color): Likewise.
26524
26525 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
26526 optimized fills.
26527 (grub_video_vbe_blit_render_target): Changed to use more optimized
26528 blits.
26529 (grub_video_vbe_setup): Added detection for optimized settings.
26530 (grub_video_vbe_create_render_target): Likewise.
26531
26532 * video/i386/pc/vbeblit.c: New file.
26533
26534 * video/i386/pc/vbefill.c: New file.
26535
26536 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
26537
26538 * font/manager.c (grub_font_get_glyph): Removed font fixup from
26539 here...
26540
26541 * util/unifont2pff.rb: ... and moved it to here. Improved argument
26542 parsing to support both hex and dec ranges. If filename was missing
26543 show usage information.
26544
26545 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
26546
26547 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
26548 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
26549
26550 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
26551 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
26552 (video_mod_SOURCES): Added.
26553 (video_mod_CFLAGS): Likewise.
26554 (video_mod_LDFLAGS): Likewise.
26555 (gfxterm_mod_SOURCES): Likewise.
26556 (gfxterm_mod_CFLAGS): Likewise.
26557 (gfxterm_mod_LDFLAGS): Likewise.
26558 (videotest_mod_SOURCES): Likewise.
26559 (videotest_mod_CFLAGS): Likewise.
26560 (videotest_mod_LDFLAGS): Likewise.
26561 (vesafb_mod_SOURCES): Removed.
26562 (vesafb_mod_CFLAGS): Likewise.
26563 (vesafb_mod_LDFLAGS): Likewise.
26564 (vga_mod_SOURCES): Likewise.
26565 (vga_mod_CFLAGS): Likewise.
26566 (vga_mod_LDFLAGS): Likewise.
26567
26568 * commands/videotest.c: New file.
26569
26570 * font/manager.c (fill_with_default_glyph): Modified to use
26571 grub_font_glyph.
26572 (grub_font_get_glyph): Likewise.
26573 (fontmanager): Renamed from this...
26574 (font_manager): ... to this.
26575
26576 * include/grub/font.h (grub_font_glyph): Added new structure.
26577 (grub_font_get_glyph): Modified to use grub_font_glyph.
26578
26579 * include/grub/misc.h (grub_abs): Added as inline function.
26580
26581 * include/grub/video.h: New file.
26582
26583 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
26584 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
26585 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
26586 (grub_vbe_get_controller_info): Renamed from this...
26587 (grub_vbe_bios_get_controller_info): ... to this.
26588 (grub_vbe_get_mode_info): Renamed from this...
26589 (grub_vbe_bios_get_mode_info): ... to this.
26590 (grub_vbe_set_mode): Renamed from this...
26591 (grub_vbe_bios_set_mode): ... to this.
26592 (grub_vbe_get_mode): Renamed from this...
26593 (grub_vbe_bios_get_mode): ... to this.
26594 (grub_vbe_set_memory_window): Renamed from this...
26595 (grub_vbe_bios_set_memory_window): ... to this.
26596 (grub_vbe_get_memory_window): Renamed from this...
26597 (grub_vbe_bios_get_memory_window): ... to this.
26598 (grub_vbe_set_scanline_length): Renamed from this...
26599 (grub_vbe_set_scanline_length): ... to this.
26600 (grub_vbe_get_scanline_length): Renamed from this...
26601 (grub_vbe_bios_get_scanline_length): ... to this.
26602 (grub_vbe_set_display_start): Renamed from this...
26603 (grub_vbe_bios_set_display_start): ... to this.
26604 (grub_vbe_get_display_start): Renamed from this...
26605 (grub_vbe_bios_get_display_start): ... to this.
26606 (grub_vbe_set_palette_data): Renamed from this...
26607 (grub_vbe_bios_set_palette_data): ... to this.
26608 (grub_vbe_set_pixel_rgb): Removed.
26609 (grub_vbe_set_pixel_index): Likewise.
26610
26611 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
26612 from this...
26613 (grub_vbe_bios_get_controller_info): ... to this.
26614 (grub_vbe_get_mode_info): Renamed from this...
26615 (grub_vbe_bios_get_mode_info): ... to this.
26616 (grub_vbe_set_mode): Renamed from this...
26617 (grub_vbe_bios_set_mode): ... to this.
26618 (grub_vbe_get_mode): Renamed from this...
26619 (grub_vbe_bios_get_mode): ... to this.
26620 (grub_vbe_set_memory_window): Renamed from this...
26621 (grub_vbe_bios_set_memory_window): ... to this.
26622 (grub_vbe_get_memory_window): Renamed from this...
26623 (grub_vbe_bios_get_memory_window): ... to this.
26624 (grub_vbe_set_scanline_length): Renamed from this...
26625 (grub_vbe_set_scanline_length): ... to this.
26626 (grub_vbe_get_scanline_length): Renamed from this...
26627 (grub_vbe_bios_get_scanline_length): ... to this.
26628 (grub_vbe_set_display_start): Renamed from this...
26629 (grub_vbe_bios_set_display_start): ... to this.
26630 (grub_vbe_get_display_start): Renamed from this...
26631 (grub_vbe_bios_get_display_start): ... to this.
26632 (grub_vbe_set_palette_data): Renamed from this...
26633 (grub_vbe_bios_set_palette_data): ... to this.
26634 (grub_vbe_bios_get_controller_info): Fixed problem with registers
26635 getting corrupted after calling it. Added more pushes and pops.
26636 (grub_vbe_bios_set_mode): Likewise.
26637 (grub_vbe_bios_get_mode): Likewise.
26638 (grub_vbe_bios_get_memory_window): Likewise.
26639 (grub_vbe_bios_set_scanline_length): Likewise.
26640 (grub_vbe_bios_get_scanline_length): Likewise.
26641 (grub_vbe_bios_get_display_start): Likewise.
26642 (grub_vbe_bios_set_palette_data): Likewise.
26643
26644 * normal/cmdline.c (cl_set_pos): Refresh the screen.
26645 (cl_insert): Likewise.
26646 (cl_delete): Likewise.
26647
26648 * term/gfxterm.c: New file.
26649
26650 * term/i386/pc/vesafb.c: Removed file.
26651
26652 * video/video.c: New file.
26653
26654 * video/i386/pc/vbe.c (real2pm): Added new function.
26655 (grub_video_vbe_draw_pixel): Likewise.
26656 (grub_video_vbe_get_video_ptr): Likewise.
26657 (grub_video_vbe_get_pixel): Likewise
26658 (grub_video_vbe_init): Likewise.
26659 (grub_video_vbe_fini): Likewise.
26660 (grub_video_vbe_setup): Likewise.
26661 (grub_video_vbe_get_info): Likewise.
26662 (grub_video_vbe_set_palette): Likewise.
26663 (grub_video_vbe_get_palette): Likewise.
26664 (grub_video_vbe_set_viewport): Likewise.
26665 (grub_video_vbe_get_viewport): Likewise.
26666 (grub_video_vbe_map_color): Likewise.
26667 (grub_video_vbe_map_rgb): Likewise.
26668 (grub_video_vbe_map_rgba): Likewise.
26669 (grub_video_vbe_unmap_color): Likewise.
26670 (grub_video_vbe_fill_rect): Likewise.
26671 (grub_video_vbe_blit_glyph): Likewise.
26672 (grub_video_vbe_blit_bitmap): Likewise.
26673 (grub_video_vbe_blit_render_target): Likewise.
26674 (grub_video_vbe_scroll): Likewise.
26675 (grub_video_vbe_swap_buffers): Likewise.
26676 (grub_video_vbe_create_render_target): Likewise.
26677 (grub_video_vbe_delete_render_target): Likewise.
26678 (grub_video_vbe_set_active_render_target): Likewise.
26679 (grub_vbe_set_pixel_rgb): Remove function.
26680 (grub_vbe_set_pixel_index): Likewise.
26681 (index_color_mode): Remove static variable.
26682 (active_mode): Likewise.
26683 (framebuffer): Likewise.
26684 (bytes_per_scan_line): Likewise.
26685 (grub_video_vbe_adapter): Added new static variable.
26686 (framebuffer): Likewise.
26687 (render_target): Likewise.
26688 (initial_mode): Likewise.
26689 (mode_in_use): Likewise.
26690 (mode_list): Likewise.
26691
26692 2006-03-10 Marco Gerards <marco@gnu.org>
26693
26694 * configure.ac (AC_INIT): Bumped to 1.93.
26695
26696 * DISTLIST: Added `include/grub/hfs.h'.
26697
26698 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
26699
26700 * boot/i386/pc/boot.S (general_error): Before looping, try INT
26701 18H, which might help the BIOS falling back to next boot media.
26702
26703 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
26704
26705 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
26706 Poe Chen <poe.poechen@gmail.com>.
26707
26708 2006-01-17 Marco Gerards <marco@gnu.org>
26709
26710 * include/grub/normal.h: Include <grub/script.h>.
26711 (grub_command_list): Removed struct.
26712 (grub_command_list_t): Removed type.
26713 (grub_menu_entry): Remove members `num' and `command_list'. Add
26714 members `commands' and `sourcecode'.
26715 * include/grub/script.h: Add inclusion guards.
26716 (grub_script_cmd_menuentry): New struct.
26717 (grub_script_execute_menuentry): New prototype.
26718 (grub_script_lexer_record_start): Likewise.
26719 (grub_script_lexer_record_stop): Likewise.
26720 * normal/execute.c (grub_script_execute_menuentry): New function.
26721 * normal/lexer.c (record, recording, recordpos, recordlen): New
26722 variables.
26723 (grub_script_lexer_record_start): New function.
26724 (grub_script_lexer_record_stop): Likewise.
26725 (recordchar): Likewise.
26726 (nextchar): Likewise.
26727 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
26728 2048 as the buffer size. Add the tokens `menuentry' and `@'.
26729 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
26730 (current_menu): New variable.
26731 (free_menu): Mainly rewritten.
26732 (grub_normal_menu_addentry): New function.
26733 (read_config_file): Rewritten.
26734 * normal/menu.c (run_menu_entry): Mainly rewritten.
26735 * normal/menu_entry.c (make_screen): Rewritten the code to insert
26736 the menu entry.
26737 (run): Mainly rewritten.
26738 * normal/parser.y (menu_entry): New variable.
26739 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
26740 (menuentry): New rule.
26741 (command): Add `menuentry'.
26742 (if_statement): Allow additional returns before `fi'.
26743 * normal/script.c (grub_script_create_cmdmenu): New function.
26744
26745 2006-01-03 Marco Gerards <marco@gnu.org>
26746
26747 * INSTALL: GNU Bison is required.
26748 * configure.ac: Rewritten the test to detect Bison.
26749 * Makefile.in (YACC): New variable. Reported by Xun Sun
26750 <xun.sun.cn@gmail.com>.
26751
26752 2006-01-03 Marco Gerards <marco@gnu.org>
26753
26754 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
26755 the HFS+ filesystem to filesystem blocks.
26756 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
26757 GCC warning is silenced.
26758
26759 2006-01-03 Marco Gerards <marco@gnu.org>
26760
26761 * partmap/apple.c (apple_partition_map_iterate): Convert the data
26762 read from disk from big endian to host byte order.
26763
26764 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
26765
26766 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
26767 documentation.
26768 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
26769 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
26770 embedded HFS+ filesystem.
26771 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
26772 (grub_hfs_sblock): Move from here...
26773 * include/grub/hfs.h: To here... New file.
26774 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
26775 documentation.
26776 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
26777 New macros.
26778 (grub_hfsplus_volheader): Change type of member `magic' to
26779 `grub_uint16_t'.
26780 (grub_hfsplus_data): Add new member `embedded_offset'.
26781 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
26782 returned block.
26783 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
26784 Calculate the offset.
26785
26786 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26787
26788 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
26789 Removed.
26790 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
26791
26792 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26793
26794 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
26795 ENV->NAME is NULL after allocating ENV->VALUE.
26796
26797 2005-12-25 Marco Gerards <marco@gnu.org>
26798
26799 * kern/env.c (grub_env_set): Rewritten the error handling code.
26800
26801 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26802
26803 * geninit.sh: Made more robust, and more portable.
26804
26805 2005-12-25 Marco Gerards <marco@gnu.org>
26806
26807 Add support for Apple HFS+ filesystems.
26808
26809 * fs/hfsplus.c: New file.
26810
26811 * DISTLIST: Added `fs/hfsplus.c'.
26812
26813 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
26814 (hfsplus_mod_SOURCES): New variable.
26815 (hfsplus_mod_CFLAGS): Likewise.
26816 (hfsplus_mod_LDFLAGS): Likewise.
26817 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
26818 (grub_setup_SOURCES): Likewise.
26819 (grub_mkdevicemap_SOURCES): Likewise.
26820 (grub_emu_SOURCES): Likewise.
26821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26822
26823 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
26824
26825 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
26826
26827 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26828
26829 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
26830 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
26831 include/grub/parser.h, include/grub/script.h, kern/parser.c,
26832 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
26833 normal/lexer.c, normal/parser.y, normal/script.c, and
26834 partmap/gpt.c.
26835 Removed kern/sparc64/cache.c.
26836
26837 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
26838 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
26839 grub_emu_init.c.
26840
26841 * configure.ac (AC_INIT): Bumped to 1.92.
26842
26843 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
26844
26845 * kern/err.c (grub_error_push): Added new function to support error
26846 stacks.
26847 (grub_error_pop): Likewise.
26848 (grub_error_stack_items): New local variable to support error stacks.
26849 (grub_error_stack_pos): Likewise.
26850 (grub_error_stack_assert): Likewise.
26851 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
26852 stack depth.
26853 (grub_print_error): Added support to print errors from error stack.
26854
26855 * include/grub/err.h (grub_error_push): Added function prototype.
26856 (grub_error_pop): Likewise.
26857
26858 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
26859
26860 * configure.ac: Accept `powerpc64' as host_cpu.
26861 (amd64): Rename to `biarch32'.
26862
26863 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
26864 non-cacheline-aligned addresses.
26865
26866 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
26867 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
26868 if `size' is non-zero.
26869
26870 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
26871
26872 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
26873 and `cd' to make sure the filename is not prefixed with a
26874 directory name.
26875 (pkgdata_MODULES): Add `gpt.mod'.
26876 (gpt_mod_SOURCES): New variable.
26877 (gpt_mod_CFLAGS): Likewise.
26878 (gpt_mod_LDFLAGS): Likewise.
26879
26880 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
26881
26882 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
26883 New macro.
26884
26885 * partmap/gpt.c: New file.
26886
26887 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
26888 GPT partition map is detected.
26889
26890 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
26891
26892 * commands/i386/pc/play.c: New file.
26893 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
26894 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
26895 macros.
26896
26897 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
26898
26899 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
26900 ((unused))' to silence gcc warning.
26901
26902 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
26903
26904 * configure.ac: Correct `AC_PROG_YACC' test.
26905
26906 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26907
26908 * util/powerpc/ieee1275/grub-install.in: Run the mount point
26909 check before installing files.
26910
26911 2005-11-22 Mike Small <smallm@panix.com>
26912
26913 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
26914 number regex so multidigit numbers are recognized correctly.
26915
26916 2005-11-22 Mike Small <smallm@panix.com>
26917
26918 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
26919 debugging message before attempting to claim memory.
26920 (grub_rescue_cmd_initrd): Add a claim debugging message and try
26921 multiple addresses in case of failure.
26922
26923 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26924
26925 * term/tparm.c (get_space): Remove empty `if' statement.
26926
26927 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
26928
26929 * kern/parser.c (check_varstate): Rename `state' to 's'.
26930
26931 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26932
26933 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
26934 variable definitions to the beginning of each function. Sort stack
26935 variables by size.
26936 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
26937 `buf' argument to `char *'.
26938
26939 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26940
26941 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
26942 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
26943 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
26944 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
26945 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
26946 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
26947 configfile.mod, search.mod, gzio.mod and test.mod.
26948 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
26949 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
26950 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
26951 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
26952 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
26953 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
26954 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
26955 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
26956 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
26957 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
26958 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
26959 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
26960 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
26961 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
26962 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
26963 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
26964 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26965 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
26966 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
26967 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
26968 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
26969 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
26970 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
26971
26972 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
26973 `grep --include'.
26974 (pkgdata_MODULES): Add test.mod.
26975
26976 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26977
26978 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
26979 appending to variables with "+=".
26980 (PModule): Use full pathname to generate *.lst filenames.
26981
26982 * Makefile.in: Fixed list rules moved from genmk.rb.
26983 (.DELETE_ON_ERROR): New special target.
26984 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
26985
26986 * conf/i386-pc.rmk: Include conf/common.mk.
26987 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
26988 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
26989 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
26990 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
26991 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
26992 configfile.mod, search.mod, gzio.mod and test.mod.
26993 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
26994 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
26995 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
26996 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
26997 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
26998 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
26999 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
27000 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
27001 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
27002 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
27003 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
27004 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
27005 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
27006 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
27007 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
27008 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
27009 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
27010 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
27011 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
27012 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
27013 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
27014 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
27015 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
27016 here...
27017 * conf/common.rmk: ... to here. New file.
27018
27019 * conf/common.mk: New file.
27020
27021 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
27022
27023 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
27024 (grub_script.tab.c): ... here.
27025
27026 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
27027 (grub_script.tab.c): ... here.
27028
27029 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
27030 (grub_script.tab.c): ... here.
27031
27032 * normal/command.c (grub_command_find): Fixed a memory leak of
27033 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
27034
27035 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27036
27037 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
27038 "@" which marks the start of a comment on ARM.
27039 (VARIABLE): Likewise.
27040
27041 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27042
27043 Add support for Linux/ADFS partition tables.
27044
27045 * partmap/acorn.c: New file.
27046
27047 * include/grub/acorn_filecore.h: Likewise.
27048
27049 * DISTLIST: Added `partmap/acorn.c' and
27050 `include/grub/acorn_filecore.h'.
27051
27052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27053 `partmap/acorn.c'.
27054 (pkgdata_MODULES): Add `acorn.mod'.
27055 (acorn_mod_SOURCES): New variable.
27056 (acorn_mod_CFLAGS): Likewise.
27057
27058 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
27059 `partmap/acorn.c'.
27060 (pkgdata_MODULES): Add `acorn.mod'.
27061 (acorn_mod_SOURCES): New variable.
27062 (acorn_mod_CFLAGS): Likewise.
27063
27064 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
27065 (pkgdata_MODULES): Add `acorn.mod'.
27066 (acorn_mod_SOURCES): New variable.
27067 (acorn_mod_CFLAGS): Likewise.
27068 (acorn_mod_LDFLAGS): Likewise.
27069
27070 * include/types.h (grub_disk_addr_t): New typedef.
27071
27072 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
27073
27074 * geninit.sh: New file.
27075
27076 * geninitheader.sh: Likewise.
27077
27078 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
27079 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
27080 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
27081 * commands/configfile.c (grub_configfile_init)
27082 (grub_configfile_fini): Likewise.
27083 * commands/default.c (grub_default_init, grub_default_fini):
27084 Likewise.
27085 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
27086 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
27087 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
27088 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
27089 Likewise.
27090 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
27091 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
27092 Likewise.
27093 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
27094 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
27095 Likewise.
27096 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
27097 Likewise.
27098 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
27099 Likewise.
27100 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
27101 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
27102 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
27103 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
27104 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
27105 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
27106 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
27107 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
27108 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
27109 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
27110 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
27111 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
27112 * partmap/amiga.c (grub_amiga_partition_map_init)
27113 (grub_amiga_partition_map_fini): Likewise.
27114 * partmap/apple.c (grub_apple_partition_map_init)
27115 (grub_apple_partition_map_fini): Likewise.
27116 * partmap/pc.c (grub_pc_partition_map_init)
27117 (grub_pc_partition_map_fini): Likewise.
27118 * partmap/sun.c (grub_sun_partition_map_init,
27119 grub_sun_partition_map_fini): Likewise.
27120 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
27121 Likewise.
27122
27123 * util/grub-emu.c: Include <grub_modules_init.h>.
27124 (main): Don't initialize and de-initialize any modules directly,
27125 use `grub_init_all' and `grub_fini_all' instead.
27126
27127 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
27128 `grub_vesafb_mod_init'.
27129 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
27130 all users.
27131 * term/i386/pc/vga.c (grub_vga_init): Renamed to
27132 `grub_vga_mod_init'. Updated all users.
27133 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
27134
27135 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
27136 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
27137 rules.
27138
27139 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
27140 Generate a function to initialize the module in utilities.
27141 Updated all callers.
27142 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
27143 initialize the module in utilities. Updated all callers.
27144
27145 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
27146
27147 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
27148 escape sequence and a literal ^L to clear the screen.
27149
27150 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
27151 when returning from Open Firmware.
27152
27153 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
27154
27155 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
27156 (grub_ofconsole_height): Likewise.
27157 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
27158 manually insert a '\n'.
27159 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
27160 `grub_ofconsole_height'. Return early if these are already set.
27161
27162 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
27163
27164 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
27165 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
27166 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
27167 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
27168 and `normal/script.c'.
27169 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
27170 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27171 (test_mod_SOURCES): New variable.
27172 (test_mod_CFLAGS): Likewise.
27173 (test_mod_LDFLAGS): Likewise.
27174 (pkgdata_MODULES): Add `test.mod'.
27175 (grub_script.tab.c): New rule.
27176 (grub_script.tab.h): Likewise.
27177
27178 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
27179
27180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27181 `commands/test.c', `normal/execute.c', `normal/lexer.c',
27182 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27183 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
27184 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27185 (test_mod_SOURCES): New variable.
27186 (test_mod_CFLAGS): Likewise.
27187 (pkgdata_MODULES): Add `test.mod'.
27188 (grub_script.tab.c): New rule.
27189 (grub_script.tab.h): Likewise.
27190
27191 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
27192
27193 Add initial scripting support.
27194
27195 * commands/test.c: New file.
27196 * include/grub/script.h: Likewise.
27197 * normal/execute.c: Likewise.
27198 * normal/function.c: Likewise.
27199 * normal/lexer.c: Likewise.
27200 * normal/parser.y: Likewise.
27201 * normal/script.c: Likewise.
27202
27203 * configure.ac: Add `AC_PROG_YACC' test.
27204
27205 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
27206 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
27207 `normal/function.c' and `normal/script.c'.
27208 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
27209 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
27210 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
27211 variables.
27212 (pkgdata_MODULES): Add `test.mod'.
27213 (grub_script.tab.c): New rule.
27214 (grub_script.tab.h): Likewise.
27215
27216 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
27217
27218 * include/grub/normal.h (grub_test_init): New prototype.
27219 (grub_test_fini): Likewise.
27220
27221 * normal/command.c: Include <grub/script.h>.
27222 (grub_command_execute): Rewritten.
27223
27224 * util/grub-emu.c (main): Call `grub_test_init' and
27225 `grub_test_fini'.
27226
27227 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27228
27229 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
27230 to 0.
27231 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
27232 there are no pending characters.
27233
27234 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27235
27236 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
27237 `grub_strndup' to drop device arguments. Replace unnecessary
27238 `grub_strndup' with `grub_strdup'.
27239
27240 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27241
27242 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
27243 `debug' environment variable has been set.
27244
27245 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
27246
27247 * Makefile.in (install-local): Use $(DATA).
27248 (uninstall): Likewise.
27249 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
27250 (sbin_UTILITIES): ... to here.
27251 (sbin_SCRIPTS): New variable.
27252 (grub_install_SOURCES): New variable.
27253 * util/powerpc/ieee1275/grub-install.in: New file.
27254 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
27255 variable.
27256 (add_segments): Call `grub_util_get_path'.
27257
27258 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
27259
27260 From Timothy Baldwin:
27261 * commands/ls.c (grub_ls_list_files): Close FILE with
27262 grub_file_close.
27263 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
27264
27265 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
27266
27267 * include/grub/parser.h: New file.
27268
27269 * kern/parser.c: Likewise.
27270
27271 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
27272 (grub_setup_SOURCES): Likewise.
27273 (grub_probefs_SOURCES): Likewise.
27274 (grub_emu_SOURCES): Likewise.
27275 (kernel_img_HEADERS): Add `parser.h'.
27276
27277 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
27278 (grub_emu_SOURCES): Add `kern/parser.c'.
27279 (grubof_SOURCES): Likewise.
27280
27281 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
27282 (grubof_SOURCES): Add `kern/parser.c'.
27283
27284 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
27285
27286 * kern/misc.c (grub_split_cmdline): Removed function.
27287
27288 * kern/rescue.c: Include <grub/parser.h>.
27289 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
27290 of `grub_split_cmdline'.
27291
27292 * normal/command.c: Include <grub/parser.h>.
27293 (grub_command_execute): Use `grub_parser_split_cmdline' instead
27294 of `grub_split_cmdline'.
27295
27296 * normal/completion.c: Include <grub/parser.h>.
27297 (cmdline_state): New variable.
27298 (iterate_dir): End the filename with a quote depending on the
27299 command line state.
27300 (get_state): new function.
27301 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
27302 split the arguments and determine the current argument. When the
27303 argument string is not quoted, escape all spaces.
27304
27305 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27306
27307 * normal/sparc64/setjmp.S: New file.
27308
27309 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27310
27311 * include/grub/sparc64/libgcc.h: New file.
27312 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
27313 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
27314 normal/sparc64/setjmp.c.
27315
27316 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27317
27318 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
27319 * kern/sparc64/cache.S: New file.
27320 * kern/sparc64/cache.c: Removed.
27321 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
27322 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
27323 -mtune=ultrasparc.
27324 (COMMON_LDFLAGS): Add -melf64_sparc.
27325 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
27326 (grubof_SOURCES): Use cache.S instead of cache.c.
27327 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
27328 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
27329 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
27330 commented though.
27331 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
27332 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
27333 (linux_mod_CFLAGS): Commented out.
27334 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
27335 out because module isn't built.
27336 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
27337 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
27338 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
27339 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
27340 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
27341 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
27342 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
27343 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
27344 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
27345 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
27346 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
27347 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
27348 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
27349 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
27350
27351 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
27352
27353 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
27354 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
27355 longer, because HFS should not be used on PC.
27356
27357 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27358
27359 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
27360 consistently within the loop.
27361
27362 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
27363
27364 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
27365 directory can not be read.
27366
27367 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27368
27369 * configure.ac (AC_INIT): Increase the version number to 1.91.
27370
27371 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
27372 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
27373 term/i386/pc/serial.c.
27374
27375 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27376
27377 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
27378 file size must be permitted.
27379
27380 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
27381 between %ah and %al.
27382
27383 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27384
27385 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
27386 grub_uint64_t.
27387 Call the hook with a NUL-terminated filename.
27388 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
27389 grub_cpu_to_be32.
27390
27391 * kern/term.c (cursor_state): New variable.
27392 (grub_term_set_current): Reset the cursor state on a new
27393 terminal.
27394 (grub_setcursor): Rewritten to use CURSOR_STATE.
27395 (grub_getcursor): New function.
27396
27397 * include/grub/term.h (grub_getcursor): New prototype.
27398
27399 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
27400 integers on ARM. Reported by Timothy Baldwin
27401 <T.E.Baldwin99@members.leeds.ac.uk>.
27402
27403 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
27404
27405 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
27406 allocated.
27407 (grub_sfs_dir): Likewise.
27408
27409 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
27410
27411 Add support for the SFS filesystem.
27412
27413 * fs/sfs.c: New file.
27414
27415 * DISTLIST: Added `fs/sfs.c'.
27416
27417 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
27418 (grub_probefs_SOURCES): Likewise.
27419 (grub_emu_SOURCES): Likewise.
27420 (pkgdata_MODULES): Add `sfs.mod'.
27421 (sfs_mod_SOURCES): New variable.
27422 (sfs_mod_CFLAGS): Likewise.
27423 (sfs_mod_LDFLAGS): Likewise.
27424
27425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
27426 (pkgdata_MODULES): Add `sfs.mod'.
27427 (sfs_mod_SOURCES): New variable.
27428 (sfs_mod_CFLAGS): Likewise.
27429
27430 * util/grub-emu.c (main): Call `grub_sfs_init' and
27431 `grub_sfs_fini'.
27432
27433 * include/grub/fs.h (grub_sfs_init): New prototype.
27434 (grub_sfs_fini): Likewise.
27435
27436 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
27437
27438 Add support for the AFFS filesystem.
27439
27440 * fs/affs.c: New file.
27441
27442 * DISTLIST: Added `fs/affs.c'.
27443
27444 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
27445 (grub_probefs_SOURCES): Likewise.
27446 (grub_emu_SOURCES): Likewise.
27447 (pkgdata_MODULES): Add `affs.mod'.
27448 (affs_mod_SOURCES): New variable.
27449 (affs_mod_CFLAGS): Likewise.
27450 (affs_mod_LDFLAGS): Likewise.
27451
27452 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
27453 (pkgdata_MODULES): Add `affs.mod'.
27454 (affs_mod_SOURCES): New variable.
27455 (affs_mod_CFLAGS): Likewise.
27456
27457 * util/grub-emu.c (main): Call `grub_affs_init' and
27458 `grub_affs_fini'.
27459
27460 * include/grub/fs.h (grub_affs_init): New prototype.
27461 (grub_affs_fini): Likewise.
27462
27463 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
27464
27465 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
27466
27467 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
27468
27469 * configure.ac: Accept `x86_64' as host_cpu. In that case add
27470 `-m32' to CFLAGS.
27471
27472 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
27473 linking.
27474
27475 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
27476 (COMMON_LDFLAGS): New variable.
27477 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
27478 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
27479 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
27480 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
27481 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
27482 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
27483 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
27484 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
27485 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
27486 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
27487 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
27488 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
27489 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
27490 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
27491 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
27492 variables.
27493 (normal_mod_ASFLAGS): Add `-m32'.
27494
27495 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
27496 (grub_host_size_t, grub_host_ssize_t): New types.
27497 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
27498 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
27499 `GRUB_HOST_SIZEOF_VOID_P'.
27500
27501 * include/grub/kernel.h (struct grub_module_header): Type of
27502 member offset changed to `grub_host_off_t'. Type of member size
27503 changed to `grub_host_size_t'.
27504 (struct grub_module_info): Type of member offset changed to
27505 `grub_host_off_t'. Type of member size changed to
27506 `grub_host_size_t'.
27507
27508 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
27509
27510 Make GRUB's kernel compliant to Multiboot Specification.
27511
27512 * kern/i386/pc/startup.S (multiboot_header): New label.
27513 (multiboot_entry): Likewise.
27514 (multiboot_trampoline): Likewise.
27515
27516 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27517 Increased to 0x4A0.
27518
27519 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
27520 put parentheses after a question mark.
27521 [!GRUB_UTIL] (my_mod): New variable.
27522
27523 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
27524
27525 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
27526
27527 Adds support for the XFS filesystem. Btrees are not supported
27528 yet.
27529
27530 * fs/xfs.c: New file.
27531
27532 * DISTLIST: Added `fs/xfs.c'.
27533
27534 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
27535 (grub_probefs_SOURCES): Likewise.
27536 (grub_emu_SOURCES): Likewise.
27537 (pkgdata_MODULES): Add `xfs.mod'.
27538 (xfs_mod_SOURCES): New variable.
27539 (xfs_mod_CFLAGS): Likewise.
27540
27541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
27542 (pkgdata_MODULES): Add `xfs.mod'.
27543 (xfs_mod_SOURCES): New variable.
27544 (xfs_mod_CFLAGS): Likewise.
27545
27546 * util/grub-emu.c (main): Call `grub_xfs_init' and
27547 `grub_xfs_fini'.
27548
27549 * include/grub/fs.h (grub_xfs_init): New prototype.
27550 (grub_xfs_fini): Likewise.
27551
27552
27553 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
27554
27555 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
27556 color modes, allow greater than 16 colors to be configured as
27557 a default palette.
27558
27559 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27560
27561 * normal/completion.c (complete_arguments): Add the qualifier
27562 const into OPTIONS.
27563
27564 From Omniflux <omniflux+lists@omniflux.com>:
27565 * include/grub/terminfo.h: New file.
27566 * include/grub/tparm.h: Likewise.
27567 * include/grub/i386/pc/serial.h: Likewise.
27568 * term/terminfo.c: Likewise.
27569 * term/tparm.c: Likewise.
27570 * term/i386/pc/serial.c: Likewise.
27571 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
27572 serial.mod.
27573 (terminfo_mod_SOURCES): New variable.
27574 (terminfo_mod_CFLAGS): Likewise.
27575 (serial_mod_SOURCES): Likewise.
27576 (serial_mod_CFLAGS): Likewise.
27577
27578 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
27579
27580 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
27581 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
27582 and kern/powerpc/ieee1275/cmain.c, respectively.
27583
27584 * boot/powerpc/ieee1275/crt0.S: Moved to ...
27585 * kern/powerpc/ieee1275/crt0.S: ... here.
27586
27587 * boot/powerpc/ieee1275/cmain.c: Moved to ...
27588 * kern/powerpc/ieee1275/cmain.c: ... here.
27589
27590 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
27591 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
27592 instead of boot/powerpc/ieee1275/crt0.S and
27593 boot/powerpc/ieee1275/cmain.c, respectively.
27594
27595 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
27596 sectors. It was not used anyway.
27597
27598 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
27599
27600 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
27601 `unused parameter' warning.
27602
27603 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
27604
27605 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
27606 function.
27607 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
27608 getcharwidth.
27609
27610 2005-08-28 Marco Gerards <metgerards@student.han.nl>
27611
27612 * include/grub/normal.h (enum grub_completion_type): Added
27613 `GRUB_COMPLETION_TYPE_ARGUMENT'.
27614
27615 * normal/cmdline.c (print_completion): Handle
27616 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
27617 * normal/menu_entry.c (store_completion): Likewise.
27618
27619 * normal/completion.c (complete_arguments): New function.
27620 (grub_normal_do_completion): Call `complete_arguments' when the
27621 current words start with a dash.
27622
27623 2005-08-27 Marco Gerards <metgerards@student.han.nl>
27624
27625 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
27626 `gzio.mod' instead of `io.mod').
27627
27628 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
27629
27630 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
27631 (DISTDIRS): Added io and video.
27632 Rewrite the search routine to make an output consistently.
27633
27634 * DISTLIST: Added conf/sparc64-ieee1275.mk,
27635 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
27636 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
27637 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
27638 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
27639 util/powerpc/ieee1275/misc.c.
27640
27641 * include/grub/gzio.h: New file.
27642 * io/gzio.c: Likewise.
27643
27644 * kern/file.c (grub_file_close): Call grub_device_close only if
27645 FILE->DEVICE is not NULL.
27646
27647 * include/grub/mm.h [!NULL] (NULL): New macro.
27648
27649 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
27650
27651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
27652 (pkgdata_MODULES): Added gzio.mod.
27653 (gzio_mod_SOURCES): New variable.
27654 (gzio_mod_CFLAGS): Likewise.
27655
27656 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
27657 (pkgdata_MODULES): Added gzio.mod.
27658 (gzio_mod_SOURCES): New variable.
27659 (gzio_mod_CFLAGS): Likewise.
27660
27661 * commands/cat.c: Include grub/gzio.h.
27662 (grub_cmd_cat): Use grub_gzfile_open instead of
27663 grub_file_open.
27664
27665 * commands/cmp.c: Include grub/gzio.h.
27666 (grub_cmd_cmp): Use grub_gzfile_open instead of
27667 grub_file_open.
27668
27669 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
27670 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
27671 grub_file_open.
27672 (grub_rescue_cmd_module): Likewise.
27673
27674 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
27675
27676 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
27677 kern/sparc64/ieee1275/init.c because it contains _start.
27678 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
27679
27680 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
27681
27682 * configure.ac: Add support for sparc64 host with ieee1275
27683 firmware.
27684 * configure: Generated from configure.ac.
27685 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
27686 instead of int.
27687 (grub_ofdisk_read): Likewise.
27688 (grub_ofdisk_open): Use %p to print pointer values, and cast the
27689 pointers as (void *) to remove a warning.
27690 (grub_ofdisk_close): Likewise.
27691 (grub_ofdisk_read): Likewise.
27692 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
27693 returns, so make it return void to remove a warning.
27694 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
27695 Corresponding prototype change.
27696 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
27697 values, and cast the pointers as (void *) to remove a warning.
27698 (grub_mm_dump): Likewise.
27699 * conf/sparc64-ieee1275.mk: New file.
27700 * conf/sparc64-ieee1275.rmk: Likewise.
27701 * include/grub/sparc64/setjmp.h: Likewise.
27702 * include/grub/sparc64/types.h: Likewise.
27703 * include/grub/sparc64/ieee1275/console.h: Likewise.
27704 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27705 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27706 * include/grub/sparc64/ieee1275/time.h: Likewise.
27707 * kern/sparc64/cache.c: Likewise.
27708 * kern/sparc64/dl.c: Likewise.
27709 * kern/sparc64/ieee1275/init.c: Likewise.
27710 * kern/sparc64/ieee1275/openfw.c: Likewise.
27711
27712 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
27713
27714 * util/console.c (grub_ncurses_putchar): If C is greater than
27715 0x7f, set C to a question mark.
27716 (grub_ncurses_getcharwidth): New function.
27717 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
27718 getcharwidth.
27719
27720 * normal/menu.c (print_entry): Made aware of Unicode. First,
27721 convert TITLE to UCS-4, and predict the cursor position by
27722 grub_getcharwidth.
27723
27724 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
27725 const to SRC.
27726 * kern/misc.c (grub_utf16_to_utf8): Likewise.
27727
27728 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
27729
27730 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
27731 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
27732 grub_strcat.
27733
27734 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
27735 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
27736 grub_strcpy and grub_strlen. Take it into account that a space
27737 character is inserted as a delimiter.
27738
27739 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
27740
27741 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
27742 invalid magic in the error.
27743
27744 * commands/search.c: New file.
27745
27746 * util/grub-emu.c (main): Call grub_search_init and
27747 grub_search_fini.
27748
27749 * kern/rescue.c (grub_rescue_print_disks): Removed.
27750 (grub_rescue_print_devices): New function.
27751 (grub_rescue_cmd_ls): Use grub_device_iterate with
27752 grub_rescue_print_devices instead of grub_disk_dev_iterate with
27753 grub_rescue_print_disks.
27754
27755 * kern/partition.c (grub_partition_iterate): Return the result of
27756 PARTMAP->ITERATE instead of GRUB_ERRNO.
27757
27758 * kern/device.c: Include grub/partition.h.
27759 (grub_device_iterate): New function.
27760
27761 * include/grub/partition.h (grub_partition_iterate): Return int
27762 instead of grub_err_t.
27763
27764 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
27765 prototype.
27766 [GRUB_UTIL] (grub_search_fini): Likewise.
27767
27768 * include/grub/device.h (grub_device_iterate): New prototype.
27769
27770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
27771 commands/search.c.
27772 (pkgdata_MODULES): Added search.mod.
27773 (search_mod_SOURCES): New variable.
27774 (search_mod_CFLAGS): Likewise.
27775
27776 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
27777 (pkgdata_MODULES): Added search.mod.
27778 (search_mod_SOURCES): New variable.
27779 (search_mod_CFLAGS): Likewise.
27780
27781 * commands/ls.c (grub_ls_list_disks): Renamed to ...
27782 (grub_ls_list_devices): ... this, and use grub_device_iterate.
27783 All callers changed.
27784
27785 * DISTLIST: Added commands/search.c.
27786
27787 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
27788
27789 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
27790 conversion.
27791 (grub_getcharwidth): New function.
27792
27793 * kern/misc.c (grub_utf8_to_ucs4): New function.
27794
27795 * include/grub/term.h (struct grub_term): Added a new member
27796 "getcharwidth".
27797 (grub_getcharwidth): New prototype.
27798
27799 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
27800
27801 * term/i386/pc/console.c (map_char): New function. Segregated from
27802 grub_console_putchar.
27803 (grub_console_putchar): Use map_char.
27804 (grub_console_getcharwidth): New function.
27805 (grub_console_term): Specified grub_console_getcharwidth as
27806 getcharwidth.
27807
27808 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
27809 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
27810
27811 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
27812 GRUB_ERRNO.
27813 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
27814 on grub_strtoul completely.
27815 (write_char): Declare local variables in the beginning of the
27816 function.
27817 (grub_vesafb_getcharwidth): New function.
27818 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
27819 getcharwidth.
27820
27821 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
27822
27823 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
27824 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
27825 commands/i386/pc/vbetest.c.
27826
27827 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
27828 call grub_vbe_get_controller_info again, because the returned
27829 information is volatile.
27830 (grub_vbe_set_video_mode): Mostly rewritten.
27831 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
27832 grub_vbe_status_t correctly.
27833 (grub_vbe_get_video_mode_info): Likewise.
27834 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
27835 several if statements.
27836
27837 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
27838 * commands/i386/pc/vbeinfo.c: ... this.
27839
27840 * commands/i386/pc/vbe_test.c: Renamed to ...
27841 * commands/i386/pc/vbetest.c: ... this.
27842
27843 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
27844 ...
27845 (grub_cmd_vbeinfo): ... this. Save video modes before
27846 iterating. Skip a video mode, if it is not available, not enough
27847 information is given or it is monochrome. Show the memory
27848 model. Leave the interpretation of MODEVAR to grub_strtoul
27849 completely.
27850 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
27851 (GRUB_MOD_FINI): Likewise.
27852
27853 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
27854 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
27855 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
27856 duplicated grub_env_get. Leave the interpretation of MODEVAR to
27857 grub_strtoul completely.
27858 (real2pm): Removed.
27859 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
27860 (GRUB_MOD_FINI): Likewise.
27861
27862 * normal/misc.c: Include grub/mm.h.
27863
27864 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
27865 vbe_list_modes with vbetest.mod and vbeinfo.mod.
27866 (vbe_list_modes_mod_SOURCES): Removed.
27867 (vbe_list_modes_mod_CFLAGS): Likewise.
27868 (vbe_test_mod_SOURCES): Likewise.
27869 (vbe_test_mod_CFLAGS): Likewise.
27870 (vbeinfo_mod_SOURCES): New variable.
27871 (vbeinfo_mod_CFLAGS): Likewise.
27872 (vbetest_mod_SOURCES): Likewise.
27873 (vbetest_mod_CFLAGS): Likewise.
27874
27875 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
27876
27877 * normal/misc.c: New file.
27878
27879 * DISTLIST: Added normal/misc.c.
27880
27881 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
27882 DISK to HOOK. Call HOOK with DISK.
27883 * partmap/apple.c (apple_partition_map_iterate): Likewise.
27884 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27885 * partmap/sun.c (sun_partition_map_iterate): Likewise.
27886
27887 * normal/menu_entry.c (struct screen): Added a new member
27888 "completion_shown".
27889 (completion_buffer): New global variable.
27890 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
27891 (store_completion): New function.
27892 (complete): Likewise.
27893 (clear_completions): Likewise.
27894 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
27895 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
27896 a tab, call complete.
27897
27898 * normal/completion.c (disk_dev): Removed.
27899 (print_simple_completion): Likewise.
27900 (print_partition_completion): Likewise.
27901 (print_func): New global variable.
27902 (add_completion): Do not take the arguments WHAT or PRINT any
27903 longer. Added a new argument TYPE. Instead of printing directly,
27904 call PRINT_FUNC if not NULL.
27905 All callers changed.
27906 (complete_device): Use a local variable DEV instead of
27907 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
27908 (grub_normal_do_completion): Take a new argument HOOK. Do not
27909 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
27910 empty string, return NULL instead.
27911 All callers changed.
27912
27913 * normal/cmdline.c (print_completion): New function.
27914
27915 * kern/partition.c (grub_partition_iterate): Add an argument DISK
27916 to HOOK.
27917 All callers changed.
27918
27919 * kern/disk.c (grub_print_partinfo): Removed.
27920
27921 * include/grub/partition.h (struct grub_partition_map): Add a new
27922 argument DISK into HOOK of ITERATE.
27923 (grub_partition_iterate): Add a new argument DISK to HOOK.
27924
27925 * include/grub/normal.h (enum grub_completion_type): New enum.
27926 (grub_completion_type_t): New type.
27927 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
27928 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
27929 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
27930 (GRUB_COMPLETION_TYPE_FILE): Likewise.
27931 (grub_normal_do_completion): Added a new argument HOOK.
27932 (grub_normal_print_device_info): New prototype.
27933
27934 * include/grub/disk.h (grub_print_partinfo): Removed.
27935
27936 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
27937 (normal_mod_SOURCES): Likewise.
27938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27939 (normal_mod_SOURCES): Likewise.
27940
27941 * commands/ls.c (grub_ls_list_disks): Use
27942 grub_normal_print_device_info instead of grub_print_partinfo. Free
27943 PNAME.
27944 (grub_ls_list_files): Use grub_normal_print_device_info instead of
27945 duplicating the code.
27946
27947 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
27948
27949 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
27950 follow GCS more precisely.
27951 * commands/i386/pc/vbe_test.c: Likewise.
27952 * include/grub/i386/pc/vbe.h: Likewise.
27953 * term/i386/pc/vesafb.c: Likewise.
27954 * video/i386/pc/vbe.c: Likewise.
27955
27956 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
27957
27958 * DISTLIST: Added term/i386/pc/vesafb.c
27959 DISTLIST: Added video/i386/pc/vbe.c
27960 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
27961 DISTLIST: Added commands/i386/pc/vbe_test.c.
27962 * commands/i386/pc/vbe_list_modes.c: New file.
27963 * commands/i386/pc/vbe_test.c: Likewise.
27964 * term/i386/pc/vesafb.c: Likewise.
27965 * video/i386/pc/vbe.c: Likewise.
27966 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
27967 (grub_vbe_probe) Added prototype.
27968 (grub_vbe_set_video_mode) Likewise.
27969 (grub_vbe_get_video_mode) Likewise.
27970 (grub_vbe_get_video_mode_info) Likewise.
27971 (grub_vbe_set_pixel_rgb) Likewise.
27972 (grub_vbe_set_pixel_index) Likewise.
27973 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
27974 (pkgdata_MODULES): Added vesafb.mod.
27975 (pkgdata_MODULES): Added vbe_list_modes.mod.
27976 (pkgdata_MODULES): Added vbe_test.mod.
27977 (vbe_mod_SOURCES): Added.
27978 (vbe_mod_CFLAGS): Likewise.
27979 (vesafb_mod_SOURCES): Likewise.
27980 (vesafb_mod_CFLAGS): Likewise.
27981 (vbe_list_modes_mod_SOURCES): Likewise.
27982 (vbe_list_modes_mod_CFLAGS): Likewise.
27983 (vbe_test_mod_SOURCES): Likewise.
27984 (vbe_test_mod_CFLAGS): Likewise.
27985
27986 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
27987
27988 * normal/command.c (grub_command_execute): If INTERACTIVE is
27989 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
27990 CMDLINE. Disable the pager if INTERACTIVE is true.
27991 All callers are changed.
27992
27993 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
27994 before reading a config file.
27995 * normal/main.c (read_config_file): Even if a command is not
27996 found, register it if it is within an entry.
27997
27998 * util/grub-emu.c: Include sys/types.h and unistd.h.
27999 (options): Added --hold.
28000 (struct arguments): Added a new member "hold".
28001 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
28002 missing.
28003 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
28004 cleared by a debugger, if it is not zero.
28005
28006 * include/grub/normal.h (grub_command_execute): Add an argument
28007 INTERACTIVE.
28008
28009 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
28010
28011 * DISTLIST: Added include/grub/i386/pc/vbe.h.
28012
28013 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
28014
28015 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
28016 program with another one, because the old one didn't detect a bug
28017 in gcc-3.4. Always use regparm 2, because the new test is still
28018 not enough for gcc-4.0. Someone must investigate a simple test
28019 case which detects a bug in gcc-4.0.
28020
28021 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
28022
28023 * DISTLIST: Added normal/completion.c.
28024
28025 * normal/completion.c: New file.
28026
28027 * term/i386/pc/console.c (grub_console_getwh): New function.
28028 (grub_console_term): Assign grub_console_getwh to getwh.
28029
28030 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
28031 function is defined in normal/completion.c as
28032 grub_normal_do_completion.
28033 (grub_cmdline_get): Use grub_normal_do_completion instead of
28034 grub_tab_complete.
28035
28036 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
28037 returns non-zero, otherwise return 0.
28038 (grub_partition_iterate): First, probe the partition map. Then,
28039 call ITERATE only for this partition map.
28040
28041 * kern/misc.c (grub_strncmp): Rewritten.
28042
28043 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
28044 returns non-zero. Otherwise return 0.
28045
28046 * include/grub/partition.h (grub_partition_map_iterate): Return
28047 int instead of void.
28048
28049 * include/grub/normal.h (grub_normal_do_completion): New prototype.
28050
28051 * include/grub/misc.h (grub_strncmp): Change the type of N to
28052 grub_size_t.
28053
28054 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
28055 of void.
28056
28057 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
28058 unsigned explicitly before comparing it with I.
28059
28060 * kern/main.c (grub_env_write_root): Add the attribute unused into
28061 VAR.
28062
28063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
28064 normal/completion.c.
28065 (normal_mod_SOURCES): Likewise.
28066 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28067 (normal_mod_SOURCES): Likewise.
28068
28069 * normal/command.c (grub_iterate_commands): If ITERATE returns
28070 non-zero, return one immediately.
28071
28072 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
28073
28074 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
28075 * kern/i386/pc/startup.S: Updated Global Descriptor table's
28076 descriptions.
28077 (grub_vbe_get_controller_info): New function.
28078 (grub_vbe_get_mode_info): Likewise.
28079 (grub_vbe_set_mode): Likewise.
28080 (grub_vbe_get_mode): Likewise.
28081 (grub_vbe_set_memory_window): Likewise.
28082 (grub_vbe_get_memory_window): Likewise.
28083 (grub_vbe_set_scanline_length): Likewise.
28084 (grub_vbe_get_scanline_length): Likewise.
28085 (grub_vbe_set_display_start): Likewise.
28086 (grub_vbe_get_display_start): Likewise.
28087 (grub_vbe_set_palette_data): Likewise.
28088 * include/grub/i386/pc/vbe.h: New file.
28089
28090 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
28091
28092 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
28093 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
28094 * DISTLIST: Likewise.
28095 * kern/ieee1275/of.c: Moved to ...
28096 * kern/ieee1275/ieee1275.c: ... here.
28097
28098 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
28099
28100 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
28101 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
28102 Pass 0 as `end' parameter to grub_strtoul().
28103
28104 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
28105
28106 * include/grub/powerpc/ieee1275/console.h: Do not include
28107 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
28108 ifdef.
28109 (grub_console_cur_color): Remove i386-specific prototype.
28110 (grub_console_real_putchar): Likewise.
28111 (grub_console_checkkey): Likewise.
28112 (grub_console_getkey): Likewise.
28113 (grub_console_getxy): Likewise.
28114 (grub_console_gotoxy): Likewise.
28115 (grub_console_cls): Likewise.
28116 (grub_console_setcursor): Likewise.
28117 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
28118 Include <grub/machine/console.h>.
28119 * term/ieee1275/ofconsole.c: Likewise.
28120
28121 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
28122
28123 * Makefile.in (LIBLZO): New variable.
28124
28125 * configure.ac: Check for LZO version 2.
28126
28127 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
28128 lzo/lzo1x.h instead of lzo1x.h.
28129
28130 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
28131 of -llzo.
28132
28133 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
28134 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
28135
28136 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
28137 copying the data from PARTITION to P.
28138
28139 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28140
28141 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
28142 negative, unload the module.
28143
28144 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
28145 map is "pc_partition_map" but not "pc".
28146 (usage): Fix the description. The options are --boot-image and
28147 --core-image but not --boot-file or --core-file.
28148 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
28149 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
28150 DEFAULT_DIRECTORY.
28151
28152 * util/i386/pc/grub-install.in: Do not specify --boot-file or
28153 --core-file. Specify INSTALL_DEVICE as an argument.
28154
28155 * util/console.c: Include config.h.
28156 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
28157 [HAVE_NCURSES_H]: Include ncurses.h.
28158 [HAVE_CURSES_H]: Include curses.h.
28159 [!A_NORMAL] (A_NORMAL): Defined as zero.
28160 [!A_STANDOUT] (A_STANDOUT): Likewise.
28161
28162 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
28163 -lncurses.
28164 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
28165
28166 * configure.ac: Check for curses libraries and headers.
28167
28168 * Makefile.in (LIBCURSES): New variable.
28169
28170 * genmk.rb (Script::rule): Set the executable bits.
28171
28172 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
28173 name of the PC partition map is "pc_partition_map" but not "pc".
28174
28175 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28176
28177 * util/i386/pc/grub-install.in (grub_probefs): New variable.
28178 (modules): Likewise.
28179 (usage): Added descriptions for --modules and --grub-probefs.
28180 Handle --modules and --grub-probefs. Save the arguments in MODULES
28181 and GRUB_PROBEFS, respectively.
28182 Auto-detect a filesystem module against GRUBDIR. If the result is
28183 empty and modules are not specified explicitly, abort the
28184 installation. Add the result to MODULES.
28185
28186 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
28187 disk/powerpc/ieee1275/ofdisk.c,
28188 include/grub/powerpc/ieee1275/init.h and
28189 term/powerpc/ieee1275/ofconsole.c.
28190 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
28191 term/ieee1275/ofconsole.c.
28192
28193 * include/grub/powerpc/ieee1275/console.h: Resurrected.
28194
28195 * COPYING: Upgraded to the latest version. Only the address of the
28196 FSF office has changed.
28197
28198 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28199
28200 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
28201 kern/ieee1275.c with kern/ieee1275/of.c.
28202
28203 * kern/ieee1275.c: Moved to ...
28204 * kern/ieee1275/of.c: ... here.
28205
28206 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
28207
28208 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
28209 readability.
28210
28211 * config.guess: Updated to the latest version from gnulib.
28212 * config.sub: Likewise.
28213 * install.sh: Likewise.
28214 * mkinstalldirs: Likewise.
28215
28216 * include/grub/console.h: Removed. This file is arch-specific. Do
28217 not put this in include/grub.
28218
28219 * include/grub/i386/pc/console.h: Resurrected.
28220
28221 * util/console.c: Include grub/machine/console.h instead of
28222 grub/console.h.
28223 * util/grub-emu.c: Likewise.
28224
28225 2005-08-04 Marco Gerards <metgerards@student.han.nl>
28226
28227 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
28228 hardcoded value.
28229
28230 From Vincent Pelletier <subdino2004@yahoo.fr>
28231 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
28232 Redefined to use grub_getwh.
28233 (grub_term): New member named getwh.
28234 (grub_getwh): New prototype.
28235 * kern/term.c (grub_getwh): New function.
28236 * term/i386/pc/console.c (grub_console_getwh): New function.
28237 (grub_console_term): New member `getwh'.
28238 * term/i386/pc/vga.c (grub_vga_getwh): New function.
28239 (grub_vga_term): New member `getwh'.
28240 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
28241 grub_ssize_t.
28242 (grub_ofconsole_getw): New function.
28243 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
28244 (grub_ofconsole_term): New field named getwh and new initial
28245 value.
28246
28247 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
28248
28249 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
28250 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
28251 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
28252 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
28253 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
28254 of <grub/machine/ieee1275.h>.
28255 * commands/ieee1275/reboot.c: Likewise.
28256 * boot/powerpc/ieee1275/ieee1275.c: Move ...
28257 * kern/ieee1275.c: ... to here. All users updated. Change all
28258 parameter structs to use new type `grub_ieee1275_cell_t'.
28259 * term/powerpc/ieee1275/ofconsole.c: Move ...
28260 * term/ieee1275/ofconsole.c: ... to here. All users updated.
28261 * disk/powerpc/ieee1275/ofdisk.c: Move ...
28262 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
28263 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
28264 to return int.
28265 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
28266 Remove unused prototypes. All users updated.
28267 * include/grub/powerpc/ieee1275/console.h: Removed.
28268 * include/grub/powerpc/ieee1275/ieee1275.h: Define
28269 `grub_ieee1275_cell_t'.
28270 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
28271 Cast comparisons with -1 to the correct type.
28272 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
28273 type to match `grub_ieee1275_entry_fn'.
28274
28275 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
28276
28277 * DISTLIST: Added util/i386/pc/grub-probefs.c.
28278
28279 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
28280 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
28281 partmap/sun.c.
28282 (grub_probefs_SOURCES): New variable.
28283
28284 * util/i386/pc/grub-probefs.c: New file.
28285
28286 * util/i386/pc/grub-setup.c (main): Call
28287 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
28288 grub_hfs_init and grub_jfs_init to initialize the system. Call
28289 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
28290 grub_pc_partition_map_fini to finish the system.
28291
28292 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
28293
28294 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
28295 function.
28296 (grub_multiboot_load_elf32): Likewise.
28297 (grub_multiboot_is_elf64): Likewise.
28298 (grub_multiboot_load_elf64): Likewise.
28299 (grub_multiboot_load_elf): Likewise.
28300 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
28301 an ELF32 or ELF64 file.
28302 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
28303
28304 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
28305 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
28306 NULL before calling FS->LABEL.
28307 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
28308 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
28309 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
28310 before calling FS->LABEL.
28311
28312 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
28313
28314 * util/i386/pc/grub-install.in (datadir): New variable.
28315 (libdir): Removed.
28316 (pkgdatadir): New variable.
28317 (pkglibdir): Removed.
28318
28319 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
28320
28321 * DISTLIST: Added util/i386/pc/grub-install.in.
28322
28323 * util/i386/pc/grub-install.in: New file.
28324
28325 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
28326 (grub_install_SOURCES): Likewise.
28327
28328 * genmk.rb: Added support for scripts.
28329 (Script): New class.
28330 (scripts): New variable.
28331
28332 * Makefile.in (install-local): Install sbin_SCRIPTS by
28333 INSTALL_SCRIPT.
28334 (uninstall): Remove sbin_SCRIPTS.
28335
28336 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
28337 device, try to get a GRUB device by
28338 grub_util_biosdisk_get_grub_dev.
28339 Free DEST_DEV.
28340
28341 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
28342 description for --device-map.
28343
28344 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
28345
28346 Change the semantics of variable hooks. They now return strings
28347 instead of error values.
28348
28349 * util/i386/pc/grub-setup.c: Include grub/env.h.
28350 (setup): Use grub_device_set_root instead of grub_env_set.
28351
28352 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
28353 grub_env_get instead of grub_device_set_root and
28354 grub_device_get_root, respectively.
28355
28356 * kern/main.c (grub_env_write_root): New function.
28357 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
28358 grub_env_set instead of grub_device_set_root.
28359
28360 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
28361 many variables.
28362 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
28363 rather than calling ENV->WRITE_HOOK afterwards.
28364 (grub_env_get): Return the result of ENV->READ_HOOK rather than
28365 passing a pointer of a pointer.
28366 (grub_register_variable_hook): Change the types of "read_hook" and
28367 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
28368 respectively.
28369 Allocate the default empty string on the heap, because this string
28370 may be freed later.
28371
28372 * kern/device.c: Include grub/env.h.
28373 (grub_device_set_root): Removed.
28374 (grub_device_get_root): Likewise.
28375 (grub_device_open): Use grub_env_get instead of
28376 grub_device_get_root.
28377
28378 * include/grub/env.h (grub_env_read_hook_t): New type.
28379 (grub_env_write_hook_t): Likewise.
28380 (grub_env_var): Change the types of "read_hook" and "write_hook"
28381 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
28382 (grub_register_variable_hook): Likewise.
28383
28384 * include/grub/device.h (grub_device_set_root): Removed.
28385 (grub_device_set_root): Likewise.
28386
28387 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
28388 make sure that DIRNAME terminates with '/', so that
28389 grub_fat_find_dir will fail if PATH is not a directory.
28390
28391 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
28392 from DIRNAME.
28393 Use the qualifier auto for print_files and print_files_long.
28394 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
28395 as a regular file.
28396 Put a newline only if there is no error.
28397 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
28398 used.
28399
28400 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
28401
28402 * kern/partition.c (grub_partition_probe): Initialize PART to
28403 NULL. Otherwise, when no partition map is registered, this returns
28404 a garbage.
28405
28406 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
28407
28408 * partmap/apple.c (apple_partition_map_iterate): Check if POS
28409 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
28410 valid.
28411
28412 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
28413
28414 * commands/ls.c (grub_ls_list_disks): Print the filesystem
28415 information on each device, if it does not have partitions. Print
28416 "Device" instead of "Disk", because this function is not specific
28417 to disk devices.
28418
28419 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
28420 static to ensure that it is put on the memory rather than a
28421 register.
28422
28423 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
28424
28425 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
28426 (grub_cat_init): Likewise.
28427 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
28428 (options): Likewise.
28429 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28430 (grub_configfile_init): Likewise.
28431 * font/manager.c (GRUB_MOD_INIT): Likewise.
28432 * commands/help.c (GRUB_MOD_INIT): Likewise.
28433 (grub_help_init): Likewise.
28434 * normal/command.c (grub_command_init): Likewise.
28435 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
28436 * disk/loopback.c (grub_loop_init): Likewise.
28437 (GRUB_MOD_INIT): Likewise.
28438 * commands/ls.c (grub_ls_init): Likewise.
28439 (GRUB_MOD_INIT): Likewise.
28440 (options): Likewise.
28441 * commands/boot.c (grub_boot_init): Likewise.
28442 (GRUB_MOD_INIT): Likewise.
28443 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
28444 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
28445 (GRUB_MOD_INIT): Likewise.
28446 * commands/cmp.c (grub_cmp_init): Likewise.
28447 (GRUB_MOD_INIT): Likewise.
28448
28449 * normal/arg.c: Use <> instead of "" to include header files.
28450 (SHORT_ARG_HELP): New macro.
28451 (SHORT_ARG_USAGE): Likewise.
28452 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
28453 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
28454 descriptions.
28455 (find_short): Check if C is 'h' or 'u' explicitly.
28456 (grub_arg_show_help): Use space characters instead of tabs. Treat
28457 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
28458 are shown with --help and --usage only if they are not used for
28459 the command itself.
28460 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
28461 'h' and 'u'.
28462
28463 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
28464 const into "longarg". Change the type of "shortarg" to int.
28465
28466 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
28467
28468 * boot/i386/pc/boot.S (boot_drive_check): New label.
28469
28470 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
28471 macro.
28472
28473 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
28474 which do not pass a boot drive correctly. Copied from GRUB Legacy.
28475
28476 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
28477
28478 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
28479 When turning off Gate A20, skip the check and return immediately,
28480 because this is not fatal usually.
28481
28482 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
28483
28484 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
28485 be 0x7C00 instead of 0x8000.
28486
28487 * boot/i386/pc/pxeboot.S: Rewritten.
28488
28489 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
28490 EXT_C.
28491 (gate_a20_check_state): Read a byte from 0x108000. Invert the
28492 result.
28493
28494 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
28495
28496 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
28497 robustness. This routine now supports a BIOS call and System
28498 Control Port A to modify the gate A20.
28499
28500 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28501 Increased to 0x440.
28502
28503 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
28504
28505 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
28506 device path and resulting ihandle.
28507 (grub_ofdisk_close): dprintf the ihandle being closed.
28508 (grub_ofdisk_read): dprintf function parameters.
28509 * kern/mm.c (grub_mm_init_region): Likewise.
28510 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
28511 (grub_linux_boot): dprintf the Linux entry point, initrd address and
28512 size, and boot arguments.
28513 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
28514 before loading into memory.
28515 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
28516 before loading into memory.
28517
28518 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
28519
28520 * kern/mm.c: Added much documentation.
28521 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
28522 8, set to 5 instead of 8.
28523
28524 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
28525
28526 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
28527
28528 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
28529 (grub_mkdevicemap_SOURCES): New variable.
28530
28531 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
28532 lib/device.c of GRUB Legacy.
28533
28534 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
28535
28536 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
28537 instead of PATH is NULL.
28538
28539 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
28540
28541 * commands/cmp.c (BUFFER_SIZE): New macro.
28542 (grub_cmd_cmp): Close the right file at the right time. Compare
28543 only data just read. Don't report files of different size as
28544 identical. Dynamically allocate buffers. Move variable
28545 declarations at the beginning of function.
28546
28547 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
28548
28549 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
28550 reverse.
28551
28552 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
28553
28554 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
28555 when backspace is pressed at beginning of line.
28556
28557 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
28558
28559 * DISTLIST: Added genfslist.sh.
28560
28561 * normal/main.c (fs_module_list): New variable.
28562 (autoload_fs_module): New function.
28563 (read_fs_list): Likewise.
28564 (grub_normal_execute): Call read_fs_list.
28565
28566 * kern/fs.c (grub_fs_autoload_hook): New variable.
28567 (grub_fs_probe): Added support for auto-loading.
28568
28569 * include/grub/normal.h (struct grub_fs_module_list): New struct.
28570 (grub_fs_module_list_t): New type.
28571
28572 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
28573 (grub_fs_autoload_hook): New prototype.
28574
28575 * genfslist.sh: New file.
28576
28577 * genmk.rb: Added a rule to generate a filesystem list.
28578
28579 2005-06-30 Marco Gerards <metgerards@student.han.nl>
28580
28581 * configure.ac: Fix the test for cross-compiling.
28582
28583 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
28584 define GRUB_UTIL anymore.
28585
28586 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
28587 so this function works on other systems than just big endian.
28588 (load_modules): Likewise.
28589 (add_segments): Likewise.
28590
28591 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
28592
28593 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
28594 contains `l' modifier, get a long from va_arg().
28595
28596 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
28597
28598 * kern/mm.c (grub_free): If the next free block which is being
28599 merged is the first free block, set the first block to the block
28600 being freed.
28601 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
28602
28603 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
28604
28605 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
28606 `grub_ieee1275_chosen'.
28607
28608 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
28609
28610 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
28611 (grub_ieee1275_chosen): New variable.
28612 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
28613 `chosen'.
28614 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
28615 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
28616 Rename first argument to `phandle' for consistency.
28617 (grub_ieee1275_get_property_length): Likewise.
28618 (grub_ieee1275_next_property): Likewise. Change type of first argument
28619 to grub_ieee1275_phandle_t.
28620 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
28621 Move export next to declaration.
28622 (grub_ieee1275_chosen): New variable.
28623 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
28624 Correct cosmetic typo.
28625 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
28626 `grub_ieee1275_chosen'.
28627 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
28628 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
28629 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
28630 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
28631 `grub_ieee1275_chosen'.
28632
28633 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
28634
28635 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
28636 /chosen/bootargs.
28637 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
28638 /chosen/bootargs as "variable=value" pairs.
28639
28640 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
28641
28642 * include/grub/misc.h (grub_dprintf): New macro.
28643 (grub_real_dprintf): New prototype.
28644 (grub_strword): Likewise.
28645 (grub_iswordseparator): Likewise.
28646 * kern/misc.c (grub_real_dprintf): New function.
28647 (grub_strword): Likewise.
28648 (grub_iswordseparator): Likewise.
28649
28650 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
28651
28652 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
28653 (roundup): Remove macro.
28654 (grub_ieee1275_flags): Make static.
28655 (grub_ieee1275_realmode): Remove.
28656 (grub_ieee1275_test_flag): New function.
28657 (grub_ieee1275_set_flag): Likewise.
28658 (find_options): Rename to `grub_ieee1275_find_options'; update
28659 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
28660 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
28661 (cmain): New prototype.
28662 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
28663 `grub_ieee1275_flags' directly.
28664 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
28665 machine/biosdisk.h.
28666 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
28667 Don't include grub/machine/init.h.
28668 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
28669 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
28670 Remove prototype.
28671 (grub_ieee1275_realmode): Likewise.
28672 (grub_ieee1275_flag): New enum.
28673 (grub_ieee1275_test_flag): New prototype.
28674 (grub_ieee1275_set_flag): New prototype.
28675 * include/grub/powerpc/ieee1275/init.h: Remove file.
28676 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
28677 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
28678 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
28679 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
28680 comment.
28681 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
28682 `grub_ieee1275_test_flag'.
28683 (grub_ieee1275_encode_devname): Likewise.
28684
28685 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
28686
28687 * include/grub/powerpc/ieee1275/ieee1275.h
28688 (grub_ieee1275_encode_devname): New prototype.
28689 (grub_ieee1275_get_filename): Likewise.
28690 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
28691 function.
28692 (grub_set_prefix): Likewise.
28693 (grub_machine_init): Call grub_set_prefix.
28694 * kern/powerpc/ieee1275/openfw.c: Fix typos.
28695 (grub_parse_type): New enum.
28696 (grub_ieee1275_get_devargs): New function.
28697 (grub_ieee1275_get_devname): Likewise.
28698 (grub_ieee1275_parse_args): Likewise.
28699 (grub_ieee1275_get_filename): Likewise.
28700 (grub_ieee1275_encode_devname): Likewise.
28701
28702 2005-03-30 Marco Gerards <metgerards@student.han.nl>
28703
28704 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
28705 `grub_loader_unset'.
28706
28707 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
28708
28709 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
28710 instead of grub_ieee1275_interpret.
28711 (grub_halt_init): New function.
28712 (grub_halt_fini): Likewise.
28713 (GRUB_MOD_INIT): Correct message grammar.
28714 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
28715 instead of grub_ieee1275_interpret.
28716 (grub_reboot_init): New function.
28717 (grub_reboot_fini): Likewise.
28718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
28719 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
28720 util/i386/pc/misc.c with commands/ieee1275/halt.c,
28721 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
28722 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
28723 function.
28724 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
28725 Add prototype.
28726 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
28727 prototype.
28728 (grub_halt): Likewise.
28729 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
28730 (cmain): Remove __attribute__((unused)).
28731 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
28732 (grub_heap_len): Likewise.
28733 (grub_machine_fini): New function.
28734 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
28735 (grub_halt): Likewise.
28736 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
28737 function.
28738 * util/powerpc/ieee1275/misc.c: New file.
28739
28740 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28741
28742 * DISTLIST: New file.
28743 * gendistlist.sh: Likewise.
28744
28745 * Makefile.in (COMMON_DISTFILES): Removed.
28746 (BOOT_DISTFILES): Likewise.
28747 (CONF_DISTFILES): Likewise.
28748 (DISK_DISTFILES): Likewise.
28749 (FS_DISTFILES): Likewise.
28750 (INCLUDE_DISTFILES): Likewise.
28751 (KERN_DISTFILES): Likewise.
28752 (LOADER_DISTFILES): Likewise.
28753 (TERM_DISTFILES): Likewise.
28754 (UTIL_DISTFILES): Likewise.
28755 (DISTFILES): Likewise.
28756 (uninstall): Uninstall files in $(pkgdata_DATA).
28757 (DISTLIST): New target.
28758 (distdir): Use the contents of the file DISTLIST to get a list of
28759 distributed files.
28760
28761 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28762
28763 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
28764 descriptor. This is ported from GRUB Legacy.
28765
28766 * gencmdlist.sh: Added an extra semicolon to make it work with
28767 old sed versions. Reported by Robert Bihlmeyer
28768 <robbe@orcus.priv.at>.
28769
28770 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
28771
28772 Automatic loading of commands is supported.
28773
28774 * normal/main.c (read_command_list): New function.
28775 (grub_normal_execute): Call read_command_list.
28776
28777 * normal/command.c (grub_register_command): Return zero or CMD.
28778 Allocate CMD->NAME from the heap.
28779 Initialize CMD->MODULE_NAME to zero.
28780 Find the same name as well. If the same command is found and it is
28781 a dummy command, overwrite members. If it is not a dummy command,
28782 return zero.
28783 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
28784 (grub_command_find): If a dummy command is found, load a module
28785 and retry to find a command only once.
28786
28787 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
28788 make sure that each command is loaded.
28789
28790 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
28791 macro.
28792 (struct grub_command): Remove const from the member `name'.
28793 Add a new member `module_name'.
28794 (grub_register_command): Return grub_command_t.
28795
28796 * commands/help.c (grub_cmd_help): Call grub_command_find to make
28797 sure that each command is loaded.
28798
28799 * genmk.rb (PModule::rule): Specify a module name without the
28800 suffix ".mod" to gencmdlist.sh.
28801
28802 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
28803
28804 * gencmdlist.sh: New file.
28805
28806 * genmk.rb (PModule::rule): Generate a rule for a command list.
28807 Clean command.lst.
28808 Generate command.lst from $(COMMANDFILES).
28809
28810 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
28811 (DATA): Added $(pkgdata_DATA).
28812 (install-local): Install files in $(pkgdata_DATA).
28813
28814 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
28815
28816 * term/i386/pc/vga.c (debug_command): Removed.
28817 (GRUB_MOD_INIT): Do not register the command "debug".
28818
28819 From Hollis Blanchard:
28820 * commands/configfile.c: New file.
28821 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28822 commands/configfile.c.
28823 (pkgdata_MODULES): Added configfile.mod.
28824 (configfile_mod_SOURCES): New variable.
28825 (configfile_mod_CFLAGS): Likewise.
28826 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
28827 commands/configfile.c.
28828 (pkgdata_MODULES): Added configfile.mod.
28829 (configfile_mod_SOURCES): New variable.
28830 (configfile_mod_CFLAGS): Likewise.
28831 * util/grub-emu.c (main): Call grub_configfile_init and
28832 grub_configfile_fini.
28833 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
28834 prototype.
28835 [GRUB_UTIL] (grub_configfile_fini): Likewise.
28836
28837 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
28838
28839 * normal/arg.c (grub_arg_show_help): Do not show the bug report
28840 address.
28841
28842 * commands/help.c (grub_cmd_help): Do not print newlines after
28843 the last command in print_command_help.
28844
28845 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
28846
28847 * commands/default.h: New file.
28848 * commands/timeout.h: Likewise.
28849 * normal/context.c: Likewise.
28850
28851 * util/misc.c: Do not include sys/times.h.
28852 Include sys/time.h and grub/machine/time.h.
28853 (grub_get_rtc): Rewritten with gettimeofday.
28854
28855 * util/grub-emu.c (main): Call grub_default_init and
28856 grub_timeout_init before grub_normal_init, and call
28857 grub_timeout_fini and grub_default_fini after grub_main.
28858
28859 * util/console.c (grub_ncurses_checkkey): Return the read
28860 character or -1.
28861
28862 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
28863 timeouts.
28864
28865 * normal/main.c (read_config_file): Push MENU. If this fails,
28866 print an error and wait for a user input.
28867 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
28868 If a menu is empty or an error occurs, pop MENU.
28869 (grub_normal_execute): Pop and free MENU after grub_menu_run
28870 returns.
28871
28872 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
28873
28874 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
28875 include time.h.
28876 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
28877 without GRUB_UTIL.
28878 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
28879 time.h.
28880 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
28881 without GRUB_UTIL.
28882
28883 * include/grub/normal.h (struct grub_menu_list): New struct.
28884 (grub_menu_list_t): New type.
28885 (struct grub_context): New struct.
28886 (grub_context_t): New type.
28887 (grub_register_command): Got rid of EXPORT_FUNC.
28888 (grub_unregister_command): Likewise.
28889 (grub_context_get): New prototype.
28890 (grub_context_get_current_menu): Likewise.
28891 (grub_context_push_menu): Likewise.
28892 (grub_context_pop_menu): Likewise.
28893 [GRUB_UTIL] (grub_default_init): Likewise.
28894 [GRUB_UTIL] (grub_default_fini): Likewise.
28895 [GRUB_UTIL] (grub_timeout_init): Likewise.
28896 [GRUB_UTIL] (grub_timeout_fini): Likewise.
28897
28898 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
28899 commands/timeout.c and normal/context.c.
28900 (pkgdata_MODULES): Added default.mod and timeout.mod.
28901 (normal_mod_SOURCES): Added normal/context.c.
28902 (default_mod_SOURCES): New variable.
28903 (default_mod_CFLAGS): Likewise.
28904 (timeout_mod_SOURCES): Likewise.
28905 (timeout_mod_CFLAGS): Likewise.
28906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
28907 conf/i386-pc.rmk.
28908 (pkgdata_MODULES): Added default.mod and timeout.mod.
28909 (normal_mod_SOURCES): Added normal/context.c.
28910 (default_mod_SOURCES): New variable.
28911 (default_mod_CFLAGS): Likewise.
28912 (timeout_mod_SOURCES): Likewise.
28913 (timeout_mod_CFLAGS): Likewise.
28914
28915 * Makefile.in (all-local): Added $(MKFILES).
28916
28917 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
28918
28919 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
28920 (grub_emu_SOURCES): Likewise.
28921 (pkgdata_MODULES): Add `sun.mod'.
28922 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
28923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
28924 `partmap/sun.c'.
28925 (pkgdata_MODULES): Add `sun.mod'.
28926 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
28927 * include/grub/partition.h (grub_sun_partition_map_init): New
28928 prototype.
28929 (grub_sun_partition_map_fini): Likewise.
28930 * partmap/sun.c: New file.
28931 * util/grub-emu.c (main): Initialize and de-initialize the sun
28932 partitionmap support.
28933
28934 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
28935
28936 This implements an Emacs-like menu entry editor.
28937
28938 * normal/menu_entry.c: New file.
28939
28940 * util/console.c (grub_ncurses_putchar): Translate some Unicode
28941 characters to ASCII.
28942 (saved_char): New variable.
28943 (grub_ncurses_checkkey): Rewritten completely.
28944 (grub_ncurses_getkey): Likewise.
28945 (grub_ncurses_init): Call raw instead of cbreak.
28946
28947 * normal/menu.c (print_entry): Do not put a space.
28948 (init_page): Renamed to ...
28949 (grub_menu_init_page): ... this. All callers changed.
28950 (edit_menu_entry): Removed.
28951 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
28952
28953 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
28954
28955 * kern/misc.c (grub_vprintf): Call grub_refresh.
28956
28957 * normal/menu.c (DISP_LEFT): Renamed to ...
28958 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
28959 * normal/menu.c (DISP_UP): Renamed to ...
28960 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
28961 * normal/menu.c (DISP_RIGHT): Renamed to ...
28962 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
28963 * normal/menu.c (DISP_DOWN): Renamed to ...
28964 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
28965 * normal/menu.c (DISP_HLINE): Renamed to ...
28966 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
28967 * normal/menu.c (DISP_VLINE): Renamed to ...
28968 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
28969 * normal/menu.c (DISP_UL): Renamed to ...
28970 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
28971 * normal/menu.c (DISP_UR): Renamed to ...
28972 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
28973 * normal/menu.c (DISP_LL): Renamed to ...
28974 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
28975 * normal/menu.c (DISP_LR): Renamed to ...
28976 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
28977 * normal/menu.c (TERM_WIDTH): Renamed to ...
28978 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
28979 * normal/menu.c (TERM_HEIGHT): Renamed to ...
28980 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
28981 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
28982 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
28983 * normal/menu.c (TERM_MARGIN): Renamed to ...
28984 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
28985 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
28986 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
28987 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
28988 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
28989 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
28990 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
28991 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
28992 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
28993 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
28994 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
28995 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
28996 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
28997 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
28998 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
28999 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
29000 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
29001 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
29002 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
29003 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
29004 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
29005 All callers changed.
29006
29007 * include/grub/normal.h: New prototype.
29008
29009 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29010 normal/menu_entry.c.
29011 (normal_mod_SOURCES): Likewise.
29012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29013 (normal_mod_SOURCES): Likewise.
29014
29015 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
29016
29017 * include/grub/normal.h (grub_halt_init): New prototype.
29018 (grub_halt_fini): Likewise.
29019 (grub_reboot_init): Likewise.
29020 (grub_reboot_fini): Likewise.
29021
29022 * util/grub-emu.c: Include signal.h.
29023 (main_env): New global variable.
29024 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
29025 catch C-c.
29026 (grub_machine_fini): New function.
29027 (main): Call grub_halt_init and grub_reboot_init before
29028 grub_main, and grub_reboot_fini and grub_halt_fini after it.
29029 Call setjmp with MAIN_ENV to go back afterwards.
29030 Call grub_machine_fini right before return.
29031
29032 * include/grub/util/misc.h: Include setjmp.h.
29033 (main_env): New prototype.
29034
29035 * include/grub/kernel.h (grub_machine_fini): New prototype.
29036 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
29037 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
29038
29039 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
29040 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
29041 * term/i386/pc/console.c (grub_console_fini): Likewise.
29042
29043 * util/i386/pc/misc.c: New file.
29044
29045 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29046 util/i386/pc/misc.c, commands/i386/pc/halt.c and
29047 commands/i386/pc/reboot.c.
29048
29049 2005-02-14 Guillem Jover <guillem@hadrons.org>
29050
29051 * include/grub/dl.h (grub_dl_check_header): New prototype.
29052 (grub_arch_dl_check_header): Change return type to grub_err_t,
29053 remove size parameter and export function. Update all callers.
29054 * kern/dl.c (grub_dl_check_header): New function.
29055 (grub_dl_load_core): Use `grub_dl_check_header' instead of
29056 `grub_arch_dl_check_header'. Check ELF type. Check if sections
29057 are inside the core.
29058 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
29059 independent ELF header checks.
29060 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
29061 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
29062 `grub_dl_check_header' instead of explicit checks. Check for the
29063 ELF type.
29064 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
29065 `grub_dl_check_header' instead of explicit checks. Remove arch
29066 specific ELF header checks.
29067
29068 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
29069 argument SIZE.
29070
29071 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
29072
29073 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
29074 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
29075
29076 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
29077
29078 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
29079 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
29080 (part_map_iterate): Clear `grub_errno' and return 0 if
29081 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
29082 * partmap/amiga.c (amiga_partition_map_iterate): Return
29083 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
29084 * partmap/apple.c (apple_partition_map_iterate): Likewise.
29085
29086 2005-02-01 Guillem Jover <guillem@hadrons.org>
29087
29088 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
29089 help info.
29090
29091 2005-01-31 Marco Gerards <metgerards@student.han.nl>
29092
29093 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
29094 Removed prototype.
29095 (grub_rescue_cmd_linux): New prototype.
29096 (grub_rescue_cmd_initrd): Likewise.
29097 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
29098 `bi_rec'.
29099 (grub_linux_release_mem): Release the memory for the initrd.
29100 (grub_load_linux): Renamed from this...
29101 (grub_rescue_cmd_linux): ...To this. Changed all callers.
29102 Changed `entry' not to be static. Loop over memory regions to
29103 find another one when the default fails.
29104 (grub_rescue_cmd_initrd): New function.
29105 (grub_linux_init): Remove function.
29106 (grub_linux_fini): Likewise.
29107 (GRUB_MOD_INIT): Register `initrd'.
29108 (GRUB_MOD_FINI): Unregister `initrd'.
29109 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
29110 Function removed.
29111 (grub_linux_normal_fini): Likewise.
29112 (GRUB_MOD_INIT): Register `initrd'.
29113 (GRUB_MOD_FINI): Unregister `initrd'.
29114
29115 2005-01-31 Marco Gerards <metgerards@student.han.nl>
29116
29117 * commands/help.c: New file.
29118 * normal/arg.c (show_help): Renamed to...
29119 (grub_arg_show_help): ... this.
29120 * commands/i386/pc/halt.c: New file.
29121 * commands/i386/pc/reboot.c: Likewise.
29122 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
29123 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
29124 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
29125 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
29126 variables.
29127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29128 `commands/help.c'.
29129 (pkgdata_MODULES): Add `help.mod'.
29130 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
29131 * grub/i386/pc/init.h (grub_reboot): New prototype.
29132 (grub_halt): Likewise.
29133 * include/grub/normal.h (grub_arg_show_help): New prototype.
29134 (grub_help_init): Likewise.
29135 (grub_help_fini): Likewise.
29136 * util/grub-emu.c (main): Initialize and deinitialize the help
29137 command.
29138
29139 * normal/cmdline.c (grub_cmdline_get): Doc fix.
29140
29141 * normal/command.c (grub_command_init): Fixed the description of
29142 the `set' and `unset' commands.
29143
29144 2005-01-31 Marco Gerards <metgerards@student.han.nl>
29145
29146 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
29147 function.
29148 * commands/ieee1275/halt.c: New file.
29149 * commands/ieee1275/reboot.c: Likewise.
29150 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
29151 `__attribute__ ((unused))'. Some GCS related fixed.
29152 (grub_suspend_init) [GRUB_UTIL]: Function removed.
29153 (grub_suspend_fini): Likewise.
29154 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
29155 and `halt.mod'.
29156 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
29157 (halt_mod_CFLAGS): New variables.
29158 * include/grub/powerpc/ieee1275/ieee1275.h
29159 (grub_ieee1275_interpret): New prototype.
29160
29161 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
29162
29163 * include/grub/misc.h (memmove): New prototype.
29164 (memcpy): Likewise.
29165
29166 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
29167
29168 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
29169 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
29170
29171 2005-01-22 Marco Gerards <metgerards@student.han.nl>
29172
29173 * kern/misc.c (grub_strndup): Function rewritten.
29174
29175 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
29176
29177 * normal/menu.c (TERM_WIDTH): Macro redefined.
29178 (TERM_TOP_BORDER_Y): Likewise.
29179 (draw_border): Replaced while-loop by a for-loop. Make the number
29180 of lines consistent with the number of lines displayed in
29181 print_entries. Added a margin below the rectangle.
29182 (print_entry): Make the entry fit in the rectangle.
29183 (print_entries): Display the scroll arrows next to the right
29184 border.
29185
29186 2005-01-21 Marco Gerards <metgerards@student.han.nl>
29187
29188 * fs/minix.c (grub_minix_find_file): Reserve more space for
29189 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
29190 `grub_strncpy' to copy `path' into it.
29191
29192 2005-01-21 Marco Gerards <metgerards@student.han.nl>
29193
29194 Add the loopback device, a device via which files can be accessed
29195 as devices.
29196
29197 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
29198 (pkgdata_MODULES): Add loopback.mod.
29199 (loopback_mod_SOURCES): New variable.
29200 (loopback_mod_CFLAGS): Likewise.
29201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29202 `disk/loopback.c'.
29203 (pkgdata_MODULES): Add loopback.mod.
29204 (loopback_mod_SOURCES): New variable.
29205 (loopback_mod_CFLAGS): Likewise.
29206 * disk/loopback.c: new file.
29207 * include/grub/normal.h (grub_loop_init): New prototype.
29208 (grub_loop_fini): New prototype.
29209 * util/grub-emu.c (main): Initialize and de-initialize loopback
29210 support.
29211 * include/grub/disk.h (grub_disk_dev_id): Add
29212 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
29213
29214 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
29215
29216 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
29217 function.
29218 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
29219 (suspend_mod_SOURCES): New variable.
29220 (suspend_mod_CFLAGS): Likewise.
29221 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
29222 New prototype.
29223 * commands/ieee1275/suspend.c: New file.
29224
29225 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29226
29227 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
29228 ((unused))' to `__attribute__ ((used))'.
29229 (GRUB_MOD_FINI): Likewise.
29230 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
29231 * genmk.rb (PModule): Assign space to common symbols when linking
29232 modules.
29233
29234 2005-01-20 Marco Gerards <metgerards@student.han.nl>
29235
29236 * include/grub/mm.h (grub_mm_init_region): Change the type of the
29237 `unsigned' arguments to `grub_size_t'.
29238 (grub_malloc): Likewise.
29239 (grub_realloc): Likewise.
29240 (grub_memalign): Likewise.
29241 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
29242 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
29243 * util/misc.c (grub_malloc): Likewise.
29244 (grub_realloc): Likewise.
29245 * kern/mm.c (get_header_from_pointer): Change the casts to
29246 `unsigned' into a cast to `grub_size_t'.
29247
29248 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
29249 point to `currnode' when `currnode' is changed.
29250
29251 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
29252 Schottelius <nico-linux@schottelius.org>.
29253
29254 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
29255
29256 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
29257 (note_path): Remove variable.
29258 (GRUB_IEEE1275_NOTE_NAME): New macro.
29259 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
29260 (grub_ieee1275_note_hdr): New structure.
29261 (grub_ieee1275_note_desc): Likewise.
29262 (grub_ieee1275_note): Likewise.
29263 (load_note): Remove `dir' argument. All callers updated. Remove
29264 `note_img' and `path'. Do not load a file from `note_path'.
29265 Initialize a struct grub_ieee1275_note and write that to `out'.
29266 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
29267
29268 2005-01-05 Marco Gerards <metgerards@student.han.nl>
29269
29270 * util/misc.c (grub_util_read_image): Revert last change. It
29271 called `grub_util_read_at', which seeks from the beginning of the
29272 file.
29273
29274 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
29275
29276 * TODO: Add note about endianness in grub-mkimage.
29277 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
29278 section.
29279 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
29280 (grub_mkimage_SOURCES): New target.
29281 * include/grub/kernel.h (grub_start_addr): Remove variable.
29282 (grub_end_addr): Likewise.
29283 (grub_total_module_size): Likewise.
29284 (grub_kernel_image_size): Likewise.
29285 (GRUB_MODULE_MAGIC): New constant.
29286 (grub_module_info): New structure.
29287 (grub_arch_modules_addr): New prototype.
29288 (grub_get_end_addr): Remove prototype.
29289 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
29290 * include/grub/powerpc/ieee1275/kernel.h: New file.
29291 * include/grub/util/misc.h (grub_util_get_fp_size): New
29292 prototype.
29293 (grub_util_read_at): Likewise.
29294 (grub_util_write_image_at): Likewise.
29295 * kern/main.c (grub_get_end_addr): Remove function.
29296 (grub_load_modules): Call grub_arch_modules_addr instead of using
29297 grub_end_addr. Look for a grub_module_info struct in memory. Use
29298 the grub_module_info fields instead of calling grub_get_end_addr
29299 as loop conditions. Move grub_add_unused_region code here.
29300 (grub_add_unused_region): Remove function.
29301 * kern/i386/pc/init.c: Include grub/cache.h.
29302 (grub_machine_init): Remove call to grub_get_end_addr. Remove
29303 one call to add_mem_region.
29304 (grub_arch_modules_addr): New function.
29305 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
29306 (grub_total_module_size): Likewise.
29307 Include grub/machine/kernel.h.
29308 (grub_arch_modules_addr): New function.
29309 * util/grub-emu.c (grub_end_addr): Remove variable.
29310 (grub_total_module_size): Likewise.
29311 (grub_arch_modules_addr): New function.
29312 * util/misc.c: Include unistd.h.
29313 (grub_util_get_fp_size): New function.
29314 (grub_util_read_at): Likewise.
29315 (grub_util_write_image_at): Likewise.
29316 (grub_util_read_image): Call grub_util_read_at.
29317 (grub_util_write_image): Call grub_util_write_image_at.
29318 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
29319 additional memory in kernel_img for a struct grub_module_info.
29320 Fill in that grub_module_info.
29321 * util/powerpc/ieee1275/grub-mkimage.c: New file.
29322
29323 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
29324
29325 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
29326 New function.
29327 * include/grub/powerpc/ieee1275/ieee1275.h
29328 (grub_ieee1275_milliseconds): New prototype.
29329 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
29330 Change to 1000.
29331 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
29332 grub_ieee1275_milliseconds.
29333
29334 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
29335
29336 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
29337 variable.
29338 (find_options): New function.
29339 (cmain): Call find_options.
29340 * include/grub/powerpc/ieee1275/ieee1275.h
29341 (grub_ieee1275_realmode): New extern variable.
29342 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
29343 grub_map if grub_ieee1275_realmode is false.
29344
29345 2004-12-29 Marco Gerards <metgerards@student.han.nl>
29346
29347 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
29348 lines are inserted and make it work like readline. Reported by
29349 Vincent Pelletier <subdino2004@yahoo.fr>.
29350
29351 2004-12-28 Marco Gerards <metgerards@student.han.nl>
29352
29353 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
29354
29355 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
29356 `kern/powerpc/cache.S'.
29357
29358 2004-12-27 Marco Gerards <metgerards@student.han.nl>
29359
29360 * genmk.rb: Handle the `Program' class in the main loop. Written
29361 by Johan Rydberg <jrydberg@gnu.org>.
29362 (Program): New class.
29363 (programs): New variable.
29364 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
29365 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
29366 instead of "grub/kernel.h". Include <grub/machine/init.h>.
29367 (help_arch): Function removed.
29368 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
29369 `powerpc/libgcc.h' and `loader.h'.
29370 (pkgdata_PROGRAMS): New variable.
29371 (sbin_UTILITIES): Variable removed.
29372 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
29373 (grubof_SOURCES): Variable re-defined so it only includes the
29374 core functionality.
29375 (grubof_CFLAGS): Remove `-DGRUBOF'.
29376 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
29377 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
29378 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
29379 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
29380 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
29381 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
29382 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
29383 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
29384 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
29385 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
29386 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29387 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
29388 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
29389 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
29390 (pc_mod_CFLAGS): New variables.
29391 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
29392 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
29393 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
29394 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
29395 Moved from here...
29396 * include/grub/i386/pc/init.h (grub_os_area_addr)
29397 (rub_os_area_size): ... to here.
29398 * include/grub/powerpc/ieee1275/ieee1275.h
29399 (grub_ieee1275_entry_fn): Export symbol.
29400 * include/grub/powerpc/ieee1275/init.h: New file.
29401 * include/grub/powerpc/libgcc.h: Likewise.
29402 * include/grub/cache.h: Likewise.
29403 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
29404 <hollis@penguinppc.org>.
29405 * kern/dl.c: Include <grub/cache.h>.
29406 (grub_dl_flush_cache): New function.
29407 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
29408 for this module.
29409 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
29410 (grub_console_init): Removed prototypes.
29411 (grub_machine_init): Don't initialize the modules anymore.
29412 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
29413 static.
29414 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
29415 Macro undef removed.
29416 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
29417 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
29418 relocation `R_PPC_REL32'. Return an error when the relocation is
29419 unknown.
29420 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
29421 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
29422 * util/misc.c (grub_arch_sync_caches): Likewise.
29423
29424 2004-12-19 Marco Gerards <metgerards@student.han.nl>
29425
29426 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
29427 `symlist.c', add `grubof_symlist.c'.
29428 (symlist.c): Variable removed.
29429 (grubof_HEADERS): Variable added.
29430 (grubof_symlist.c): New target.
29431 (kernel_syms.lst): Use `grubof_HEADERS' instead of
29432 `kernel_img_HEADERS'.
29433 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
29434 * kern/powerpc/dl.c: New file.
29435 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
29436 Function removed.
29437 (grub_arch_dl_relocate_symbols): Likewise.
29438 (grub_register_exported_symbols): Likewise.
29439
29440 2004-12-13 Marco Gerards <metgerards@student.han.nl>
29441
29442 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
29443 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
29444 to fail instead. Reported by Vincent Pelletier
29445 <subdino2004@yahoo.fr>.
29446
29447 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
29448 it is not allocated. Reported by Vincent Pelletier
29449 <subdino2004@yahoo.fr>.
29450
29451 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
29452 output so the output looks better.
29453
29454 2004-12-04 Marco Gerards <metgerards@student.han.nl>
29455
29456 Modulize the partition map support and add support for the amiga
29457 partition map.
29458
29459 * commands/ls.c: Include <grub/partition.h> instead of
29460 <grub/machine/partition.h>.
29461 * kern/disk.c: Likewise.
29462 * kern/rescue.c: Likewise.
29463 * loader/i386/pc/chainloader.c: Likewise.
29464 * normal/cmdline.c: Likewise.
29465 * kern/powerpc/ieee1275/init.c: Likewise.
29466 (grub_machine_init): Call `grub_pc_partition_map_init',
29467 `grub_amiga_partition_map_init' and
29468 `grub_apple_partition_map_init'.
29469 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
29470 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
29471 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
29472 `partition.h' and `pc_partition.h'.
29473 (grub_setup_SOURCES): Remove
29474 `disk/i386/pc/partition.c'. Add `kern/partition.c',
29475 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
29476 (grub_emu_SOURCES): Likewise.
29477 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
29478 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
29479 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
29480 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
29481 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
29482 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
29483 (grubof_SOURCES): Likewise.
29484 * disk/i386/pc/partition.c: File removed.
29485 * disk/powerpc/ieee1275/partition.c: Likewise.
29486 * include/grub/powerpc/ieee1275/partition.h: Likewise.
29487 * include/grub/i386/pc/partition.h: Likewise.
29488 * kern/partition.c: New file.
29489 * partmap/amiga.c: Likewise.
29490 * partmap/apple.c: Likewise.
29491 * partmap/pc.c: Likewise.
29492 * include/grub/partition.h: Likewise..
29493 * include/grub/pc_partition.h: Likewise.
29494 * util/grub-emu.c: Include <grub/partition.h> instead of
29495 <grub/machine/partition.h>.
29496 (main): Call `grub_pc_partition_map_init',
29497 `grub_amiga_partition_map_init' and
29498 `grub_apple_partition_map_init' and deinitialize afterwards.
29499 * util/i386/pc/biosdisk.c: Include `#include
29500 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
29501 `<grub/machine/partition.h>'.
29502 * util/i386/pc/grub-setup.c: Likewise.
29503 * util/i386/pc/biosdisk.c: Likewise.
29504 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
29505 partition information in case of a PC partition.
29506 * util/i386/pc/grub-setup.c: Include `#include
29507 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
29508 `<grub/machine/partition.h>'.
29509 (setup): Only access the PC specific partition information in case
29510 of a PC partition.
29511
29512 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
29513
29514 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
29515 (grub_longjmp): Likewise.
29516 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
29517 20.
29518 * normal/powerpc/setjmp.S: New file.
29519 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
29520 `normal/powerpc/setjmp.S'.
29521 (grubof_CFLAGS): Add `-DGRUBOF'.
29522 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
29523 [GRUB_UTIL && !GRUBOF].
29524
29525 2004-11-16 Marco Gerards <metgerards@student.han.nl>
29526
29527 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
29528 property named `name'. Correctly handle the error returned by
29529 `grub_ieee1275_finddevice' if a device can not be opened.
29530
29531 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
29532
29533 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
29534 `actual' for negativity.
29535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
29536 kern/fshelp.c.
29537
29538 2004-11-01 Marco Gerards <metgerards@student.han.nl>
29539
29540 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
29541 (PAGE_OFFSET): New macro.
29542 (CRTC_ADDR_PORT): Likewise.
29543 (CRTC_DATA_PORT): Likewise.
29544 (START_ADDR_HIGH_REGISTER): Likewise.
29545 (START_ADDR_LOW_REGISTER): Likewise.
29546 (GRAPHICS_ADDR_PORT): Likewise.
29547 (GRAPHICS_DATA_PORT): Likewise.
29548 (READ_MAP_REGISTER): Likewise.
29549 (INPUT_STATUS1_REGISTER): Likewise.
29550 (INPUT_STATUS1_VERTR_BIT): Likewise.
29551 (page): New variable.
29552 (wait_vretrace): New function.
29553 (set_read_map): Likewise.
29554 (set_start_address): Likewise.
29555 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
29556 the right page.
29557 (check_vga_mem): Take the page into account.
29558 (write_char): Likewise.
29559 (write_cursor): Likewise.
29560 (scroll_up): Likewise. Copy the page to the page that is not
29561 shown and switch between both pages.
29562 (grub_vga_putchar): Fix off by one error.
29563 (grub_vga_cls): Wait for the vertical retrace. Take the page into
29564 account.
29565
29566 2004-11-01 Marco Gerards <metgerards@student.han.nl>
29567
29568 Add support for iso9660 (including rockridge).
29569
29570 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
29571 (iso9660_mod_SOURCES): New variable.
29572 (iso9660_mod_CFLAGS): Likewise.
29573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
29574 * include/grub/fs.h (grub_iso9660_init): New prototype.
29575 * util/grub-emu.c (main): Call `grub_iso9660_init'.
29576 * fs/iso9660.c: New file.
29577
29578 * include/grub/misc.h (grub_strncat): New prototype.
29579 * kern/misc.c (grub_strncat): New function.
29580
29581 * fs/hfs.c (grub_hfs_mount): Translate the error
29582 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
29583 * fs/jfs.c (grub_jfs_mount): Likewise.
29584 * fs/ufs.c (grub_ufs_mount): Likewise.
29585
29586 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
29587
29588 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
29589 which initialized BAT registers.
29590 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
29591 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
29592 Move from here...
29593 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
29594 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
29595 ... to here.
29596 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
29597 (grub_mapclaim): Likewise.
29598 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
29599 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
29600 hand.
29601
29602 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
29603
29604 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
29605 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
29606 -ffreestanding and -msoft-float.
29607
29608 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
29609
29610 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
29611 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
29612 set in grub_ieee1275_flags.
29613
29614 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
29615
29616 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
29617 prototype.
29618 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
29619 grub_console_init first.
29620 Change the memory range used for grub_ieee1275_claim and
29621 grub_mm_init_region.
29622 Print an error message if the claim fails.
29623 Include <grub/misc.h>.
29624
29625 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
29626
29627 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
29628 Call grub_children_iterate for device nodes of type `scsi',
29629 `ide', or `ata'.
29630 (grub_ofdisk_open): Remove manual device alias resolution.
29631 Fix memory leak when device cannot be opened.
29632 * include/grub/powerpc/ieee1275/ieee1275.h
29633 (grub_children_iterate): New prototype.
29634 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
29635 New function.
29636 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
29637 Return -1 if args.size was -1.
29638
29639 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
29640
29641 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
29642 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
29643 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
29644 Open Firmware's memory for it; claim memory from _start to _end.
29645 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
29646 (_end): New extern.
29647 (_start): Zero BSS from __bss_start to _end.
29648 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
29649 New extern.
29650 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
29651
29652 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
29653
29654 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
29655 -1 if args.base was -1.
29656
29657 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
29658
29659 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
29660 escape sequence instead of a literal ^L. Also call
29661 grub_ofconsole_gotoxy.
29662
29663 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
29664
29665 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
29666 void * arguments to grub_addr_t. All callers updated. Also make
29667 the `result' argument optional.
29668 (grub_ieee1275_release): change void * arguments to grub_addr_t.
29669 All callers updated.
29670
29671 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
29672
29673 * commands/ls.c (grub_ls_list_files): Use the string following the
29674 initial ')', if present, as the filesystem path.
29675 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
29676
29677 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
29678
29679 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
29680
29681 Make the source code of the menu interface more readable.
29682
29683 * normal/menu.c: Include grub/mm.h.
29684 (TERM_WIDTH): New macro.
29685 (TERM_HEIGHT): Likewise.
29686 (TERM_INFO_HEIGHT): Likewise.
29687 (TERM_MARGIN): Likewise.
29688 (TERM_SCROLL_WIDTH): Likewise.
29689 (TERM_TOP_BORDER_Y): Likewise.
29690 (TERM_LEFT_BORDER_X): Likewise.
29691 (TERM_BORDER_WIDTH): Likewise.
29692 (TERM_MESSAGE_HEIGHT): Likewise.
29693 (TERM_BORDER_HEIGHT): Likewise.
29694 (TERM_NUM_ENTRIES): Likewise.
29695 (TERM_FIRST_ENTRY_Y): Likewise.
29696 (TERM_ENTRY_WIDTH): Likewise.
29697 (TERM_CURSOR_X): Likewise.
29698 (draw_border): Use macros instead of magic numbers.
29699 (print_entry): Likewise.
29700 (print_entries): Likewise.
29701 (run_menu): Likewise. Also, handle the key 'e'.
29702 (run_menu_entry): Ignore empty command lines.
29703 (print_message): Added a new argument EDIT. If EDIT is true,
29704 print a different message.
29705 (init_page): Likewise.
29706 (edit_menu_entry): New function. Not implemented yet.
29707
29708 2004-09-17 Marco Gerards <metgerards@student.han.nl>
29709
29710 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
29711 can be loaded from normal mode.
29712
29713 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
29714 `multiboot.mod'.
29715 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
29716 (multiboot_mod_CFLAGS): New variables.
29717 * loader/i386/pc/linux_normal.c: New file.
29718 * loader/i386/pc/multiboot_normal.c: Likewise.
29719
29720 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
29721 attribute `unused'.
29722
29723 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
29724 `fdiro' to read the mode information from instead of `diro'.
29725
29726 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
29727 looking up a symlink.
29728
29729 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
29730 macro.
29731 * normal/command.c (grub_command_execute): Don't parse the
29732 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
29733 flags of the command.
29734
29735 * normal/menu.c (grub_menu_run): Fix typo.
29736
29737 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
29738
29739 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
29740
29741 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
29742 `y + 1' instead of `y - 1'.
29743
29744 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
29745
29746 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
29747
29748 From Hollis Blanchard <hollis@penguinppc.org>:
29749 * kern/misc.c (memmove): New alias for grub_memmove.
29750 (memcmp): New alias for grub_memcmp.
29751 (memset): New alias for grub_memset.
29752 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
29753 Change "int handle" to "grub_ieee1275_phandle_t handle".
29754 * include/grub/powerpc/ieee1275/ieee1275.h
29755 (grub_ieee1275_get_property): Likewise.
29756
29757 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
29758
29759 Added normal mode command `chainloader' as module chain.mod, which
29760 depends on normal.mod and _chain.mod.
29761
29762 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
29763 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
29764 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
29765 Deleted prototype.
29766 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
29767 but arguments parsing moved to ...
29768 (grub_chainloader_cmd): ... here. New function.
29769 * include/grub/i386/pc/chainloader.h: New file.
29770 * loader/i386/pc/chainloader_normal.c: Likewise.
29771
29772 2004-09-11 Marco Gerards <metgerards@student.han.nl>
29773
29774 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
29775 (grub_mkimage_LDFLAGS): Likewise.
29776 (grub_emu_SOURCES): Likewise.
29777 (kernel_img_HEADERS): Added fshelp.h.
29778 * fs/ext2.c: Include <grub/fshelp.h>.
29779 (FILETYPE_REG): New macro.
29780 (FILETYPE_INO_REG): Likewise.
29781 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
29782 Changed all users.
29783 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
29784 all users.
29785 (grub_fshelp_node): New struct.
29786 (grub_ext2_data): Added member `diropen'. Changed member `inode'
29787 to a pointer.
29788 (grub_ext2_get_file_block): Removed function.
29789 (grub_ext2_read_block): New function.
29790 (grub_ext2_read_file): Replaced parameter `data' by `node'.
29791 This function was written.
29792 (grub_ext2_mount): Read the root inode. Create a diropen struct.
29793 (grub_ext2_find_file): Removed function.
29794 (grub_ext2_read_symlink): New function.
29795 (grub_ext2_iterate_dir): Likewise.
29796 (grub_ext2_open): Rewritten.
29797 (grub_ext2_dir): Rewritten.
29798 * include/grub/fshelp.h: New file.
29799 * fs/fshelp.c: Likewise.
29800
29801 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
29802
29803 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
29804 (print_message): Add a missing newline.
29805 (run_menu): Added timeout support.
29806 (run_menu_entry): New local function.
29807 (grub_menu_run): Added support for booting.
29808
29809 * kern/loader.c (grub_loader_is_loaded): New function.
29810
29811 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
29812 (grub_get_rtc): Exported.
29813
29814 * include/grub/i386/pc/time.h: Include grub/symbol.h.
29815 (grub_get_rtc): Exported.
29816
29817 * include/grub/normal.h (struct grub_command_list): Remove
29818 constant from the member `command'.
29819
29820 * include/grub/loader.h (grub_loader_is_loaded): Declared.
29821
29822 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
29823
29824 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
29825
29826 2004-08-28 Marco Gerards <metgerards@student.han.nl>
29827
29828 Add support for the JFS filesystem.
29829
29830 * fs/jfs.c: New file.
29831 * include/grub/fs.h (grub_jfs_init): New prototype.
29832 (grub_jfs_fini): New prototype.
29833 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
29834 (grub_emu_SOURCES): Likewise.
29835 (pkgdata_MODULES): Add jfs.mod.
29836 (jfs_mod_SOURCES): New variable.
29837 (jfs_mod_CFLAGS): Likewise.
29838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
29839 (grubof_SOURCES): Likewise.
29840 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
29841
29842 * fs/fat.c (grub_fat_find_dir): Convert the filename little
29843 endian to the host endian.
29844 (grub_fat_utf16_to_utf8): Move function from there...
29845 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
29846 the endianness of the source string anymore.
29847 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
29848
29849 2004-08-24 Marco Gerards <metgerards@student.han.nl>
29850
29851 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
29852 (grub_boot_fini) [GRUB_UTIL]: Likewise.
29853 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
29854 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
29855
29856 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
29857 (grub_hfs_iterate_dir): Make the function static. Add prototypes
29858 for `node_found' and `it_dir'.
29859 (grub_hfs_dir): Add prototype for `dir_hook'.
29860
29861 * fs/minix.c (grub_minix_get_file_block): Add prototype for
29862 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
29863 and `indir32' to silence a gcc warning.
29864
29865 * include/grub/fs.h (grub_hfs_init): New prototype.
29866 (grub_hfs_fini): Likewise.
29867
29868
29869 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29870
29871 Each disk device has its own id now. This is useful to make use
29872 of multiple disk devices.
29873
29874 * include/grub/disk.h (grub_disk_dev_id): New enum.
29875 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
29876 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
29877
29878 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
29879 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
29880
29881 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
29882 GRUB_DISK_DEVICE_OFDISK_ID as an id.
29883
29884 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
29885 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
29886
29887 * include/grub/disk.h (struct grub_disk_dev): Added a new member
29888 "id" which is used by the cache manager.
29889
29890 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
29891 of just "GRUB".
29892
29893 2004-08-18 Marco Gerards <metgerards@student.han.nl>
29894
29895 * fs/hfs.c: New file.
29896 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
29897 (grub_emu_SOURCES): Likewise.
29898 (pkgdata_MODULES): Add hfs.mod.
29899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
29900 (grubof_SOURCES): Likewise.
29901 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
29902
29903 * include/grub/misc.h (grub_strncasecmp): Add prototype.
29904 * kern/misc.c (grub_strncasecmp): Add function.
29905
29906 2004-08-14 Marco Gerards <metgerards@student.han.nl>
29907
29908 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
29909 with parentheses.
29910
29911 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
29912 (grub_ext2_dir): In case the directory entry type is unknown, read
29913 it from the inode.
29914
29915 2004-08-02 Peter Bruin <pjbruin@dds.nl>
29916
29917 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
29918 grub_load_linux instead of grub_rescue_cmd_linux as second
29919 argument of grub_rescue_register_command.
29920
29921 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
29922
29923 2004-07-27 Marco Gerards <metgerards@student.han.nl>
29924
29925 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
29926 function.
29927 * commands/boot.c: Remove the check for `GRUB_UTIL'.
29928 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
29929 `loader/powerpc/ieee1275/linux.c',
29930 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
29931 * include/grub/powerpc/ieee1275/ieee1275.h
29932 (grub_ieee1275_release): New prototype.
29933 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
29934 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
29935 normal, boot, linux and linux_normal.
29936 * loader/powerpc/ieee1275/linux.c: New file.
29937 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29938
29939 2004-07-12 Marco Gerards <metgerards@student.han.nl>
29940
29941 * normal/arg.c (grub_arg_parse): Correct error handling after
29942 reallocating the argumentlist (check if `argl' is not null instead
29943 of checking if `args' is not null).
29944 * kern/mm.c (grub_realloc): Return the same pointer when using the
29945 same region, instead of returning the header address.
29946
29947 2004-07-11 Marco Gerards <metgerards@student.han.nl>
29948
29949 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
29950 one block instead of two when looking for the initial partition.
29951 (grub_partition_probe): Initialize the local variable `p' with 0.
29952 Use base 10 for the grub_strtoul call.
29953 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
29954 need for one local variable.
29955 (grub_strtoul): Don't add the new value to `num', instead of that
29956 just assign it.
29957
29958 2004-07-11 Marco Gerards <metgerards@student.han.nl>
29959
29960 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
29961 (pxeboot_img_SOURCES): New variable.
29962 (pxeboot_img_ASFLAGS): Likewise.
29963 (pxeboot_img_LDFLAGS): Likewise.
29964 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
29965 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
29966 <lode_leroy@hotmail.com>.
29967
29968 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
29969
29970 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
29971 there was no input.
29972
29973 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
29974
29975 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
29976 the history buffer logic.
29977
29978 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
29979
29980 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
29981 (FILETYPE_INO_SYMLINK): New macros.
29982 (grub_ext2_find_file): Check if the node is a directory using the
29983 inode stat information instead of using the filetype in the
29984 dirent. Exclude the first character of an absolute symlink.
29985 (grub_ext2_dir): Mask out the filetype part of the mode member of
29986 the inode.
29987
29988 2004-05-24 Marco Gerards <metgerards@student.han.nl>
29989
29990 Add support for UFS version 1 and 2. Add support for the minix
29991 filesystem version 1 and 2, both the variants with 14 and 30 long
29992 filenames.
29993
29994 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
29995 fs/minix.c.
29996 (grub_emu_SOURCES): Likewise.
29997 (pkgdata_MODULES): Add ufs.mod and minix.mod.
29998 (ufs_mod_SOURCES): New variable.
29999 (ufs_mod_CFLAGS): Likewise.
30000 (minix_mod_SOURCES): Likewise.
30001 (minix_mod_CFLAGS): Likewise.
30002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
30003 fs/minix.c.
30004 (grubof_SOURCES): Likewise.
30005 * fs/ufs.c: New file.
30006 * fs/minix.c: New file.
30007 * include/grub/fs.h (grub_ufs_init): New prototype.
30008 (grub_ufs_fini): Likewise.
30009 (grub_minix_init): Likewise.
30010 (grub_minix_fini): Likewise.
30011 * util/grub-emu.c (main): Initialize and deinitialize UFS and
30012 minix fs.
30013
30014 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
30015
30016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
30017 commands/ls.c, commands/terminal.c, commands/boot.c,
30018 commands/cmp.c and commands/cat.c.
30019 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
30020
30021 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
30022 "env.h"
30023
30024 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30025
30026 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
30027 and grub_, respectively. Because the conversion is trivial and
30028 mechanical, I omit the details here. Please refer to the CVS
30029 if you need more information.
30030
30031 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30032
30033 * include/pupa: Renamed to ...
30034 * include/grub: ... this.
30035 * util/i386/pc/pupa-mkimage.c: Renamed to ...
30036 * util/i386/pc/grub-mkimage.c: ... this.
30037 * util/i386/pc/pupa-setup.c: Renamed to ...
30038 * util/i386/pc/grub-setup.c: ... this.
30039 * util/pupa-emu.c: Renamed to ...
30040 * util/grub-emu.c: ... this.
30041
30042 2004-03-29 Marco Gerards <metgerards@student.han.nl>
30043
30044 Add support for the newworld apple macintosh (PPC). This has been
30045 tested on the powerbook 2000 only. It only adds support for
30046 generic ieee1275 functions, console and disk support. This should
30047 be easy to port to other architectures with support for Open
30048 Firmware.
30049
30050 * configure.ac: Accept the powerpc as host_cpu. In the case of
30051 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
30052 specific tests are only executed while building for the i386.
30053 Inverse test for crosscompile.
30054 * genmk.rb (Utility): Allow assembler files.
30055 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
30056 * conf/powerpc-ieee1275.rmk: New file.
30057 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
30058 * disk/powerpc/ieee1275/partition.c: Likewise.
30059 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
30060 * include/pupa/powerpc/ieee1275/console.h: Likewise.
30061 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
30062 * include/pupa/powerpc/ieee1275/time.h: Likewise.
30063 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
30064 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
30065 * include/pupa/powerpc/ieee1275/loader.h
30066 * include/pupa/powerpc/setjmp.h: Likewise.
30067 * include/pupa/powerpc/types.h: Likewise.
30068 * kern/powerpc/ieee1275/init.c: Likewise.
30069 * kern/powerpc/ieee1275/openfw.c: Likewise.
30070 * term/powerpc/ieee1275/ofconsole.c: Likewise.
30071
30072 These files were written by Johan Rydberg
30073 (jrydberg@night.trouble.net) and I only modified them slightly.
30074
30075 * boot/powerpc/ieee1275/cmain.c: New file.
30076 * boot/powerpc/ieee1275/crt0.S: Likewise.
30077 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
30078 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
30079
30080 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
30081
30082 * Makefile.in: Update copyright.
30083 * genmodsrc.sh: Likewise.
30084 * gensymlist.sh: Likewise.
30085 * term/i386/pc/vga.c: Indent correctly.
30086
30087 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
30088 bugreporting address.
30089 * util/i386/pc/pupa-setup.c (usage): Likewise,
30090 (main): Call pupa_ext2_init and pupa_ext2_fini.
30091
30092 * fs/fat.c (log2): Renamed to ...
30093 (fat_log2): ... this.
30094 All callers changed.
30095 * kern/misc.c (memcpy): Alias to pupa_memmove.
30096 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
30097 lvalue cast.
30098 * util/console.c (pupa_ncurses_fini): Return 0.
30099
30100 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
30101 Move fail label here.
30102 [__GNU__]: Don't warn when using stat.
30103 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
30104 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
30105 long int. Use strtol instead of strtoul.
30106
30107 2004-03-14 Marco Gerards <metgerards@student.han.nl>
30108
30109 * commands/boot.c: New file.
30110 * commands/cat.c: Likewise.
30111 * commands/cmp.c: Likewise.
30112 * commands/ls.c: Likewise.
30113 * commands/terminal.c: Likewise.
30114 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
30115 (pupa_register_command): Changed interface to match the new
30116 argument parser.
30117 (pupa_command_execute): Changed (almost rewritten) so it uses
30118 pupa_split_command. Added support for setting variables using the
30119 syntax `foo=bar'.
30120 (rescue_command): Changed to work with the new argument parser.
30121 (terminal_command): Moved from here to commands/terminal.c.
30122 (set_command): New function.
30123 (unset_command): New function.
30124 (insmod_command): New function.
30125 (rmmod_command): New function.
30126 (lsmod_command): New function.
30127 (pupa_command_init): Don't initialize the command terminal
30128 anymore. Initialize the commands set, unset, insmod, rmmod and
30129 lsmod.
30130 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
30131 (kernel_img_HEADERS): Add arg.h and env.h.
30132 (pupa_mkimage_LDFLAGS): Add kern/env.c.
30133 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
30134 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
30135 normal/arg.c.
30136 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
30137 terminal.mod.
30138 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
30139 (boot_mod_SOURCES): New variable.
30140 (terminal_mod_SOURCES): Likewise.
30141 (ls_mod_SOURCES): Likewise.
30142 (cmp_mod_SOURCES): Likewise.
30143 (cat_mod_SOURCES): Likewise.
30144
30145 * normal/arg.c: New file.
30146 * kern/env.c: Likewise.
30147 * include/pupa/arg.h: Likewise.
30148 * include/pupa/env.h: Likewise.
30149 * font/manager.c (font_command): Changed to match argument parsing
30150 interface changes.
30151 (PUPA_MOD_INIT): Likewise.
30152 * hello/hello.c (pupa_cmd_hello): Likewise.
30153 (PUPA_MOD_INIT): Likewise.
30154 * include/pupa/disk.h: Include <pupa/device.h>.
30155 (pupa_print_partinfo): New prototype.
30156 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
30157 (pupa_dl_get_prefix): Likewise.
30158 * include/pupa/misc.h: Include <pupa/err.h>.
30159 (pupa_isgraph): New prototype.
30160 (pupa_isdigit): Likewise.
30161 (pupa_split_cmdline): Likewise.
30162 * include/pupa/normal.h: Include <pupa/arg.h>.
30163 (pupa_command): Changed the prototype of the member `func' to
30164 match the argument parsing interface. Added member `options'.
30165 (pupa_register_command): Updated to match function.
30166 (pupa_arg_parse): New prototype.
30167 (pupa_hello_init) [PUPA_UTIL]: New prototype.
30168 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
30169 (pupa_ls_init) [PUPA_UTIL]: Likewise.
30170 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
30171 (pupa_cat_init) [PUPA_UTIL]: Likewise.
30172 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
30173 (pupa_boot_init) [PUPA_UTIL]: Likewise.
30174 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
30175 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
30176 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
30177 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
30178 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
30179 * kern/disk.c: Include <pupa/file.h>.
30180 (pupa_print_partinfo): New function.
30181 * kern/dl.c: Include <pupa/env.h>.
30182 (pupa_dl_dir): Variable removed.
30183 (pupa_dl_load): Use the environment variable `prefix' instead of
30184 the variable pupa_dl_dir.
30185 (pupa_dl_set_prefix): Function removed.
30186 (pupa_dl_get_prefix): Likewise.
30187 * kern/i386/pc/init.c: Include <pupa/env.h>.
30188 (pupa_machine_init): Use the environment variable `prefix' instead of
30189 using pupa_dl_set_prefix to set the prefix.
30190 * kern/main.c: Include <pupa/env.h>.
30191 (pupa_set_root_dev): Use the environment variable `prefix' instead of
30192 using pupa_dl_get_prefix to get the prefix.
30193 * kern/misc.c: Include <pupa/env.h>.
30194 (pupa_isdigit): New function.
30195 (pupa_isgraph): Likewise.
30196 (pupa_ftoa): Likewise.
30197 (pupa_vsprintf): Added support for printing values of the type
30198 `double'. Make it possible to format variable output when using
30199 formatting like `%1.2%f'.
30200 (pupa_split_cmdline): New function.
30201 * kern/rescue.c: Include <pupa/env.h>.
30202 (next_word): Removed function.
30203 (pupa_rescue_cmd_prefix): Likewise.
30204 (pupa_rescue_cmd_set): New function.
30205 (pupa_rescue_cmd_unset): New function.
30206 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
30207 split the command line instead of splitting it here. Added
30208 support for setting variables using the syntax `foo=bar'. Don't
30209 initialize the prefix command anymore. Initialized the set and
30210 unset commands.
30211 * normal/cmdline.c: Include <pupa/env.h>.
30212 (pupa_tab_complete): Added prototypes for print_simple_completion,
30213 print_partition_completion, add_completion, iterate_commands,
30214 iterate_dev, iterate_part and iterate_dir. Moved code to print
30215 partition information from here to kern/disk.c.
30216 (pupa_cmdline_run): Don't check if the function exists anymore.
30217 * normal/main.c: Include <pupa/env.h>.
30218 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
30219 instead of using pupa_dl_get_prefix to get the prefix.
30220 * term/i386/pc/vga.c: Include <pupa/arg.h>.
30221 (check_vga_mem): Cast pointers to `void *' to silence a gcc
30222 warning.
30223 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
30224 (pupa_vga_setcolor): Declare unused variables with `__attribute__
30225 ((unused))' to silence a gcc warning.
30226 (pupa_vga_setcolor): Likewise.
30227 (debug_command): Changed to match argument parsing
30228 interface changes.
30229 * util/pupa-emu.c: Include <pupa/env.h>.
30230 (options): Added 0's for unused fields to silence a gcc warning.
30231 (argp): Likewise.
30232 (main): Use the environment variable `prefix' instead of using
30233 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
30234 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
30235 and terminal.
30236
30237 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
30238 * util/misc.c: Include <malloc.h>.
30239 (pupa_malloc): Rewritten so errors are correctly reported.
30240 (pupa_realloc): Likewise.
30241 (pupa_memalign): Likewise.
30242 (pupa_mm_init_region): Declare unused variables with
30243 `__attribute__ ((unused))' to silence a gcc warning.
30244 * normal/i386/setjmp.S: Remove tab at the end of the file to
30245 silence a gcc warning.
30246 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
30247 variables with `__attribute__ ((unused))' to silence a gcc
30248 warning.
30249 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
30250 local variable i unsigned to silence a gcc warning.
30251
30252 * kern/term.c: Include <pupa/misc.h>.
30253 (pupa_more_lines): New variable.
30254 (pupa_more): Likewise.
30255 (pupa_putcode): When the pager is active pause at the end of every
30256 screen.
30257 (pupa_set_more): New function.
30258 * include/pupa/term.h (pupa_set_more): New prototype.
30259
30260
30261 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
30262
30263 Now this project is GRUB 2 rather than PUPA. The location of
30264 the CVS repository was moved to GRUB's.
30265
30266 * configure.ac: Use bug-grub as the reporting address.
30267 Use GRUB instead of PUPA.
30268 Change the version number to 1.90.
30269
30270 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
30271
30272 * genkernsyms.sh: Updated copyright information.
30273 * genmk.rb: Likewise.
30274 * genmodsrc.sh: Likewise.
30275 * gensymlist.sh: Likewise.
30276 * boot/i386/pc/boot.S: Likewise.
30277 * boot/i386/pc/diskboot.S: Likewise.
30278 * disk/i386/pc/biosdisk.c: Likewise.
30279 * disk/i386/pc/partition.c: Likewise.
30280 * font/manager.c: Likewise.
30281 * fs/ext2.c: Likewise.
30282 * fs/fat.c: Likewise.
30283 * include/pupa/boot.h: Likewise.
30284 * include/pupa/device.h: Likewise.
30285 * include/pupa/disk.h: Likewise.
30286 * include/pupa/dl.h: Likewise.
30287 * include/pupa/elf.h: Likewise.
30288 * include/pupa/err.h: Likewise.
30289 * include/pupa/file.h: Likewise.
30290 * include/pupa/font.h: Likewise.
30291 * include/pupa/fs.h: Likewise.
30292 * include/pupa/kernel.h: Likewise.
30293 * include/pupa/loader.h: Likewise.
30294 * include/pupa/misc.h: Likewise.
30295 * include/pupa/mm.h: Likewise.
30296 * include/pupa/net.h: Likewise.
30297 * include/pupa/normal.h: Likewise.
30298 * include/pupa/rescue.h: Likewise.
30299 * include/pupa/setjmp.h: Likewise.
30300 * include/pupa/symbol.h: Likewise.
30301 * include/pupa/term.h: Likewise.
30302 * include/pupa/types.h: Likewise.
30303 * include/pupa/i386/setjmp.h: Likewise.
30304 * include/pupa/i386/types.h: Likewise.
30305 * include/pupa/i386/pc/biosdisk.h: Likewise.
30306 * include/pupa/i386/pc/boot.h: Likewise.
30307 * include/pupa/i386/pc/console.h: Likewise.
30308 * include/pupa/i386/pc/init.h: Likewise.
30309 * include/pupa/i386/pc/kernel.h: Likewise.
30310 * include/pupa/i386/pc/linux.h: Likewise.
30311 * include/pupa/i386/pc/loader.h: Likewise.
30312 * include/pupa/i386/pc/memory.h: Likewise.
30313 * include/pupa/i386/pc/multiboot.h: Likewise.
30314 * include/pupa/i386/pc/partition.h: Likewise.
30315 * include/pupa/i386/pc/time.h: Likewise.
30316 * include/pupa/i386/pc/vga.h: Likewise.
30317 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
30318 * include/pupa/util/getroot.h: Likewise.
30319 * include/pupa/util/misc.h: Likewise.
30320 * include/pupa/util/resolve.h: Likewise.
30321 * kern/device.c: Likewise.
30322 * kern/disk.c: Likewise.
30323 * kern/dl.c: Likewise.
30324 * kern/err.c: Likewise.
30325 * kern/file.c: Likewise.
30326 * kern/fs.c: Likewise.
30327 * kern/loader.c: Likewise.
30328 * kern/main.c: Likewise.
30329 * kern/misc.c: Likewise.
30330 * kern/mm.c: Likewise.
30331 * kern/rescue.c: Likewise.
30332 * kern/term.c: Likewise.
30333 * kern/i386/dl.c: Likewise.
30334 * kern/i386/pc/init.c: Likewise.
30335 * kern/i386/pc/lzo1x.S: Likewise.
30336 * kern/i386/pc/startup.S: Likewise.
30337 * loader/i386/pc/chainloader.c: Likewise.
30338 * loader/i386/pc/linux.c: Likewise.
30339 * loader/i386/pc/multiboot.c: Likewise.
30340 * normal/cmdline.c: Likewise.
30341 * normal/command.c: Likewise.
30342 * normal/main.c: Likewise.
30343 * normal/menu.c: Likewise.
30344 * normal/i386/setjmp.S: Likewise.
30345 * term/i386/pc/console.c: Likewise.
30346 * term/i386/pc/vga.c: Likewise.
30347 * util/console.c: Likewise.
30348 * util/genmoddep.c: Likewise.
30349 * util/misc.c: Likewise.
30350 * util/pupa-emu.c: Likewise.
30351 * util/resolve.c: Likewise.
30352 * util/unifont2pff.rb: Likewise.
30353 * util/i386/pc/biosdisk.c: Likewise.
30354 * util/i386/pc/getroot.c: Likewise.
30355 * util/i386/pc/pupa-mkimage.c: Likewise.
30356 * util/i386/pc/pupa-setup.c: Likewise.
30357
30358 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
30359
30360 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
30361 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
30362 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
30363 reading and reset it after reading.
30364 (pupa_ext2_close): Return PUPA_ERR_NONE.
30365
30366 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
30367 Correct value.
30368 (struct linux_kernel_header): Add kernel_version and
30369 initrd_addr_max.
30370 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
30371 pupa_file_read succeeds.
30372 (pupa_rescue_cmd_initrd): Implement.
30373
30374 2003-12-03 Marco Gerards <metgerards@student.han.nl>
30375
30376 * fs/ext2.c (pupa_ext2_label): New function.
30377 (pupa_ext2_fs): Added label.
30378 * fs/fat.c (pupa_fat_label): New function.
30379 (pupa_fat_fs): Added label.
30380 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
30381
30382 * kern/misc.c (pupa_strndup): New function.
30383 * include/pupa/misc.h (pupa_strndup): New prototype.
30384
30385 * include/pupa/normal.h: Include <pupa/err.h>.
30386 (pupa_set_history): New prototype.
30387 (pupa_iterate_commands): New prototype.
30388 * normal/cmdline.c: Include <pupa/machine/partition.h>,
30389 <pupa/disk.h>, <pupa/file.h>.
30390 (hist_size): New variable.
30391 (hist_lines): Likewise.
30392 (hist_end): Likewise.
30393 (hist_used): Likewise.
30394 (pupa_set_history): New function.
30395 (pupa_history_get): Likewise.
30396 (pupa_history_add): Likewise.
30397 (pupa_history_replace): Likewise.
30398 (pupa_tab_complete): Likewise.
30399 (pupa_cmdline_run): Added tab completion and history buffer. Tab
30400 completion shows partitionnames while completing partitions, this
30401 feature was suggested by Jeff Bailey.
30402 * normal/command.c (pupa_iterate_commands): New function.
30403 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
30404 (pupa_normal_init): Initialize history buffer.
30405 (PUPA_MOD_INIT): Likewise.
30406 (pupa_normal_fini): Free the history buffer.
30407 (PUPA_MOD_FINI): Likewise.
30408
30409 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
30410 key.
30411
30412 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
30413 * configure.ac [i386]: Check for regparam bug.
30414 (NESTED_FUNC_ATTR) [! i386]: Defined.
30415
30416 2003-11-17 Marco Gerards <metgerards@student.han.nl>
30417
30418 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
30419 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
30420 (pupa_emu_SOURCES): New variable.
30421 (pupa_emu_LDFLAGS): Likewise.
30422 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
30423 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
30424 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
30425 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
30426 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
30427 (pupa_jmp_buf): New typedef.
30428 (pupa_setjmp) [PUPA_UTIL]: New macro.
30429 (pupa_longjmp) [PUPA_UTIL]: Likewise.
30430 * include/pupa/term.h (struct pupa_term): New member `refresh'.
30431 (pupa_refresh): New prototype.
30432 * include/pupa/util/getroot.h: New file.
30433 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
30434 it.
30435 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
30436 (pupa_rescue_cmd_cat): Likewise.
30437 (pupa_rescue_cmd_ls): Likewise.
30438 (pupa_rescue_cmd_testload): Likewise.
30439 (pupa_rescue_cmd_lsmod): Likewise.
30440 * normal/cmdline.c (pupa_cmdline_get): Likewise.
30441 * normal/menu.c (run_menu): Likewise.
30442 * kern/term.c (pupa_cls): Likewise.
30443 (pupa_refresh): New function.
30444 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
30445 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
30446 * util/console.c: New file.
30447
30448 * util/i386/pc/getroot.c: New file.
30449 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
30450 (pupa_putchar): New function.
30451 (pupa_refresh): Likewise.
30452 (xgetcwd): Function moved to ...
30453 (strip_extra_slashes): Likewise.
30454 (get_prefix): Likewise.
30455 * util/i386/pc/getroot.c: ... here.
30456 (find_root_device): Function moved and renamed to...
30457 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
30458 Changed all callers.
30459 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
30460 and renamed to...
30461 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
30462 Changed all callers.
30463 * util/misc.c (pupa_memalign): New function.
30464 (pupa_mm_init_region): Likewise.
30465 (pupa_register_exported_symbols): Likewise.
30466 (pupa_putchar): Function removed.
30467 * util/pupa-emu.c: New file.
30468
30469 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
30470
30471 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
30472 (_multiboot_mod_SOURCES): New variable.
30473 (_multiboot_mod_CFLAGS): Likewise.
30474 * loader/i386/pc/multiboot.c: New file.
30475 * include/pupa/i386/pc/multiboot.h: Likewise.
30476 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
30477 (pupa_multiboot_real_boot): New function.
30478 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
30479 (pupa_multiboot_real_boot): New prototype.
30480 (pupa_rescue_cmd_multiboot): Likewise
30481 (pupa_rescue_cmd_module): Likewise.
30482
30483 * kern/loader.c (pupa_loader_set): Continue when
30484 pupa_loader_unload_func() fails.
30485 (pupa_loader_unset): New function.
30486 * include/pupa/loader.h (pupa_loader_unset): New prototype.
30487
30488 * kern/misc.c (pupa_stpcpy): New function.
30489 * include/pupa/misc.h (pupa_stpcpy): New prototype.
30490
30491 2003-11-12 Marco Gerards <metgerards@student.han.nl>
30492
30493 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
30494 for available extensions.
30495
30496 * include/pupa/i386/pc/time.h: New file.
30497 * kern/disk.c: Include <pupa/machine/time.h>.
30498 (PUPA_CACHE_TIMEOUT): New macro.
30499 (pupa_last_time): New variable.
30500 (pupa_disk_open): Flush the cache when there was a timeout.
30501 (pupa_disk_close): Reset the timer.
30502 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
30503 pupa_currticks.
30504 * util/misc.c: Include <sys/times.h>
30505 (pupa_get_rtc): New function.
30506
30507 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
30508
30509 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
30510 as blocks.
30511 (pupa_ext2_get_file_block): Use blocks member.
30512
30513 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
30514 first block. Return -1 instead of pupa_errno on error.
30515
30516 2003-10-27 Marco Gerards <metgerards@student.han.nl>
30517
30518 * README: In the pupa-mkimage example use _chain instead of chain
30519 and ext2 instead of fat.
30520 * TODO: Replace ext2fs with jfs as an example. Add an item for
30521 adding journal playback for ext2fs.
30522 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
30523 (pkgdata_MODULES): Added ext2.mod.
30524 (ext2_mod_SOURCES): New variable.
30525 (ext2_mod_CFLAGS): Likewise.
30526 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
30527 * include/pupa/misc.h (pupa_strncpy): New prototype.
30528 (pupa_strcat): Likewise.
30529 (pupa_strncmp): Likewise.
30530 * kern/misc.c (pupa_strcat): Enable function.
30531 (pupa_strncpy): New function.
30532 (pupa_strncmp): Likewise.
30533 * fs/ext2.c: New file.
30534
30535 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
30536 when the read failed before retrying.
30537 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
30538 (_FILE_OFFSET_BITS): Likewise.
30539 * configure.ac: Added AC_SYS_LARGEFILE.
30540
30541 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
30542
30543 * genmk.rb (PModule#rule): Make sure to get only symbol names
30544 from the output of nm.
30545 Reported by Robert Millan <rmh.grub@aybabtu.com>.
30546
30547 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
30548
30549 I forgot to check in these changes for a long time. This adds
30550 incomplete support for VGA console, and this is still very
30551 buggy. Also, a lot of consideration is required for I18N,
30552 UNICODE, and VGA font issues. Therefore, assume that this is
30553 such that "better than nothing".
30554
30555 * font/manager.c: New file.
30556 * include/pupa/font.h: Likewise.
30557 * include/pupa/i386/pc/vga.h: Likewise.
30558 * term/i386/pc/vga.c: Likewise.
30559 * util/unifont2pff.rb: Likewise.
30560
30561 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
30562 (pkgdata_MODULES): Added vga.mod and font.mod.
30563 (vga_mod_SOURCES): New variables.
30564 (vga_mod_CFLAGS): Likewise.
30565 (font_mod_SOURCES): Likewise.
30566 (font_mod_CFLAGS): Likewise.
30567
30568 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
30569
30570 * include/pupa/term.h: Include pupa/err.h.
30571 (struct pupa_term): Added init and fini.
30572 Changed the argument of putchar to pupa_uint32_t.
30573
30574 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
30575 (pupa_console_real_putchar): New prototype.
30576 (pupa_console_putchar): Removed.
30577 (pupa_console_checkkey): Exported.
30578 (pupa_console_getkey): Likewise.
30579
30580 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
30581 characters.
30582
30583 * kern/term.c (pupa_term_set_current): Rewritten.
30584 (pupa_putchar): Likewise.
30585 (pupa_putcode): New function.
30586
30587 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
30588 (pupa_console_real_putchar): ... this.
30589 (pupa_vga_set_mode): New function.
30590 (pupa_vga_get_font): Likewise.
30591
30592 * normal/command.c: Include pupa/term.h.
30593 (terminal_command): New function.
30594 (pupa_command_init): Register the command "terminal".
30595
30596 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
30597 (DISP_UP): Likewise.
30598 (DISP_RIGHT): Likewise.
30599 (DISP_DOWN): Likewise.
30600 (DISP_HLINE): Likewise.
30601 (DISP_VLINE): Likewise.
30602 (DISP_UL): Likewise.
30603 (DISP_UR): Likewise.
30604 (DISP_LL): Likewise.
30605 (DISP_LR): Likewise.
30606
30607 * term/i386/pc/console.c (pupa_console_putchar): New function.
30608
30609 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
30610
30611 * util/resolve.c (pupa_util_resolve_dependencies): BUG
30612 FIX. Reverse the path_list.
30613
30614 * include/pupa/normal.h: Export pupa_register_command and
30615 pupa_unregister_command.
30616
30617 * hello/hello.c (pupa_cmd_hello): New module.
30618 * conf/i386-pc.rmk: Added hello.mod.
30619
30620 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
30621
30622 * kern/i386/pc/lzo1x.S: New file.
30623
30624 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
30625 (compress_kernel): New variable.
30626 (generate_image): Heavily modified to support compressing a
30627 large part of the core image.
30628
30629 * util/misc.c (pupa_util_read_image): Fix a file descriptor
30630 leak.
30631 (pupa_util_load_image): New function.
30632
30633 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
30634 (pupa_compressed_size): New variable.
30635 (codestart): Enable Gate A20 here.
30636 Decompress the compressed part of the core image.
30637 Rearrange the code to put functions and variables which are
30638 required for initialization in the non-compressed part.
30639 Include lzo1x.S.
30640
30641 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
30642 here.
30643
30644 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
30645
30646 * include/pupa/i386/pc/kernel.h
30647 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
30648 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
30649 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
30650 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
30651 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
30652
30653 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
30654
30655 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
30656 (Utility#rule): Likewise.
30657
30658 * configure.ac: Check if LZO is available.
30659
30660 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
30661
30662 * include/pupa/normal.h: New file.
30663 * include/pupa/setjmp.h: Likewise.
30664 * include/pupa/i386/setjmp.h: Likewise.
30665 * normal/cmdline.c: Likewise.
30666 * normal/command.c: Likewise.
30667 * normal/main.c: Likewise.
30668 * normal/menu.c: Likewise.
30669 * normal/i386/setjmp.S: Likewise.
30670
30671 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
30672 (pupa_rescue_cmd_initrd): Likewise.
30673
30674 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
30675 Likewise.
30676
30677 * kern/i386/pc/startup.S (translation_table): New variable.
30678 (translate_keycode): New function.
30679 (pupa_console_getkey): Call translate_keycode.
30680
30681 * kern/rescue.c (attempt_normal_mode): New function.
30682 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
30683 it failed, print a message.
30684
30685 * kern/mm.c (pupa_real_malloc): Print more information when a
30686 free magic is broken.
30687 (pupa_free): If the first free header is not free actually, set
30688 it to P.
30689
30690 * kern/main.c (pupa_load_normal_mode): Just load the module
30691 "normal".
30692 (pupa_main): Don't print the message
30693 "Entering into rescue mode..." here.
30694
30695 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
30696 Declared.
30697 (pupa_rescue_cmd_initrd): Likewise.
30698 (pupa_rescue_cmd_initrd): Likewise.
30699
30700 * include/pupa/symbol.h (FUNCTION): Specify the type.
30701 (VARIABLE): Likewise.
30702
30703 * include/pupa/err.h (pupa_err_t): Added
30704 PUPA_ERR_UNKNOWN_COMMAND.
30705
30706 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
30707 (pupa_dl_get_prefix): Likewise.
30708
30709 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
30710 Added _chain.mod and _linux.mod instead of chain.mod and
30711 linux.mod.
30712 (chain_mod_SOURCES): Renamed to ...
30713 (_chain_mod_SOURCES): ... this.
30714 (chain_mod_CFLAGS): Renamed to ...
30715 (_chain_mod_CFLAGS): ... this.
30716 (linux_mod_SOURCES): Renamed to ...
30717 (_linux_mod_SOURCES): ... this.
30718 (linux_mod_CFLAGS): Renamed to ...
30719 (_linux_mod_CFLAGS): ... this.
30720 (normal_mod_SOURCES): New variable.
30721 (normal_mod_CFLAGS): Likewise.
30722 (normal_mod_ASFLAGS): Likewise.
30723
30724 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
30725
30726 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
30727 possible.
30728
30729 * kern/dl.c (pupa_dl_ref): Refer depending modules
30730 recursively.
30731 (pupa_dl_unref): Unrefer depending modules recursively.
30732 Don't call pupa_dl_unload implicitly, because PUPA can crash if
30733 a module is unloaded before one depending on that module is
30734 unloaded.
30735 (pupa_dl_unload): Unload depending modules explicitly,
30736 if possible.
30737
30738 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
30739
30740 * include/pupa/i386/pc/linux.h: New file.
30741 * loader/i386/pc/linux.c: Likewise.
30742
30743 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
30744 Removed.
30745 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
30746 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
30747 of PUPA_CHAINLOADER_BOOT_SECTOR.
30748
30749 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
30750 (pupa_linux_prot_size): New variable.
30751 (pupa_linux_tmp_addr): Likewise.
30752 (pupa_linux_real_addr): Likewise.
30753 (pupa_linux_boot_zimage): New function.
30754 (pupa_linux_boot_bzimage): Likewise.
30755
30756 * kern/i386/pc/init.c (struct mem_region): New structure.
30757 (MAX_REGIONS): New macro.
30758 (mem_regions): New variable.
30759 (num_regions): Likewise.
30760 (pupa_os_area_addr): Likewise.
30761 (pupa_os_area_size): Likewise.
30762 (pupa_lower_mem): Likewise.
30763 (pupa_upper_mem): Likewise.
30764 (add_mem_region): New function.
30765 (compact_mem_regions): Likewise.
30766 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
30767 the size of the conventional memory and that of so-called upper
30768 memory (before the first memory hole).
30769 Instead of adding each found region to free memory, use
30770 add_mem_region and add them after removing overlaps.
30771 Also, add only 1/4 of the upper memory to free memory. The rest
30772 is used for loading OS images. Maybe this is ad hoc, but this
30773 makes it much easier to relocate OS images when booting.
30774
30775 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
30776 (pupa_enter_rescue_mode): Don't register initrd and module.
30777
30778 * kern/mm.c: Include pupa/dl.h.
30779
30780 * kern/main.c: Include pupa/file.h and pupa/device.h.
30781
30782 * kern/loader.c (pupa_loader_load_module_func): Removed.
30783 (pupa_loader_load_module): Likewise.
30784
30785 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
30786 ``.o''.
30787
30788 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
30789 (pupa_linux_tmp_addr): Likewise.
30790 (pupa_linux_real_addr): Likewise.
30791 (pupa_linux_boot_zimage): Likewise.
30792 (pupa_linux_boot_bzimage): Likewise.
30793
30794 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
30795 (pupa_upper_mem): Likewise.
30796 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
30797 module is too dangerous.
30798
30799 * include/pupa/loader.h (pupa_os_area_addr): Declared.
30800 (pupa_os_area_size): Likewise.
30801 (pupa_loader_set): Remove the first argument. Loader doesn't
30802 manage modules or initrd any longer.
30803 (pupa_loader_load_module): Removed.
30804
30805 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
30806 (linux_mod_SOURCES): New variable.
30807 (linux_mod_CFLAGS): Likewise.
30808
30809 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
30810
30811 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
30812 the length of a blocklist correctly.
30813
30814 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
30815 Use ioctl only if the OS file is a block device.
30816 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
30817 not very useful for normal files.
30818
30819 * kern/main.c (pupa_set_root_dev): New function.
30820 (pupa_load_normal_mode): Likewise.
30821 (pupa_main): Call those above.
30822
30823 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
30824 pupa_uint16_t.
30825
30826 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
30827
30828 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30829
30830 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
30831 (setup): Configure the installed partition information and the
30832 dl prefix.
30833
30834 * loader/i386/pc/chainloader.c (my_mod): New variable.
30835 (pupa_chainloader_unload): New function.
30836 (pupa_rescue_cmd_chainloader): Refer itself.
30837 (PUPA_MOD_INIT): Save its own module in MY_MOD.
30838
30839 * kern/i386/pc/startup.S (install_partition): Removed.
30840 (version_string): Likewise.
30841 (config_file): Likewise.
30842 (pupa_install_dos_part): New variable.
30843 (pupa_install_bsd_part): Likewise.
30844 (pupa_prefix): Likewise.
30845 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
30846
30847 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
30848 and pupa/misc.h.
30849 (make_install_device): New function.
30850 (pupa_machine_init): Set the dl prefix.
30851
30852 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
30853 (buf): Renamed to ...
30854 (linebuf): ... this.
30855 (pupa_rescue_cmd_prefix): New function.
30856 (pupa_rescue_cmd_insmod): Likewise.
30857 (pupa_rescue_cmd_rmmod): Likewise.
30858 (pupa_rescue_cmd_lsmod): Likewise.
30859 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
30860 rmmod and lsmod.
30861
30862 * kern/mm.c (pupa_memalign): If failed even after invalidating
30863 disk caches, unload unneeded modules and retry.
30864
30865 * kern/misc.c (pupa_memmove): New function.
30866 (pupa_memcpy): Removed.
30867 (pupa_strcpy): New function.
30868 (pupa_itoa): Made static.
30869
30870 * kern/dl.c (pupa_dl_iterate): New function.
30871 (pupa_dl_ref): Likewise.
30872 (pupa_dl_unref): Likewise.
30873 (pupa_dl_unload): Return if succeeded or not.
30874 (pupa_dl_unload_unneeded): New function.
30875 (pupa_dl_unload_all): Likewise.
30876 (pupa_dl_init): Renamed to ...
30877 (pupa_dl_set_prefix): ... this.
30878 (pupa_dl_get_prefix): New function.
30879
30880 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
30881 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
30882 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
30883 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
30884 (pupa_install_dos_part): Declared.
30885 (pupa_install_bsd_part): Likewise.
30886 (pupa_prefix): Likewise.
30887 (pupa_boot_drive): Likewise.
30888
30889 * include/pupa/types.h: Fix a typo.
30890
30891 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
30892 pupa_memmove.
30893 (pupa_memmove): Declared.
30894 (pupa_strcpy): Likewise.
30895
30896 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
30897 pupa_mod_init takes one argument, its own module.
30898 (pupa_dl_unload_unneeded): Declared.
30899 (pupa_dl_unload_all): Likewise.
30900 (pupa_dl_ref): Likewise.
30901 (pupa_dl_unref): Likewise.
30902 (pupa_dl_iterate): Likewise.
30903 (pupa_dl_init): Renamed to ...
30904 (pupa_dl_set_prefix): ... this.
30905 (pupa_dl_get_prefix): Declared.
30906
30907 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
30908 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
30909 unloaded.
30910 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
30911 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
30912
30913 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
30914 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
30915
30916 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
30917
30918 * util/i386/pc/pupa-setup.c (setup): Define the internal
30919 function find_first_partition_start at the top level, because GCC
30920 3.0.x cannot compile internal functions in deeper scopes
30921 correctly.
30922 (find_root_device): Use lstat instead of stat.
30923 Don't follow symbolic links.
30924 Fix the path-constructing code.
30925
30926 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
30927 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
30928 by a BLKGETSIZE ioctl first, because block devices don't fill
30929 the member st_mode of the structure stat on Linux.
30930 [__linux__] (linux_find_partition): Use a temporary buffer
30931 REAL_DEV for the working space. Copy it to DEV before returning.
30932 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
30933 buffer cache consistent.
30934 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
30935 strncmp. The previous value was merely wrong.
30936 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
30937
30938 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
30939 FAT size is 12. The previous value was merely wrong.
30940
30941 * kern/main.c (pupa_main): Don't split the starting message from
30942 newlines.
30943
30944 * kern/term.c (pupa_putchar): Put CR after LF instead of before
30945 LF, because BIOS goes crazy about character attributes in this
30946 case.
30947
30948 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
30949
30950 * include/i386/pc/util/biosdisk.h: New file.
30951 * util/i386/pc/biosdisk.c: Likewise.
30952 * util/i386/pc/pupa-setup.c: Likewise.
30953
30954 * Makefile.in (INCLUDE_DISTFILES): Added
30955 include/pupa/i386/pc/util/biosdisk.h.
30956 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
30957 directory util/i386/pc.
30958 (install-local): Added a rule for sbin_UTILITIES.
30959 (uninstall): Likewise.
30960
30961 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
30962
30963 * util/misc.c (xrealloc): New function.
30964 (pupa_malloc): Likewise.
30965 (pupa_free): Likewise.
30966 (pupa_realloc): Likewise.
30967 (pupa_stop): Likewise.
30968 (pupa_putchar): Likewise.
30969
30970 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
30971
30972 * include/pupa/util/misc.h (xrealloc): Declared.
30973
30974 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
30975 macro.
30976 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
30977 (PUPA_BOOT_MACHINE_BPB_END): ... this.
30978
30979 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
30980 [PUPA_UTIL] (pupa_fat_fini): Likewise.
30981
30982 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
30983 way should be implemented.
30984 [PUPA_UTIL] (pupa_fat_fini): Likewise.
30985
30986 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
30987 the size of NAME for safety.
30988 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
30989 0x88.
30990
30991 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
30992 (pupa_setup_SOURCES): Likewise.
30993
30994 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
30995
30996 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
30997
30998 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
30999 bunch of pushl's from pusha, because this destroys the return
31000 value.
31001
31002 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
31003
31004 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
31005 This means that any missing prototypes could be fatal. Also, you
31006 must take care when writing assembly code. See the comments at
31007 the beginning of startup.S, for more details.
31008
31009 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
31010 compilation mechanism.
31011 (pupa_chainloader_real_boot): Likewise.
31012 (pupa_biosdisk_rw_int13_extensions): Likewise.
31013 (pupa_biosdisk_rw_standard): Likewise.
31014 (pupa_biosdisk_check_int13_extensions): Likewise.
31015 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
31016 (pupa_biosdisk_get_diskinfo_standard): Likewise.
31017 (pupa_get_memsize): Likewise.
31018 (pupa_get_mmap_entry): Likewise.
31019 (pupa_console_putchar): Likewise.
31020 (pupa_console_setcursor): Likewise.
31021 (pupa_getrtsecs): Use pushl instead of push.
31022
31023 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
31024 memory instead of the stack for a mmap entry, because some
31025 BIOSes may ignore the maximum size and overflow.
31026
31027 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
31028
31029 * genmk.rb (PModule#rule): Compile automatically generated
31030 sources with module-specific CFLAGS as well as other sources.
31031
31032 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
31033
31034 * configure.ac: Check ld.
31035 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
31036 respectively, before checking endianness and sizes.
31037
31038 * Makefile.in (LD): New variable.
31039
31040 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
31041
31042 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
31043
31044 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
31045
31046 * Changelog: New file.
31047