1 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3 Split minix.mod into minix.mod and minix2.mod.
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
9 * grub-core/fs/minix2.c: New file.
11 2010-09-08 Yves Blusseau <blusseau@zetam.org>
13 Add new --boot-directory option to replace --root-directory
15 * util/grub-install.in: Add new --boot-directory option
16 * util/grub-reboot.in: Likewise.
17 * util/grub-set-default.in: Likewise.
19 2010-09-08 Yves Blusseau <blusseau@zetam.org>
21 * util/grub-mkconfig.in: Use new variable.
23 2010-09-08 Yves Blusseau <blusseau@zetam.org>
25 * configure.ac: Define some useful variables.
27 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
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
34 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
35 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
37 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
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.
44 2010-09-08 Robert Millan <rmh@gnu.org>
46 * configure.ac: Remove `--enable-grub-fstest' option.
47 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
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.
53 2010-09-08 Robert Millan <rmh@gnu.org>
55 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
56 initializing `GRUB_FS'.
58 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
60 Not command (!) support to GRUB script.
62 * tests/grub_script_not.in: New test.
63 * Makefile.util.def: Rules for new test.
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.
69 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
71 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
74 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
76 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
78 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
80 * docs/grub.texi (Shell-like scripting): Documentation for break,
81 continue, shift and return commands.
83 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
85 Rename CD-ROM to cd on BIOS.
87 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
89 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
91 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
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
99 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
101 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
104 2010-09-05 Jo Shields <directhex@apebox.org>
106 * util/grub.d/30_os-prober.in: Add missing classes.
108 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
110 * docs/grub.texi (Theme file format): Document new position format.
112 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
114 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
115 a table. Use @code instead of @verbatim.
117 2010-09-05 Colin D Bennett <colin@gibibit.com>
119 Gfxmenu documentation.
121 * docs/grub.texi (Theme file format): New chapter.
123 2010-09-05 Szymon Janc <szymon@janc.net.pl>
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.
138 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
140 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
141 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
144 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
146 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
147 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
149 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
151 Uncompressed checksum support.
153 * grub-core/commands/hashsum.c (options): Add option --uncompress.
154 (check_list): New parameter uncompress.
155 (grub_cmd_hashsum): Handle --uncompress.
157 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
159 Reintroduce testload.
161 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
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.
168 2010-09-05 Szymon Janc <szymon@janc.net.pl>
170 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
172 (uint16_t): Likewise.
173 (uint32_t): Likewise.
174 (uint64_t): Likewise.
176 2010-09-05 Szymon Janc <szymon@janc.net.pl>
178 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
180 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
182 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
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.
202 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
204 Filename expansion support for wildcards in GRUB script.
206 * tests/grub_script_expansion.in: New test.
207 * Makefile.util.def: Rule for new test.
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
218 * tests/util/grub-shell.in: Fix quoting for read input.
220 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
222 Support for updating environment variables with matched substrings
225 * tests/grub_cmd_regexp.in: New test.
226 * Makefile.util.def: Rule for new test.
228 * grub-core/commands/regexp.c: New option -s to update environment
229 variables with regexp matches.
231 2010-09-04 Szymon Janc <szymon@janc.net.pl>
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
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.
241 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
243 Support for options to appear multiple times on cmdline.
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.
250 Refactor menuentry into a regular command.
252 * grub-core/commands/menuentry.c: New file, menuentry command
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
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.
271 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
273 "return" command for GRUB script functions.
275 * tests/grub_script_return.in: New test.
276 * Makefile.util.def: Rules for new test.
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.
282 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
284 "setparams" command to update positional parameters.
286 * tests/grub_script_setparams.in: New test.
287 * Makefile.util.def: Rules for new test.
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.
297 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
299 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
302 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
304 Support for passing block of commands as an argument to extcmds.
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.
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
316 * include/grub/script_sh.h (struct grub_script): New members
317 `children', `next_siblings' and `refcnt' for block arguments and
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.
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'
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.
368 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
370 Multi-line quoted strings support.
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
380 * tests/grub_script_echo1.in: Added few more testcases.
382 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
384 * grub-core/kern/misc.c: Don't add abort alias in utils.
385 Reported by: echoline.
387 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
389 Add missing files into "make dist" tarball for other platforms.
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.
396 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
398 Compress grub_prefix.
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
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.
412 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
414 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
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.
421 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
423 * configure.ac: Clean LIBS variable after tests.
425 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
427 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
429 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
431 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
432 echo if libdevmapper will be used.
434 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
436 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
437 constant for the same file.
439 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
441 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
443 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
445 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
448 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
450 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
451 required by the boot protocol.
453 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
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
463 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
465 Add i386-pc-pxe image target.
467 * util/grub-mkimage.c (image_target_desc): New enum value
469 (image_targets): New target i386-pc-pxe.
470 (generate_image): Handle i386-pc-pxe image.
472 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
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.
479 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
480 (grub_pxe_pxenv): Correct type.
482 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
484 * NEWS: Document most of the important changes since 1.98.
486 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
488 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
489 generated manual page) a little.
491 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
493 * docs/grub.texi: Add myself as an author.
495 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
497 * Makefile.util.def (libgrub.a): Add missing sunpc.
498 Reported by: Seth Goldberg.
500 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
502 Interrupt wrapping and code simplifications.
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
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.
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.
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.
559 (datetime): Use tag cmos. Enable on all noemu.
560 (mmap): Use tags common and x86.
561 (gfxterm): Use tag videomodules.
563 (bitmap_scale): Likewise.
564 (video_fb): 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.
580 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
582 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
583 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
585 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
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):
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.
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):
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):
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):
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):
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):
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):
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):
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):
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):
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):
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):
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):
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):
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):
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):
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
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
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
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.
734 2010-08-30 Robert Millan <rmh@gnu.org>
736 * NEWS: Document addition of ZFS support in `grub-install' and
739 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
741 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
744 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
746 Remove leftover embedding of font objects.
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
753 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
755 * docs/grub.texi (Network): Fix reference to pxe_blksize.
756 Reported by: Ian Turner
758 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
760 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
761 timeout to avoid indefinite boot stalling.
763 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
765 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
766 (grub_env_write_color_highlight): Likewise.
768 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
770 * grub-core/normal/term.c (print_more): Return to normal and not
771 to standard state after printing "---MORE---".
773 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
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.
778 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
780 New relocator. Allows for more kernel support and more straightforward
783 * Makefile.am (BOOTTARGET): New variable.
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
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
856 (relocator.mod): Rewritten.
857 (aout.mod): Enable on all x86.
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
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
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.
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
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
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
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):
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):
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 *
1125 * include/grub/i386/loader.h: Removed.
1126 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
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):
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]:
1179 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
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.
1199 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1201 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
1203 (grub_bidi_logical_to_visual): Check that malloc succeded.
1204 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
1206 (grub_xputs_normal): Likewise.
1208 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1210 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
1213 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1215 * grub-core/efiemu/runtime/efiemu.sh: Removed.
1217 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1219 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
1221 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
1223 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
1226 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
1228 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
1230 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
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.
1236 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1238 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
1239 the begining of the string
1241 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1243 * grub-core/script/script.c (grub_script_parse): Free parsed on
1246 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1248 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
1251 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1253 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
1256 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1258 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
1259 (scroll_up): Fix a memory leak.
1261 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1263 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
1266 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
1268 Handle USB pendrives exposed as floppies.
1270 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
1272 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
1273 Check for partitions on all devices.
1275 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1277 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
1278 (readkey): Likewise.
1280 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1282 Multiple variable names support to "export" command.
1284 * normal/context.c (grub_cmd_export): "export" command supports
1285 multiple variable names.
1287 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
1289 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
1290 --target=drive output to Mach device name.
1292 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
1294 New Automake based build system for GRUB.
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
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
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.
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.
1323 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
1325 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
1328 * include/grub/test.h: Fix functional test modules' naming.
1329 * grub-core/tests/example_functional_test.c: Fix test module name.
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.
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.
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.
1356 * grub-core/gensymlist.sh: New file. Script for generating kernel
1358 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
1360 * grub-core/gentrigtables.c: Fix unused variable warnings.
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.
1386 * grub-core/boot: ... to here.
1388 * grub-core/bus: ... to here.
1389 * commands: Moved ...
1390 * grub-core/commands: ... to here.
1392 * grub-core/disk: ... to here.
1394 * grub-core/efiemu: ... to here.
1396 * grub-core/font: ... to here.
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.
1428 * grub-core/gnulib: ... to here.
1430 * grub-core/hello: ... to here.
1432 * grub-core/hook: ... to here.
1434 * grub-core/io: ... to here.
1436 * grub-core/kern: ... to here.
1438 * grub-core/lib: ... to here.
1440 * grub-core/loader: ... to here.
1442 * grub-core/mmap: ... to here.
1444 * grub-core/normal: ... to here.
1445 * partmap: Moved ...
1446 * grub-core/partmap: ... to here.
1447 * parttool: Moved ...
1448 * grub-core/parttool: ... to here.
1450 * grub-core/script: ... to here.
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.
1460 * grub-core/video: ... to here.
1462 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
1464 Replace --enable-grub-emu-modules with grub-emu-lite.
1466 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
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.
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.
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.
1484 * normal/main.c: Don't load list files on grub-emu-lite.
1485 * util/misc.c (grub_arch_sync_caches): Removed.
1487 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
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.
1493 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
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.
1498 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1500 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
1501 needed by libusb wrapper.
1503 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
1505 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
1507 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1509 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
1510 --nounzip is passed.
1512 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
1514 USB hotunplugging and USB serial support.
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
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
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
1591 2010-08-20 Robert Millan <rmh@gnu.org>
1593 Make kFreeBSD code more generic to support ext2fs as root, ufs as
1594 a separate module and maybe other interesting combinations.
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'.
1601 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
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.
1607 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
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.
1618 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
1620 * commands/i386/pc/sendkey.c (options): Fix three typos.
1622 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1624 Implement sendkey support.
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.
1632 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
1634 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
1635 fix warnings from Autoconf.
1637 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
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.
1643 2010-08-15 Robert Millan <rmh@gnu.org>
1645 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
1647 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
1648 grub_get_libzfs_handle() errors.
1650 2010-08-14 Robert Millan <rmh@gnu.org>
1652 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
1653 filesystem is not ZFS.
1655 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1657 Fix for misspelled color names defaulting to black/black (bug
1658 reported by Doug Nazar)
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
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.
1668 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1670 "shift" command support to GRUB script.
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.
1678 * tests/grub_script_shift.in: New testcase.
1679 * conf/tests.rmk: Rules for new testcase.
1681 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1683 "continue" command support to GRUB script.
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.
1690 * tests/grub_script_continue.in: New testcase.
1691 * conf/tests.rmk: Rules for new testcase.
1693 2010-08-12 BVK Chaitanya <bvk@dbook>
1695 "break" command support to GRUB script.
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.
1708 * tests/grub_script_break.in: New testcase.
1709 * conf/tests.rmk: Rules for new test case.
1711 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1713 Function parameters support to GRUB script.
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.
1731 * conf/common.rmk (normal.mod): New source script/argv.c.
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.
1738 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
1740 Remove grub_script_cmdblock struct.
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.
1748 2010-08-11 Yves Blusseau <blusseau@zetam.org>
1750 * .bzrignore: add grub-macho2img
1752 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
1754 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
1756 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
1758 Remove the dump of sm712 initialisation sequence.
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
1784 * video/sm712_init.c (sm712_init): Removed.
1785 (sm712_sr_seq1): New array.
1786 (sm712_sr_seq2): Likewise.
1788 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
1790 * include/grub/vga.h: Add missing grub/pci.h include.
1792 2010-08-10 Yves Blusseau <blusseau@zetam.org>
1794 * util/grub-macho2img.c (main): fix typo
1796 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
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.
1811 2010-08-09 Robert Millan <rmh@gnu.org>
1813 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
1814 out unused variables on non-ZFS build.
1816 2010-08-08 Robert Millan <rmh@gnu.org>
1818 Fix path generation for sub-filesystems in ZFS.
1820 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
1823 2010-08-08 Robert Millan <rmh@gnu.org>
1825 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
1827 2010-08-08 Robert Millan <rmh@gnu.org>
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
1833 2010-08-08 Robert Millan <rmh@gnu.org>
1835 Fix grub-probe invocation.
1837 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
1839 2010-08-04 Robert Millan <rmh@gnu.org>
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
1848 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
1849 via find_mount_point_from_dir() and getfsstat() / getmntany().
1851 2010-08-04 Robert Millan <rmh@gnu.org>
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.
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.
1864 2010-08-04 Robert Millan <rmh@gnu.org>
1866 Support OpenSolaris in ZFS device resolution.
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
1873 2010-08-03 Robert Millan <rmh@gnu.org>
1877 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
1878 * include/grub/emu/misc.h: ... here.
1880 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
1881 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
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.
1889 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
1891 * script/execute.c (grub_script_execute_cmdline): Check for NULL
1892 as command name case.
1894 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
1896 * disk/raid.c (insert_array): Select unique numbers for named arrays
1897 as well, for use as keys in the disk cache.
1899 2010-08-01 Robert Millan <rmh@gnu.org>
1901 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
1902 kFreeBSD device name, except on ZFS where the filesystem label is
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}.
1908 2010-08-01 Robert Millan <rmh@gnu.org>
1910 Make it even harder to use uninitialized `libzfs_handle' (and
1911 make the interface a bit simpler).
1913 * include/grub/util/misc.h (grub_util_init_libzfs)
1914 (libzfs_handle): Remove.
1915 (grub_get_libzfs_handle): New prototype.
1917 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
1919 (grub_util_init_libzfs): Remove.
1920 (grub_get_libzfs_handle): New function.
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.
1926 2010-08-01 Robert Millan <rmh@gnu.org>
1928 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
1929 (grub_find_zpool_from_mount_point): New function prototypes.
1931 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
1932 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
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
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.
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.
1947 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
1949 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
1950 (void) rather than () so that this is a proper prototype.
1952 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1954 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
1956 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1958 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
1959 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
1961 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
1963 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
1965 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
1967 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
1969 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
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
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).
1983 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
1984 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
1986 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
1988 2010-08-01 Robert Millan <rmh@gnu.org>
1990 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
1991 (grub_find_zpool_from_mount_point): New function prototypes.
1993 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
1994 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
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
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.
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.
2009 2010-08-01 Robert Millan <rmh@gnu.org>
2011 Prevent accidental use of uninitialized libzfs_handle.
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.
2017 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
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.
2022 2010-08-01 Robert Millan <rmh@gnu.org>
2024 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
2026 2010-07-31 Robert Millan <rmh@gnu.org>
2028 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
2030 2010-07-31 Robert Millan <rmh@gnu.org>
2032 * kern/emu/misc.c: Add missing license header.
2034 2010-07-31 Robert Millan <rmh@gnu.org>
2036 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
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.
2045 (libzfs_handle): Moved to ...
2046 * include/grub/util/misc.h (libzfs_handle): ... here.
2047 Include `<grub/util/libzfs.h>'.
2049 2010-07-30 Robert Millan <rmh@gnu.org>
2051 * include/grub/emu/misc.h: Add missing license header.
2053 2010-07-30 Robert Millan <rmh@gnu.org>
2055 Enable `grub-probe -t device' resolution on ZFS.
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.
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>'.
2066 (find_mount_point_from_dir): New static function.
2067 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
2069 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
2070 find_root_device_from_libzfs() before ressorting to find_root_device().
2072 * include/grub/util/misc.h (grub_util_init_libzfs): New function
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().
2081 2010-07-30 Robert Millan <rmh@gnu.org>
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.
2090 2010-07-29 Robert Millan <rmh@gnu.org>
2092 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
2093 (probe): Handle `PRINT_FS_LABEL'.
2094 (main): Handle `-t fs_label'.
2096 2010-07-29 Robert Millan <rmh@gnu.org>
2098 * configure.ac: Remove grub-mkisofs checks.
2100 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
2102 * util/ieee1275/grub-install.in: Don't use empty grub_device.
2103 Reported by: Lennart Sorensen.
2105 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
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.
2111 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
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.
2117 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
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.
2123 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2125 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
2127 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2129 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
2131 (grub_loopback_close): Remove empty function.
2132 (grub_loopback_dev): Remove close method.
2134 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2136 Disable EFI cursor when the EFI console becomes inactive.
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.
2142 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2144 * tests/util/grub-shell-tester.in: Remove bashism and declare as
2147 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
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.
2155 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2157 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
2159 Reported by: Tito Keitel.
2161 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2163 * docs/grub.texi (Naming convention): Document new naming convention.
2165 2010-07-20 Vadim Solomin <vadic052@gmail.com>
2166 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2168 Generate device.map in something closer to the old ordering.
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.
2178 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
2180 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
2183 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2185 * commands/acpi.c (setup_common_tables): Use sizeof instead of
2187 (setv1table): Likewise.
2189 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
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
2198 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
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
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
2212 (struct grub_raid): Add start_sector parameter to `detect'.
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.
2220 2010-07-20 Peter Henn <peter.henn@web.de>
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.
2227 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
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
2236 * util/getroot.c (grub_util_get_grub_dev): Add support for
2237 /dev/md/name style devices.
2239 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
2241 * .bzrignore: Ignore 20_linux_xen.
2243 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
2245 * util/import_unicode.py: Remove unnecessary imports.
2247 2010-07-17 Aleš Nesrsta <starous@volny.cz>
2249 Hotplugging and USB hub support.
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
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
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.
2306 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
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.
2312 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2314 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
2315 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
2317 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
2319 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
2321 2010-07-14 Anton Blanchard <anton@samba.org>
2323 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
2326 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
2328 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
2330 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
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
2340 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
2341 partitions that start before their parent, and add debug printfs.
2343 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
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
2350 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
2352 * README: Point to the Info manual.
2354 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
2356 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
2357 2nd superblock position from partition size.
2359 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
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
2366 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2368 Restructure SCSI .id handling.
2369 Reported and tested by: Aleš Nesrsta.
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.
2382 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2384 * commands/help.c (grub_cmd_help): Fix a typo.
2386 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2388 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
2389 Reported and tested by: Colin Watson.
2391 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2393 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
2396 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2398 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
2400 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
2402 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
2405 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
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.
2412 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
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.
2419 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
2421 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
2422 which we expect to be handled by upper layers.
2424 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
2426 * bus/usb/usbhub.c: #include time.h header.
2428 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
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.
2434 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
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.
2440 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
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
2460 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
2462 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
2464 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
2466 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
2467 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
2469 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
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
2480 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
2482 * configure.ac: Avoid == in test command, it's not portable.
2483 * util/grub.d/30_os-prober.in: Likewise.
2485 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
2487 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
2489 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
2491 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
2492 multiple (top-level) partmaps.
2494 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2496 * util/i386/efi/grub-install.in: Don't use empty grub_device.
2497 Reported by: Tino Keitel.
2499 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2501 Bidi and diacritics support.
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
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
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.
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.
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.
2816 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
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.
2824 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2826 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
2828 (list_get_minimal_size): Take selection box into account.
2830 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2832 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
2835 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
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).
2841 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
2843 * include/grub/misc.h (grub_reboot): Declare as noreturn.
2844 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
2846 (grub_halt): Likewise.
2847 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
2849 (grub_halt): Don't return, even if all of shut-down, power-off, and
2852 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
2854 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
2855 arguments, not three.
2857 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
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.
2863 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
2865 * docs/grub.texi (Changes from GRUB Legacy): New section.
2868 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
2870 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
2871 grub.d/README accidentally ends up executable for one reason or
2874 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2876 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
2877 (gpt_partition_map_iterate): Support non-512B sectors.
2879 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2881 * kern/efi/init.c (grub_efi_init): Disable watchdog.
2882 Tested by: Seth Goldberg.
2884 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2886 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
2888 Reported by: Seth Goldberg.
2890 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2892 * util/grub-mkrescue.in: Avoid module duplication.
2894 2010-07-01 Sean Finney <seanius@seanius.net>
2896 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
2898 2010-07-01 Sean Finney <seanius@seanius.net>
2900 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
2902 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2904 * disk/lvm.c (grub_lvm_checkvalue): New function.
2905 (grub_lvm_check_flag): Likewise.
2907 2010-07-01 Robert Millan <rmh@gnu.org>
2909 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
2910 Support 'p' as partition separator on kernel of FreeBSD (used
2912 (grub_util_biosdisk_get_grub_dev): Likewise.
2914 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
2916 Yeeloong firmware port.
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
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.
2991 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
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
2999 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
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.
3014 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
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.
3020 2010-06-29 Robert Millan <rmh@gnu.org>
3022 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
3023 (Command-line and menu entry commands): Document `badram' command.
3025 2010-06-28 Robert Millan <rmh@gnu.org>
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.
3031 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
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.
3038 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3040 Use normal parser for menu entries.
3041 Reported by: Thomas Frauendorfer
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.
3047 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
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
3055 2010-06-28 Josh Triplett <josh@joshtriplett.org>
3057 * mmap/i386/pc/mmap_helper.S: Set CF on return.
3059 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
3061 * util/grub-install.in: Add --debug-image= option.
3063 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
3065 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
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.
3080 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
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
3086 (GRUB_MOD_INIT): Use extcmd.
3087 (GRUB_MOD_FINI): Likewise.
3088 * docs/grub.texi (cat): Document --dos.
3090 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3092 XEN with Linux grub-mkconfig support.
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.
3099 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
3101 Initialise VGA video on qemu ourselves.
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.
3116 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
3118 2010-06-26 Pavel Roskin <proski@gnu.org>
3120 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
3123 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
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
3130 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
3132 Make the `source' command slightly faster.
3134 * normal/main.c (grub_normal_execute): Don't re-read list files when
3137 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
3139 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
3140 field position and mask size to red fields from mode_info, not
3142 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
3143 Remove redundant tag->common.framebuffer_type assignment.
3144 Reported by: Seth Goldberg.
3146 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
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".
3151 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
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.
3158 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
3160 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
3161 larger than MEMORY_MAP_SIZE.
3163 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
3167 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
3169 * script/parser.y: #include grub_script.tab.h header.
3171 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3173 Support >3GiB and <16MiB RAM in i386-qemu.
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
3185 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3187 Cirrus 5446 and Bochs video cards support.
3189 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
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.
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.
3273 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
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
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
3288 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3290 Use video functions in linux and xnu loaders.
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.
3305 Enable priorities in video drivers.
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.
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.
3324 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
3326 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
3328 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3330 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
3332 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
3333 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
3335 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
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.
3341 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
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
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
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.
3356 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
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
3364 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3366 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
3367 for manual page generation.
3369 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
3371 * po/POTFILES: Remove leftover commands/handler.c.
3373 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
3375 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
3376 left this script non-functional.
3378 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
3380 * docs/man/grub-emu.h2m: New file.
3382 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
3384 * docs/grub.texi (Commands): Document reduced command set in rescue
3386 (cpuid): New section.
3388 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
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.
3394 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
3396 Add "-o grub.iso" like cmdline options support.
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.
3407 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
3409 * .bzrignore: Ignore 41_custom.
3411 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
3413 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
3415 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
3417 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
3418 prototype declarations.
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.
3427 2010-06-12 Javier Martín <lordhabbit@gmail.com>
3429 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
3431 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
3433 * util/grub-mkrescue.in: Support --xorriso argument.
3435 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3437 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
3438 Suggested by: Thomas Schmitt.
3440 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3442 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
3443 Suggested by: Thomas Schmitt.
3445 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3449 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
3450 * util/grub.d/41_custom.in: New file.
3452 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
3454 * util/grub-mkrescue.in (make_image): Remove sh module, which has
3455 been merged back into normal.
3457 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
3459 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
3460 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
3462 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
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.
3486 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
3488 Use FOR_* macros instead of *_iterate whenever possible.
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
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
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
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
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
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.
3622 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
3624 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
3625 reported by Henrique Ferreiro.
3627 2010-06-09 Robert Millan <rmh@gnu.org>
3629 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
3630 ones, when both are available.
3632 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3634 Make --version uniform and avoid hard-coded program name.
3636 * util/grub-mkimage.c (main): Use `program_name' instead of
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.
3651 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
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.
3656 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3658 * configure.ac: Add `.' to the directories searched for unifont.
3660 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
3662 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
3665 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
3667 * docs/grub.texi (History): Expand to cover GRUB 2.
3668 (Serial terminal): Refer to `terminal_input' and `terminal_output'
3669 commands, not `terminal'.
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.
3676 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
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.
3682 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
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
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.
3692 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
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.
3699 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
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.
3705 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3707 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
3709 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
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.
3716 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3718 * docs/grub.texi (Troubleshooting): `echo' is not usually available
3719 in the rescue shell, so recommend using `set' instead. Thanks,
3722 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
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.
3733 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3735 * util/grub.d/00_header.in: Add some more quoting (of
3736 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
3738 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
3740 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
3742 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
3743 to `count', fixing variable shadowing that broke the -c option.
3745 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
3747 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
3748 in case they contain spaces.
3750 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
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).
3756 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
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).
3763 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
3765 * INSTALL: Document several build requirements for optional features
3766 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
3768 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
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.
3774 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3776 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
3777 Thanks to Jordan Uggla for spotting this.
3779 2010-06-02 Aleš Nesrsta <starous@volny.cz>
3781 Finally make USB usable.
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"
3806 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
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
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.
3840 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
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.
3850 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3852 Dedicated DMA allocations.
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.
3865 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
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
3877 (kernel_img_SOURCES): Add bus/cs5536.c.
3878 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
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.
3898 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3900 * util/grub.d/00_header.in: Add safety check to make sure that
3901 ${locale_dir} exists before trying to probe it.
3903 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
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
3909 (chainloader): Remove cross-reference to `SCO UnixWare'.
3911 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
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.
3918 (chainloader): Add reference to `Block list syntax'.
3919 (drivemap): New section.
3920 (parttool): New section.
3922 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3924 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
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.
3933 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
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.
3941 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3943 * docs/grub.texi (direntry): Remove grub-terminfo reference.
3944 (GNU GRUB manual): Likewise.
3945 (General commands): Update description of `terminfo' for GRUB 2.
3947 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
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.
3954 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
3956 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
3957 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
3959 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
3961 Add btrfs probing support, currently only in the single-device case.
3963 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
3965 (grub_guess_root_device): Call find_root_device_from_mountinfo
3966 before looking in /dev.
3968 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3970 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
3971 GRUB_DISK_SIZE_UNKNOWN.
3972 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
3974 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
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.
3980 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3982 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
3983 Reported by: Seth Goldberg.
3985 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3987 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
3989 Reported by: Seth Goldberg.
3991 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3993 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
3994 Reported by: Seth Goldberg.
3996 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3998 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
3999 64-bit address as signed on MIPS.
4001 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
4003 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
4004 to the empty string.
4006 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
4008 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
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
4015 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
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.
4021 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
4024 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
4026 * util/grub-script-check.c (main): Ensure defined behaviour on empty
4027 input files (in which case exit zero).
4029 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
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.
4036 2010-05-27 Robert Millan <rmh@gnu.org>
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!
4042 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
4044 * util/grub-mkrescue.in: Initialise override_dir rather than
4045 assuming that it's unset or empty in the environment.
4047 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
4049 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
4050 variable index into p_index to suppress a warning with -Wshadow.
4052 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
4054 * INSTALL: Added flex >= 2.5.35 requirement.
4056 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4058 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
4060 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
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.
4076 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4078 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
4079 Removed drawing_scrollbar argument. All users updated
4081 Reported by Jo Shields
4083 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4085 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
4086 buffer since gfxterm handles double repaint.
4088 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
4090 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
4091 * term/gfxterm.c (real_scroll): Likewise.
4093 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4095 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
4096 before calling BIOS.
4098 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4100 * include/grub/i18n.h: Always enable grub_gettext.
4102 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4104 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
4105 partition naming style.
4107 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
4109 * util/grub-mkconfig.in: Fix handling of -o so that it works when
4110 not the first option.
4112 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
4114 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
4116 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
4118 * util/misc.c: Move inclusion of <limits.h> to ...
4119 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
4121 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
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.
4127 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
4129 Fix grub-mkrescue usage unit testing.
4131 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
4133 2010-05-18 Christian Franke <franke@computer.org>
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.
4139 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
4141 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
4142 gnumach and gnumach.gz.
4144 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4146 * include/grub/i18n.h (gettext): Inline instead of using #define.
4147 (grub_gettext): Likewise.
4150 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
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.
4157 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4159 * util/grub-install.in: Add missing "in" keyword.
4161 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4163 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
4164 Reported by: Seth Goldberg.
4166 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4168 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
4170 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
4172 * configure.ac: Check for Linux device-mapper support.
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.
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.
4197 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
4199 Fix build with non-GNU libcs.
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.
4205 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
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.
4212 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4214 Remove grub-mkisofs.
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.
4241 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4243 Unify grub-mkimage accross platforms.
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.
4326 Support grub-mkrescue for efi, coreboot and qemu.
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.
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.
4365 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
4367 Source tree is reorganized for emu build.
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.
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
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.
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)
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.
4422 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4425 Reported by: Thorsten Grützmacher.
4427 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
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
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.
4451 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4453 Transform (broken) vga terminal into (working) vga video driver.
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.
4471 (cursor_state): Likewise.
4472 (fg_color): Likewise.
4473 (bg_color): Likewise.
4474 (text_buf): 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.
4511 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4513 * video/readers/jpeg.c: Indented.
4515 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4517 Various jpeg cleanups.
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.
4523 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
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.
4529 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
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.
4538 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4540 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
4543 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4545 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
4547 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4549 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
4552 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4554 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
4557 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4559 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
4562 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4564 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
4566 2010-05-01 Christian Franke <franke@computer.org>
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
4573 (make_system_path_relative_to_its_root): Simplify loop, replace early
4575 [__CYGWIN__] Add conversion to win32 path.
4576 Include "/" case in trailing slash removal.
4578 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4580 * kern/main.c (grub_load_config): Fix copy-pasted comment.
4581 Reported by: Seth Goldberg
4583 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4585 * commands/help.c (grub_cmd_help): Fix a typo.
4586 Reported by: Seth Goldberg
4588 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4590 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
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.
4608 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4610 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
4613 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
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.
4621 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
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.
4630 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4632 * kern/i386/coreboot/init.c (grub_machine_init): Call
4633 grub_machine_mmap_init on qemu.
4635 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4637 * boot/i386/qemu/boot.S: Add a missing .code16.
4639 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4641 Use LBIO on coreboot.
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):
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.
4654 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4656 Split coreboot and multiboot ports.
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.
4673 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4675 * kern/parser.c (grub_parser_execute): Cope with read-only config.
4677 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4679 Merge handling of input and output terminals. Fix a hang.
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.
4686 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
4688 Fix comment handling.
4690 * tests/grub_script_comments.in: New testcase.
4691 * conf/tests.rmk: Rules for new testcase.
4692 * script/yylex.l: Updated flex rules.
4694 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
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
4700 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4702 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
4705 2010-04-26 Christian Franke <franke@computer.org>
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.
4714 2010-04-24 Christian Franke <franke@computer.org>
4716 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
4717 (kernel_img_LDFLAGS): Remove -static-libgcc.
4719 2010-04-24 Christian Franke <franke@computer.org>
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.
4726 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
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.
4740 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4742 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
4745 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
4747 Add grub-mkconfig support for NetBSD.
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.
4754 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
4756 Fix emu build with grub-emu-pci and grub-emu-modules.
4758 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
4760 * include/grub/libpciaccess.h: New file.
4761 * conf/any-emu.rmk: Update kernel headers for emu build.
4763 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4765 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
4767 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4769 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
4771 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
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
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
4790 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
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.
4799 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4801 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
4803 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4805 * util/hostdisk.c (make_device_name): Change to new partition naming.
4807 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4809 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
4811 2010-04-17 Christian Franke <franke@computer.org>
4813 * Makefile.in: Add missing localedir setting.
4815 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
4817 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
4818 mistake in r2156. Noticed by Anthony Fok.
4820 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
4822 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
4824 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
4826 Fix a spurious, uninitialized variable warning.
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.
4833 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
4835 Fix for escaped dollar in double quoted strings.
4837 * script/yylex.l: Updated flex rules.
4838 * conf/tests.rmk: Rule for new testcase.
4839 * tests/grub_script_dollar.in: New testcase.
4841 2010-04-13 Carles Pina i Estany <carles@pina.cat>
4842 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
4844 Enclose all translated strings in grub.cfg in single quotes, and
4845 escape them appropriately (Ubuntu bug #552921).
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.
4852 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4854 Fix cygwin compilation.
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.
4864 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4866 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
4868 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4870 Unify libgcc processing.
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
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.
4896 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4898 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
4899 disk_info_msg (conflicts with gettexting into languages with cases).
4901 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4903 Add grub-probe support for NetBSD.
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.
4922 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
4926 * util/grub-script-check.c: Better help message.
4928 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
4932 * configure.ac: Flex version check.
4933 * conf/common.rmk: Add -Wno-error to sh.mod.
4934 * script/yylex.l: Remove all #pragma.
4936 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4938 * include/grub/util/misc.h (canonicalise_file_name): Add missing
4940 Reported by: Seth Goldberg.
4942 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4944 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
4945 Rename "module" to "module2".
4946 Reported by: Seth Goldberg.
4948 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4950 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
4952 Reported by: Seth Goldberg.
4954 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4956 * lib/posix_wrap/locale.h: Add missing file.
4957 Reported by: Seth Goldberg.
4959 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4961 grub-emu module load support.
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.
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.
4983 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4985 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
4986 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
4988 (maintainer-clean): Remove libgcrypt-grub.
4990 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
4992 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
4994 2010-04-09 EFI Coder <eficoder@hotmail.com>
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.
5000 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5002 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
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.
5011 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
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.
5017 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5019 * font/font.c: Indented.
5021 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
5023 Elif support to GRUB script (by Deepak Vankadaru).
5025 * tests/grub_script_if.in: New testcase.
5026 * conf/tests.rmk: Rule for new testcase.
5027 * script/parser.y: Grammar rules for elif.
5029 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
5031 While and until loops support to GRUB script.
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
5044 * tests/grub_script_while1.in: New testcase.
5045 * conf/tests.rmk: Rule for new testcase.
5047 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5049 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
5052 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
5054 GRUB_BACKGROUND support.
5056 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
5057 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
5059 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5061 Load fonts and modules for gfxmenu in grub-mkconfig.
5062 Idea by: Mario Vazquez
5064 * util/grub.d/00_header.in: Load pf2 and image modules.
5066 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5068 grub-mkconfig multiple terminal support.
5070 * util/grub-mkconfig.in: Handle multiple terminals correctly.
5071 * util/grub.d/00_header.in: Likewise.
5073 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
5075 * Makefile.in: Specify files explicitly instead of using $< and $@ since
5076 we use cd $(srcdir).
5078 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
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.
5086 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
5088 Fix unit testing framework for Qemu 0.12.
5090 * tests/util/grub-shell.in: Remove -serial stdio option.
5092 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5094 POSIX header file wrappers.
5096 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
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.
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.
5131 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5133 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
5134 unsupported video mode types.
5136 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5138 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
5140 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
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.
5145 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5147 Remove unused grub_vga_get_font.
5149 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
5150 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
5152 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5154 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
5155 * include/grub/misc.h: Likewise.
5157 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5159 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
5160 for which failure is fatal.
5162 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
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.
5168 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5170 * Makefile.in (LEX): new variable.
5172 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5174 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
5175 `=' and added double quotes on operands of this equality test.
5177 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5179 * Makefile.in (uninstall): Remove a leftover debug echo.
5180 Reported by: Grégoire Sutre
5182 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5184 MIPS multiboot2 support.
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
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.
5214 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5216 Import gnulib argp module.
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.
5234 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5236 * kern/device.c (grub_device_iterate): Clear errors after failed
5239 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5241 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
5242 returned by firmware.
5244 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5246 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
5247 compilation on coreboot and qemu
5249 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5251 * include/multiboot2.h: Resync with spec.
5253 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
5255 Multiboot2 tag support
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
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):
5282 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
5284 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
5285 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
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.
5291 * loader/i386/multiboot_mbi2.c: New file.
5293 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
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.
5314 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
5316 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
5317 which is the case with --disabled-nls.
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.
5325 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
5327 Simplify Apple CC support.
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.
5335 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
5337 Testcase and the fix for final semicolon on cmdline.
5339 * tests/grub_script_final_semicolon.in: New testcase.
5340 * conf/tests.rmk: Rules for the new testcase.
5341 * script/parser.y: Grammar fix.
5343 2010-03-26 BVK Chaitanya <bvk@localhost>
5345 Blank lines testcase for GRUB script.
5347 * tests/grub_script_blanklines.in: New testcase.
5348 * conf/tests.rmk: Rules for the new testcase.
5350 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
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.
5363 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5365 Sunpc partitions support.
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.
5376 2010-03-26 BVK Chaitanya <bvk@localhost>
5378 For loop support to GRUB script.
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
5389 * tests/grub_script_for1.in: New testcase.
5390 * conf/tests.rmk: Rules for new testcase.
5392 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
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
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.
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.
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.
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.
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.
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.
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.
5471 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
5473 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
5476 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
5478 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
5480 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
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.
5486 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
5488 * .bzrignore: Add gentrigtables, grub-script-check,
5489 grub_script_check_init.c, grub_script_check_init.h, and
5492 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
5494 * kern/parser.c: Indented.
5496 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5498 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
5500 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5502 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
5503 alpha_mask_size == 0 case.
5505 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
5507 GRUB shell lexer and parser improvements.
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.
5518 * configure.ac: Configure check for flex.
5520 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
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.
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
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.
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.
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.
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
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.
5577 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5579 Remove some redundancy in build system.
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.
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 *.
5647 2010-03-14 Colin King <colin.king@ubuntu.com>
5648 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
5650 Shrink the pre-partition-table part of boot.img by eight bytes.
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
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.
5661 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
5663 Speed up consecutive hostdisk operations on the same device.
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.
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.
5682 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5684 Compile parts of grub-emu as modules.
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.
5740 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
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.
5756 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
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):
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
5768 Correct stop condition.
5769 (grub_ieee1275_devices_iterate): New function.
5770 * video/ieee1275.c: New file.
5772 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
5774 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
5776 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
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
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):
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
5812 (grub_heap_init): Use grub_modules_get_end.
5813 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
5815 * util/grub-mkrawimage.c (generate_image): Support sparc64.
5817 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
5819 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
5821 * util/grub-mkrescue.in: Base ISO UUID on UTC.
5823 2010-03-08 Matt Kraai <kraai@ftbfs.org>
5825 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
5828 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5830 * genmoddep.awk: Output all missing symbols and not only first.
5832 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5834 * NEWS: Put the date of 1.98 release.
5836 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5838 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
5841 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5843 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
5844 completition in the middle of string.
5846 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5848 * util/grub-mkrescue.in: Use mktemp with explicit template.
5850 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5852 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
5854 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5856 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
5859 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5861 Fix FreeBSD compilation.
5863 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
5864 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
5866 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5868 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
5870 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5872 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
5874 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5876 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
5878 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
5880 Support relative image path in theme file.
5882 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
5883 (image_set_property): Handle theme_dir and relative path.
5885 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5887 * configure.ac: Alias amd64 to x86_64.
5889 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5891 * NEWS: mention multiboot on EFI.
5893 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5895 * kern/main.c (grub_load_modules): Handle errors from init functions of
5898 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5900 * normal/autofs.c (autoload_fs_module): Handle errors.
5902 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5904 Disable linux.mod on qemu-mips since it's not functional and leads
5905 to compilation failure.
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
5919 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
5921 * INSTALL: Add gettext as a dependency and add qemu to a new section
5922 "Prerequisites for make-check".
5924 2010-03-04 Christian Franke <franke@computer.org>
5926 * util/grub-pe2elf.c: Add missing include "progname.h".
5928 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5930 * normal/crypto.c (read_crypto_list): Fix a typo.
5931 Reported by: Seth Goldberg.
5933 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5935 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
5936 Reported by: Seth Goldberg.
5938 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5940 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
5943 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5945 * genmk.rb: Remove terminal*.lst in make clean.
5946 Reported by: Seth Goldberg.
5948 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5950 * util/i386/efi/grub-install.in: Copy gettext files.
5952 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5954 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
5956 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5958 Wait for user entry basing on presence of output rather than on errors.
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
5965 * normal/term.c (grub_normal_line_counter): New variable.
5966 (grub_normal_get_line_counter): New function.
5967 (grub_install_newline_hook): Likewise.
5969 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5971 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
5973 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5975 * configure.ac: Update version to 1.98.
5977 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5979 * util/grub.d/10_linux.in (linux_entry): Don't default to
5980 gfxpayload=keep if Linux doesn't support video handover.
5982 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5984 Don't compile video modules on yeeloong since video subsystem is part
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.
6002 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
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.
6010 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
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.
6017 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6019 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
6021 Reported by: Seth Goldberg.
6023 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
6025 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
6026 duplicate declaration of `start'.
6028 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
6030 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
6032 Reported by: Georgy Buranov
6034 2010-02-20 Carles Pina i Estany <carles@pina.cat>
6036 * util/grub-mkrawimage.c (usage): Change string formatting to
6039 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
6041 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
6044 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
6046 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
6047 Reported by: Michael Suchanek.
6049 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
6051 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
6052 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
6054 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
6056 Remove any reference to non-free fonts.
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.
6067 2010-02-16 Georgy Buranov <gburanov@gmail.com>
6069 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
6071 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
6073 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
6075 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
6077 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
6079 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
6081 * gensymlist.sh.in: Use TARGET_CC instead of CC.
6083 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6085 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
6086 * docs/grub.texi (Command-line and menu entry commands): Document play
6089 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
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
6094 (play): ... new function.
6096 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
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.
6103 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
6105 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
6106 GRUB_TICKS_PER_SECOND instead of 120.
6108 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6110 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
6111 escape sequence after \e.
6113 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6115 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
6116 non-ASCII characters.
6118 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6120 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
6121 set root in single quotes to prevent \, from being unescaped.
6123 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6125 Prevent unknown commands from stopping menuentry execution.
6127 * script/execute.c (grub_script_execute_cmdline): Print error after
6130 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6132 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
6133 Reported by: Pavel Pisa.
6135 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6137 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
6139 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6141 Merge grub_ieee1275_map_physical into grub_map and rename to
6144 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
6145 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
6147 * kern/ieee1275/openfw.c (grub_map): Rename to ...
6148 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
6150 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
6152 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6154 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
6155 opening and not after.
6157 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6159 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
6162 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6164 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
6165 (alloc_phys): Use ALIGN_UP instead of align_addr.
6167 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6169 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
6171 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6173 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
6175 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6177 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
6180 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6182 Fix over-4GiB seek on sparc64.
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):
6188 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
6190 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
6193 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6195 * util/grub-mkrawimage.c (main): Call set_program_name.
6197 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6199 Properly align 64-bit targets.
6201 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
6202 (generate_image): Use ALIGN_ADDR.
6204 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6206 Properly create cross-endian images.
6208 * include/grub/types.h (grub_host_to_target_addr): New macro
6209 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
6211 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
6213 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
6215 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6217 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
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.
6223 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6225 Support GRUB_GFXPAYLOAD_LINUX.
6227 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
6228 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
6230 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
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
6237 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
6239 * configure.ac: Check for ft2build.h.
6241 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6243 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
6245 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6247 * genkernsyms.sh.in: Use TARGET_CC.
6249 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
6253 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
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.
6259 2010-02-07 Yves Blusseau <blusseau@zetam.org>
6261 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
6263 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6265 Fix warnings in grub-emu when compiling with maximum warning options.
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.
6279 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6281 * loader/i386/linux.c (grub_linux_setup_video): Handle error
6284 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6286 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
6289 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
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.
6298 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6300 * include/grub/err.h (grub_err_printf): Don't export.
6302 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6304 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
6306 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
6308 * include/grub/i18n.h (grub_gettext_dummy): Removed.
6309 * kern/misc.c (grub_gettext_dummy): Make static.
6311 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6313 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
6315 * kern/term.c (grub_putchar): Likewise.
6317 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6319 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
6320 buggy hook call and memory leak.
6322 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6324 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
6326 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6328 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
6330 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6332 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
6334 Return grub_errno on allocation error.
6336 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6338 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
6340 2010-02-06 Yves Blusseau <blusseau@zetam.org>
6342 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
6343 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
6345 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6347 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
6349 (grub_pxefs_open): Likewise.
6351 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
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.
6357 2010-02-06 Colin D Bennett <colin@gibibit.com>
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
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.
6389 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6391 Agglomerate scrolling in gfxterm.
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
6405 (grub_gfxterm_refresh): Call real_scroll.
6407 2010-02-06 Colin D Bennett <colin@gibibit.com>
6409 * include/grub/misc.h (grub_iscntrl): New inline function.
6410 (grub_isalnum): Likewise.
6411 (grub_strtol): Likewise.
6413 2010-02-06 Colin D Bennett <colin@gibibit.com>
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):
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.
6432 2010-02-06 Colin D Bennet <colin@gibibit.com>
6433 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6435 Support for gfxterm in a window.
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.
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.
6450 (destroy_window): New function.
6451 (grub_gfxterm_destroy_window): Likewise.
6452 (grub_gfxterm_fini): Check reference counter.
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.
6469 2010-02-06 Colin D Bennett <colin@gibibit.com>
6471 Bitmap scaling support.
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.
6486 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
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.
6498 2010-02-06 Colin D Bennett <colin@gibibit.com>
6499 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6501 Double buffering support.
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):
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.
6530 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
6532 * maintainance/gentrigtables.py: Remove.
6533 * lib/trig.c: Likewise.
6535 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
6537 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
6539 (trigtables.c): New rule.
6540 (gentrigtables): Likewise.
6541 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
6543 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
6545 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
6548 2010-02-06 Colin D Bennet <colin@gibibit.com>
6550 Trigonometry support.
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.
6560 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6562 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
6565 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
6567 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
6570 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
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.
6579 2010-02-03 Torsten Landschoff <torsten@debian.org>
6581 * kern/disk.c (grub_disk_read): Fix offset computation when reading
6584 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
6586 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
6588 (grub_biosdisk_write): Refuse to write to CDROM.
6590 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6592 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
6594 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
6596 * font/font.c (find_glyph): Check that bmp_idx is available before
6598 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
6599 with (font == NULL).
6601 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
6603 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
6605 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
6607 * include/grub/script_sh.h (sourcecode): Add const qualifier.
6608 * util/grub-script-check.c (getline): Fix empty lines case.
6610 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
6612 * Makefile.in (check): Exit with fail status when one of the tests
6614 * tests/example_functional_test.c (example_test): Fix reversed assert.
6615 * tests/example_unit_test.c (example_test): Likewise.
6617 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
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.
6625 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6627 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
6630 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6632 * kern/disk.c (grub_disk_read): Fix offset computation when reading
6635 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6637 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
6638 having a 4KiB and not 32KiB buffer size.
6640 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6642 * util/hostfs.c: Include `<errno.h>'.
6643 (grub_hostfs_read): Handle errors from fseeko() and fread().
6645 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
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.
6650 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6652 Remove unused parameter.
6654 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
6655 (grub_iso9660_open): Remove initialization of `data->length'.
6657 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
6659 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
6662 2010-01-27 Carles Pina i Estany <carles@pina.cat>
6664 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
6665 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
6667 2010-01-26 Carles Pina i Estany <carles@pina.cat>
6669 * util/bin2h.c (usage): Fix warning (space after backslash).
6671 2010-01-26 Carles Pina i Estany <carles@pina.cat>
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.
6680 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
6682 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
6685 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
6687 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
6689 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
6690 (_start): Macroify `0x7F'.
6692 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
6693 (make_install_device): Use "(pxe)" as fallback prefix when booting
6696 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6698 * configure.ac: Reset LIBS after check for libgcc symbols.
6700 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
6702 * util/hostdisk.c (open_device): Add trailing newline to debug
6705 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6707 * configure.ac: Check for `limits.h'.
6708 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
6710 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
6712 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
6713 capitalize error strings.
6715 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
6717 * util/grub.d/10_hurd.in: Add a recovery mode.
6719 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6721 * configure.ac: Check for libgcc symbols with -nostdlib.
6723 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
6725 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
6727 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
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.
6733 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
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.
6739 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
6741 Use generic grub_reboot() for i386-efi.
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>'.
6747 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
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
6753 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6755 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
6756 stack since heap is unavailable at that point.
6758 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
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.
6764 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
6766 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
6768 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
6770 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
6773 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
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.
6779 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6781 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
6783 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6785 Optimise glyph lookup by Basic Multilingual Plane lookup array.
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.
6792 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6794 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
6797 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6799 Move context handling out of the kernel.
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.
6853 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
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.
6863 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6865 Byte-addressable PCI configuration space.
6867 * bus/pci.c (grub_pci_make_address): Use byte address instead of
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
6917 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6919 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
6920 can be reliably determined to be supported.
6922 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
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
6929 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6931 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
6933 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6935 * util/misc.c (make_system_path_relative_to_its_root): Work around
6936 special-casing of "/", as previous incarnation of this routine did.
6938 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6940 Fix any-emu compilation.
6942 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
6943 * grub_bin2h_SOURCES: New variable.
6945 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6947 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
6949 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
6951 * util/grub.d/00_header.in: Fix handling of locale_dir.
6953 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6955 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
6956 as possible unifont location (Gentoo).
6957 Reported by: Alexander Brüning
6959 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6961 Don't try to generate lists for kernel.img.
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.
6970 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
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.
6988 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
6990 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
6991 fix grub-script-check warning.
6993 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6995 * include/grub/font.h (grub_font_load): Fix prototype.
6997 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6999 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
7001 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7003 * include/grub/x86_64/at_keyboard.h: New file.
7005 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
7007 * loader/mips/linux.c: Include missing grub/i18n.h.
7009 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7011 * normal/menu.c (notify_execution_failure): Clarify error message.
7013 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7015 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
7016 return value (and revert all return statements). Update users.
7018 2010-01-20 Dan Merillat <debian@dan.merillat.org>
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.
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
7028 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
7030 * loader/mips/linux.c (grub_cmd_initrd)
7031 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
7033 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
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.
7041 * kern/main.c (grub_main): Revert grub_printf delay kludge.
7043 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
7044 `gfxterm.mod' into core image.
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 ...
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 ...
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.
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'.
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.
7068 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
7070 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
7072 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
7074 * include/grub/mips/libgcc.h: Only export symbols for functions
7075 that libgcc provides.
7077 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
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
7095 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
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
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]:
7114 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
7116 (grub_elf64_size): Likewise.
7117 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
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
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".
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
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.
7217 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7219 Fix parallel builds.
7221 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
7222 font.c depend on ascii.h).
7224 2010-01-12 Carles Pina i Estany <carles@pina.cat>
7226 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
7228 2010-01-11 Carles Pina i Estany <carles@pina.cat>
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
7235 2010-01-10 Carles Pina i Estany <carles@pina.cat>
7237 * font/font.c: Update copyright years.
7238 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
7240 2010-01-10 Carles Pina i Estany <carles@pina.cat>
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
7248 (grub_font_get_glyph_with_fallback): If glyph not available returns
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'.
7260 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
7262 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
7263 (grub_bin2h_SOURCES): New variable.
7264 * util/bin2h.c: New file.
7266 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
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.
7273 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
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.
7279 * commands/terminal.c: Update copyright year.
7281 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
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.
7287 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7289 * include/grub/i386/bsd.h: Fix include pathes.
7291 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
7293 Add missing *BSD copyright headers.
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.
7305 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7307 * acinclude.m4: Remove `nop' assembly instruction; it's not
7308 implemented by all architectures.
7310 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
7312 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
7313 ELILO. This is no longer necessary.
7315 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
7317 Added new tool, grub-scrit-check to verify grub.cfg syntax.
7319 * util/grub-script-check.c: grub-script-check tool.
7320 * conf/common.rmk: Make rules for grub-script-check.
7322 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
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.
7327 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
7329 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
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.
7338 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
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.
7347 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
7349 Use flag-based instead of hook-based video mode selection and "auto"
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.
7358 2010-01-17 Carles Pina i Estany <carles@pina.cat>
7360 * util/misc.c (grub_util_info): Fix the order of the parameters in a
7363 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
7365 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
7367 2010-01-16 Carles Pina i Estany <carles@pina.cat>
7369 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
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.
7377 2010-01-16 Carles Pina i Estany <carles@pina.cat>
7379 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
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.
7408 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7410 Enable multiboot on non-pc.
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):
7417 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
7418 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
7420 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
7421 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
7423 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
7424 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
7426 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
7427 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
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.
7437 * include/grub/x86_64/multiboot.h: New file.
7438 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
7441 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
7443 Video multiboot support.
7445 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
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.
7460 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
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.
7469 2010-01-14 Carles Pina i Estany <carles@pina.cat>
7471 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
7474 2010-01-14 Carles Pina i Estany <carles@pina.cat>
7476 * normal/cmdline.c (print_completion): Gettextizze.
7478 2001-01-14 Carles Pina i Estany <carles@pina.cat>
7480 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
7482 2010-01-14 Carles Pina i Estany <carles@pina.cat>
7484 * gettext/gettext.c (grub_gettext_translate): Push and pop
7486 (grub_gettext_delete_list): Change comment style.
7487 * kern/err.c (grub_error): Gettextizze.
7488 (grub_fatal): Gettextizze.
7490 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
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().
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().
7503 * loader/i386/multiboot.c: Include `<grub/video.h>'.
7504 (grub_multiboot_boot): Switch to text mode before calling
7505 grub_relocator32_boot().
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().
7511 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
7512 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
7514 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
7517 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
7518 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
7520 * util/grub.d/00_header.in: Define a "savedefault" function for use
7522 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
7524 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
7525 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
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).
7532 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7534 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
7536 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7538 * util/grub.d/00_header.in: Use `set var=val' rather than plain
7540 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
7542 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7544 * util/grub-reboot.in: Fix --version output.
7545 * util/grub-set-default.in: Likewise.
7547 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7549 * util/grub.d/00_header.in: Silently ignore zero-sized environment
7552 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
7554 * util/grub.d/00_header.in: Quote the value assigned to `default',
7555 in case it contains spaces.
7557 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
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.
7562 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
7563 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
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.
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.
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
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.
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.
7592 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
7594 Unit testing framework for GRUB.
7596 * Makefile.in: Test framework build rules for 'make check'.
7597 * conf/tests.rmk: Build rules for individual tests and framework.
7599 * include/grub/test.h: Header file for whitebox tests.
7600 * tests/lib/functional_test.c: Framework support for whitebox
7602 * tests/lib/test.c: Common whitebox testing code for unit and
7604 * tests/lib/unit_test.c: Framework support for whitebox unit
7607 * tests/util/grub-shell-tester.in: Support utility for grub-script
7609 * tests/util/grub-shell.in: Utility to execute grub-script
7610 commands in a Qemu instance.
7612 * tests/example_functional_test.c: Example whitebox functional
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.
7618 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
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.
7644 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
7646 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
7647 it would result in module crash.
7649 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
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.
7657 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
7659 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
7661 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7663 * loader/i386/pc/multiboot2.c: Removed stalled file.
7665 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7667 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
7668 Reported by: Grégoire Sutre
7670 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
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().
7676 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
7678 * util/grub-install.in (usage): Clarify meaning of --root-directory,
7679 and make it clearer that it's optional. Based on confusion
7682 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7684 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
7685 in premature implicit newline.
7687 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7689 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
7690 which resulted in garbled command line at the end of screen.
7692 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
7694 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
7695 initialization with similar approach as with other Linux loaders.
7697 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
7699 Fix i386-ieee1275 build.
7701 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
7702 and grub_term_height() for video_{width,height} initialization.
7704 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
7708 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
7710 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7711 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
7713 Support for multiple terminals.
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.
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
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
7814 * term/terminfo.c: New argument oterm on all exported functions.
7816 * util/grub-editenv.c (grub_term_input_class): Removed.
7817 (grub_term_output_class): Likewise.
7819 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
7821 Make loader output a bit more user-friendly.
7823 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
7824 is being loaded. Likewise for the Hurd.
7826 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
7827 that kernel of FreeBSD ${version} is being loaded.
7829 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
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.
7835 2010-01-09 Carles Pina i Estany <carles@pina.cat>
7837 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
7839 2010-01-08 Carles Pina i Estany <carles@pina.cat>
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'
7878 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
7880 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
7882 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
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.
7888 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
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.
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.
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'.
7908 * conf/i386-pc.rmk: Likewise.
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.
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.
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'.
7928 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7930 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
7931 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
7934 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7935 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7937 Fix breakage introduced with previous commit.
7939 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
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.
7946 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
7948 Merge prefix-redefinition-fix branch.
7950 * normal/autofs.c (read_fs_list): Make function capable of being
7951 run multiple times, gracefuly replacing the previous data
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}.
7961 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7963 Merge crypto branch.
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.
8012 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
8014 Fix descent and ascent calculation.
8016 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
8017 (options): New option "asce".
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.
8025 2010-01-06 Carles Pina i Estany <carles@pina.cat>
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.
8036 2010-01-06 Carles Pina i Estany <carles@pina.cat>
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'.
8046 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
8048 * config.rpath: Update from Gnulib.
8050 2010-01-05 Yves Blusseau <blusseau@zetam.org>
8052 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
8054 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
8056 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
8058 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
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.
8066 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
8068 * util/mkisofs/write.c (padblock_write): Check return value of
8071 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
8073 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
8076 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
8078 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
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).
8087 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
8089 * commands/crc.c (grub_cmd_crc): Abort on read errors.
8090 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
8093 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8095 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
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.
8106 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8108 * loader/efi/appleloader.c: Restored. Update all users.
8110 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
8112 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
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.
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.
8125 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
8127 * loader/efi/appleloader.c: Remove. Update all users.
8129 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
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.
8217 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
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
8224 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8226 * normal/menu_text.c (print_message): Change messages.
8228 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8230 * normal/menu_entry.c (store_completion): Gettextizze.
8232 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8234 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
8236 2010-01-03 Carles Pina i Estany <carles@pina.cat>
8238 * po/POTFILES: Sort correctly.
8240 2010-01-03 Carles Pina i Estany <carles@pina.cat>
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
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
8252 (GRUB_MOD_INIT): Remove command name from summary.
8253 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
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.
8259 2010-01-03 Carles Pina i Estany <carles@pina.cat>
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.
8310 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
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.
8316 2010-01-01 Carles Pina i Estany <carles@pina.cat>
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.
8327 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
8331 * gnulib/getdelim.c: New file.
8332 * gnulib/getline.c: Likewise.
8334 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
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.
8347 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
8349 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
8352 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
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
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
8366 2009-12-28 Carles Pina i Estany <carles@pina.cat>
8368 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
8371 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8373 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
8375 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8377 * normal/menu_text.c (grub_print_message_indented): Prevent
8378 past-the-end-of-array dereference.
8380 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8382 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
8383 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
8385 2009-12-27 Carles Pina i Estany <carles@pina.cat>
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
8391 2009-12-27 Carles Pina i Estany <carles@pina.cat>
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.
8401 2009-12-26 Carles Pina i Estany <carles@pina.cat>
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'.
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'.
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'.
8417 (GRUB_MOD_FINI): Use `cmd' to unregister.
8419 2009-12-26 Carles Pina i Estany <carles@pina.cat>
8421 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
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.
8440 2009-12-26 Carles Pina i Estany <carles@pina.cat>
8442 * commands/help.c (grub_cmd_help): Print the command name before the
8444 (GRUB_MOD_INIT): Remove command name from the summary.
8445 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
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
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.
8494 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8496 Use search command for preliminar UUID search.
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
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.
8535 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
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.
8541 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
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.
8550 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8552 Support for (pxe[:server[:gateway]]) syntax and
8553 use environment variable for PXE.
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.
8587 2009-12-25 Carles Pina i Estany <carles@pina.cat>
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'.
8606 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
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.
8616 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
8618 * util/hostdisk.c (open_device): Fix a comment.
8620 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8622 * util/grub-install.in (host_os): New variable.
8623 * util/i386/efi/grub-install.in (host_os): Likewise.
8625 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8627 * util/mkisofs/write.c (padblock_write): Abort when given an
8628 excedingly large embed image, instead of silently truncating it.
8630 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8632 * include/multiboot.h: Indentation fixes.
8634 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
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
8642 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
8643 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
8646 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8648 * include/multiboot.h: Make comments src2texi-friendly.
8650 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8652 For consistency with [multiboot]/docs/boot.S.
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.
8659 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
8661 * include/multiboot.h: Remove `<grub/types.h>'.
8662 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
8663 types. Update all users.
8665 2009-12-25 Carles Pina i Estany <carles@pina.cat>
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.
8689 2009-12-24 Carles Pina i Estany <carles@pina.cat>
8691 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
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.
8775 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
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.
8823 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8825 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
8828 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
8830 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
8831 * genmk.rb (class SCRIPT): Modify the target file instead of source.
8833 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8835 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
8836 (GRUB_MOD_INIT(memrw)): Update help line.
8838 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
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.
8846 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
8848 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
8850 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
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'
8858 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
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>.
8864 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
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.
8874 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
8876 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
8878 Patch by Tony Mancill <tmancill@debian.org>.
8880 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
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.
8887 2009-12-21 Carles Pina i Estany <carles@pina.cat>
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
8932 * po/POTFILES: Add `commands/loadenv.c'.
8934 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
8936 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
8937 instead of specifying them explicit.
8939 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8941 * NEWS: Add grub-probe support for GNU/Hurd.
8943 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8945 * NEWS: gettext was added after 1.97.
8947 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
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.
8959 * util/grub-mkrescue.in: Use --protective-msdos-label.
8961 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8963 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
8966 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8968 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
8970 (ld_options, main): Recognize `--embedded-boot'.
8971 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
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.
8977 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
8978 for BIOS-based disk boot instead of only ElTorito.
8980 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8982 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
8983 build (not needed for bootstrap).
8985 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
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.
8991 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
8993 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
8995 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
8997 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
8999 2009-12-21 Andreas Born <futur.andy@googlemail.com>
9001 * kern/env.c (grub_env_context_open): Mark exported variable for
9004 2009-12-21 Andreas Born <futur.andy@googlemail.com>
9006 * kern/env.c (grub_env_export): Create nonexistent variables before
9009 2009-12-20 Carles Pina i Estany <carles@pina.cat>
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
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'.
9039 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9041 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
9042 of arguments. Return number of tokens and not arguments. All users
9045 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9047 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
9048 non-MSDOS paritions.
9050 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
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.
9056 2009-12-19 Carles Pina i Estany <carles@pina.cat>
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
9068 * po/POTFILES: Add normal/main.c.
9070 2009-12-19 Carles Pina i Estany <carles@pina.cat>
9072 * normal/menu_text.c (STANDARD_MARGIN): New macro.
9073 (print_message_indented): Add `margin_left' and `margin_right'
9075 (print_message): Update `print_message_indented' calls. Adds '\n' to the
9077 (print_timeout): Use `print_message_indented' to print the message.
9078 Deletes `second_stage' parameter.
9079 (run_menu): Update `print_timeout' calls.
9081 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9083 Fix console palette on OpenFirmware.
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.
9091 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9093 Fix potential EfiEmu double prepare.
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.
9099 set_virtual_address_map support.
9101 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
9103 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
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):
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.
9124 Newer XNU parameters.
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.
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.
9171 Eliminate ad-hoc tree format in XNU and EfiEmu.
9173 * efiemu/main.c (grub_efiemu_prepare): Update comment.
9174 * efiemu/pnvram.c: Rewritten to use environment variables.
9177 Inline utf16_to_utf8.
9179 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
9180 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
9182 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
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.
9189 UTF-8 to UTF-16 transformation.
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)
9198 Support for device properties.
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.
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.
9238 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9240 Workaround for broken ATI VBE.
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.
9247 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
9249 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
9252 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
9254 UUID support for HFS.
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'.
9260 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
9262 Fix a segfault with parsing unknown long options.
9264 * util/grub-mkrelpath.c (options): Zero terminate it.
9266 2009-12-13 Carles Pina i Estany <carles@pina.cat>
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.
9273 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
9275 * util/grub-probe.c (probe): Improve error message.
9277 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
9279 * loader/i386/multiboot_elfxx.c
9280 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
9283 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
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.
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.
9359 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9361 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
9364 2009-12-13 Carles Pina i Estany <carles@pina.cat>
9366 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
9367 GRUB_ERR_NONE before calling grub_env_set.
9369 2009-12-12 Robert Millan <rmh@aybabtu.com>
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
9380 * util/grub.d/30_os-prober.in: Replace `vbe' with
9381 ${GRUB_VIDEO_BACKEND}.
9383 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
9385 * THANKS: Add David Miller.
9387 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
9389 libpciaccess support.
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.
9409 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
9411 * util/misc.c: Don't include <errno.h> twice.
9413 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
9415 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
9416 name in an error message.
9417 (grub_biosdisk_rw): Likewise.
9419 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9421 Eliminate NTFS 4Gib barrier.
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.
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.
9436 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9438 Eliminate grub-fstest 4Gib barrier.
9440 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
9441 (read_file): Fix error reporting.
9443 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9445 Eliminate hexdump 4Gib barrier.
9447 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
9448 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
9450 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
9452 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
9455 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
9457 Remove miscellaneous files in distclean target.
9459 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
9461 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
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.
9471 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
9473 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
9474 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
9477 2009-12-08 Carles Pina i Estany <carles@pina.cat>
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.
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.
9491 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
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
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.
9504 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
9506 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
9507 anything even prefixed with 'cdrom' as a cdrom.
9509 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
9511 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
9514 2009-12-05 Carles Pina i Estany <carles@pina.cat>
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 *
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.
9528 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
9530 Rename kernel.mod to kernel.img.
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".
9550 2009-12-05 Carles Pina i Estany <carles@pina.cat>
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
9560 (get_entry_number): Gettextize and uses dynamic terminal width.
9561 (notify_booting, notify_fallback, notify_execution_failure):
9563 * normal/menu_entry.c (store_completion): Cleanup the gettextized
9566 (grub_menu_entry_run): Likewise.
9567 * PO/POTFILES: Add normal/menu_entry.c.
9569 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
9571 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
9573 2009-12-05 Carles Pina i Estany <carles@pina.cat>
9575 * util/grub-install.in: Install gettext .mo files.
9576 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
9578 2009-12-05 Carles Pina i Estany <carles@pina.cat>
9580 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
9583 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
9585 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
9586 non-firmware-dependant one in realmode.S takes precedence.
9588 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
9590 * commands/halt.c: Replace misc arch-specific headers with
9592 * commands/reboot.c: Likewise.
9593 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
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.
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.
9604 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
9606 * include/grub/i386/halt.h: Remove.
9607 * include/grub/i386/reboot.h: Likewise.
9609 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
9611 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
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
9617 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
9618 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9619 (usage): Add missing comma in printf.
9621 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
9623 Use the same reboot approach on i386 coreboot and qemu as we do on
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"'.
9636 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
9638 Fix $srcdir != $objdir build.
9640 * Makefile.in (po/%.po): Rewrite as ...
9641 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
9643 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
9645 Fix GNU/Hurd grub-install crash.
9646 * util/grub-probe.c (probe): Try to access `path' only when it is not
9649 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
9651 Correct module naming.
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
9662 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
9664 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
9666 (usage): Translate `arg' strings using gettext().
9667 Thanks to Jordi Mallach for the suggestion.
9669 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
9671 GOP support. Based on patch from Bean
9672 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
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
9679 * conf/x86_64-efi.rmk: Likewise.
9681 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
9683 Rename efi_fb to efi_uga.
9685 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
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
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_'.
9704 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
9706 * po/README: New file. Explain our PO file workflow.
9708 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
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
9718 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
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.
9725 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
9727 * util/i386/efi/grub-mkimage.c: Include "progname.h".
9728 (main): Use `program_name' instead of nonexistent `progname'.
9730 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
9732 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
9733 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
9735 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
9737 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
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.
9745 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
9747 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
9749 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
9751 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
9753 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
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.
9783 * util/misc.c: Include `"progname.h"'.
9784 (progname): Remove variable.
9785 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
9787 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
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.
9793 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
9795 autoconf >= 2.60 support $(localedir).
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.
9802 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
9804 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
9807 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
9809 * normal/main.c (grub_normal_read_line): Fix off-by-one
9812 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
9814 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
9815 "parser.grub" in grub_command_execute() call.
9817 2009-11-24 Carles Pina i Estany <carles@pina.cat>
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
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.
9834 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9836 * util/Makefile.in (install-local): Convert a `for' into a normal
9839 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
9841 * autogen.sh: Add automake call.
9842 * config.guess: Remove.
9843 * config.sub: Likewise.
9844 * install-sh: Likewise.
9846 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9848 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
9850 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9852 * util/Makefile.in (install-local): Convert a make `$(foreach)'
9853 function to a normal shell `for'.
9855 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9857 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
9859 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
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.
9867 * util/grub-mkconfig_lib.in (bindir): New variable.
9868 (grub_mkrelpath): Likewise.
9869 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
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.
9875 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
9878 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9880 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
9883 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
9885 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
9888 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
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.
9894 2009-11-23 Carles Pina i Estany <carles@pina.cat>
9896 * conf/common.rmk: Add grub-gettext_lib target and updates
9897 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
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
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.
9914 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
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.
9924 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
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.
9939 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
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.
9946 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
9947 * gensymlist.sh.in: Likewise.
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.
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.
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>'.
9980 * Makefile.in (enable_grub_emu): Remove variable.
9981 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
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.
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.
9992 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
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
10000 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10002 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
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
10008 (usage): Use gettext() to translate help strings when printing them.
10010 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
10012 Based on patch from Bean
10013 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
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
10019 * conf/x86_64-efi.rmk: Likewise.
10021 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
10023 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
10024 * util/i386/pc/grub-setup.c: Likewise.
10026 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
10028 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
10030 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
10031 file_get_storage_info to implement grub_guess_root_device.
10033 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
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.
10039 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
10041 * util/grub-mkrescue.in: Print an error and usage if output option
10042 has not been given.
10044 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
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.
10050 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
10052 Fix build for srcdir != objdir.
10054 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
10055 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
10057 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
10058 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
10059 reference for input.
10061 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
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.
10067 2009-11-21 Carles Pina i Estany <carles@pina.cat>
10068 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
10070 * util/grub-mkrescue.in: Recognize `--override-directory' option.
10071 (process_input_dir): New function. Process an arbitrary input
10073 Misc adjustments to support both "override mode" and system-wide mode.
10075 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
10077 * configure.ac (UNIFONT_BDF): Rename to ...
10078 (FONT_SOURCE): ... this. Update all users.
10080 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
10082 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
10083 to the list of unifont files to look for.
10085 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
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().
10092 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
10094 * Makefile.in (install-local): Add a missing backslash.
10096 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
10098 * include/grub/x86_64/io.h: New file.
10100 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
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.
10109 * Makefile.in (po/*.po): Redefine as ...
10110 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
10112 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
10114 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
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>'.
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.
10132 * po/POTFILES: Update with new files.
10134 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
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.
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.
10153 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10155 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
10156 instead of static allocation.
10157 * util/mkisofs/match.h: Likewise.
10159 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
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.
10166 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
10168 * Makefile.in ($(srcdir)/aclocal.m4): New target.
10170 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
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.
10178 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
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.
10187 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10189 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
10191 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
10192 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
10193 bindtextdomain() calls for gettext initialization.
10195 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
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.
10204 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10206 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
10208 * Makefile.in (CPPFLAGS): ... to here.
10210 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
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.
10217 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
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.
10234 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10236 * import_gcry.py: New file (written by Vladimir with minor
10238 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
10240 * INSTALL: Document that Python is required for bootstrap.
10242 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
10244 Import ciphers from libgcrypt 1.4.4.
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
10284 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10286 Fix build for systems without error().
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()).
10294 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
10296 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
10297 instead of relying that char is signed.
10299 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10301 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
10302 blocksize different from specified.
10303 (grub_pxefs_read): Likewise.
10305 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
10307 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
10309 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
10310 (grub_ata_readwrite): Likewise. Update 2 format strings.
10311 (grub_atapi_read): Likewise.
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.
10323 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
10325 Relicense multiboot.h, with RMS' blessing.
10327 * include/multiboot.h: Change to X11 license.
10329 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
10331 Support --version in grub-mkisofs.
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'.
10340 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
10342 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
10343 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
10345 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
10347 Fix help2man generation for mkisofs.
10349 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
10350 (usage): Send output to stdout (rather than stderr).
10352 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
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.
10361 * util/grub-mkrescue.in: New file.
10362 * util/i386/pc/grub-mkfloppy.in: New file.
10364 * util/i386/coreboot/grub-mkrescue.in: Remove.
10365 * util/i386/pc/grub-mkrescue.in: Remove.
10367 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10369 * include/grub/multiboot.h (struct grub_multiboot_header): Move
10371 * include/multiboot.h (struct multiboot_header): ... to here. Update
10373 * include/grub/multiboot.h (struct grub_multiboot_info): Move
10375 * include/multiboot.h (struct multiboot_info): ... to here. Update
10377 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
10379 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
10381 * include/grub/multiboot.h (struct grub_mod_list): Move
10383 * include/multiboot.h (struct multiboot_mod_list): ... to here.
10386 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
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.
10407 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
10409 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
10410 this platform we should support Multiboot1 first.
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.
10416 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
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.
10423 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
10425 * util/i386/pc/grub-install.in: Move from here ...
10426 * util/grub-install.in: ... to here. Update all users.
10428 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
10430 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
10432 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
10434 Support for El Torito without floppy emulation.
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.
10454 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
10456 Fix the generation of the man page.
10458 * util/pc/i386/grub-install.in: Source
10459 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
10461 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
10463 Large file support for grub-mkisofs.
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'.
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()
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
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.
10489 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
10491 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
10493 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
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'.
10504 * configure.ac: Detect `mingw32msvc' host_os.
10505 Check for lstat(), getuid() and getgid().
10507 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
10508 instances of `u_char' with `uint8_t'.
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.
10517 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10519 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
10520 conditional expression).
10522 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10524 Import from Gnulib.
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.
10535 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10537 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
10538 * normal/handler.c (read_handler_list): Likewise.
10540 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
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
10551 * normal/dyncmd.c (read_command_list): Add space between function
10552 call and parenthesis.
10553 * normal/handler.c (read_handler_list): Likewise.
10555 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10557 * normal/auth.c (punishment_delay): Moved from here ...
10558 (grub_auth_strcmp): ... to here (inside function).
10560 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10562 * include/grub/list.h (struct grub_named_list): Remove `const'
10563 qualifier from `name'.
10564 (struct grub_prio_list): Likewise.
10566 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10568 * normal/auth.c: Include `<grub/time.h>'.
10569 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
10571 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
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.
10578 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10580 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
10581 path with $(srcdir).
10583 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10585 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
10587 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
10589 * util/i386/coreboot/grub-mkrescue.in: New file.
10590 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
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
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.
10620 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10622 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
10625 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10627 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
10628 `grub-mkimage' (and use $0 when possible).
10630 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10632 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
10633 error message for excessively large memory map.
10635 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10637 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
10640 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
10642 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
10643 message for coreboot users.
10645 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
10647 Fix build with GNU gold.
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
10653 * aclocal.m4: Likewise.
10655 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
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'.
10661 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
10663 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
10666 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10668 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
10670 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10672 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
10673 giving it to GNU Mach.
10675 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10677 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
10678 GNU partition number to get internal GRUB partition number.
10680 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
10682 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
10683 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
10685 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
10687 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
10688 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
10691 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
10693 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
10695 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
10699 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
10700 `-isystem=$(srcdir)/include'.
10702 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
10704 * util/i386/pc/grub-install.in: Remove hint that device.map should be
10705 checked (grub-install doesn't currently rely on it).
10707 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
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.
10720 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
10722 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
10724 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
10726 * include/grub/misc.h: Stop checking for APPLE_CC.
10728 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
10730 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
10731 doesn't cause an infinite call loop.
10733 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
10735 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
10738 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10740 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
10742 * Makefile.in: Likewise.
10744 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10746 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
10748 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10750 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
10752 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10754 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
10756 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10758 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
10760 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
10762 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
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.
10768 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10770 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
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.
10780 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
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.
10786 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
10788 Improve grub-mkconfig performance when there are several menu
10789 entries on a single filesystem.
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.
10796 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
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.
10802 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
10804 * docs/grub.cfg: Fix example usage of *BSD loaders.
10806 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10808 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
10809 grub_util_error() call.
10811 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
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().
10825 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10827 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
10828 (memset): Fix function prototype.
10830 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10831 2009-10-25 Vasily Averin <vvs@parallels.com>
10833 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
10834 `dirent.direntlen == 0'.
10836 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10838 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
10840 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
10842 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
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.
10849 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
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.
10855 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10857 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
10859 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
10861 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
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.
10868 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
10870 * config.guess: Update to latest version from config git
10872 * config.sub: Likewise.
10874 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
10876 Fix build on sparc64.
10878 * configure.ac: Perform checks for libgcc symbols before
10879 adding `-nostdlib' to LDFLAGS.
10881 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10883 Let user specify OpenBSD root device.
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'.
10891 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
10893 * NEWS: Misc adjustments.
10895 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
10897 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
10899 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
10901 * configure.ac: Bump version to 1.97.
10903 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
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.
10910 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
10912 Make entry text a bit more readable.
10914 * util/grub.d/10_linux.in: Add `with' before `Linux'.
10916 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10918 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
10920 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10922 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
10925 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10927 * configure.ac: Add missing dollar.
10929 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
10931 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
10933 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
10934 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
10936 * include/grub/sparc64/libgcc.h: Likewise. Use
10937 preprocessor conditionals.
10939 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
10941 * conf/common.rmk (grub-dumpbios): Remove rule.
10942 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
10943 * util/grub-dumpbios.in: Remove file.
10945 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
10947 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
10948 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
10950 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
10951 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
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
10960 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
10962 * term/tparm.c: Switch to GPLv3.
10964 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
10966 * include/grub/i386/cpuid.h: Add header protection.
10968 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
10970 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
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.
10981 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
10983 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
10984 that version.texi is rebuilt on version number changes.
10986 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
10988 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
10991 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
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.
10998 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
11000 * configure.ac: Bump version to 1.97~beta4.
11002 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
11004 Resync grub-mkdevicemap in x86_64-efi.
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'.
11010 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
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
11016 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
11018 Do not automatically install headers.
11020 * Makefile.in (include_DATA): Remove. Update all users.
11022 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
11024 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
11025 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
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.
11085 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
11087 * docs/grub.texi (Command-line and menu entry commands): Document
11088 date and echo commands.
11090 2009-09-24 Pavel Roskin <proski@gnu.org>
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.
11101 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
11103 Fix "lost keypress" bug in at_keyboard.
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.
11110 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
11112 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
11113 size check within GRUB_MACHINE_PCBIOS section.
11115 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
11117 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
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.
11125 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
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.
11133 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
11135 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
11137 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
11139 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
11142 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
11144 Build info documentation. Some code borrowed from Automake.
11146 * configure.ac: Check for makeinfo.
11147 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
11148 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
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
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'.
11161 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
11163 * kern/term.c: Fix indentation.
11165 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
11167 * util/hostdisk.c: Fix a comment.
11169 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
11171 Fix regression introduced in r2539.
11173 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
11176 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
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.
11183 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
11185 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
11187 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
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).
11194 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
11195 `--disable-werror' was used.
11197 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
11199 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
11200 uninitialized `lastaddr'.
11202 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11204 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
11206 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
11208 * commands/test.c (get_fileinfo): Return immediately if
11209 grub_fs_probe fails.
11211 2009-09-14 José Martínez <xosemp@gmail.com>
11213 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
11215 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
11217 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
11220 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
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.
11226 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11228 * configure.ac: Bump version to 1.97~beta3.
11229 * docs/version.texi: Likewise.
11231 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
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)
11236 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
11237 (grub_linux_setup_video): ... to here (with some adjustments).
11239 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
11241 Fix memory corruption issue (spotted by Colin Watson).
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.
11247 2009-09-12 Yves Blusseau <blusseau@zetam.org>
11249 Change clean rules to properly remove files
11251 * genmk.rb: add new clean rules
11252 * Makefile.in (clean): add the new targets
11253 (mostlyclean): likewise
11255 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
11257 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
11259 * fs/ntfs.c (init_file): Understand 64-bit sizes for
11260 non-resident files.
11262 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
11264 * configure.ac: Don't look for help2man when cross-compiling. Fixes
11265 part of bug #27349.
11267 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
11269 * util/grub-mkconfig.in: Make the created config mode 400 and
11270 print a warning if it fails.
11272 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
11274 * util/grub.d/40_custom.in: Ask user to type custom entries below
11275 comment, rather than below 'exec tail' line.
11277 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
11279 * util/grub.d/40_custom.in: Make sure that the explanatory text is
11280 visible in grub.cfg.
11282 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
11284 * util/grub.d/40_custom.in: Make it a little clearer how to use this
11287 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
11289 * docs/grub.cfg: Add an example menu entry for memtest86+.
11291 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
11293 * config.guess: Update to latest version from config git.
11294 * config.sub: Likewise.
11296 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
11298 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
11299 unknown-command case. Fixes bug #27320.
11301 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
11303 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
11304 `help' if the command exists.
11306 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
11308 * INSTALL: Require GCC 4.1.3 or later.
11310 2009-09-06 Yves Blusseau <blusseau@zetam.org>
11312 * Makefile.in (RMKFILES): add i386-qemu.rmk
11313 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
11314 $(srcdir)/stamp-h.in
11316 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
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.
11322 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
11324 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
11327 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
11329 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
11330 unnecessary calls to grub_error.
11332 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
11334 * NEWS: Mention `keystatus' and Unicode fonts.
11336 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
11338 * configure.ac: Bump version to 1.97~beta2.
11339 * docs/version.texi: Likewise.
11341 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
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
11349 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
11351 Embedding loadenv module into grub-emu
11353 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
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
11362 2009-09-03 Magnus Granberg <zorry@ume.nu>
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
11369 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
11371 * INSTALL: Note that GNU Bison 2.3 or later is required.
11373 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
11375 * kern/i386/pc/startup.S: Fix typo.
11377 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11379 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
11382 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
11384 * docs/grub.texi (Naming convention): Describe one-based partition
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
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.
11395 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
11397 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
11398 to avoid implying that only one of --shift, --ctrl, or --alt may be
11401 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
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.
11406 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
11408 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
11409 (write_blocklists): Likewise.
11411 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
11413 * script/lua/grub_lua.h (fputs): Supply a format string as the first
11414 argument to grub_printf.
11416 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
11418 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
11421 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11423 * kern/file.c (grub_file_read): Spelling fix
11425 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11427 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
11428 loading of headers in some cases.
11430 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
11432 * configure.ac: Bump version to 1.97~beta1.
11433 * docs/version.texi: Likewise.
11435 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11437 * include/grub/i386/xnu.h: Add license header.
11438 include grub/err.h explicitly.
11440 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
11442 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
11443 to `ufs' in the vfs.root.mountfrom kernel parameter.
11445 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
11447 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
11449 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
11450 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
11452 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
11453 `ARRAY_SIZE' macro.
11455 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
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.
11465 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
11467 * term/i386/pc/console.c (bios_data_area): Cast
11468 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
11470 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11472 1-bit optimised blitters.
11474 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
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
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
11492 * video/video.c (grub_video_get_blit_format): Return
11493 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
11495 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
11497 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
11498 the first argument to grub_printf.
11500 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
11501 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
11503 Add `getkeystatus' terminal method. Add a new `keystatus' command
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.
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
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
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.
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.
11540 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11542 Split befs.mod and afs.mod into *_be.mod and *.mod
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.
11583 2009-08-26 Bean <bean123ch@gmail.com>
11585 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
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.
11591 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11593 NetBSD memory map support.
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.
11600 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11602 Enable bsd.mod on coreboot.
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.
11612 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11614 Cleanup NetBSD root support.
11616 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
11617 grub_bsd_get_device.
11620 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
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.
11627 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11629 Fix breakage in grub-setup.
11631 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
11632 "msdos_partition_map".
11634 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11636 Fix breakage in normal/auth.c.
11638 * normal/auth.c (grub_iswordseparator): New function.
11640 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11642 Authentication support.
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
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
11663 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
11664 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
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
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.
11676 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11678 Save space by inlining misc.c functions.
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.
11698 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
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
11704 * script/sh/script.c (grub_script_arg_add): Duplicate string.
11706 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
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.
11715 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11717 Rename *_partition_map to part_*
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'.
11724 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
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.
11730 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11732 Fix OpenBSD and NetBSD support.
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.
11744 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11746 Let user specify NetBSD root device.
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'.
11755 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11757 Support for 64-bit NetBSD.
11759 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
11760 point when booting non-FreeBSD.
11762 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
11764 Support --no-smp and --no-acpi for NetBSD.
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.
11771 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11773 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
11775 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
11776 errors. Call grub_error when needed.
11778 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
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.
11784 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
11786 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
11788 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
11790 * util/grub.d/30_os-prober.in: Disable os-prober if
11791 `GRUB_DISABLE_OS_PROBER' was set to true.
11793 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
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.
11800 * parttool/pcpart.c: Rename to ...
11801 * parttool/msdospart.c: ... this. Update all users.
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.
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
11840 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
11841 (msdospart_mod_LDFLAGS): ... this.
11843 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
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
11863 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11865 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
11867 2009-08-21 Pavel Roskin <proski@gnu.org>
11869 * Makefile.in (install-local): When checking if a file is in the
11870 build directory, use "test -e" to detect symlinks.
11872 * Makefile.in (install-local): Remove all files in
11873 $(DESTDIR)$(pkglibdir) before installing new files there.
11875 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
11877 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
11880 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
11882 * util/grub-mkconfig.in: Don't use gfxterm by default if not
11883 explicitly specified by the user.
11885 2009-08-18 Pavel Roskin <proski@gnu.org>
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):
11891 * video/fb/fbutil.c: Remove unnecessary casts.
11893 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
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
11903 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
11905 Rename variables for clarity.
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'.
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'
11925 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
11927 Remove duplicate grub_video_fb_get_video_ptr.
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.
11937 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
11939 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
11940 grub_dprintf() that was just added.
11942 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
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.
11949 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
11951 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
11953 * fs/fat.c (grub_fat_read_data): Likewise.
11955 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11957 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
11959 (grub_module): Likewise.
11961 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11963 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
11964 mbi->cmdline but free playground.
11966 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11968 Handle group offset on UFS1.
11970 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
11971 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
11973 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
11975 Split ufs.mod into ufs1.mod and ufs2.mod.
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):
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):
12001 * fs/ufs2.c: New file.
12002 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
12004 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
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.
12058 2009-08-14 Pavel Roskin <proski@gnu.org>
12060 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
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
12068 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
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.
12074 2009-08-13 Yves Blusseau <blusseau@zetam.org>
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_".
12080 2009-08-13 Pavel Roskin <proski@gnu.org>
12082 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
12083 any modern compilers we support.
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.
12089 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
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.
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.
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
12104 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
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.
12112 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
12114 * fs/jfs.c: Update copyright year.
12116 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
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.
12123 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
12125 * util/grub-mkconfig.in: Allow the user to specify the used font
12128 2009-08-08 Pavel Roskin <proski@gnu.org>
12130 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
12131 available, xfs.mod needs it now.
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.
12137 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
12138 on it. Add missing space before closing bracket. Fix
12139 misleading formatting.
12141 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12143 * docs/grub.texi: Major overhaul. Remove all sections that are
12144 specific to GRUB Legacy, or mostly composed of Legacy-specific
12147 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12149 * docs/version.texi: New file. Provides version information for
12152 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12154 * docs/grub.texi: Update CVS information to SVN.
12155 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
12157 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
12159 * util/grub-mkconfig.in: Remove a wrong `fi'.
12161 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
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.
12167 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
12169 * util/grub-mkconfig_lib.in (font_path): Move the functionality
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.
12174 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12176 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
12177 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
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
12186 * util/grub.d/10_linux.in (find_latest): Moved from here ...
12187 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
12190 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
12192 * util/grub.d/10_freebsd.in: Use an absolute device path for
12193 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
12195 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
12197 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
12198 handling of multiple abstraction modules.
12200 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
12202 Fix a bug resulting in black screen when loading Linux using a
12205 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
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()).
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.
12221 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
12223 * commands/search.c (options): Fix help output to match actual code.
12225 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
12227 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
12230 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12232 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
12233 on XFS or ReiserFS.
12235 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12237 Support Apple partition map with sector size different from 512 bytes.
12239 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
12240 (apple_partition_map_iterate): Respect 'aheader.blocksize'
12241 and 'apart.partmap_size'.
12243 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
12244 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
12248 * commands/i386/cpuid.c (options): New variable.
12249 (grub_cmd_cpuid): Return real error.
12250 (GRUB_MOD_INIT(cpuid)): Declare options.
12252 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
12254 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
12257 2009-07-31 Bean <bean123ch@gmail.com>
12259 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
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.
12274 2009-07-31 Bean <bean123ch@gmail.com>
12276 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
12277 Don't change pv->disk if it's already set.
12279 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
12280 (grub_raid_register): ... here.
12281 (grub_raid_rescan): Removed.
12283 * include/grub/raid.h (grub_raid_rescan): Removed.
12285 * util/grub-fstest.c: Remove include file <grub/raid.h>.
12286 (fstest): Replace grub_raid_rescan with module fini function followed
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.
12294 2009-07-31 Pavel Roskin <proski@gnu.org>
12296 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
12297 to grub_zalloc(), it was erroneous.
12298 Reported by Bean <bean123ch@gmail.com>
12300 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
12302 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
12303 embedding zone, not only the first one.
12305 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
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.
12312 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
12314 * util/deviceiter.c (get_acceleraid_disk_name): New static
12316 (grub_util_iterate_devices): Handle Accelraid devices.
12317 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
12319 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
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).
12325 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
12327 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
12328 Clear direction flag before jumping to OS.
12329 (grub_multiboot2_real_boot): Likewise.
12331 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
12333 * util/i386/pc/grub-install: Fix parsing of --disk-module
12336 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
12338 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
12341 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
12343 * util/grub-mkconfig.in (package_version): New variable.
12344 Use it do display the version.
12346 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
12348 * kern/file.c (grub_file_open): Revert to previous check with
12351 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12353 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
12354 from help line. It's out of sync with code.
12356 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
12358 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
12359 entries on failed boot.
12361 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
12363 * kern/file.c (grub_file_open): Fix an error check.
12365 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
12367 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
12368 partition map couldn't be identified.
12370 2009-07-23 Pavel Roskin <proski@gnu.org>
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.
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
12382 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
12384 UUID support for UFS
12386 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
12387 (grub_ufs_uuid): New function.
12388 (grub_ufs_fs): add .uuid
12390 2009-07-21 Pavel Roskin <proski@gnu.org>
12392 * kern/dl.c (grub_dl_check_header): Make static.
12394 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
12396 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
12397 add drivemap for Vista. It breaks Windows 7.
12399 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
12401 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
12404 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
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
12441 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
12443 * util/getroot.c (find_root_device): Add support for MacOSX.
12444 * util/hostdisk.c: Likewise.
12446 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12448 * font/font.c (find_glyph): Check whether a font is present to avoid
12449 segmentation fault.
12451 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
12453 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
12455 2009-07-20 Pavel Roskin <proski@gnu.org>
12457 * configure.ac: Trim excessively wordy excuses.
12459 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12461 Add symlink, mtime and label support to AtheFS.
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.
12468 (grub_afs_label): New function.
12469 (grub_afs_fs): Add grub_afs_label.
12470 (grub_afs_read_symlink): New function.
12472 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12474 Fix AtheFS support.
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.
12491 2009-07-19 Pavel Roskin <proski@gnu.org>
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
12498 * kern/i386/pc/lzo1x.S: Remove.
12499 * kern/i386/pc/startup.S: Remove lzo support.
12500 * util/i386/pc/grub-mkimage.c: Likewise.
12502 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
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.
12514 2009-07-16 Pavel Roskin <proski@gnu.org>
12516 * configure.ac: Never add "-c" to CFLAGS.
12518 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
12520 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
12521 grub_cv_cc_efiemu should be used.
12523 * configure.ac: Typo fixes.
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.
12570 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12572 Enable all targets that can be built by default
12574 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
12575 grub-mkfont and grub-fstest if they can be built
12577 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12579 Fix hang and segmentation fault in grub-emu-usb
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
12595 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
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.
12604 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
12606 Make FreeBSD accept zpool.cache
12608 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
12609 type is /boot/zfs/zpool.cache
12611 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
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
12619 2009-07-15 Pavel Roskin <proski@gnu.org>
12621 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
12622 * kern/disk.c (struct grub_disk_cache): Likewise.
12624 * commands/probe.c (options): Typo fix.
12626 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
12627 Increase to 0x5a to accommodate FAT32. Adjust other offsets
12629 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
12631 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
12632 the end of "Error" to make the message more readable.
12634 * boot/i386/pc/boot.S (kernel_segment): Remove.
12635 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
12638 * boot/i386/pc/boot.S (boot_version): Remove.
12639 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
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.
12648 2009-07-13 Pavel Roskin <proski@gnu.org>
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.
12655 * kern/dl.c: Force native word size to suppress warnings when
12656 compiling grub-emu.
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.
12663 2009-07-11 Bean <bean123ch@gmail.com>
12665 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
12668 2009-07-10 Bean <bean123ch@gmail.com>
12669 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
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.
12675 2009-07-07 Pavel Roskin <proski@gnu.org>
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().
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.
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
12690 2009-07-06 Pavel Roskin <proski@gnu.org>
12692 * commands/search.c (search_fs): Fix potential NULL pointer
12695 * commands/search.c (search_fs): Replace QUID macro with quid_fn
12698 2009-07-06 Daniel Mierswa <impulze@impulze.org>
12700 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
12703 2009-07-05 Pavel Roskin <proski@gnu.org>
12705 * include/grub/i386/linux.h (struct linux_kernel_params):
12706 Restore padding3, it's still needed.
12708 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
12710 * util/osdetect.lua: Likewise.
12712 2009-07-05 Bean <bean123ch@gmail.com>
12714 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
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.
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.
12742 * script/lua/grub_main.c (scan_str): New function.
12743 (strcspn): Likewise.
12744 (strpbrk): Likewise.
12745 (memchr): Likewise.
12747 * script/lua/linit.c (lualibs): Enable the string library.
12749 * util/osdetect.lua: New file.
12751 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
12753 * include/grub/i386/linux.h (struct linux_kernel_params): Add
12754 `capabilities' member.
12756 2009-07-02 Pavel Roskin <proski@gnu.org>
12758 * genparttoollist.sh: Add missing newline at the end.
12760 2009-07-01 Pavel Roskin <proski@gnu.org>
12762 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
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).
12768 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
12769 using signed long int constants.
12771 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
12772 constant to avoid a warning on FreeBSD.
12774 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
12777 * Makefile.in: Install include/grub/machine symlink.
12779 * Makefile.in: When installing symlinks, use "cp -fR", which
12780 works on FreeBSD and MacOSX.
12781 From Yves Blusseau <cl7m42e02@sneakemail.com>
12783 * kern/dl.c (grub_dl_resolve_symbol): Make static.
12784 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
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.
12790 * kern/mm.c: Use correct format to print size_t.
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.
12798 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12800 Fix grub-emu build on sparc64-ieee1275.
12802 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
12803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
12805 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12807 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
12808 (grub_reboot, grub_halt): New functions.
12810 * util/i386/pc/misc.c: Delete. Update all users.
12811 * util/sparc64/ieee1275/misc.c: Likewise.
12812 * util/powerpc/ieee1275/misc.c: Likewise.
12814 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
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.
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.
12837 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
12839 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
12840 type to `grub_uint8_t', and adjust `padding9' accordingly.
12842 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
12844 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
12846 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
12847 assembly in final jump, using register constraints.
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).
12852 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
12853 right before the final jump.
12855 Set `video_mode' to 0x3.
12857 Document initialization of `video_page', `video_mode' and
12860 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
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.
12866 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
12868 Fix build on Debian / sparc.
12870 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
12872 2009-06-28 Pavel Roskin <proski@gnu.org>
12874 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
12877 * util/grub.d/10_linux.in: Match SUSE style initrd names.
12879 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
12881 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
12884 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
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.
12893 2009-06-27 Pavel Roskin <proski@gnu.org>
12894 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
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.
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.
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.
12933 * configure.ac: Recognise `i386-qemu'.
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
12943 2009-06-27 Pavel Roskin <proski@gnu.org>
12945 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
12947 * efiemu/prepare32.c: Likewise.
12948 * efiemu/prepare64.c: Likewise.
12950 2009-06-26 Pavel Roskin <proski@gnu.org>
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
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.
12964 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
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.
12970 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12972 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
12973 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
12975 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
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.
12982 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
12984 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
12985 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
12987 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
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.
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.
12998 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13000 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
13001 * kern/i386/realmode.S (real_to_prot): ... to here.
13003 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
13005 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
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.
13020 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
13023 2009-06-21 Pavel Roskin <proski@gnu.org>
13025 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
13026 to match nested functions.
13027 * loader/sparc64/ieee1275/linux.c: Likewise.
13029 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
13031 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
13033 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
13034 all i386 platforms.
13036 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
13038 Fix asm file handling on ELF, and remove workarounds.
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.
13045 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
13047 Load BSD ELF modules
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
13077 (grub_elf64_load_hook_t): Likewise
13079 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
13081 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
13083 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
13084 don't write a menu entry for recovery mode.
13086 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
13088 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
13089 after it's no longer needed.
13091 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
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.
13104 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13106 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
13108 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
13110 2009-06-19 Pavel Roskin <proski@gnu.org>
13112 * configure.ac: Remove stray AC_MSG_CHECKING.
13114 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
13116 * disk/scsi.c (grub_scsi_open): use continue instead of big if
13118 2009-06-18 Pavel Roskin <proski@gnu.org>
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.
13125 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
13127 Fix build with Apple's toolchain. Part 2
13129 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
13132 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
13134 Fix build with Apple's toolchain. Part 1
13136 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
13138 * configure.ac: remove a leftover AC_MSG_RESULT
13139 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
13142 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
13146 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
13147 (decomp_block): initialize ch
13148 use grub_memcpy instead of memcpy
13150 2009-06-17 Pavel Roskin <proski@gnu.org>
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
13156 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
13157 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
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
13163 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
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.
13169 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
13171 Fix newline handling
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
13178 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
13180 avoid double grub_adjust_range call. Bug reported by David Simner
13182 * kern/disk.c (grub_disk_write): change to raw disk access before
13185 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
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.
13191 2009-06-16 Pavel Roskin <proski@gnu.org>
13193 * kern/i386/halt.c: Include grub/machine/init.h.
13194 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
13196 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
13198 * util/grub.d/30_os-prober.in: Use ${root} in the generated
13199 drivemap menuentry.
13201 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
13203 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
13206 2009-06-16 Pavel Roskin <proski@gnu.org>
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.
13222 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
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
13238 2009-06-16 Pavel Roskin <proski@gnu.org>
13240 * configure.ac: Avoid '==' in test command, it's not portable.
13242 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
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
13257 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
13259 Fix handling of string like \"hello\" and "a
13262 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
13263 (grub_script_yylex): fix parsing of quoting, escaping and newline
13265 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
13267 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
13270 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
13272 * util/grub-mkconfig.in: Fix parsing of --output option.
13274 2009-06-12 Pavel Roskin <proski@gnu.org>
13276 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
13277 genmk.rb don't need to be generated or installed.
13279 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13281 * commands/i386/pc/drivemap_int13h.S: add more comments
13283 2009-06-11 Pavel Roskin <proski@gnu.org>
13285 * Makefile.in (uninstall): Uninstall manuals.
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.
13292 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
13293 a compiler warning.
13295 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
13296 `entry_lo' to fix variable shadowing.
13298 2009-06-11 Christian Franke <franke@computer.org>
13300 * kern/misc.c (__enable_execute_stack): Add missing return type
13301 to prevent gcc warning.
13303 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
13305 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
13307 2009-06-11 Pavel Roskin <proski@gnu.org>
13309 * Makefile.in: Don't rely on any scripts being executable.
13310 Always use $(SHELL) to run shell scripts.
13312 * configure.ac: Always define ___main if using -nostdlib. This
13313 fixes tests on Cygwin.
13315 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
13319 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
13320 is in bytes and not in blocks
13322 2009-06-11 Pavel Roskin <proski@gnu.org>
13324 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
13327 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
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
13334 2009-06-11 Pavel Roskin <proski@gnu.org>
13336 * configure.ac: Remove host_m32. Issues with 64-bit utilities
13337 have long been resolved.
13339 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
13341 * util/grub.d/10_linux.in: Capitalise "Linux".
13343 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
13345 2009-06-11 Pavel Roskin <proski@gnu.org>
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.
13350 * kern/i386/ieee1275/init.c: Add missing prototype for
13351 grub_stop_floppy().
13353 * loader/ieee1275/multiboot2.c [__i386__]: Include
13354 grub/cpu/multiboot.h.
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.
13360 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
13364 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
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
13391 2009-06-10 Pavel Roskin <proski@gnu.org>
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.
13397 * kern/file.c (grub_file_read): Use void pointer for the buffer.
13398 Adjust all callers.
13400 * kern/ieee1275/openfw.c: Remove libc includes.
13401 * kern/ieee1275/cmain.c: Likewise.
13402 * include/grub/ieee1275/ieee1275.h: Likewise.
13404 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
13407 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
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.
13632 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
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'
13640 2009-06-10 Pavel Roskin <proski@gnu.org>
13642 * include/grub/multiboot2.h: Provide compatibility defines for
13644 * include/multiboot2.h: Include stdint.h only if needed, using
13646 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
13648 * loader/ieee1275/multiboot2.c: Likewise.
13649 * loader/multiboot2.c: Likewise.
13650 * loader/multiboot_loader.c: Likewise.
13652 * configure.ac: Use -nostdlib when probing for the target. It
13653 should not be required to have libc for the target.
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
13659 * include/grub/sparc64/libgcc.h: Likewise. Don't use
13660 preprocessor conditionals.
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.
13665 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
13667 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
13669 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
13671 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
13672 disk limit to 26 for IDE, Virtio, Xen and SCSI.
13674 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
13676 * util/i386/pc/grub-install.in: Change the error message if UUIDs
13677 aren't available if ata.mod gets used.
13679 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
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.
13685 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
13687 * util/i386/pc/grub-install.in: Add a parameter --disk-module
13688 to choose between ata and biosdisk module on i386-pc.
13690 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
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.
13697 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
13698 interface is OHCI. Add grub_dprintf for symmetry with
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.
13704 * bus/usb/ohci.c: Set interf with correct field.
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.
13710 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
13712 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
13713 as fallback an equivalent option without depth.
13715 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
13717 Not fail if unable to retrieve C/H/S on LBA disks
13719 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
13720 if unable to retrieve C/H/S on LBA disks
13722 2009-06-08 Pavel Roskin <proski@gnu.org>
13724 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
13727 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
13729 * Makefile.in (uninstall): Remove all $lib_DATA files.
13731 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
13733 Bugfix: install on partitionless device
13735 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
13738 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
13740 * Makefile.in (uninstall): Remove all $include_DATA files.
13742 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
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.
13750 2009-06-05 Colin D Bennett <colin@gibibit.com>
13752 Optimized font character lookup using binary search instead of linear
13753 search. Fonts now are required to have the character index ordered by
13756 * font/font.c (load_font_index): Verify that fonts have ordered
13758 (find_glyph): Use binary search instead of linear search to find a
13759 character in a font.
13761 2009-06-05 Michael Scherer <misc@mandriva.org>
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.
13768 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
13770 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
13771 * conf/common.rmk (search_mod_CFLAGS): likewise
13773 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13775 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
13776 compensate a compiler bug
13778 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13780 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
13783 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13785 Definitions for creating asm symbols with Apple's CC
13787 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
13788 [APPLE_CC] (VARIABLE): likewise
13790 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13792 Disable lnxboot.img when compiled
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
13802 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13804 Address in trampolines based on 32-bit registers when compiled
13807 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
13809 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
13811 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13813 Avoid aliases when compiling with Apple's CC for PCBIOS machine
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
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
13826 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13828 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
13830 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
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
13839 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13841 Use objconv when compiling with Apple's CC
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
13851 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13853 Define segment as well as section when compiling with
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
13867 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13869 Allow a compilation without -mcmodel=large
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
13878 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13880 Remove nested functions in efiemu core
13882 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
13884 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13886 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
13888 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
13890 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
13892 (grub_cpu_is_tsc_supported): likewise
13893 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
13895 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13897 Absolute addressing through constant with Apple's cc
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
13908 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13910 Check if compiler is apple cc
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
13932 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13934 Simplify sed expressions and improve awk
13936 * Makefile.in (install-local): simplify sed expression
13937 * gencmdlist.sh: likewise
13938 * genmoddep.awk: avoid adding module as a dependency of itself
13940 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13942 Add missing start symbols
13944 * boot/i386/pc/boot.S: add start
13945 * boot/i386/pc/pxeboot.S: likewise
13947 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13949 Fix wrong assumptions with grub-mkimage on EFI
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
13956 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13958 Use .asciz instead of .string
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
13965 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
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
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
13987 * video/video.c (grub_video_setup): removed
13988 (grub_video_set_mode): new function based on grub_gfxterm_init and
13991 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
13993 Avoid calling biosdisk in drivemap
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
14000 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
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):
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
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
14041 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
14043 Prevent GRUB from probing floppies during boot.
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.
14051 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
14053 Simplify the code duplication in commands/search.c.
14055 * commands/search.c (search_label, search_fs_uuid): Merge into ...
14056 (search_fs): ... this. Update all users.
14058 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
14060 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
14062 2009-05-28 Pavel Roskin <proski@gnu.org>
14064 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
14065 Remove the original symlink explicitly.
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.
14070 2009-05-26 Pavel Roskin <proski@gnu.org>
14072 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
14075 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
14078 2009-05-25 Christian Franke <franke@computer.org>
14080 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
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.
14092 2009-05-23 Colin D Bennett <colin@gibibit.com>
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.
14098 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
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.
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.
14119 * normal/main.c (grub_menu_addentry): Renamed from this ...
14120 (grub_normal_add_menu_entry): ... to this.
14122 * script/sh/execute.c (grub_script_execute_menuentry): Update
14123 reference to renamed grub_menu_addentry function.
14125 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
14127 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
14129 2009-05-22 Pavel Roskin <proski@gnu.org>
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.
14136 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
14138 (grub_root_drive): Likewise.
14139 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
14141 (grub_root_drive): Change size to byte.
14142 (grub_start_addr): Remove.
14143 (grub_end_addr): Likewise.
14144 (grub_apm_bios_info): Likewise.
14146 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
14148 * normal/i386: Remove.
14149 * normal/powerpc: Likewise.
14150 * normal/sparc64: Likewise.
14151 * normal/x86_64: Likewise.
14153 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
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
14159 2009-05-18 Colin D Bennett <colin@gibibit.com>
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.
14165 * script/lua/grub_main.c (handle_lua_error): New function.
14166 (grub_lua_parse_line): Improved reporting of Lua parser and
14169 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14171 Remove -Werror which causes build to fail on some systems
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
14177 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14179 trampoline for linux on 64-bit platform
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
14185 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
14187 * loader/i386/linux_trampoline.S: moved here
14188 * loader/i386/efi/linux.c (allocate_pages): reserve space for
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
14196 2009-05-16 Pavel Roskin <proski@gnu.org>
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.
14204 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
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).
14215 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
14217 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
14219 2009-05-16 Bean <bean123ch@gmail.com>
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.
14226 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
14227 (setjmp_mod_SOURCES): New variable.
14228 (setjmp_mod_CFLAGS): Likewise.
14229 (setjmp_LDFLAGS): Likewise.
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.
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.
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.
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
14255 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
14256 returns_twice in mingw.
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.
14315 2009-05-16 Bean <bean123ch@gmail.com>
14317 * include/grub/kernel.h (grub_module_header_types): Add type
14320 * kern/main.c (grub_load_config): New function.
14321 (grub_main): Call grub_load_config to read boot config.
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.
14327 2009-05-14 Christian Franke <franke@computer.org>
14329 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
14330 This fixes build on Cygwin.
14332 2009-05-14 Pavel Roskin <proski@gnu.org>
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.
14338 2009-05-13 Pavel Roskin <proski@gnu.org>
14340 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
14341 grub_uint32_t to avoid a warning.
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.
14349 2009-05-13 Javier Martín <lordhabbit@gmail.com>
14351 * commands/i386/pc/drivemap.c: New file - implement drivemap
14353 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
14354 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
14356 2009-05-13 Pavel Roskin <proski@gnu.org>
14358 * util/i386/pc/grub-setup.c (setup): Remove unused variable
14359 embedding_area_exists.
14361 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
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).
14368 2009-05-13 Pavel Roskin <proski@gnu.org>
14370 * loader/i386/pc/multiboot2.c: Add necessary includes for
14371 grub_multiboot2_real_boot().
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
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.
14382 * kernel/disk.c (grub_disk_read): Use void pointer for the
14384 (grub_disk_write): Use const void pointer for the buffer.
14385 Adjust all callers. Remove unnecessary casts.
14387 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
14389 * util/i386/pc/grub-install.in: Update copyright year.
14391 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
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):
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
14408 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14412 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
14413 (grub_dl_ref): likewise
14415 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
14417 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
14418 split in two functions (one for msdos and one for gpt).
14420 2009-05-08 Pavel Roskin <proski@gnu.org>
14422 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
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
14430 2009-05-08 David S. Miller <davem@davemloft.net>
14432 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
14434 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
14436 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
14439 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
14441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
14442 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
14444 2009-05-05 David S. Miller <davem@davemloft.net>
14446 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
14448 2009-05-05 Pavel Roskin <proski@gnu.org>
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.
14473 2009-05-04 Pavel Roskin <proski@gnu.org>
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.
14485 2009-05-04 David S. Miller <davem@davemloft.net>
14487 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
14488 pointer args to grub_ieee1275_get_property().
14490 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
14492 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
14493 devices, and do not traverse down under controller nodes.
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.
14506 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14508 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
14510 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
14512 (linux_vesafb_modes): Add a lot of additional modes to the list (based
14513 on documentation from Wikipedia).
14515 2009-05-04 Pavel Roskin <proski@gnu.org>
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.
14561 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
14563 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
14565 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14567 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
14570 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14572 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
14573 parameter only available on BIOS.
14575 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
14577 Removed wrong semicolon in declaration
14579 * grub/misc.h (grub_dprintf): remove semicolon
14581 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
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'.
14592 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
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'.
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.
14607 * Makefile.in: Remove duplicated 2008 in Copyright line.
14609 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
14611 * util/misc.c (grub_util_warn): New function. Emits a warning
14613 * include/grub/util/misc.h (grub_util_warn): New declaration.
14615 * util/i386/pc/grub-install.in: Understand --force and pass it down
14618 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
14620 (setup): Improve error messages and add warnings when requested to
14621 install in odd layouts. Refuse to install using blocklists unless
14624 2009-05-04 martin f. krafft <madduck@madduck.net>
14626 * disk/raid.c (grub_raid_scan_device): Improve debug message.
14628 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
14630 Updated copyright year
14632 * fs/hfsplus.c: updated copyright year
14634 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
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
14643 2009-05-03 Pavel Roskin <proski@gnu.org>
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.
14696 2009-05-03 David S. Miller <davem@davemloft.net>
14698 * normal/menu.c: Include grub/parser.h
14700 2009-05-03 Pavel Roskin <proski@gnu.org>
14702 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
14704 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
14705 Suggested by Javier Martín <lordhabbit@gmail.com>
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
14712 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
14714 FreeBSD 64-bit support
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
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
14748 2009-05-03 Bean <bean123ch@gmail.com>
14750 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
14751 after we get the result of if statement.
14753 2009-05-03 Bean <bean123ch@gmail.com>
14755 * Makefile.in (enable_efiemu): New variable.
14757 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
14759 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
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.
14766 * configure.ac (--enable-efiemu): New option.
14768 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
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):
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
14803 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
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
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
14844 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
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
14859 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
14861 Missing part from mmap patch
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
14867 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
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
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
14922 2009-05-02 Bean <bean123ch@gmail.com>
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.
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.
14951 * include/grub/command.h (grub_command_execute): New inline function.
14953 * include/grub/menu.h (grub_menu_entry): Removed commands field.
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
14961 (read_command_list): New function declaration.
14962 (read_fs_list): Likewise.
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.
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.
14982 * include/grub/rescue.h: Removed.
14983 * normal/command.h: Likewise.
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.
14998 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
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
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
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.
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.
15034 * normal/menu_text.c: Remove <grub/script.h>.
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.
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.
15048 * kern/parser.c (grub_parser_split_cmdline): Change type of
15050 (grub_parser_class): New variable.
15051 (grub_parser_execute): New function.
15053 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
15054 * loader/multiboot2.c: Likewise.
15055 * loader/sparc64/ieee1275/linux.c: Likewise.
15057 * util/grub-emu.c (read_command_list): New dummy function.
15059 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
15061 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
15062 count to 16 for CCISS and IDA.
15064 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
15066 * normal/menu_text.c (grub_wait_after_message): Print a newline
15067 after waiting for user input.
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).
15074 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
15076 Added missing lst to grub-mkrescue
15078 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
15079 and ${input_dir}/parttool.lst
15081 2009-04-30 David S. Miller <davem@davemloft.net>
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.
15087 * util/hostdisk.c (convert_system_partition_to_system_disk):
15088 Handle virtual disk devices named /dev/vdiskX as found on sparc
15091 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
15092 lettered partition specifier is found, convert to numbered.
15094 2009-04-29 David S. Miller <davem@davemloft.net>
15096 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
15097 * include/grub/sparc64/ieee1275/memory.h: Likewise.
15099 * normal/command.c: Add missing newline at end of file.
15101 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
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 *".
15108 2009-04-28 Pavel Roskin <proski@gnu.org>
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
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
15119 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15121 Preboot hooks support
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
15133 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15137 * disk/scsi.c (grub_scsi_open): added missing cast when
15138 calling grub_dprintf
15140 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
15142 Bug and warning fixes
15144 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
15146 * commands/test.c (test_parse): fixed bug with file tests and corrected
15147 declaration of find_file
15149 2009-04-26 Pavel Roskin <proski@gnu.org>
15151 * Makefile.in: Don't install empty manual pages if help2man is
15152 missing. Use help2man option for output, not shell redirection.
15154 2009-04-26 David S. Miller <davem@davemloft.net>
15156 * util/grub-mkdevicemap.c (make_device_map): Add missing
15157 NESTED_FUNC_ATTR to process_device().
15159 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15163 * commands/test.c: rewritten to use bash-like test
15165 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15167 Parttool autoloading and improvements
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
15180 (GRUB_MOD_INIT(parttool)): use helpmsg
15182 2009-04-24 David S. Miller <davem@davemloft.net>
15184 Avoiding opening same device multiple times in device iterator.
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().
15190 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
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
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.
15205 2009-04-23 David S. Miller <davem@davemloft.net>
15207 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
15209 2009-04-22 David S. Miller <davem@davemloft.net>
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.
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.
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.
15246 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15248 Correct GPT definition
15250 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
15253 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
15255 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
15257 2009-04-19 David S. Miller <davem@davemloft.net>
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().
15268 2009-04-17 Pavel Roskin <proski@gnu.org>
15270 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
15272 (grub_ohci_transfer): Likewise.
15274 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
15276 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
15277 return without a value. Fix inconsistent indentation.
15279 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
15280 match struct grub_fs.
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.
15287 2009-04-16 Bean <bean123ch@gmail.com>
15289 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
15292 2009-04-15 Pavel Roskin <proski@gnu.org>
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
15299 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
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
15305 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
15307 Move loader out of the kernel
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
15335 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
15337 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
15339 * kern/misc.c (grub_itoa): Removed function
15340 (grub_ltoa): likewise
15341 (grub_vsprintf): use grub_lltoa
15343 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
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
15352 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
15354 * INSTALL: Add that `./autogen.sh' needs to be run before
15357 2009-04-14 Bean <bean123ch@gmail.com>
15359 * Makefile.in (pkglib_DATA): Add handler.lst.
15360 (handler.lst): New rule.
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.
15370 * genhandlerlist.sh: New file.
15372 * genmk.rb: Add rules to generate handler.lst.
15374 * include/grub/normal.h (grub_file_getline): New function definition.
15375 (read_handler_list): Likewise.
15376 (free_handler_list): Likewise.
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.
15382 * normal/handler.c: New file.
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.
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.
15403 2009-04-14 Bean <bean123ch@gmail.com>
15405 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
15406 properly with null character.
15408 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
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.
15424 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
15427 2009-04-14 John Stanley <jpsinthemix@verizon.net>
15428 David S. Miller <davem@davemloft.net>
15430 * util/hostdisk.c (make_device_name): Fix buffer length
15433 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
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.
15441 2009-04-13 Pavel Roskin <proski@gnu.org>
15443 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
15444 Reported by John Stanley <jpsinthemix@verizon.net>
15446 2009-04-13 Robert Millan <rmh@aybabtu.com>
15448 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
15449 that name for menuentries when appropriate.
15451 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
15453 * util/grub.d/10_freebsd.in: Add a missing `fi'.
15455 2009-04-13 Robert Millan <rmh@aybabtu.com>
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.
15460 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
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.
15466 2009-04-13 Pavel Roskin <proski@gnu.org>
15468 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
15470 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
15472 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
15474 (grub_drive): Likewise.
15476 2009-04-13 David S. Miller <davem@davemloft.net>
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.
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.
15491 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
15492 (grub_fstest_SOURCES): Likewise.
15494 * util/hostdisk.c (make_device_name): Do not make any assumptions
15495 about the length of drive names.
15497 * kern/dl.c (grub_dl_load_file): Close file immediately when
15498 we are done using it.
15500 2009-04-12 David S. Miller <davem@davemloft.net>
15502 * kern/misc.c (grub_ltoa): Fix cast when handling negative
15503 values. Noticed by Pavel Roskin.
15505 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
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.
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.
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.
15529 2009-04-12 Pavel Roskin <proski@gnu.org>
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.
15535 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
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.
15547 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
15548 is a character device instead of a block device.
15550 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
15551 is a character device instead of a block device.
15553 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
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.
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.
15569 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
15570 a character device instead of a block device.
15572 * include/grub/util/getroot.h (grub_util_check_char_device): New
15575 2009-04-11 David S. Miller <davem@davemloft.net>
15577 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
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.
15584 * include/grub/sparc64/ieee1275/boot.h: New file.
15585 * boot/sparc64/ieee1275/boot.S: Likewise.
15586 * boot/sparc64/ieee1275/diskboot.S: Likewise.
15588 * kern/misc.c (grub_ltoa): New function.
15589 (grub_vsprintf): Use it to format 'long' integers.
15591 2009-04-10 David S. Miller <davem@davemloft.net>
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.
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.
15616 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
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
15625 (grub_ufs_find_file): support for non-BSD dirents
15626 (grub_ufs_dir): support for non-BSD dirents
15628 2009-04-10 Bean <bean123ch@gnail.com>
15630 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
15631 attribute, otherwise the size would be wrong for i386 platform.
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.
15639 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
15641 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
15642 (find_framebuf): Scan pci to locate the frame buffer address.
15644 * commands/efi/fixvideo.c: New file.
15646 * commands/efi/loadbios.c: Likewise.
15648 * commands/memrw.c: Likewise.
15650 * util/grub-dumpbios.in: Likewise.
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.
15658 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
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.
15667 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
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.
15676 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
15678 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
15680 2009-04-07 David S. Miller <davem@davemloft.net>
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.
15687 2009-04-06 Pavel Roskin <proski@gnu.org>
15689 * include/grub/misc.h (ARRAY_SIZE): New macro.
15690 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
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".
15699 * commands/help.c (print_command_help): Use cmd->prio, not
15700 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
15702 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
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
15724 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15726 Support for mtime and further expandability of dir command
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
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
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
15780 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15782 Trim trailing spaces in FAT label and support mtools-like labels
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
15789 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
15791 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
15793 remove extraneous kernel_elf_HEADERS
15795 2009-04-04 Bean <bean123ch@gnail.com>
15797 * include/grub/util/misc.h: Add dummy function fsync for mingw.
15799 * util/misc.c: Likewise.
15801 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
15803 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
15804 instead of grub_printf.
15806 2009-04-03 Robert Millan <rmh@aybabtu.com>
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
15813 2009-04-01 Pavel Roskin <proski@gnu.org>
15815 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
15817 * genmk.rb: Likewise.
15818 * configure.ac: Likewise.
15820 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
15822 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
15823 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
15825 2009-04-01 David S. Miller <davem@davemloft.net>
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.
15834 2009-04-01 Robert Millan <rmh@aybabtu.com>
15836 Reapply fix from 2008-07-28 which was accidentally reverted; also
15837 perform the same fix to a similar check in same function.
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.
15843 2009-03-31 Pavel Roskin <proski@gnu.org>
15845 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
15846 for cross-compilation.
15848 2009-03-30 Robert Millan <rmh@aybabtu.com>
15850 Fix i386-ieee1275 build.
15852 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
15853 Remove declaration.
15855 2009-03-30 Pavel Roskin <proski@gnu.org>
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.
15862 2009-03-30 Robert Millan <rmh@aybabtu.com>
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.
15868 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
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
15876 2009-03-29 Robert Millan <rmh@aybabtu.com>
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.
15882 2009-03-29 Robert Millan <rmh@aybabtu.com>
15884 * util/grub.d/10_linux.in (linux_entry): New function.
15885 Factorize generation of Linux boot entries.
15887 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
15889 Make the format of Environment Block plain text. The boot loader
15890 part is not tested well yet.
15892 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
15894 (envblk): Likewise.
15895 (usage): Remove "info" and "clear". Add "unset". Update the
15896 description of "set", as this does not delete variables any
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.
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.
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.
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.
15947 2009-03-28 Robert Millan <rmh@aybabtu.com>
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
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.
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.
15965 2009-03-24 Pavel Roskin <proski@gnu.org>
15967 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
15968 not just for compilation.
15970 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
15972 Move multiboot helper out of kernel
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
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
15986 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
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
15992 All callers updated.
15994 * include/grub/env.h (grub_env_context_open): Updated the prototype.
15996 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
15998 * kern/env.c (grub_env_context_close): Fix memory leaks.
16000 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
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.
16009 * include/grub/normal.h (grub_normal_execute): Updated the
16012 2009-03-22 Pavel Roskin <proski@gno.org>
16014 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
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.
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.
16026 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
16028 Bugfixes in multiboot for bugs uncovered by solaris kernel.
16030 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
16032 Use vaddr of correct segment for entry_point.
16034 2009-03-21 Bean <bean123ch@gmail.com>
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.
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.
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
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.
16111 * gencmdlist.sh: Scan new registration command grub_register_extcmd
16112 and grub_register_command_p1.
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.
16127 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
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
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.
16143 * include/grub/arg.h: Move from here ...
16144 * include/grub/lib/arg.h: ... to here.
16146 * normal/arg.c: Move from here ...
16147 * lib/arg.c: ... to here.
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.
16156 * kern/list.c (grub_list_iterate): Return int instead of void.
16157 (grub_list_insert): New function.
16158 (grub_prio_list_insert): Likewise.
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.
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.
16196 * normal/completion.c (iterate_command): Use cmd->prio to check for
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.
16202 * normal/execute.c (grub_script_execute_cmd): No need to parse
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.
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.
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.
16238 * include/grub/rescue.h (grub_rescue_register_command): Removed.
16239 (grub_rescue_unregister_command): Likewise.
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.
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.
16250 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
16252 2009-03-21 Bean <bean123ch@gmail.com>
16254 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
16255 instead of stat in mingw environment.
16257 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
16259 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
16261 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
16264 2009-03-21 Bean <bean123ch@gmail.com>
16266 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
16267 out of range error.
16269 2009-03-18 Michel Dänzer <michel@daenzer.net>
16271 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
16272 checking inode flags for EXT4_EXTENTS_FLAG.
16274 2009-03-18 Robert Millan <rmh@aybabtu.com>
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
16285 2009-03-14 Robert Millan <rmh@aybabtu.com>
16287 Fix build on powerpc.
16288 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
16290 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
16292 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
16293 background image command.
16295 2009-03-12 Colin D Bennett <colin@gibibit.com>
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.
16301 2009-03-11 Pavel Roskin <proski@gnu.org>
16303 * fs/hfs.c (grub_hfs_strncasecmp): New function.
16304 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
16306 2009-03-11 Robert Millan <rmh@aybabtu.com>
16308 * loader/i386/multiboot_elfxx.c
16309 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
16311 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
16313 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
16316 2009-03-11 Robert Millan <rmh@aybabtu.com>
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.
16324 * loader/i386/multiboot_elfxx.c
16325 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
16327 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
16329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
16332 2009-03-08 Robert Millan <rmh@aybabtu.com>
16334 Make loader/i386/linux.c usable on i386-pc again.
16336 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
16338 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
16341 2009-03-07 Bean <bean123ch@gmail.com>
16343 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
16346 2009-03-06 Robert Millan <rmh@aybabtu.com>
16348 Fix display issue on terminals with screen size other than 80x25
16349 (e.g. gfxterm with resolution higher than 640x480).
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.
16355 2009-03-04 Robert Millan <rmh@aybabtu.com>
16357 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
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'.
16365 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
16367 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
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.
16376 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
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
16382 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
16384 * util/misc.c: Include <time.h>.
16385 (grub_millisleep): New function.
16387 2009-03-04 Bean <bean123ch@gmail.com>
16389 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
16390 another option -mno-red-zone.
16392 * commands/handler.c: Change module description.
16394 * kern/handler.c: Add missing space at the end of description line.
16396 * kern/list.c: Likewise.
16398 2009-03-03 Robert Millan <rmh@aybabtu.com>
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).
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
16409 2009-03-01 Bean <bean123ch@gmail.com>
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.
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.
16424 2009-03-01 Bean <bean123ch@gmail.com>
16426 * commands/terminal.c: Removed.
16428 * commands/handler.c: New file.
16430 * include/grub/list.h: Likewise.
16432 * include/grub/handler.h: Likewise.
16434 * kern/list.c: Likewise.
16436 * kern/handler.c: Likewise.
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.
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.
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.
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.
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.
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.
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.
16497 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
16499 (kernel_img_SOURCES): Add list.c and handler.c.
16500 (kernel_img_HEADERS): Add list.h and handler.h.
16502 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
16504 (kernel_mod_SOURCES): Add list.c and handler.c.
16505 (kernel_mod_HEADERS): Add list.h and handler.h.
16507 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
16509 (kernel_elf_SOURCES): Add list.c and handler.c.
16510 (kernel_elf_HEADERS): Add list.h and handler.h.
16512 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
16514 (kernel_elf_SOURCES): Add list.c and handler.c.
16515 (kernel_elf_HEADERS): Add list.h and handler.h.
16517 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
16519 (kernel_mod_SOURCES): Add list.c and handler.c.
16520 (kernel_mod_HEADERS): Add list.h and handler.h.
16522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
16524 (kernel_elf_SOURCES): Add list.c and handler.c.
16525 (kernel_elf_HEADERS): Add list.h and handler.h.
16527 2009-02-27 Robert Millan <rmh@aybabtu.com>
16529 Factorize elf32 / elf64 code in Multiboot loader. This will
16530 prevent it from getting out of sync again.
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).
16538 2009-02-27 Robert Millan <rmh@aybabtu.com>
16540 * util/grub.d/10_linux.in: Rename "single-user mode" to
16543 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
16545 Don't leak in SCSI code.
16546 * disk/scsi.c (grub_scsi_close): free `scsi'.
16548 2009-02-27 Robert Millan <rmh@aybabtu.com>
16550 * loader/i386/pc/multiboot.c: Move from here ...
16551 * loader/i386/multiboot.c: ... to here. Update all users.
16553 2009-02-27 Robert Millan <rmh@aybabtu.com>
16555 Patch from Alexandre Bique <bique.alexandre@gmail.com>
16556 * util/i386/pc/grub-setup.c (setup): Fix directory path.
16558 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
16560 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
16563 2009-02-27 Robert Millan <rmh@aybabtu.com>
16565 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
16566 `0x' qualifier as 0 when base is specified as parameter).
16568 2009-02-24 Bean <bean123ch@gmail.com>
16570 * configure.ac: Check for -mcmodel=large in x86_64 target.
16572 * include/grub/efi/api.h (efi_call_10): New macro.
16573 (efi_wrap_10): New function.
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.
16587 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
16590 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
16591 (efi_wrap_10): New function.
16593 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
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.
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
16612 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
16613 problem for x86_64.
16615 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
16617 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
16619 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
16622 2009-02-22 Robert Millan <rmh@aybabtu.com>
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.
16629 2009-02-21 Robert Millan <rmh@aybabtu.com>
16631 Implement USB keyboard support (based on patch by Marco Gerards)
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.
16637 * term/usb_keyboard.c: New file.
16639 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16641 Corrected wrong declaration
16643 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
16645 2009-02-14 Christian Franke <franke@computer.org>
16647 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
16648 (grub_lspci_iter): Print class code and programming interface byte.
16650 2009-02-14 Christian Franke <franke@computer.org>
16652 * gendistlist.sh: Ignore `.svn' directories.
16654 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
16656 * fs/fat.c: Add 2009 to Copyright line.
16658 2009-02-14 Christian Franke <franke@computer.org>
16660 * commands/hdparm.c: New file. Provides `hdparm' command
16661 which sends ATA commands via grub_disk_ata_pass_through ().
16663 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
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.
16684 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
16685 function for hdparm.mod.
16687 * include/grub/ata.h: New file, contains declarations from
16689 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
16691 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
16692 (grub_disk_ata_pass_through): New exported variable.
16694 * kern/disk.c (grub_disk_ata_pass_through): New variable.
16696 2009-02-13 Colin D Bennett <colin@gibibit.com>
16698 Support multiple fallback entries, and provide an API to support
16699 executing default+fallback menu entries. Renamed the `terminal' menu
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.
16711 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
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.
16736 * normal/menu_text.c: New file. Extracted text-menu-specific code
16737 from normal/menu.c.
16739 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
16740 (normal_mod_SOURCES): Likewise.
16742 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16743 (normal_mod_SOURCES): Likewise.
16745 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16746 (normal_mod_SOURCES): Likewise.
16748 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
16749 (normal_mod_SOURCES): Likewise.
16751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16752 (normal_mod_SOURCES): Likewise.
16754 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16755 (normal_mod_SOURCES): Likewise.
16757 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16758 (normal_mod_SOURCES): Likewise.
16760 2009-02-11 Robert Millan <rmh@aybabtu.com>
16762 * util/grub.d/00_header.in: Update old reference to `font' command.
16764 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
16766 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
16768 Based on patch from Javier Martín.
16770 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
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.
16782 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
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.
16788 2009-02-08 Robert Millan <rmh@aybabtu.com>
16790 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
16792 2009-02-08 Robert Millan <rmh@aybabtu.com>
16794 * Makefile.in (host_os, host_cpu): New variables.
16795 (target_os): Remove. Update all users.
16797 2009-02-08 Marco Gerards <marco@gnu.org>
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
16813 * disk/usbms.c: New file.
16815 * include/grub/usb.h: Likewise.
16817 * include/grub/usbtrans.h: Likewise.
16819 * include/grub/usbdesc.h: Likewise.
16821 * bus/usb/usbtrans.c: Likewise.
16823 * bus/usb/ohci.c: Likewise.
16825 * bus/usb/uhci.c: Likewise.
16827 * bus/usb/usbhub.c: Likewise.
16829 * bus/usb/usb.c: Likewise.
16831 * commands/usbtest.c: Likewise.
16833 * util/usb.c: Likewise.
16835 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
16837 * configure.ac: Test for libusb presence.
16839 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
16841 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
16843 * kern/mm.c: Add more comments.
16845 2009-02-08 Robert Millan <rmh@aybabtu.com>
16847 Patch from Javier Martín.
16848 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
16849 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
16851 2009-02-08 Robert Millan <rmh@aybabtu.com>
16853 * fs/cpio.c: Split tar functionality to ...
16854 * fs/tar.c: ... here (new file). Update all users.
16856 2009-02-07 Robert Millan <rmh@aybabtu.com>
16858 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
16859 backward-incompatible features.
16861 Based on patch from Javier Martín, with some adjustments.
16863 2009-02-07 Michael Scherer <misc@mandriva.org>
16865 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
16867 2009-02-07 Robert Millan <rmh@aybabtu.com>
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.
16873 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
16875 Fixes problem when running vbetest command as reported by
16876 Vladimir Serbinenko <phcoder@gmail.com>.
16878 * (grub_vbe_set_video_mode): Fixed problem with text modes.
16880 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
16882 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
16883 /dev/md/NpN style mdraid devices.
16885 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
16887 * util/unifont2pff.rb: Remove.
16889 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
16891 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
16894 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
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.
16904 2009-02-02 Christian Franke <franke@computer.org>
16906 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
16908 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
16910 * INSTALL: Note that we now require at least autoconf 2.59 and
16911 that LZO is optional.
16913 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
16915 Base on patch on bug #24154 created by Tomas Tintera
16916 <trosos@seznam.cz>.
16918 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
16920 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
16922 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
16923 <bero@arklinux.org>.
16925 * normal/parser.y (script_init): Add missing semicolon.
16927 2009-01-31 Colin D Bennett <colin@gibibit.com>
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.
16935 * normal/menu_viewer.c: New file.
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.
16944 * include/grub/menu.h: New file.
16946 * include/grub/menu_viewer.h: New file.
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.
16957 * DISTLIST: Added include/grub/menu.h.
16958 Added include/grub/menu_viewer.h.
16959 Added normal/menu_viewer.c.
16961 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
16963 * normal/execute.c (grub_script_execute_menuentry): Changed to use
16964 arglist for menutitle arguments.
16966 * normal/main.c (grub_normal_menu_addentry): Likewise.
16968 * normal/parser.y (menuentry): Likewise.
16970 * normal/script.c (grub_script_create_cmdmenu): Likewise.
16972 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
16973 (grub_script_create_cmdmenu): Likewise.
16975 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
16977 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
16980 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
16982 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
16984 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
16986 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
16988 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
16990 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
16992 2009-01-30 Christian Franke <franke@computer.org>
16994 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
16995 in option help text.
16997 2009-01-27 Pavel Roskin <proski@gnu.org>
16999 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
17001 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
17003 * commands/lsmmap.c: Add include to grub/machine/memory.h.
17005 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
17007 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
17008 unregister function.
17010 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
17012 * disk/scsi.c (grub_scsi_read): Fix sign problem.
17014 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
17016 * util/grub-mkfont.c (usage): Fix typo.
17018 * util/elf/grub-mkimage.c (load_modules): Fix warning.
17020 2009-01-26 Daniel Mierswa <impulze@impulze.org>
17022 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
17024 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
17026 * kern/misc.c (grub_strcasecmp): New function.
17027 (grub_strcasecmp): Use grub_size_t instead of int for length.
17029 * include/grub/misc.h: Update function prototypes.
17031 2009-01-26 Robert Millan <rmh@aybabtu.com>
17033 * configure.ac: Fix cross-compilation check.
17035 2009-01-22 Christian Franke <franke@computer.org>
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 ().
17042 2009-01-22 Christian Franke <franke@computer.org>
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 ().
17070 2009-01-19 Christian Franke <franke@computer.org>
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
17083 (grub_atapi_write): Remove old implementation, return not
17084 implemented instead.
17086 2009-01-19 Christian Franke <franke@computer.org>
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.
17096 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
17098 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
17100 * term/gfxterm.c (write_char): Fix background rendering for wide
17103 2009-01-19 Robert Millan <rmh@aybabtu.com>
17105 * config.guess: Update to latest version from config git.
17106 * config.sub: Likewise.
17108 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
17110 * Makefile.in: Change font compilation to use new grub-mkfont instead
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.
17123 2009-01-16 Christian Franke <franke@computer.org>
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
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 ().
17152 2009-01-13 Carles Pina i Estany <carles@pina.cat>
17154 * util/grub-editenv.c (main): Use fseeko(), not fseek().
17156 2009-01-13 Bean <bean123ch@gmail.com>
17158 * util/grub-mkfont.c (write_font): forget to remove some debug code.
17160 2009-01-13 Bean <bean123ch@gmail.com>
17162 * Makefile.in: (enable_grub_mkfont): New variable.
17163 (freetype_cflags): Likewise.
17164 (freetype_libs): Likewise.
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.
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.
17177 * util/grub-mkfont.c: New file.
17179 2009-01-12 Christian Franke <franke@computer.org>
17181 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
17182 mode check. Fix setting of compat_use[].
17184 2009-01-10 Robert Millan <rmh@aybabtu.com>
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)
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.
17239 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
17241 * commands/videotest.c: Removed include to grub/machine/memory.h.
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.
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.
17291 * term/gfxterm.c: Removed include to grub/machine/memory.h,
17292 grub/machine/console.h.
17294 2009-01-04 Jerone Young <jerone@gmail.com>
17296 Make on screen instructions clearer
17298 Based on patch created by Jidanni <jidanni@jidanni.org>
17300 * normal/menu.c: print clearer instructions on the screen
17302 2009-01-02 Colin D Bennett <colin@gibibit.com>
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.
17309 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
17311 * configure: Re-generated.
17313 * DISTLIST: Removed font/manager.c.
17315 Added font/font_cmd.c.
17317 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
17320 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
17322 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
17324 * kern/term.c: Changed users of grub_utf8_to_ucs4.
17326 * normal/menu.c: Likewise.
17328 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
17329 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
17331 * include/grub/font.h: Replaced with new file.
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.
17343 * font/manager.c: Removed file.
17345 * font/font.c: New file.
17347 * font/font_cmd.c: Likewise.
17349 * video/video.c (grub_video_blit_glyph): Removed.
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.
17357 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
17358 (get_pixel): Likewise.
17359 (set_pixel): Likewise.
17361 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
17363 * term/gfxterm.c: Adapted to new font engine.
17365 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
17367 * term/i386/pc/vga.c: Likewise.
17369 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
17371 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
17373 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
17375 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
17377 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
17379 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
17381 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
17383 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
17385 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
17387 * util/grub.d/00_header.in: Changed to use new loadfont command.
17389 * util/grub-mkconfig_lib.in: Changed font extension.
17391 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
17393 * util/getroot.c (grub_util_get_grub_dev): Add support for
17394 /dev/md/dNNpNN style partitionable mdraid devices.
17396 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
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.
17402 2008-11-29 Robert Millan <rmh@aybabtu.com>
17404 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
17405 grub_ata_device_initialize() calls.
17407 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
17409 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
17411 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
17413 2008-11-28 Robert Millan <rmh@aybabtu.com>
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.
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.
17427 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
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'.
17434 2008-11-22 Robert Millan <rmh@aybabtu.com>
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().
17441 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
17442 comments. Avoid copying one more byte than necessary (just in case).
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
17449 2008-11-20 Robert Millan <rmh@aybabtu.com>
17451 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
17452 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
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.
17460 * loader/i386/linux.c (allocate_pages): Fix a warning.
17461 Move comment text to `#error' stanza.
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
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):
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
17486 * conf/powerpc-ieee1275.rmk: Likewise.
17487 * conf/i386-coreboot.rmk: Likewise.
17488 * conf/i386-ieee1275.rmk: Likewise.
17490 2008-11-19 Robert Millan <rmh@aybabtu.com>
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.
17498 2008-11-14 Robert Millan <rmh@aybabtu.com>
17500 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
17501 order to cope with duplicate slashes.
17503 2008-11-14 Robert Millan <rmh@aybabtu.com>
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
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.
17517 2008-11-14 Robert Millan <rmh@aybabtu.com>
17519 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
17520 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
17522 2008-11-12 Robert Millan <rmh@aybabtu.com>
17524 Make loader/i386/linux.c buildable on i386-pc (although disabled).
17526 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
17527 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
17529 * include/grub/i386/pc/memory.h: ... to here.
17531 2008-11-12 Robert Millan <rmh@aybabtu.com>
17533 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
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).
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>'.
17549 2008-11-12 Robert Millan <rmh@aybabtu.com>
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
17555 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
17556 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
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().
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.
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.
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).
17583 2008-11-12 Robert Millan <rmh@aybabtu.com>
17585 Use newly-added Multiboot support in coreboot.
17587 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
17588 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
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.
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
17603 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
17604 function prototype.
17606 2008-11-12 Robert Millan <rmh@aybabtu.com>
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.
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.
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).
17624 2008-11-10 Robert Millan <rmh@aybabtu.com>
17626 * util/grub.d/00_header.in: Add backward compatibility check for
17627 versions of terminal.mod that don't understand `terminal_input' or
17630 2008-11-09 Robert Millan <rmh@aybabtu.com>
17632 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
17633 `terminal_input' / `terminal_output', not `terminal'.
17635 2008-11-08 Robert Millan <rmh@aybabtu.com>
17637 * Makefile.in (include_DATA): Fix srcdir=. assumption.
17638 (DISTCLEANFILES): Add `build_env.mk'.
17640 2008-11-08 Robert Millan <rmh@aybabtu.com>
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'.
17650 2008-11-08 Robert Millan <rmh@aybabtu.com>
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).
17660 2008-11-07 Pavel Roskin <proski@gnu.org>
17662 * gendistlist.sh: Use C locale for sorting to ensure consistent
17663 output on all systems.
17665 * util/grub.d/00_header.in: Remove incorrect space before
17668 2008-11-07 Robert Millan <rmh@aybabtu.com>
17670 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
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.
17679 2008-11-07 Robert Millan <rmh@aybabtu.com>
17681 Modularize at_keyboard.mod:
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.
17687 Actual terminal split:
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.
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.
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).
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.
17741 Portability adjustments:
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>'.
17755 Migrate full terminals to new API:
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.
17776 Migrate input terminals to new API:
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
17784 (grub_keyboard_controller_orig): New variable.
17785 (grub_console_getkey): Rename to ...
17786 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
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
17795 Migrate output terminals to new API:
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,
17807 Migrate `terminal' command and userland tools to new API:
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).
17820 2008-11-04 Robert Millan <rmh@aybabtu.com>
17822 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
17824 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
17826 2008-11-03 Bean <bean123ch@gmail.com>
17828 * kern/elf.c (grub_elf32_load): Revert to previous code.
17829 (grub_elf64_load): Likewise.
17831 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
17833 2008-11-01 Robert Millan <rmh@aybabtu.com>
17835 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
17836 (TARGET_CPPFLAGS): Likewise.
17837 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
17839 2008-11-01 Carles Pina i Estany <carles@pina.cat>
17841 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
17843 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
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.
17848 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
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).
17854 2008-10-29 Robert Millan <rmh@aybabtu.com>
17856 * util/i386/pc/grub-install.in: Handle empty string as output from
17857 make_system_path_relative_to_its_root().
17859 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
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.
17868 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
17870 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
17872 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
17874 * util/update-grub_lib.in: Mention filename in warning message.
17876 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
17878 * NEWS: Update for rename of update-grub to grub-mkconfig.
17880 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
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.
17901 2008-09-28 Robert Millan <rmh@aybabtu.com>
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.
17908 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
17910 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
17911 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
17913 2008-09-28 Bean <bean123ch@gmail.com>
17915 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
17916 Thanks to Christian Franke for finding this bug.
17918 2008-09-25 Robert Millan <rmh@aybabtu.com>
17920 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
17921 instances of grub_util_get_disk_name() (see previous commit).
17923 2008-09-25 Robert Millan <rmh@aybabtu.com>
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().
17940 2008-09-24 Carles Pina i Estany <carles@pina.cat>
17942 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
17944 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
17946 2008-09-24 Carles Pina i Estany <carles@pina.cat>
17948 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
17950 (GRUB_TERM_PPAGE): Changed to 0x4900.
17952 2008-09-24 Robert Millan <rmh@aybabtu.com>
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.
17959 2008-09-22 Bean <bean123ch@gmail.com>
17961 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
17962 resident and in attribute list.
17964 * include/grub/ntfs.h (BMP_LEN): Removed.
17966 2008-09-22 Bean <bean123ch@gmail.com>
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.
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).
17975 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
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.
17984 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
17986 * autogen.sh: Add a call to `gendistlist.sh'.
17988 2008-09-19 Christian Franke <franke@computer.org>
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):
17997 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
17999 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
18002 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
18004 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
18005 #include <grub/util/hostdisk.h>.
18007 2008-09-08 Robert Millan <rmh@aybabtu.com>
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.
18015 2008-09-08 Robert Millan <rmh@aybabtu.com>
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.
18021 2008-09-08 Robert Millan <rmh@aybabtu.com>
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.
18028 2008-09-07 Robert Millan <rmh@aybabtu.com>
18030 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
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.
18036 2008-09-07 Robert Millan <rmh@aybabtu.com>
18038 * conf/i386.rmk: New file. Provides declaration for building
18040 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
18041 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
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.
18049 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
18051 Based on patch created by Colin D Bennett <colin@gibibit.com>.
18052 Adds optimization support for BGR based modes.
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.
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.
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.
18094 * video/video.c (grub_video_get_blit_format): Updated to use new
18095 blit formats. Added handling for 16 bit color modes.
18097 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
18099 (common_blitter): Updated to use new blitters.
18101 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
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.
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.
18135 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
18138 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
18141 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
18144 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
18147 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
18149 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
18152 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
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.
18158 2008-09-05 Bean <bean123ch@gmail.com>
18160 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
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.
18165 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
18167 * include/grub/types.h (LONG_MAX): Likewise.
18169 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
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.
18175 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
18177 * config.guess: Update to latest version from config git.
18178 * config.sub: Likewise.
18180 2008-09-03 Robert Millan <rmh@aybabtu.com>
18182 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
18183 `disk->total_sectors'.
18185 2008-09-01 Colin D Bennett <colin@gibibit.com>
18187 * include/grub/normal.h: Fixed incorrect comment for
18188 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
18190 2008-09-01 Colin D Bennett <colin@gibibit.com>
18192 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
18193 values with defines.
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.
18215 2008-08-31 Robert Millan <rmh@aybabtu.com>
18217 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
18219 (grub_multiboot): Fix a few warnings.
18221 2008-08-31 Robert Millan <rmh@aybabtu.com>
18223 * loader/i386/pc/multiboot.c: Update comment not to say that
18224 boot_device support is unimplemented.
18226 2008-08-31 Robert Millan <rmh@aybabtu.com>
18228 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
18229 or memory map support are unimplemented.
18231 2008-08-31 Colin D Bennett <colin@gibibit.com>
18233 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
18235 2008-08-31 Colin D Bennett <colin@gibibit.com>
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
18241 2008-08-30 Pavel Roskin <proski@gnu.org>
18243 * util/genmoddep.c: Remove for real this time.
18244 * DISTLIST: Remove util/genmoddep.c.
18246 2008-08-30 Robert Millan <rmh@aybabtu.com>
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
18252 2008-08-29 Pavel Roskin <proski@gnu.org>
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.
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.
18266 2008-08-29 Bean <bean123ch@gmail.com>
18268 * configure.ac: Change host_os to cygwin for mingw.
18269 (asprintf): New check for function.
18271 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
18272 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
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.
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.
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.
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.
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.
18295 (grub_util_get_disk_size): Likewise.
18297 2008-08-28 Pavel Roskin <proski@gnu.org>
18299 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
18302 2008-08-28 Robert Millan <rmh@aybabtu.com>
18304 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
18306 2008-08-28 Robert Millan <rmh@aybabtu.com>
18308 Change find_grub_drive() syntax so it doesn't prevent it from
18309 detecting NULL names as errors.
18311 * util/biosdisk.c (find_grub_drive): Move free slot search code
18313 (find_free_slot): ... to here.
18314 (read_device_map): Use find_free_slot() to search for free slots.
18316 2008-08-27 Marco Gerards <marco@gnu.org>
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.
18323 * disk/scsi.c: New file.
18325 * include/grub/scsi.h: Likewise.
18327 * include/grub/scsicmd.h: Likewise.
18329 * disk/ata.c: Include <grub/scsi.h>.
18330 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
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.
18347 * include/grub/disk.h (enum grub_disk_dev_id): Add
18348 `GRUB_DISK_DEVICE_SCSI_ID'.
18350 2008-08-26 Robert Millan <rmh@aybabtu.com>
18352 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
18353 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
18356 2008-08-23 Bean <bean123ch@gmail.com>
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
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.
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.
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.
18383 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18385 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18387 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18391 * disk/raid5_recover.c: New file.
18393 * disk/raid6_recover.c: Likewise.
18395 * disk/mdraid_linux.c: Likewise.
18397 * disk/dmraid_nvidia.c: Likewise.
18399 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
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.
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.
18425 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
18426 (CMD_CRC): New macro.
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.
18436 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
18438 2008-08-23 Bean <bean123ch@gmail.com>
18440 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
18442 * genfslist.sh: Ignore kernel.mod.
18444 * genpartmaplist.sh: Likewise.
18446 2008-08-23 Robert Millan <rmh@aybabtu.com>
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.
18451 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
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}.
18457 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
18459 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
18461 2008-08-21 Robert Millan <rmh@aybabtu.com>
18463 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
18465 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
18466 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
18468 2008-08-20 Carles Pina i Estany <carles@pina.cat>
18470 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
18471 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
18473 2008-08-19 Robert Millan <rmh@aybabtu.com>
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'
18479 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
18481 2008-08-18 Robert Millan <rmh@aybabtu.com>
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.
18489 2008-08-18 Robert Millan <rmh@aybabtu.com>
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):
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.
18509 2008-08-17 Robert Millan <rmh@aybabtu.com>
18511 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
18513 2008-08-17 Robert Millan <rmh@aybabtu.com>
18515 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
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
18522 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
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.
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
18537 (grub_machine_mmap_iterate): ... this. Update all users.
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.
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.
18551 2008-08-17 Carles Pina i Estany <carles@pina.cat>
18553 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
18555 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
18557 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
18558 mdate-sh to the list `find' searches for.
18559 * DISTLIST: Regenerated.
18561 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
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.
18570 2008-08-16 Robert Millan <rmh@aybabtu.com>
18572 * disk/raid.c (grub_raid_init): Handle/report errors set by
18573 grub_device_iterate().
18574 * disk/lvm.c (grub_lvm_init): Likewise.
18576 2008-08-15 Bean <bean123ch@gmail.com>
18578 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.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.
18590 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.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.
18602 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.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.
18614 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.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.
18626 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.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.
18638 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
18640 * commands/date.c: New file.
18642 * hook/datehook.c: Likewise.
18644 * include/grub/lib/datetime.h: Likewise.
18646 * include/grub/i386/cmos.h: Likewise.
18648 * lib/datetime.c: Likewise.
18650 * lib/i386/datetime.c: Likewise.
18652 * lib/efi/datetime.c: Likewise.
18654 2008-08-14 Robert Millan <rmh@aybabtu.com>
18656 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
18657 (grub_mkelfimage_SOURCES): New variable.
18658 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
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.
18665 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
18666 * kern/i386/coreboot/init.c: Likewise.
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
18672 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
18673 * kern/i386/coreboot/startup.S: Likewise.
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.
18685 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
18687 Use --directory when invoking grub_mkimage.
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.
18694 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
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
18700 * kern/err.c (grub_print_error): Use grub_err_printf.
18702 2008-08-13 Robert Millan <rmh@aybabtu.com>
18704 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
18706 2008-08-13 Robert Millan <rmh@aybabtu.com>
18708 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
18711 2008-08-12 Robert Millan <rmh@aybabtu.com>
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.
18726 2008-08-12 Bean <bean123ch@gmail.com>
18728 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
18730 2008-08-11 Robert Millan <rmh@aybabtu.com>
18732 * kern/i386/linuxbios/startup.S: Move from here ...
18733 * kern/i386/coreboot/startup.S: ... to here.
18735 * kern/i386/linuxbios/init.c: Move from here ...
18736 * kern/i386/coreboot/init.c: ... to here.
18738 * kern/i386/linuxbios/table.c: Move from here ...
18739 * kern/i386/coreboot/mmap.c: ... to here.
18741 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
18743 2008-08-11 Robert Millan <rmh@aybabtu.com>
18745 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
18746 errors. Leave it to the upper layer to handle them.
18748 2008-08-09 Christian Franke <franke@computer.org>
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'.
18757 2008-08-08 Robert Millan <rmh@aybabtu.com>
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.
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().
18767 * util/misc.c (grub_get_time_ms): New function.
18769 2008-08-08 Marco Gerards <marco@gnu.org>
18771 * disk/ata.c (grub_ata_regget): Change return type to
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
18781 (grub_ata_pio_write): Add error handling.
18782 (grub_atapi_identify): Likewise.
18783 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
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
18791 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
18793 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
18795 2008-08-08 Marco Gerards <marco@gnu.org>
18799 2008-08-07 Bean <bean123ch@gmail.com>
18801 * include/grub/x86_64/pci.h: New file.
18803 2008-08-07 Christian Franke <franke@computer.org>
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.
18810 2008-08-07 Bean <bean123ch@gmail.com>
18812 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
18813 kern/i386/tsc.c and kern/i386/pit.c.
18815 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
18818 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
18821 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
18823 2008-08-07 Bean <bean123ch@gmail.com>
18825 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
18827 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
18829 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
18830 multiple inclusion. Add #include <grub/types.h>.
18832 2008-08-06 Christian Franke <franke@computer.org>
18834 * conf/common.rmk: Build and install `10_windows'.
18835 * util/grub.d/10_windows.in: New script.
18837 2008-08-06 Pavel Roskin <proski@gnu.org>
18839 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
18841 2008-08-06 Robert Millan <rmh@aybabtu.com>
18843 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
18844 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
18846 2008-08-06 Bean <bean123ch@gmail.com>
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
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.
18855 2008-08-06 Bean <bean123ch@gmail.com>
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.
18867 2008-08-06 Robert Millan <rmh@aybabtu.com>
18869 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
18871 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
18872 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
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.
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>'.
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
18891 * include/grub/i386/at_keyboard.h: ... to here.
18893 2008-08-05 Robert Millan <rmh@aybabtu.com>
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'.
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'.
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().
18909 * kern/i386/pit.c: New file.
18910 * include/grub/i386/pit.h: Likewise.
18912 2008-08-05 Bean <bean123ch@gmail.com>
18914 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
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.
18925 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
18926 (grub_pxe_call): Likewise.
18928 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
18930 * commands/i386/pc/pxecmd.c: New file.
18932 * fs/i386/pc/pxe.c: Likewise.
18934 * include/grub/i386/pc/pxe.h: Likewise.
18936 2008-08-05 Bean <bean123ch@gmail.com>
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.
18952 2008-08-05 Colin D Bennett <colin@gibibit.com>
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.
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'.
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'.
18967 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
18968 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
18970 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18972 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
18973 `kern/generic/millisleep.c'.
18975 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
18977 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
18979 * kern/generic/rtc_get_time_ms.c: New file.
18981 * kern/generic/millisleep.c: New file.
18983 * kern/misc.c: Don't include
18984 <kern/time.h> anymore.
18985 (grub_millisleep_generic): Removed.
18987 * commands/sleep.c (grub_interruptible_millisleep): Uses
18988 grub_get_time_ms() instead of grub_get_rtc().
18990 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
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.
18997 * kern/i386/tsc.c (grub_get_time_ms): New file.
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.
19005 * kern/time.c (grub_get_time_ms): New function.
19006 (grub_install_get_time_ms): New function.
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.
19013 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
19014 get_time_ms() implementation.
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.
19020 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
19021 (grub_machine_init): Call grub_tsc_init().
19022 (grub_millisleep): Removed.
19024 * kern/ieee1275/init.c (grub_millisleep): Removed.
19025 (grub_machine_init): Install ieee1275_get_time_ms()
19027 (ieee1275_get_time_ms): New function.
19028 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
19031 2008-08-05 Marco Gerards <marco@gnu.org>
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.
19038 2008-08-04 Pavel Roskin <proski@gnu.org>
19040 * kern/main.c: Include grub/mm.h.
19042 2008-08-04 Robert Millan <rmh@aybabtu.com>
19044 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
19045 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
19046 corruption problem).
19048 2008-08-04 Robert Millan <rmh@aybabtu.com>
19050 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
19051 warnings introduced in my last commit.
19053 2008-08-03 Robert Millan <rmh@aybabtu.com>
19055 Make PCI available on all i386 architectures.
19057 * include/grub/i386/pc/pci.h: Move from here ...
19058 * include/grub/i386/pci.h: ... to here.
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.
19064 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
19065 `<grub/cpu/pci.h>'.
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.
19071 * conf/i386-ieee1275.rmk: Likewise.
19073 2008-08-03 Robert Millan <rmh@aybabtu.com>
19075 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
19076 (grub_console_setcursor): Make it possible to set cursor off.
19078 2008-08-03 Robert Millan <rmh@aybabtu.com>
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.
19084 2008-08-03 Robert Millan <rmh@aybabtu.com>
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).
19091 2008-08-02 Robert Millan <rmh@aybabtu.com>
19093 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
19095 2008-08-02 Robert Millan <rmh@aybabtu.com>
19097 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
19098 of informational grub_dprintf() calls.
19100 2008-08-02 Robert Millan <rmh@aybabtu.com>
19102 * disk/memdisk.c (memdisk_size): Don't initialize.
19103 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
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.
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.
19116 * kern/device.c (grub_device_open): Do not hide error messages
19117 when grub_disk_open() fails. Use grub_print_error() instead.
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).
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.
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.
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'.
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.
19152 2008-08-02 Robert Millan <rmh@aybabtu.com>
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.
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.
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.
19172 2008-08-01 Bean <bean123ch@gmail.com>
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
19178 2008-08-01 Robert Millan <rmh@aybabtu.com>
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.
19184 2008-08-01 Bean <bean123ch@gmail.com>
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.
19191 * include/grub/bufio.h: New file.
19193 * io/bufio.c: Likewise.
19195 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
19196 (grub_video_reader_png): Use grub_buffile_open to open file.
19198 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
19199 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
19201 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
19202 (grub_video_reader_tga): Use grub_buffile_open to open file.
19204 * font/manager.c: Include <grub/bufio.h>.
19205 (add_font): Use grub_buffile_open to open file.
19207 2008-07-31 Robert Millan <rmh@aybabtu.com>
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.
19214 2008-07-31 Bean <bean123ch@gmail.com>
19216 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
19217 GRUB_KERNEL_MACHINE_DATA_END.
19219 2008-07-30 Robert Millan <rmh@aybabtu.com>
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
19226 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
19227 check, for cross-disk installs.
19229 2008-07-30 Robert Millan <rmh@aybabtu.com>
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().
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.
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
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.
19251 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
19252 Overwrite grub_prefix with its contents, at the beginning of the
19254 (main): Understand -p|--prefix.
19256 2008-07-30 Robert Millan <rmh@aybabtu.com>
19258 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
19260 2008-07-30 Robert Millan <rmh@aybabtu.com>
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>
19266 2008-07-29 Christian Franke <franke@computer.org>
19268 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
19269 Add conversion of emulated mount points on Cygwin.
19271 2008-07-29 Christian Franke <franke@computer.org>
19273 * util/update-grub.in: Add a check for admin
19275 Remove old `grub.cfg.new' before creation.
19276 Add `-f' to `mv' to handle the different filesystem
19277 semantics of Windows.
19279 2008-07-29 Bean <bean123ch@gmail.com>
19281 * normal/main.c (get_line): Fix buffer overflow bug.
19283 2008-07-28 Robert Millan <rmh@aybabtu.com>
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).
19291 2008-07-28 Pavel Roskin <proski@gnu.org>
19293 * genmk.rb: Add a warning to the beginning of the output that
19294 it's a generated file and should not be edited.
19296 2008-07-28 Robert Millan <rmh@aybabtu.com>
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.
19302 2008-07-27 Robert Millan <rmh@aybabtu.com>
19304 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
19307 2008-07-27 Bean <bean123ch@gmail.com>
19309 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
19310 (grub_fat_find_dir): Ignore case when comparing filename.
19312 2008-07-27 Bean <bean123ch@gmail.com>
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
19320 2008-07-27 Bean <bean123ch@gmail.com>
19322 * commands/crc.c: New file.
19324 * lib/crc.c: Likewise.
19326 * include/grub/lib/crc.h: Likewise.
19328 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
19330 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
19331 (hexdump): Move this function to ...
19333 * lib/hexdump.c: ... here.
19335 * include/grub/hexdump.h: Renamed to ...
19337 * include/grub/lib/hexdump.h: ... this.
19339 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
19341 * util/grub-editenv.c: Likewise.
19343 * include/envblk.h: Renamed to ...
19345 * include/lib/envblk.h: ... this.
19347 * util/envblk.c: Renamed to ...
19349 * lib/envblk.c: ... this.
19351 * conf/common.rmk (grub_fstest_SOURCES): commands/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.
19361 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
19363 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19365 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19369 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19371 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
19373 * commands/help.c: Include <grub/term.h>.
19374 (TERM_WIDTH): Removed. Updated all users.
19376 2008-07-27 Pavel Roskin <proski@gnu.org>
19378 * util/getroot.c (find_root_device): Rephrase a comment to avoid
19379 spurious warnings about a comment within a comment.
19381 2008-07-25 Robert Millan <rmh@aybabtu.com>
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.
19390 2008-07-24 Pavel Roskin <proski@gnu.org>
19392 * include/grub/types.h: Use __builtin_bswap32() and
19393 __builtin_bswap64() with gcc 4.3 and newer.
19395 2008-07-24 Christian Franke <franke@computer.org>
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.
19401 2008-07-24 Bean <bean123ch@gmail.com>
19403 * configure.ac: Fixed a bug caused by the previous cygwin patch,
19404 variable `target_platform' should be `platform'.
19406 2008-07-24 Bean <bean123ch@gmail.com>
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.
19412 2008-07-24 Bean <bean123ch@gmail.com>
19414 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
19415 (grub_pe2elf_SOURCES): New macro.
19416 (CLEANFILES): Add grub-pe2elf.
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.
19436 * util/grub-pe2elf.c: New file.
19438 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
19439 start symbol in non pc platform.
19441 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
19443 The following patches are from Christian Franke.
19445 * include/grub/dl.h: Remove .previous, gas supports this only
19448 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
19449 Remove .type, gas supports this only for ELF format.
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
19455 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
19456 TARGET_IMG_LDFLAGS and EXEEXT.
19458 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
19459 TARGET_IMG_LDFLAGS_AC.
19460 (grub_CHECK_STACK_ARG_PROBE): New function.
19462 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
19464 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
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.
19472 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
19474 * genmk.rb: Add EXEEXT to CLEANFILES.
19476 2008-07-23 Robert Millan <rmh@aybabtu.com>
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)
19483 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
19484 fonts, because the latter are too slow.
19486 2008-07-21 Bean <bean123ch@gmail.com>
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.
19491 2008-07-18 Pavel Roskin <proski@gnu.org>
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.
19498 2008-07-17 Pavel Roskin <proski@gnu.org>
19500 * configure.ac: Use -m32 or -m64 regardless of whether we had to
19501 change target_cpu. The compiler default can mismatch target_cpu
19504 * disk/efi/efidisk.c: Fix format warnings on x86_64.
19505 * kern/efi/efi.c: Likewise.
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
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.
19519 * configure.ac: Default to pc platform for x86_64.
19521 2008-07-17 Robert Millan <rmh@aybabtu.com>
19523 Partial LinuxBIOS -> Coreboot rename.
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.
19533 2008-07-17 Bean <bean123ch@gmail.com>
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.
19546 * conf/x86_64-efi.rmk: New file.
19548 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
19550 (grub_efidisk_write): Likewise.
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.
19560 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
19561 grub_rescue_cmd_chainloader.
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
19566 (GRUB_PE32_PE32_MAGIC): Likewise.
19568 * include/grub/efi/uga_draw.h: New file.
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.
19588 * include/grub/i386/efi/pci.h: New file.
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.
19603 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
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.
19616 * include/grub/x86_64/efi/kernel.h: New file.
19618 * include/grub/x86_64/efi/loader.h: Likewise.
19620 * include/grub/x86_64/efi/machine.h: Likewise.
19622 * include/grub/x86_64/efi/pci.h: Likewise.
19624 * include/grub/x86_64/efi/time.h: Likewise.
19626 * include/grub/x86_64/linux.h: Likewise.
19628 * include/grub/x86_64/setjmp.h: Likewise.
19630 * include/grub/x86_64/time.h: Likewise.
19632 * include/grub/x86_64/types.h: Likewise.
19634 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
19635 GRUB_TARGET_SIZEOF_VOID_P.
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.
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.
19654 * kern/x86_64/dl.c: New file.
19656 * kern/x86_64/efi/callwrap.S: Likewise.
19658 * kern/x86_64/efi/startup.S: Likewise.
19660 * loader/efi/appleloader.c: Likewise.
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
19668 * loader/efi/chainloader_normal.c (chainloader_command):
19669 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
19672 * loader/i386/efi/linux.c (allocate_pages): Change allocation
19674 (grub_e820_add_region): New function.
19675 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
19677 (grub_find_video_card): New function.
19678 (grub_linux_setup_video): New function.
19679 (grub_rescue_cmd_linux): Probe for video information.
19681 * normal/x86_64/setjmp.S: New file.
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.
19693 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
19695 2008-07-16 Pavel Roskin <proski@gnu.org>
19697 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
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.
19705 2008-07-15 Pavel Roskin <proski@gnu.org>
19707 * kern/i386/ieee1275/init.c: Include grub/cache.h.
19709 * term/ieee1275/ofconsole.c: Disable code unused on i386.
19711 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
19712 Fix comparison between signed and unsigned.
19714 * include/grub/i386/ieee1275/console.h: Declare
19715 grub_console_init() and grub_console_fini().
19717 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
19718 It's empty and unused.
19720 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
19721 beginning to avoid warnings with some compilers.
19723 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
19724 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
19726 2008-07-14 Pavel Roskin <proski@gnu.org>
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.
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.
19739 2008-07-13 Pavel Roskin <proski@gnu.org>
19741 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
19742 between signed and unsigned.
19743 (LzmaEnc_Finish): Fix warning about an unused parameter.
19745 2008-07-13 Bean <bean123ch@gmail.com>
19747 * Makefile.in (enable_lzo): New rule.
19749 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
19751 * configure.ac (ENABLE_LZO): New option --enable-lzo.
19753 * boot/i386/pc/lnxboot.S: #include <config.h>.
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.
19758 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
19759 compression algorithm according to configure macro.
19761 * kern/i386/pc/startup.S (codestart): Likewise.
19763 * kern/i386/pc/lzma_decode.S: New file.
19765 * include/grub/lib/LzFind.h: Likewise.
19767 * include/grub/lib/LzHash.h: Likewise.
19769 * include/grub/lib/LzmaDec.h: Likewise.
19771 * include/grub/lib/LzmaEnc.h: Likewise.
19773 * include/grub/lib/LzmaTypes.h: Likewise.
19775 * lib/LzFind.c: Likewise.
19777 * lib/LzmaDec.c: Likewise.
19779 * lib/LzmaEnc.c: Likewise.
19781 2008-07-13 Bean <bean123ch@gmail.com>
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.
19790 2008-07-12 Robert Millan <rmh@aybabtu.com>
19792 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
19794 2008-07-11 Robert Millan <rmh@aybabtu.com>
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).
19801 2008-07-11 Pavel Roskin <proski@gnu.org>
19803 * commands/read.c (grub_getline): Fix invalid memory access.
19804 Don't add newline to the variable value.
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().
19811 2008-07-07 Pavel Roskin <proski@gnu.org>
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.
19817 2008-07-05 Pavel Roskin <proski@gnu.org>
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.
19823 * disk/ata.c: Use named constants for status bits.
19825 2008-07-04 Pavel Roskin <proski@gnu.org>
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
19838 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
19841 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
19842 pointer, which can cause warnings. Support 64-bit addresses.
19844 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
19845 of sizeof(long). This fixes PowerPC image generation on x86_64.
19847 2008-07-04 Robert Millan <rmh@aybabtu.com>
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).
19853 Some callers relied on previous buggy behaviour, since they would
19854 raise an error when their own hooks caused early abortion of its
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.
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().
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().
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().
19875 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
19876 when grub_partition_iterate() returned with non-zero.
19878 2008-07-03 Pavel Roskin <proski@gnu.org>
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.
19887 2008-07-02 Pavel Roskin <proski@gnu.org>
19889 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
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.
19896 * util/grub-editenv.c (cmd_info): Cast argument to long
19897 explicitly. ptrdiff_t reduces to int on i386.
19899 * util/grub-editenv.c (main): Be specific which parameter is
19902 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
19903 (memdisk): Make memdisk_orig_addr a pointer.
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
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.
19913 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
19914 grub_disk_addr_t for memory addresses.
19916 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
19917 explicitly to fix a warning.
19919 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
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
19926 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
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
19931 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
19932 the end of struct grub_xfs_dir_header.
19934 2008-07-02 Bean <bean123ch@gmail.com>
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.
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.
19944 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
19945 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
19947 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
19948 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
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.
19954 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
19957 2008-07-02 Bean <bean123ch@gmail.com>
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.
19966 * include/grub/envblk.h: New file.
19968 * util/envblk.c: New file.
19970 * util/grub-editenv.c: New file.
19972 * commands/loadenv.c: New file.
19974 2008-07-01 Pavel Roskin <proski@gnu.org>
19976 * include/multiboot2.h (struct multiboot_tag_module): Use char,
19977 not unsigned char. This fixes warnings and is consistent with
19980 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
19982 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
19984 * term/tparm.c (analyze): Always set *popcount.
19986 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
19987 cast to fix a warning.
19989 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
19990 cast to suppress a warning.
19992 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
19993 grub_fshelp_read_file() expects.
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
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.
20008 2008-06-30 Pavel Roskin <proski@gnu.org>
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.
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>
20019 2008-06-29 Robert Millan <rmh@aybabtu.com>
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>
20026 2008-06-29 Robert Millan <rmh@aybabtu.com>
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).
20032 2008-06-26 Pavel Roskin <proski@gnu.org>
20034 * util/biosdisk.c (read_device_map): Don't leave dead map
20035 entries for devices failing stat() check.
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.
20040 2008-06-26 Robert Millan <rmh@aybabtu.com>
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().
20051 2008-06-26 Robert Millan <rmh@aybabtu.com>
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.
20057 2008-06-21 Javier Martín <lordhabbit@gmail.com>
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
20063 2008-06-21 Robert Millan <rmh@aybabtu.com>
20065 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
20068 * util/grub.d/10_hurd.in: ... to here ...
20069 * util/grub.d/10_linux.in: ... and here.
20071 2008-06-19 Robert Millan <rmh@aybabtu.com>
20073 * kern/main.c (grub_main): Export `prefix' variable immediately
20074 after it has been set by grub_machine_set_prefix().
20076 2008-06-19 Robert Millan <rmh@aybabtu.com>
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.
20082 2008-06-19 Robert Millan <rmh@aybabtu.com>
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
20089 2008-06-19 Robert Millan <rmh@aybabtu.com>
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).
20096 2008-06-19 Pavel Roskin <proski@gnu.org>
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.
20105 2008-06-18 Pavel Roskin <proski@gnu.org>
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.
20112 2008-06-18 Robert Millan <rmh@aybabtu.com>
20114 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
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
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.
20129 2008-06-17 Robert Millan <rmh@aybabtu.com>
20131 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
20132 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
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.
20141 2008-06-17 Robert Millan <rmh@aybabtu.com>
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).
20147 2008-06-16 Robert Millan <rmh@aybabtu.com>
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
20154 2008-06-16 Robert Millan <rmh@aybabtu.com>
20156 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
20158 Patch from Sven Mueller <sven@debian.org>.
20160 2008-06-16 Robert Millan <rmh@aybabtu.com>
20162 * util/update-grub.in: Check for $EUID instead of $UID.
20163 Reported by Vincent Zweije.
20165 2008-06-16 Bean <bean123ch@gmail.com>
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.
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.
20182 * fs/fshelp.c (grub_fshelp_read): Removed.
20183 (grub_fshelp_map_block): Likewise.
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.
20190 2008-06-16 Pavel Roskin <proski@gnu.org>
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.
20196 2008-06-15 Pavel Roskin <proski@gnu.org>
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.
20203 2008-06-15 Robert Millan <rmh@aybabtu.com>
20205 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
20207 Reported by Max Vozeler.
20209 2008-06-15 Robert Millan <rmh@aybabtu.com>
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
20214 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
20215 the beginning of the prefix.
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.
20221 2008-06-15 Robert Millan <rmh@aybabtu.com>
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().
20227 2008-06-15 Robert Millan <rmh@aybabtu.com>
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>.
20233 2008-06-14 Robert Millan <rmh@aybabtu.com>
20235 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
20236 * util/i386/pc/grub-install.in (modules): Likewise.
20238 2008-06-13 Pavel Roskin <proski@gnu.org>
20240 * commands/ls.c (grub_ls_list_files): Fix format warnings.
20242 2008-06-13 Bean <bean123ch@gmail.com>
20244 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
20246 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
20248 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
20249 to indicate sparse block.
20251 2008-06-12 Pavel Roskin <proski@gnu.org>
20253 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
20254 number, grub_fshelp_read() does it for us.
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().
20261 2008-06-09 Pavel Roskin <proski@gnu.org>
20263 * fs/minix.c (grub_minix_mount): Handle error reading
20266 2008-06-08 Robert Millan <rmh@aybabtu.com>
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.
20272 2008-06-08 Robert Millan <rmh@aybabtu.com>
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.
20279 2008-06-08 Robert Millan <rmh@aybabtu.com>
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.
20288 2008-06-07 Pavel Roskin <proski@gnu.org>
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.
20294 2008-06-06 Robert Millan <rmh@aybabtu.com>
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.
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).
20305 2008-06-06 Robert Millan <rmh@aybabtu.com>
20307 * util/biosdisk.c (open_device): Do not modify sector offset when
20308 accessing a partition. kern/disk.c already handles this for us.
20310 2008-06-06 Robert Millan <rmh@aybabtu.com>
20312 * util/grub-emu.c (grub_machine_init): Move code in this function from
20314 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
20315 segfault in case grub_printf() is called).
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
20324 2008-06-05 Robert Millan <rmh@aybabtu.com>
20326 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
20327 is found, print it (same layout as with labels).
20329 2008-06-04 Robert Millan <rmh@aybabtu.com>
20331 * util/biosdisk.c (get_drive): Rename to ...
20332 (find_grub_drive): ... this. Update all users.
20334 (get_os_disk): Rename to ...
20335 (convert_system_partition_to_system_disk): ... this. Update all users.
20337 (find_drive): Rename to ...
20338 (find_system_device): ... this. Update all users.
20340 2008-06-04 Robert Millan <rmh@aybabtu.com>
20342 * util/biosdisk.c (get_os_disk): Handle IDA devices.
20343 * util/grub-mkdevicemap.c (get_mmc_disk_name)
20344 (make_device_map): Likewise.
20346 2008-06-01 Robert Millan <rmh@aybabtu.com>
20348 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
20349 before dereferencing it.
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.
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
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.
20369 2008-06-01 Robert Millan <rmh@aybabtu.com>
20371 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
20372 code that is backward compatible with pre-uuid search command.
20374 2008-05-31 Robert Millan <rmh@aybabtu.com>
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).
20380 2008-05-31 Robert Millan <rmh@aybabtu.com>
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.
20385 2008-05-31 Robert Millan <rmh@aybabtu.com>
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).
20391 2008-05-31 Michael Gorven <michael@gorven.za.net>
20393 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
20394 on and off sequences.
20396 2008-05-31 Robert Millan <rmh@aybabtu.com>
20398 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
20399 * util/update-grub.in: Likewise.
20401 2008-05-30 Pavel Roskin <proski@gnu.org>
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.
20409 2008-05-30 Robert Millan <rmh@aybabtu.com>
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.
20416 2008-05-30 Robert Millan <rmh@aybabtu.com>
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).
20424 2008-05-30 Robert Millan <rmh@aybabtu.com>
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.
20429 2008-05-30 Robert Millan <rmh@aybabtu.com>
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().
20441 2008-05-30 Robert Millan <rmh@aybabtu.com>
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
20450 2008-05-30 Robert Millan <rmh@aybabtu.com>
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
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
20472 (main): Recognise `-t fs_uuid' argument.
20474 2008-05-30 Robert Millan <rmh@aybabtu.com>
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
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
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
20490 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
20491 (make_device_name): Remove assumption of BIOS-like drive names.
20493 2008-05-30 Pavel Roskin <proski@gnu.org>
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.
20505 2008-05-29 Pavel Roskin <proski@gnu.org>
20507 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
20508 when scanning metadata for volume group name.
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.
20516 2008-05-29 Robert Millan <rmh@aybabtu.com>
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
20524 2008-05-29 Robert Millan <rmh@aybabtu.com>
20526 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
20527 control key combinations.
20529 2008-05-29 Robert Millan <rmh@aybabtu.com>
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.
20537 2008-05-29 Robert Millan <rmh@aybabtu.com>
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.
20548 2008-05-28 Robert Millan <rmh@aybabtu.com>
20550 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
20551 might need to be fatfs to support some firmware implementations
20554 2008-05-28 Robert Millan <rmh@aybabtu.com>
20556 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
20558 * util/grub-mkdevicemap.c (get_mmc_disk_name)
20559 (make_device_map): Likewise.
20561 2008-05-20 Bean <bean123ch@gmail.com>
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.
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.
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
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.
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
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.
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.
20621 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
20623 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
20625 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
20627 * fs/udf.c (grub_udf_read_block): Change block type to
20628 grub_disk_addr_t. Use type cast to avoid warning.
20630 * fs/xfs.c (grub_xfs_read_block): Likewise.
20632 2008-05-16 Christian Franke <franke@computer.org>
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.
20639 2008-05-16 Christian Franke <franke@computer.org>
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
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
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.
20662 2008-05-15 Bean <bean123ch@gmail.com>
20664 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
20665 keyboard hang problem in apple's intel mac.
20667 2008-05-09 Robert Millan <rmh@aybabtu.com>
20669 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
20671 * util/grub-mkdevicemap.c (get_virtio_disk_name)
20672 (make_device_map): Likewise.
20673 Reported by Aurelien Jarno <aurel32@debian.org>
20675 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
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.
20681 2008-05-07 Robert Millan <rmh@aybabtu.com>
20683 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
20685 * util/grub-mkdevicemap.c (get_cciss_disk_name)
20686 (make_device_map): Likewise.
20687 Reported by Roland Dreier <rdreier@cisco.com>
20689 2008-05-07 Robert Millan <rmh@aybabtu.com>
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.
20694 2008-05-06 Robert Millan <rmh@aybabtu.com>
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
20699 (convert_system_path_to_grub_path): Do not remove trailing slash
20700 from make_system_path_relative_to_its_root() output.
20702 * util/i386/pc/grub-install.in: Add trailing slash to output from
20703 make_system_path_relative_to_its_root().
20705 2008-05-06 Robert Millan <rmh@aybabtu.com>
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.
20713 2008-05-05 Christian Franke <franke@computer.org>
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.
20723 2008-04-30 Robert Millan <rmh@aybabtu.com>
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
20728 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
20730 2008-04-29 Robert Millan <rmh@aybabtu.com>
20732 * docs/grub.cfg: New file (example GRUB configuration).
20734 2008-04-26 Robert Millan <rmh@aybabtu.com>
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'.
20740 2008-04-25 Bean <bean123ch@gmail.com>
20742 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
20745 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
20746 change the buffer size to 4096 for cdrom device.
20748 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.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.
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)
20764 * include/grub/disk.h (grub_disk_dev_id): New macro
20765 GRUB_DISK_DEVICE_NAND_ID.
20767 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
20768 function prototype.
20769 (grub_rescue_cmd_initrd): Likewise.
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.
20775 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
20776 GRUB_MACHINE_IEEE1275 is defined.
20778 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
20779 Use NESTED_FUNC_ATTR attribute on the hook parameter.
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.
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
20791 * loader/i386/ieee1275/linux.c: New file.
20793 * loader/i386/ieee1275/linux_normal.c: New file.
20795 * disk/ieee1275/nand.c: New file.
20797 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
20799 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
20801 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
20803 2008-04-18 Robert Millan <rmh@aybabtu.com>
20805 Restructures early code path on ieee1275 to unify grub_main() as
20806 the first C function that is executed in every platform.
20808 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
20809 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
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()
20817 2008-04-18 Robert Millan <rmh@aybabtu.com>
20819 * util/update-grub.in: Fix syntax error when setting
20820 `GRUB_PRELOAD_MODULES'.
20821 Reported by Stephane Chazelas <stephane@artesyncp.com>
20823 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
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
20833 2008-04-15 Robert Millan <rmh@aybabtu.com>
20835 * disk/lvm.c: Update copyright year.
20836 * kern/misc.c: Likewise.
20838 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
20840 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
20841 there is no memory left for physical volume name.
20843 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
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.
20848 2008-04-13 Robert Millan <rmh@aybabtu.com>
20850 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
20851 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
20853 2008-04-13 Christian Franke <franke@computer.org>
20855 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
20856 to create a floppy emulation boot CD when non emulation mode
20858 Enable Joliet CD filesystem extension.
20860 2008-04-13 Robert Millan <rmh@aybabtu.com>
20862 * kern/misc.c (grub_strncat): Fix off-by-one error.
20863 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
20865 * kern/env.c (grub_env_context_close): Clear current context, not
20867 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
20869 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
20871 2008-04-13 Robert Millan <rmh@aybabtu.com>
20873 Improve robustness when handling LVM.
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
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
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.
20887 2008-04-13 Robert Millan <rmh@aybabtu.com>
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.
20899 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
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
20905 * conf/common.rmk: Build and install 30_os-prober.
20907 2008-04-12 Robert Millan <rmh@aybabtu.com>
20909 * kern/powerpc/ieee1275/init.c: Move from here ...
20910 * kern/ieee1275/init.c: ... to here. Update all users.
20912 * kern/powerpc/ieee1275/cmain.c: Move from here ...
20913 * kern/ieee1275/cmain.c: ... to here. Update all users.
20915 * kern/powerpc/ieee1275/openfw.c: Move from here ...
20916 * kern/ieee1275/openfw.c: ... to here. Update all users.
20918 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
20919 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
20921 2008-04-10 Pavel Roskin <proski@gnu.org>
20923 * configure.ac: Always use "_cv_" in cache variables for
20924 compatibility with Autoconf 2.62.
20926 2008-04-07 Robert Millan <rmh@aybabtu.com>
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.
20933 2008-04-07 Robert Millan <rmh@aybabtu.com>
20935 * util/grub-probe.c (probe): Improve error message.
20937 2008-04-07 Robert Millan <rmh@aybabtu.com>
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
20943 2008-04-06 Pavel Roskin <proski@gnu.org>
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
20953 * util/raid.c: Include grub/util/raid.h.
20954 (grub_util_getdiskname): Make static.
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>
20962 2008-04-05 Pavel Roskin <proski@gnu.org>
20964 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
20965 all 8 functions. Otherwise, probe function 0 only.
20967 2008-04-04 Pavel Roskin <proski@gnu.org>
20969 * commands/lspci.c (grub_lspci_iter): Print the bus number
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.
20976 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
20977 Fix signedness warnings.
20978 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
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.
20984 2008-04-02 Pavel Roskin <proski@gnu.org>
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.
20991 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
20992 * fs/cpio.c (grub_cpio_read): Likewise.
20994 2008-04-01 Pavel Roskin <proski@gnu.org>
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.
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.
21007 * disk/loopback.c (options): Improve help for "--partitions".
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".
21012 2008-03-31 Bean <bean123ch@gmail.com>
21014 * video/reader/png.c (grub_png_data): New member is_16bit and
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.
21021 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
21023 (grub_nfs_mount): Skip the test for sector per cluster.
21025 * include/grub/ntfs.h (MAX_SPC): Removed.
21027 2008-03-31 Bean <bean123ch@gmail.com>
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.
21036 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
21037 (grub_emu_SOURCES): Likewise.
21039 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21041 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21043 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21047 * fs/afs.c: New file.
21049 2008-03-30 Pavel Roskin <proski@gnu.org>
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.
21055 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
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
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.
21066 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
21067 missing grub_error() call.
21069 * util/update-grub_lib.in: Define datarootdir, since Autoconf
21070 2.60 and newer uses it to define datadir.
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.
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.
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.
21088 2008-03-28 Pavel Roskin <proski@gnu.org>
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.
21097 2008-03-28 Pavel Roskin <proski@gnu.org>
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.
21105 2008-03-26 Pavel Roskin <proski@gnu.org>
21107 * normal/color.c (grub_parse_color_name_pair): Make `name' a
21109 * include/grub/normal.h: Add grub_parse_color_name_pair()
21112 2008-03-24 Bean <bean123ch@gmail.com>
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.
21124 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
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.
21136 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
21138 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
21141 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
21144 2008-03-20 Robert Millan <rmh@aybabtu.com>
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.
21152 2008-03-05 Bean <bean123ch@gmail.com>
21154 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
21155 (grub_multiboot): Set boot device.
21157 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
21159 2008-03-02 Bean <bean123ch@gmail.com>
21161 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
21164 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
21166 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
21169 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
21172 * docs/fdl.texi: New file.
21174 * docs/mdate-sh: New file. Copied from gnulib.
21175 * docs/texinfo.tex: Likewise.
21177 * config.guess: Updated from gnulib.
21178 * install-sh: Likewise.
21180 2008-02-28 Robert Millan <rmh@aybabtu.com>
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.
21187 * conf/i386-ieee1275.rmk: Likewise.
21189 2008-02-28 Robert Millan <rmh@aybabtu.com>
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.
21195 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
21197 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
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.
21211 2008-02-24 Bean <bean123ch@gmail.com>
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.
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.
21232 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
21233 (grub_emu_SOURCES): Likewise.
21235 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21237 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21239 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
21241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21243 * fs/udf.c: New file.
21245 2008-02-24 Robert Millan <rmh@aybabtu.com>
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.
21260 2008-02-23 Robert Millan <rmh@aybabtu.com>
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).
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'.
21270 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
21272 * include/grub/efi/time.h: Fix a wrong comment.
21274 2008-02-19 Pavel Roskin <proski@gnu.org>
21276 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
21279 2008-02-19 Bean <bean123ch@gmail.com>
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.
21292 * include/grub/aout.h: New file.
21294 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
21296 * include/grub/i386/bsd.h: New file.
21298 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
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.
21310 * kern/i386/loader.S (grub_unix_real_boot): New function.
21312 * loader/aout.c: New file.
21314 * loader/i386/bsd.c: New file.
21316 * loader/i386/bsd_normal.c: New file.
21318 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
21320 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
21321 can test other formats.
21323 2008-02-19 Robert Millan <rmh@aybabtu.com>
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.
21330 Export `entry' as partmap-specific `part.data' struct.
21331 (grub_gpt_header, grub_gpt_partentry): Move from here ...
21333 * include/grub/gpt_partition.h (grub_gpt_header)
21334 (grub_gpt_partentry): ... to here (new file).
21336 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
21338 (grub_gpt_partition_type_bios_boot): New const variable, defined
21339 with macro from `<grub/gpt_partition.h>'.
21341 (setup): Replace `first_start' with `embed_region', which keeps
21342 track of the embed region (and is partmap-agnostic).
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).
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.
21352 In grub_util_info() message, replace "into after the MBR" with an
21353 indication of the specific sector our embed region starts at.
21355 2008-02-19 Robert Millan <rmh@aybabtu.com>
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.
21365 2008-02-17 Christian Franke <franke@computer.org>
21367 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
21369 2008-02-17 Robert Millan <rmh@aybabtu.com>
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.
21374 2008-02-16 Robert Millan <rmh@aybabtu.com>
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.
21380 2008-02-13 Robert Millan <rmh@aybabtu.com>
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.
21386 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
21388 * configure.ac: Only a cosmetic change on the handling of
21389 -fno-stack-protector.
21391 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
21393 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
21394 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
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.
21404 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
21405 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
21407 (halt_mod_SOURCES): Likewise.
21408 (reboot_mod_SOURCES): Likewise.
21410 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
21411 commands/i386/pc/reboot.c by commands/reboot.c.
21412 (reboot_mod_SOURCES): Likewise.
21414 * commands/i386/pc/reboot.c: merge this file ...
21416 * commands/ieee1275/reboot.c: ... and this file ...
21418 * commands/reboot.c: ... to this file.
21419 Add some precompiler directive to include the correct header for
21422 * commands/ieee1275/halt.c: move this file ...
21424 * commands/halt.c: ... to here.
21425 Add some precompiler directive to include the correct header for
21428 * include/grub/efi/efi.h (grub_reboot): New function declaration.
21429 (grub_halt): Likewise.
21431 * kern/efi/efi.c (grub_reboot): New function.
21432 (grub_halt): Likewise.
21434 2008-02-12 Robert Millan <rmh@aybabtu.com>
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
21441 2008-02-11 Robert Millan <rmh@aybabtu.com>
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.
21447 2008-02-10 Robert Millan <rmh@aybabtu.com>
21449 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
21451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21452 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
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.
21459 2008-02-10 Robert Millan <rmh@aybabtu.com>
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
21464 Based on suggestions from Sam Morris.
21466 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
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.
21471 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
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.
21477 2008-02-09 Robert Millan <rmh@aybabtu.com>
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
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.
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).
21497 2008-02-09 Christian Franke <franke@computer.org>
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.
21503 2008-02-09 Robert Millan <rmh@aybabtu.com>
21505 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
21508 2008-02-09 Robert Millan <rmh@aybabtu.com>
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.
21516 2008-02-09 Robert Millan <rmh@aybabtu.com>
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
21522 2008-02-09 Robert Millan <rmh@aybabtu.com>
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.
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.
21532 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
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.
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
21545 2008-02-09 Robert Millan <rmh@aybabtu.com>
21547 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
21548 environment variable to 'all' in order to obtain debug output from
21550 * util/i386/pc/grub-setup.c (main): Likewise.
21552 2008-02-08 Robert Millan <rmh@aybabtu.com>
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.
21559 2008-02-08 Robert Millan <rmh@aybabtu.com>
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.
21567 2008-02-08 Robert Millan <rmh@aybabtu.com>
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
21573 (grub_raid_scan_device): Replace `device[x].name' accesses with
21574 `device[x]->name'. Simplify initialization of `array->device[x]'.
21576 2008-02-08 Robert Millan <rmh@aybabtu.com>
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
21583 2008-02-07 Christian Franke <franke@computer.org>
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.
21589 2008-02-07 Robert Millan <rmh@aybabtu.com>
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
21596 2008-02-06 Robert Millan <rmh@aybabtu.com>
21598 * util/grub-probe.c (probe): Simplify partmap probing (with the
21599 assumption that the first word up to the underscore equals to
21602 2008-02-06 Christian Franke <franke@computer.org>
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.
21614 2008-02-05 Bean <bean123ch@gmail.com>
21616 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
21618 (grub_multiboot_load_elf64): Likewise.
21619 (grub_multiboot): Initialize mbi structure.
21621 * util/grub-fstest.c: Don't include unused header file script.h.
21623 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
21625 (grub_fstest_SOURCES): Likewise.
21627 2008-02-05 Robert Millan <rmh@aybabtu.com>
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.
21634 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
21635 (translation_table): Replace hardcoded values with macros
21636 provided by `<grub/term.h>'.
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'.
21648 2008-02-04 Bean <bean123ch@gmail.com>
21650 * Makefile.in (enable_grub_fstest): New variable.
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.
21658 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
21660 * util/grub-fstest.c: New file.
21662 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
21664 Make grub-setup handle a separate root device.
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
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
21672 When not embedding, set ROOT_DRIVE to 0xFF.
21674 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
21676 Add support for having a grub directory in a different drive. This
21677 is still only the data handling part.
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.
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
21688 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
21690 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
21692 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
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
21698 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
21699 am not sure if this is really correct.
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.
21704 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
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
21710 (copy_buffer): Restore %dx.
21712 2008-02-03 Robert Millan <rmh@aybabtu.com>
21714 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
21715 use `cdboot.img' for cdrom images.
21717 2008-02-03 Robert Millan <rmh@aybabtu.com>
21719 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
21720 only setup gfxterm when `font' command has succeeded.
21722 2008-02-03 Robert Millan <rmh@aybabtu.com>
21724 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
21725 (grub_rescue_cmd_multiboot_loader)
21726 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
21728 2008-02-03 Pavel Roskin <proski@gnu.org>
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.
21734 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
21736 * configure.ac (AC_INIT): Bumped to 1.96.
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.
21743 2008-02-03 Bean <bean123ch@gmail.com>
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.
21750 * boot/i386/pc/cdboot.S: New file.
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.
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.
21766 * kern/i386/pc/init.c (make_install_device): Check for cd device.
21768 2008-02-02 Robert Millan <rmh@aybabtu.com>
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.
21776 2008-02-02 Robert Millan <rmh@aybabtu.com>
21778 * normal/main.c (grub_normal_execute): Check for `menu->size' when
21779 determining whether menu has to be displayed.
21781 2008-02-02 Marco Gerards <marco@gnu.org>
21783 * bus/pci.c: New file.
21785 * include/grub/pci.h: Likewise.
21787 * include/grub/i386/pc/pci.h: Likewise.
21789 * commands/lspci.c: Likewise.
21791 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
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.
21800 2008-02-02 Bean <bean123ch@gmail.com>
21802 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
21803 (grub_ufs_get_file_block): Fix indirect block calculation problem.
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.
21816 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
21818 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
21819 __attribute__ ((__regparm__ (1))).
21821 2008-02-01 Robert Millan <rmh@aybabtu.com>
21823 Correct a mistake in previous commit.
21825 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
21827 (normal/command.c_DEPENDENCIES): New variable.
21829 2008-02-01 Robert Millan <rmh@aybabtu.com>
21831 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
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'.
21842 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
21844 2008-02-01 Robert Millan <rmh@aybabtu.com>
21846 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
21847 call at beginning of function.
21849 2008-01-31 Pavel Roskin <proski@gnu.org>
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.
21856 2008-01-30 Robert Millan <rmh@aybabtu.com>
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.
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.
21869 2008-01-30 Tristan Gingold <gingold@free.fr>
21871 * kern/rescue.c: Silently accept empty lines.
21873 2008-01-29 Bean <bean123ch@gmail.com>
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.
21879 2008-01-29 Bean <bean123ch@gmail.com>
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.
21886 * video/readers/png.c: New file.
21888 2008-01-28 Robert Millan <rmh@aybabtu.com>
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.
21895 2008-01-27 Robert Millan <rmh@aybabtu.com>
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.
21901 2008-01-27 Robert Millan <rmh@aybabtu.com>
21903 Get grub-emu to build again (including parallel builds).
21905 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
21907 (util/grub-emu.c_DEPENDENCIES): ... this, ...
21908 (normal/execute.c_DEPENDENCIES): ... this, ...
21909 (grub-emu_DEPENDENCIES): ... and this.
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'.
21917 2008-01-27 Robert Millan <rmh@aybabtu.com>
21919 * NEWS: Add a few items.
21921 2008-01-27 Robert Millan <rmh@aybabtu.com>
21923 Fix parallel builds with grub-emu. Based on earlier commit for
21924 grub-probe and grub-setup.
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.
21937 2008-01-27 Pavel Roskin <proski@gnu.org>
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.
21945 2008-01-26 Pavel Roskin <proski@gnu.org>
21947 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
21948 just return an error.
21950 2008-01-26 Bean <bean123ch@gmail.com>
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.
21956 2008-01-25 Robert Millan <rmh@aybabtu.com>
21958 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
21959 make all filesystem sources appear together (possibly fixing omissions
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.
21966 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
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.
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.
21977 * genmk.rb: Update copyright year (2007).
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.
21986 2008-01-25 Robert Millan <rmh@aybabtu.com>
21988 Revert my previous commits (based on wrong assumption of how grub_errno
21991 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
21992 * kern/file.c (grub_file_open): Likewise.
21994 2008-01-24 Pavel Roskin <proski@gnu.org>
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
22004 2008-01-24 Robert Millan <rmh@aybabtu.com>
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.
22010 2008-01-24 Bean <bean123ch@gmail.com>
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.
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.
22023 2008-01-23 Robert Millan <rmh@aybabtu.com>
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.
22029 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
22030 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
22032 * kern/i386/ieee1275/init.c (grub_os_area_addr)
22033 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
22035 2008-01-23 Robert Millan <rmh@aybabtu.com>
22037 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
22038 #ifdef'ed out grub_printf().
22040 2008-01-23 Robert Millan <rmh@aybabtu.com>
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.
22046 2008-01-23 Robert Millan <rmh@aybabtu.com>
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.
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.
22061 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
22064 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
22065 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
22067 2008-01-23 Robert Millan <rmh@aybabtu.com>
22069 * kern/i386/pc/init.c (make_install_device): When memdisk image is
22070 present, "(memdisk)/boot/grub" becomes the default prefix.
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.
22076 2008-01-23 Robert Millan <rmh@aybabtu.com>
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.
22088 * include/grub/i386/ieee1275/loader.h: New file.
22090 * include/grub/i386/ieee1275/machine.h: Likewise.
22092 * include/grub/i386/ieee1275/memory.h: Likewise.
22094 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
22095 variable declaration.
22096 (grub_os_area_size): Likewise.
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).
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"'.
22108 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
22109 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
22111 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
22112 rely on grub_multiboot2_real_boot() for final boot.
22114 2008-01-22 Robert Millan <rmh@aybabtu.com>
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
22125 2008-01-22 Robert Millan <rmh@aybabtu.com>
22127 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
22128 avoid claiming over our own code.
22130 2008-01-22 Bean <bean123ch@gmail.com>
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.
22137 * video/readers/jpeg.c : New file.
22139 2008-01-22 Bean <bean123ch@gmail.com>
22141 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
22142 there are no more items.
22144 2008-01-21 Robert Millan <rmh@aybabtu.com>
22146 * kern/mm.c (grub_mm_init_region): Improve debug message.
22148 2008-01-21 Robert Millan <rmh@aybabtu.com>
22150 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
22151 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
22153 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
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
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.
22169 2008-01-21 Robert Millan <rmh@aybabtu.com>
22171 * disk/memdisk.c (memdisk_size): New variable.
22172 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
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.
22179 2008-01-21 Robert Millan <rmh@aybabtu.com>
22181 Fix detection of very small filesystems (like tar).
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).
22188 2008-01-21 Robert Millan <rmh@aybabtu.com>
22190 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
22191 on grub_biosdisk_rw_standard() error.
22193 2008-01-21 Robert Millan <rmh@aybabtu.com>
22195 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
22197 * kern/elf.c: Likewise.
22198 * kern/ieee1275/ieee1275.c: Likewise.
22199 * kern/powerpc/ieee1275/openfw.c: Likewise.
22200 * term/ieee1275/ofconsole.c: Likewise.
22202 2008-01-21 Robert Millan <rmh@aybabtu.com>
22204 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
22206 * include/grub/kernel.h (grub_arch_memdisk_addr)
22207 (grub_arch_memdisk_size): Moved from here ...
22209 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
22210 (grub_arch_memdisk_size): ... to here.
22212 2008-01-21 Robert Millan <rmh@aybabtu.com>
22214 Mostly based on bugfix from Bean.
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()
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()
22225 2008-01-21 Robert Millan <rmh@aybabtu.com>
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.
22233 * disk/memdisk.c: New file.
22235 * include/grub/disk.h (grub_disk_dev_id): Add
22236 `GRUB_DISK_DEVICE_MEMDISK_ID'.
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.
22245 * include/grub/i386/pc/memory.h
22246 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
22248 * include/grub/kernel.h: Include `<grub/symbol.h>'.
22249 (grub_arch_memdisk_addr): New variable declaration.
22250 (grub_arch_memdisk_size): Likewise.
22252 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
22253 (grub_arch_memdisk_size): Likewise.
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.
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().
22268 2008-01-20 Robert Millan <rmh@aybabtu.com>
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.
22274 2008-01-20 Robert Millan <rmh@aybabtu.com>
22276 Fix detection of "real mode" when /options/real-mode? doesn't exist.
22278 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
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
22285 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
22286 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
22288 2008-01-19 Robert Millan <rmh@aybabtu.com>
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
22294 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
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().
22300 2008-01-19 Robert Millan <rmh@aybabtu.com>
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.
22306 2008-01-19 Robert Millan <rmh@aybabtu.com>
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.
22318 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
22319 (grub_console_init): On coreboot/LinuxBIOS, call
22320 grub_keyboard_controller_init().
22322 2008-01-19 Robert Millan <rmh@aybabtu.com>
22324 PowerPC changes provided by Pavel Roskin.
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.
22332 2008-01-16 Robert Millan <rmh@aybabtu.com>
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().
22342 2008-01-15 Robert Millan <rmh@aybabtu.com>
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.
22353 2008-01-15 Robert Millan <rmh@aybabtu.com>
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
22359 2008-01-15 Robert Millan <rmh@aybabtu.com>
22361 * include/grub/ieee1275/ieee1275.h
22362 (grub_ieee1275_get_integer_property): New function prototype.
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.
22368 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
22369 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
22371 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
22372 (grub_map): Likewise.
22373 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
22375 2008-01-15 Bean <bean123ch@gmail.com>
22377 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
22378 (grub_script_execute_cmdline): Reset grub_errno.
22380 * normal/main.c (read_config_file): Reset grub_errno.
22382 * normal/parse.y (script_init): New.
22383 (script): Move function and menuentry here.
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.
22391 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
22393 2008-01-15 Robert Millan <rmh@aybabtu.com>
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.
22401 2008-01-15 Robert Millan <rmh@aybabtu.com>
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.
22407 2008-01-15 Christian Franke <franke@computer.org>
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.
22421 2008-01-14 Robert Millan <rmh@aybabtu.com>
22423 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
22424 for grub_ieee1275_exit(), in order to improve portability.
22426 2008-01-14 Robert Millan <rmh@aybabtu.com>
22428 * util/grub.d/10_linux.in (prefix): Define.
22429 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
22431 2008-01-13 Pavel Roskin <proski@gnu.org>
22433 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
22434 grub_errno if no errors have been detected.
22436 2008-01-12 Robert Millan <rmh@aybabtu.com>
22438 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
22439 (grub_util_get_dev_abstraction): New function prototype.
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).
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'.
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.
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
22464 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
22466 Remove some unused code from reiserfs.
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]:
22473 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
22475 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
22477 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
22479 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
22481 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
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.
22487 2008-01-10 Robert Millan <rmh@aybabtu.com>
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.
22497 2008-01-10 Pavel Roskin <proski@gnu.org>
22499 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
22500 to compile reiserfs.c on PowerPC.
22502 2008-01-10 Robert Millan <rmh@aybabtu.com>
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.
22509 2008-01-08 Robert Millan <rmh@aybabtu.com>
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.
22515 2008-01-08 Robert Millan <rmh@aybabtu.com>
22517 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
22518 `$(update-grub_DATA)'.
22519 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
22522 2008-01-07 Robert Millan <rmh@aybabtu.com>
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).
22528 2008-01-07 Robert Millan <rmh@aybabtu.com>
22530 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
22531 listing actual TODO items.
22533 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22535 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
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.
22542 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
22543 better to remove the bitfield version completely.
22545 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
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.
22551 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
22553 Mostly from Vincent Pelletier:
22555 * fs/reiserfs.c: New file.
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.
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
22567 2008-01-06 Robert Millan <rmh@aybabtu.com>
22569 * normal/color.c: Remove `<grub/env.h>'.
22571 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
22573 * include/grub/normal.h: Include <grub/env.h>.
22575 2008-01-05 Robert Millan <rmh@aybabtu.com>
22577 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
22578 usage example with `(hd0,1)'.
22579 Reported by Samuel Thibault.
22581 2008-01-05 Robert Millan <rmh@aybabtu.com>
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.
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.
22594 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
22595 (grub_linux_boot): Remove function.
22597 2008-01-05 Robert Millan <rmh@aybabtu.com>
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.
22603 * normal/color.c: New file.
22605 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22606 (normal_mod_DEPENDENCIES): Likewise.
22608 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22609 (normal_mod_DEPENDENCIES): Likewise.
22611 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22612 (normal_mod_DEPENDENCIES): Likewise.
22614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
22615 (normal_mod_DEPENDENCIES): Likewise.
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.
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.
22639 2008-01-05 Robert Millan <rmh@aybabtu.com>
22641 * kern/env.c (grub_env_context_open): Propagate hooks for global
22642 variables to new context.
22644 * kern/main.c (grub_set_root_dev): Export `root' variable.
22646 2008-01-05 Robert Millan <rmh@aybabtu.com>
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
22652 2008-01-05 Robert Millan <rmh@aybabtu.com>
22654 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
22656 2008-01-04 Christian Franke <franke@computer.org>
22658 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
22661 2008-01-03 Pavel Roskin <proski@gnu.org>
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.
22670 2008-01-02 Robert Millan <rmh@aybabtu.com>
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.
22676 2008-01-02 Pavel Roskin <proski@gnu.org>
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.
22682 2008-01-01 Robert Millan <rmh@aybabtu.com>
22684 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
22686 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
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.
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.
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.
22704 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
22705 with grub_video_vbe_unmap_color_int.
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
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
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
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.
22737 2007-12-30 Pavel Roskin <proski@gnu.org>
22739 * loader/multiboot_loader.c: Fix multiboot command
22740 unregistration. Fix all typos in the word "multiboot".
22742 2007-12-29 Pavel Roskin <proski@gnu.org>
22744 * util/grub.d/10_linux.in: Refactor search for initrd. Add
22745 support for initrd names used in Fedora.
22747 2007-12-26 Bean <bean123ch@gmail.com>
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.
22754 * fs/cpio.c: New file.
22756 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
22758 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22760 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
22762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22764 2007-12-25 Robert Millan <rmh@aybabtu.com>
22766 * include/grub/term.h (struct grub_term): Add `getcolor' function.
22767 (grub_getcolor): New function.
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
22776 (grub_menu_init_page): Likewise. Fill an additional colored space
22777 that would otherwise be left blank.
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.
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.
22795 2007-12-25 Robert Millan <rmh@aybabtu.com>
22797 * configure.ac: Search for possible unifont.hex locations, and
22798 define UNIFONT_HEX if found.
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)'.
22817 * util/update-grub_lib.in (font_path): Search for *.pff files in
22818 a few more locations, including `${pkgdata}'.
22820 2007-12-23 Robert Millan <rmh@aybabtu.com>
22822 Patch from Bean <bean123ch@gmail.com>:
22823 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
22826 2007-12-21 Bean <bean123ch@gmail.com>
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.
22833 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
22834 (grub_probe_SOURCES): Likewise.
22835 (grub_emu_SOURCES): Likewise.
22837 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
22838 (grub_emu_SOURCES): Likewise.
22840 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
22841 (grub_emu_SOURCES): Likewise.
22843 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
22844 (grub_emu_SOURCES): Likewise.
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.
22862 * fs/ntfscomp.c: New file.
22864 * include/grub/ntfs.h: New file.
22866 2007-12-16 Robert Millan <rmh@aybabtu.com>
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.
22872 2007-12-15 Bean <bean123ch@gmail.com>
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.
22879 * boot/i386/pc/lnxboot.S: New file.
22881 2007-11-24 Pavel Roskin <proski@gnu.org>
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.
22890 2007-11-24 Pavel Roskin <proski@gnu.org>
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.
22897 2007-11-18 Christian Franke <franke@computer.org>
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.
22903 2007-11-18 Christian Franke <franke@computer.org>
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.
22909 2007-11-18 Christian Franke <franke@computer.org>
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)".
22917 2007-11-18 Christian Franke <franke@computer.org>
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.
22923 2007-11-18 Bean <bean123ch@gmail.com>
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.
22930 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22932 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22934 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
22938 * include/grub/hexdump.h: New file.
22940 * commands/hexdump.c: New file.
22942 2007-11-10 Robert Millan <rmh@aybabtu.com>
22944 * commands/i386/pc/play.c (beep_off): Switch order of arguments
22945 in grub_outb() calls.
22946 (beep_on): Likewise.
22948 2007-11-10 Christian Franke <franke@computer.org>
22950 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
22951 (grub_menu_run): Likewise.
22953 2007-11-10 Robert Millan <rmh@aybabtu.com>
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.
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'.
22966 2007-11-10 Bean <bean123ch@gmail.com>
22968 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
22970 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
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.
22977 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
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
22987 (grub_vga_putchar): Likewise.
22988 (grub_vga_getcharwidth): Likewise.
22990 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
22992 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
22994 (pxeboot_img_LDFLAGS): Likewise.
22995 (diskboot_img_LDFLAGS): Likewise.
22996 (kernel_img_LDFLAGS): Likewise.
22998 2007-11-06 Robert Millan <rmh@aybabtu.com>
23000 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
23001 in grub_outb() calls.
23002 (serial_hw_init): Likewise.
23004 2007-11-05 Robert Millan <rmh@aybabtu.com>
23006 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
23007 spaces. Skip non-regular files.
23009 2007-11-05 Robert Millan <rmh@aybabtu.com>
23011 * kern/disk.c (grub_disk_firmware_fini)
23012 (grub_disk_firmware_is_tainted): New variables.
23014 * include/grub/disk.h (grub_disk_firmware_fini)
23015 (grub_disk_firmware_is_tainted): Likewise.
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'.
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.
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.
23034 2007-11-05 Robert Millan <rmh@aybabtu.com>
23036 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
23037 (grub_ata_wait): Reimplement using grub_millisleep().
23039 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
23040 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
23042 2007-11-03 Marco Gerards <marco@gnu.org>
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
23055 (grub_console_setcursor): Implemented.
23057 2007-11-03 Marco Gerards <marco@gnu.org>
23059 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
23061 (grub_ata_pio_write): Likewise.
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.
23068 2007-11-03 Marco Gerards <marco@gnu.org>
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'.
23075 2007-11-03 Marco Gerards <marco@gnu.org>
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
23081 2007-10-31 Robert Millan <rmh@aybabtu.com>
23083 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
23085 * conf/i386-linuxbios.rmk: New file.
23087 * kern/i386/pc/hardware.c: Likewise.
23088 * term/i386/pc/at_keyboard.c: Likewise.
23089 * term/i386/pc/vga_text.c: Likewise.
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.
23100 * kern/i386/linuxbios/init.c: Likewise.
23101 * kern/i386/linuxbios/startup.S: Likewise.
23102 * kern/i386/linuxbios/table.c: Likewise.
23104 2007-10-31 Marco Gerards <marco@gnu.org>
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.
23111 * disk/ata.c: New file.
23113 * include/grub/disk.h (grub_disk_dev_id): Add
23114 `GRUB_DISK_DEV_ATA_ID'.
23116 2007-10-31 Robert Millan <rmh@aybabtu.com>
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.
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.
23124 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
23127 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
23129 2007-10-27 Robert Millan <rmh@aybabtu.com>
23131 * include/grub/types.h (ULONG_MAX): Define macro.
23133 2007-10-22 Robert Millan <rmh@aybabtu.com>
23135 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
23137 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
23139 2007-10-22 Robert Millan <rmh@aybabtu.com>
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
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.
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().
23156 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
23158 2007-10-22 Robert Millan <rmh@aybabtu.com>
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.
23165 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
23167 (KERNEL_MACHINE_TIME_HEADER): ... this.
23168 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
23170 (KERNEL_MACHINE_TIME_HEADER): ... this.
23171 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
23173 (KERNEL_MACHINE_TIME_HEADER): ... this.
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.
23186 * include/grub/misc.h (grub_div_roundup): New function.
23188 * kern/misc.c: Include `<grub/time.h>'.
23189 (grub_millisleep_generic): New function.
23191 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
23193 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/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.
23199 2007-10-21 Robert Millan <rmh@aybabtu.com>
23201 * include/grub/misc.h (grub_max): New function.
23203 2007-10-21 Robert Millan <rmh@aybabtu.com>
23205 * util/misc.c (grub_util_info): Call fflush() before returning.
23207 2007-10-20 Robert Millan <rmh@aybabtu.com>
23209 * genmk.rb (Image): Copy `extra_flags' from here ...
23210 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
23212 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
23213 to `argc' and `args' arguments.
23215 2007-10-17 Robert Millan <rmh@aybabtu.com>
23217 * kern/i386/loader.S: New file.
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.
23234 * kern/i386/realmode.S: New file.
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.
23243 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
23244 `kern/i386/realmode.S'.
23246 2007-10-17 Robert Millan <rmh@aybabtu.com>
23248 * include/grub/i386/loader.h: New file.
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.
23261 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
23263 2007-10-15 Robert Millan <rmh@aybabtu.com>
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.
23273 2007-10-12 Robert Millan <rmh@aybabtu.com>
23275 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
23276 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
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.
23285 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
23286 Renamed from to ...
23287 (GRUB_MOD_ALIGN): ...this. Update all users.
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.
23298 2007-10-12 Robert Millan <rmh@aybabtu.com>
23300 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
23301 * util/elf/grub-mkimage.c: ... here.
23303 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
23304 `util/powerpc/ieee1275/grub-mkimage.c'.
23306 2007-10-07 Robert Millan <rmh@aybabtu.com>
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.
23316 2007-10-03 Robert Millan <rmh@aybabtu.com>
23318 * include/grub/i386/io.h: New file.
23319 * commands/i386/pc/play.c (inb): Removed.
23321 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23323 * term/i386/pc/serial.c (inb): Removed.
23325 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23327 * term/i386/pc/vga.c (inb): Removed.
23329 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
23332 2007-10-02 Robert Millan <rmh@aybabtu.com>
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.
23338 2007-09-07 Robert Millan <rmh@aybabtu.com>
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
23346 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23348 From Hitoshi Ozeki:
23349 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
23350 when merging two regions.
23352 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23354 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
23355 * normal/completion.c (grub_normal_do_completion): Likewise.
23356 Reported by Hitoshi Ozeki.
23358 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
23360 Do not use devices at boot in chainloading.
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>.
23369 2007-08-29 Robert Millan <rmh@aybabtu.com>
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.
23380 2007-08-28 Robert Millan <rmh@aybabtu.com>
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"
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.
23393 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
23395 * DISTLIST: Add util/i386/get_disk_name.c and
23396 util/ieee1275/get_disk_name.c.
23398 * util/grub-mkdevicemap.c: Replace device naming logic with
23399 grub_util_get_disk_name() calls.
23401 2007-08-20 Robert Millan <rmh@aybabtu.com>
23403 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
23404 (so that it works for both plural and singular quantities).
23406 2007-08-05 Robert Millan <rmh@aybabtu.com>
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.
23411 2007-08-02 Marco Gerards <marco@gnu.org>
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'.
23427 2007-08-02 Bean <bean123ch@gmail.com>
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.
23434 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
23435 (grub_probe_SOURCES): Likewise.
23436 (grub_emu_SOURCES): Likewise.
23438 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
23439 (grub_emu_SOURCES): Likewise.
23441 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
23442 (grub_emu_SOURCES): Likewise.
23444 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
23446 * fs/ntfs.c: New file.
23448 2007-08-02 Bean <bean123ch@gmail.com>
23450 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
23452 * file.h (grub_file): Likewise.
23454 * fshelp.h (grub_fshelp_read_file): Likewise.
23456 * util/i386/pc/grub-setup.c (setup): Likewise.
23457 (save_first_sector): Likewise.
23458 (save_blocklists): Likewise.
23460 * fs/affs.c (grub_affs_read_file): Likewise.
23462 * fs/ext2.c (grub_ext2_read_file): Likewise.
23464 * fs/fat.c (grub_fat_read_data): Likewise.
23466 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
23468 * fs/hfs.c (grub_hfs_read_file): Likewise.
23470 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
23472 * fs/jfs.c (grub_jfs_read_file): Likewise.
23474 * fs/minix.c (grub_minix_read_file): Likewise.
23476 * fs/sfs.c (grub_sfs_read_file): Likewise.
23478 * fs/ufs.c (grub_ufs_read_file): Likewise.
23480 * fs/xfs.c (grub_xfs_read_file): Likewise.
23482 * command/blocklist.c (read_blocklist): Likewise.
23483 (print_blocklist): Likewise.
23485 2007-08-02 Marco Gerards <marco@gnu.org>
23487 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
23490 * disk/host.c: New file.
23492 * util/hostfs.c: Likewise.
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.
23499 * include/grub/disk.h (enum grub_disk_dev_id): Add
23500 `GRUB_DISK_DEVICE_HOST_ID'.
23502 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
23504 2007-07-24 Jerone Young <jerone@gmail.com>
23506 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
23507 modules for compilation.
23508 * conf/powerpc-ieee1275.rmk: Likewise.
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.
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
23527 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
23528 ieee1275 specific multiboot2 code.
23530 * kern/i386/pc/startup.S: Change headers and definition names for
23531 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
23533 2007-07-22 Robert Millan <rmh@aybabtu.com>
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.
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].
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.
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
23560 2007-07-22 Robert Millan <rmh@aybabtu.com>
23562 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
23563 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
23565 2007-07-22 Robert Millan <rmh@aybabtu.com>
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
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.
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.
23583 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
23584 when nvsetenv failed.
23586 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
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.
23592 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
23594 Migrate to GNU General Public License Version 3.
23596 * COPYING: Replaced with the plain text version of GPLv3.
23598 * config.guess: Updated from gnulib.
23599 * config.sub: Likewise.
23601 * geninit.sh: Output a GPLv3 copyright notice.
23602 * geninitheader.sh: Likewise.
23603 * genmodsrc.sh: Likewise.
23604 * gensymlist.sh.in: Likewise.
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.
23856 2007-07-02 Robert Millan <rmh@aybabtu.com>
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.
23864 * util/grub-emu.c (main): Fix unchecked pointer handling.
23866 2007-07-02 Robert Millan <rmh@aybabtu.com>
23868 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
23869 invocation to fail, in order to support partition-less media.
23871 * util/i386/pc/grub-install.in: Likewise.
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).
23876 Also use grub-probe to get rid of unportable /proc/mounts check.
23878 Print the same informational message that the other scripts do, before
23881 2007-06-23 Robert Millan <rmh@aybabtu.com>
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.
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.
23890 * util/grub.d/00_header.in: Handle multiple terminals, based on
23891 environment setup by update-grub.
23893 2007-06-23 Robert Millan <rmh@aybabtu.com>
23895 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
23897 2007-06-21 Robert Millan <rmh@aybabtu.com>
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.
23904 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
23906 * kern/i386/efi/startup.S: Likewise.
23908 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
23909 during image generation. Implement --prefix option to override this
23911 * util/i386/efi/grub-mkimage.c: Likewise.
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.
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.
23920 2007-06-13 Robert Millan <rmh@aybabtu.com>
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
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.
23932 2007-06-12 Robert Millan <rmh@aybabtu.com>
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
23938 * util/grub-probe.c (probe): Likewise for "drive_name".
23940 2007-06-11 Robert Millan <rmh@aybabtu.com>
23942 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
23943 not just the cdrom one.
23945 2007-06-11 Robert Millan <rmh@aybabtu.com>
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.
23953 2007-06-11 Robert Millan <rmh@aybabtu.com>
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.
23959 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
23961 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
23962 list of video modes.
23964 2007-06-06 Robert Millan <rmh@aybabtu.com>
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.
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.
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
23978 2007-06-04 Robert Millan <rmh@aybabtu.com>
23980 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
23982 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
23984 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
23986 2007-06-04 Robert Millan <rmh@aybabtu.com>
23988 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
23990 * include/grub/partition.h: Declare grub_apple_partition_map_init and
23991 grub_apple_partition_map_fini.
23994 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
23995 to access >2 TiB disks).
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).
24001 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
24002 into a generic case that supports all (sane) partition maps.
24004 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
24007 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
24008 and grub_apple_partition_map_fini() after that.
24010 2007-06-01 Robert Millan <rmh@aybabtu.com>
24012 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
24014 * util/grub.d/00_header.in: Only enable gfxterm when
24015 convert_system_path_to_grub_path() succeeds.
24017 2007-05-20 Robert Millan <rmh@aybabtu.com>
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
24023 * Makefile.in: Add install routine for $(lib_DATA).
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
24028 * util/update-grub.in: Use convert_system_path_to_grub_path() to
24029 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
24031 2007-05-19 Robert Millan <rmh@aybabtu.com>
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.
24038 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
24040 * kern/disk.c (grub_disk_read): Check return value of
24043 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
24045 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
24047 * disk/raid.c (grub_raid_open): Likewise.
24049 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
24051 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
24052 stack instead of on the heap.
24054 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
24055 before doing a read on it.
24057 * configure.ac: Only use -fno-stack-protector for the target
24060 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
24062 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
24063 __attribute_ ((unused)) to mode_type argument.
24065 * util/getroot.c (grub_guess_root_device): Fix #endif.
24067 * kern/misc.c (memcmp): Fix prototype.
24069 * include/grub/partition.h [GRUB_UTIL]
24070 (grub_gpt_partition_map_init): Add prototype.
24071 (grub_gpt_partition_map_fini): Likewise.
24073 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
24074 at the right place.
24076 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
24077 (grub_fat_read_data): Likewise.
24078 (grub_fat_find_dir): Likewise.
24080 * font/manager.c (find_glyph): Make table a const.
24081 (grub_font_get_glyph): Remove bitmap from if statement.
24083 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
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
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.
24097 2007-05-16 Robert Millan <rmh@aybabtu.com>
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.
24107 2007-05-16 Robert Millan <rmh@aybabtu.com>
24109 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
24111 2007-05-16 Robert Millan <rmh@aybabtu.com>
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
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.
24123 2007-05-16 Robert Millan <rmh@aybabtu.com>
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.
24136 2007-05-15 Robert Millan <rmh@aybabtu.com>
24138 * util/update-grub.in: Remove duplicated line in grub.cfg header
24141 2007-05-13 Robert Millan <rmh@aybabtu.com>
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.
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 `'.
24152 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
24154 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
24155 the grub.cfg header message.
24157 2007-05-11 Robert Millan <rmh@aybabtu.com>
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.
24165 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
24167 * Makefile.in: Add the datarootdir autoconf variable.
24169 2007-05-09 Robert Millan <rmh@aybabtu.com>
24171 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
24172 fail gracefully if dev->disk->partition == NULL.
24174 2007-05-07 Robert Millan <rmh@aybabtu.com>
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.
24181 2007-05-07 Robert Millan <rmh@aybabtu.com>
24183 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
24184 source directory differs from build directory.
24186 2007-05-05 Robert Millan <rmh@aybabtu.com>
24188 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
24191 2007-05-05 Robert Millan <rmh@aybabtu.com>
24193 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
24195 2007-05-05 Robert Millan <rmh@aybabtu.com>
24197 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
24198 command-line arguments via ${GRUB_CMDLINE_LINUX}.
24200 2007-05-05 Robert Millan <rmh@aybabtu.com>
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
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.
24214 2007-05-05 Robert Millan <rmh@aybabtu.com>
24216 * term/i386/pc/console.c (grub_console_fini): Call
24217 grub_term_set_current() before grub_term_unregister().
24219 2007-05-04 Robert Millan <rmh@aybabtu.com>
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.
24233 2007-05-01 Robert Millan <rmh@aybabtu.com>
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.
24239 2007-04-19 Robert Millan <rmh@aybabtu.com>
24241 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
24244 2007-04-18 Jerone Young <jerone@gmail.com>
24246 * kernel/elf.c: Add missing parenthesis for conditional statement
24249 2007-04-10 Jerone Young <jerone@gmail.com>
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.
24254 2007-04-10 Jerone Young <jerone@gmail.com>
24256 * configure.ac: Add argument for autoconf to use transformation
24258 * Makefile.in: Add autoconf package transformation code.
24259 * util/i386/pc/grub-install.in: Likewise.
24260 * util/powerpc/ieee1275/grub-install.in: Likewise.
24262 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
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
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.
24275 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
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.
24282 2007-03-05 Marco Gerards <marco@gnu.org>
24284 * normal/main.c (read_config_file): When "menu" is not set, create
24285 an initial context.
24287 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
24289 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
24290 (HEAP_LIMIT): New macro.
24291 (grub_claim_heap): Claim memory up to `heaplimit'.
24293 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
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):
24306 (GRUB_IEEE1275_MODULE_BASE): Removed.
24308 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24310 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
24313 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
24315 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
24317 (grub_elf64_load_hook_t): Likewise.
24318 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
24321 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
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.
24330 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
24332 * include/grub/ieee1275/ieee1275.h: Update copyright.
24333 * kern/powerpc/ieee1275/init.c: Likewise.
24334 * kern/powerpc/ieee1275/openfw.c: Likewise.
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
24341 (grub_elf64_load): Likewise.
24342 (grub_elf32_load_segment): Move to a nested function.
24343 (grub_elf64_load_segment): Likewise.
24345 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
24347 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
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
24355 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
24356 (grub_available_iterate): New function.
24358 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
24360 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
24361 * configure.ac: Use it for testing the HOST and TARGET compilers.
24363 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
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.
24373 2006-12-12 Marco Gerards <marco@gnu.org>
24375 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
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
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
24393 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
24396 2006-12-11 Marco Gerards <marco@gnu.org>
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.
24401 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
24403 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
24405 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
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>.
24411 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
24413 * kern/disk.c (grub_disk_read): When there is a read error, always
24414 try to read only the necessary data.
24416 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
24418 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
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().
24428 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
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.
24434 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
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
24441 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
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.
24467 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
24469 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
24470 `catch_result' to struct set_color_args.
24472 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
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.
24478 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
24480 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
24482 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
24484 * kern/disk.c (grub_disk_open): Print debug messages when opening a
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
24490 * kern/partition.c: Include misc.h.
24491 (grub_partition_iterate): Print debug messages when detecting
24494 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
24496 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
24498 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
24500 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
24502 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
24503 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
24505 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
24507 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
24508 instead of sizeof(lv). Patch by Michael Guntsche.
24510 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
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.
24517 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24519 * configure.ac (AC_INIT): Bumped to 1.95.
24521 2006-10-14 Robert Millan <rmh@aybabtu.com>
24523 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
24524 with "/dev/.static/dev/md".
24526 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
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.
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.
24537 2006-10-14 Robert Millan <rmh@aybabtu.com>
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.
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.
24553 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
24554 choose which information we want to print.
24556 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
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.
24564 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
24566 Added support for RAID and LVM.
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.
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.
24584 * kern/i386/pc/init.c (make_install_device): Copy the prefix
24585 verbatim if grub_install_dos_part is -2.
24587 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
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.
24595 * conf/common.rmk: Add RAID and LVM modules.
24596 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
24598 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
24600 * kern/misc.c (grub_strstr): New function.
24601 * include/grub/misc.h (grub_strstr): New prototype.
24603 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
24605 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
24607 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
24609 * kern/misc.c (grub_strtoull): Guess the base only if not
24612 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
24614 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
24617 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
24619 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
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
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.
24639 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
24641 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
24642 `instance_to_package_args' to `instance_to_path_args'.
24644 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
24645 `grub_ieee1275_chosen'.
24647 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
24648 `grub_ieee1275_interpret'.
24650 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
24652 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
24654 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
24656 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
24657 (__cmpdi): Likewise.
24659 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
24660 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
24663 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
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'.
24669 2006-09-22 Marco Gerards <marco@gnu.org>
24671 * normal/script.c (grub_script_create_cmdmenu): Skip leading
24674 2006-09-22 Marco Gerards <marco@gnu.org>
24676 * commands/echo.c: New file.
24678 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
24680 * conf/common.rmk (echo_mod_SOURCES): New variable.
24681 (echo_mod_CFLAGS): Likewise.
24682 (echo_mod_LDFLAGS): Likewise.
24684 2006-09-22 Marco Gerards <marco@gnu.org>
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.
24690 2006-09-22 Marco Gerards <marco@gnu.org>
24692 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
24693 (normal_mod_DEPENDENCIES): Likewise.
24695 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
24696 (normal_mod_DEPENDENCIES): Likewise.
24698 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
24700 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
24702 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
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.
24712 2006-09-22 Robert Millan <rmh@aybabtu.com>
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.
24718 2006-09-21 Robert Millan <rmh@aybabtu.com>
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.
24724 2006-09-14 Marco Gerards <marco@gnu.org>
24726 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
24729 2006-09-14 Robert Millan <rmh@aybabtu.com>
24731 * util/i386/pc/grub-install.in: Skip menu.lst when removing
24734 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
24736 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
24737 before adding it to device.map.
24739 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
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.
24749 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
24751 Move the prototypes of grub_setjmp and grub_longjmp to
24752 cpu/setjmp.h, so that each architecture may specify different
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.
24762 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
24763 [!GRUB_UTIL] (grub_longjmp): Removed.
24765 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
24767 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
24768 "color!" method does not return any value.
24770 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
24772 * include/grub/bitmap.h: New file.
24774 * include/grub/i386/pc/vbeutil.h: Likewise.
24776 * video/bitmap.c: Likewise.
24778 * video/readers/tga.c: Likewise.
24780 * video/i386/pc/vbeutil.c: Likewise.
24782 * commands/videotest.c: Code cleanup and updated to reflect to new
24785 * term/gfxterm.c: Likewise.
24787 * video/video.c: Likewise.
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.
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.
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.
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
24827 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
24830 * video/i386/pc/vbeblit.c: Updated to reflect changes on
24831 include/grub/i386/pc/vbeblit.h.
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.
24839 * video/i386/pc/vbefill.c: Updated to reflect changes on
24840 include/grub/i386/pc/vbefill.h.
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.
24855 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
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
24861 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
24863 * include/grub/video.h: Code cleanup.
24865 * include/grub/i386/pc/vbe.h: Likewise.
24867 * video/i386/pc/vbe.c: Likewise.
24869 * video/i386/pc/vbeblit.c: Likewise.
24871 * video/i386/pc/vbefill.c: Likewise.
24873 * video/video.c: Likewise. Also added more comments.
24875 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
24877 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
24878 (struct grub_biosdisk_dap): Likewise.
24880 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
24881 linkage settings for all functions.
24883 2006-07-12 Marco Gerards <marco@gnu.org>
24885 * configure.ac (--enable-mm-debug): Fix typo.
24887 * genkernsyms.sh.in: Use proper quoting for `CC'.
24889 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
24891 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
24892 (normal_mod_ASFLAGS): Remove "-m32".
24894 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
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.
24901 * util/grub-emu.c: Do not include malloc.h.
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>.
24907 * configure.ac (AC_GNU_SOURCE): Added.
24908 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
24911 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
24913 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
24914 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
24916 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
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.
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.
24929 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
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>.
24935 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
24937 Count partitions from 1 instead of 0 in the string representation
24938 of partitions. Still use 0-based internally.
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.
24947 * partmap/pc.c (grub_partition_parse): Subtract 1 for
24949 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
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.
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.
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.
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
24974 (acorn_partition_map_get_name): Add 1 into P->INDEX.
24976 * kern/i386/pc/init.c (make_install_device): Add 1 into
24977 GRUB_INSTALL_DOS_PART.
24979 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
24982 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
24984 Clean up the code to support 64-bit addressing in disks and
24985 files. This change is not enough for filesystems yet.
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
24994 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
24995 to grub_disk_addr_t.
24997 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
25000 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25002 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
25005 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
25007 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
25009 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
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.
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.
25021 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
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
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,
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.
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
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,
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
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
25062 (grub_gzio_read): Change the types of OFFSET and SIZE to
25063 grub_off_t and grub_size_t, respectively.
25065 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
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.
25073 * include/grub/types.h (grub_off_t): Unconditionally set to
25075 (grub_disk_addr_t): Changed to grub_uint64_t.
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.
25083 * include/grub/misc.h (grub_strtoull): New prototype.
25084 (grub_divmod64): Likewise.
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.
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.
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
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
25102 (grub_file_size): Return grub_off_t.
25103 (grub_file_tell): Likewise.
25104 All callers and references changed.
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
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
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.
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
25123 (grub_iso9660_iterate_dir): Likewise.
25124 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
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.
25129 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25131 * fs/jfs.c (grub_jfs_read_file): Likewise.
25133 * fs/minix.c (grub_jfs_read_file): Likewise.
25135 * fs/sfs.c (grub_jfs_read_file): Likewise.
25137 * fs/ufs.c (grub_jfs_read_file): Likewise.
25139 * fs/xfs.c (grub_jfs_read_file): Likewise.
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,
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.
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.
25153 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
25156 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
25157 string. Do not cast SECTOR explicitly.
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.
25168 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
25169 (grub_efidisk_write): Likewise.
25171 * disk/loopback.c (delete_loopback): Cosmetic changes.
25172 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
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.
25178 * commands/i386/pc/play.c: Include grub/machine/time.h.
25180 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
25183 * commands/configfile.c: Include grub/env.h.
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.
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.
25194 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
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
25200 (blocklist_default_start): Allocate 64-bit space.
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
25206 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
25208 (lba_mode): Refactored to support a 64-bit address. More size
25210 (setup_sectors): Likewise.
25212 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
25214 * DISTLIST: Added include/grub/i386/linux.h. Removed
25215 include/grub/i386/pc/linux.h
25217 * configure.ac (AC_INIT): Bumped to 1.94.
25219 * config.guess: Updated from gnulib.
25220 * config.sub: Likewise.
25221 * install-sh: Likewise.
25222 * mkinstalldirs: Likewise.
25224 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
25226 * conf/common.rmk (grub_modules_init.lst): Depended on
25227 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
25230 * genmk.rb (PModule::rule): Reverted the previous change.
25232 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
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.
25240 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
25242 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
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.
25248 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
25250 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
25251 (PModule::rule): Likewise.
25253 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
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.
25260 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
25262 * configure.ac (CMP): Check if cmp is available explicitly.
25264 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
25266 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
25267 (target_cpu): New variable.
25268 (pkglibdir): Use target_cpu instead of host_cpu.
25270 * util/i386/pc/grub-install.in (host_cpu): Removed.
25271 (target_cpu): New variable.
25272 (pkglibdir): Use target_cpu instead of host_cpu.
25274 * util/genmoddep.c: Removed.
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.
25280 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
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
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
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.
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
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):
25321 (genmoddep_SOURCES): Likewise.
25323 * genmoddep.awk: New file.
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,
25334 * configure.ac: Rewritten intensively to use host and target
25335 instead of build and host, respectively.
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.
25349 (include): Use target_cpu instead of host_cpu.
25350 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
25352 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
25354 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
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
25362 * normal/execute.c (grub_script_execute_cmdif): Likewise.
25364 * normal/script.c (grub_script_create_cmdif): Likewise.
25366 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
25368 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
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
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
25381 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
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.
25390 * DISTLIST: Added loader/i386/efi/linux.c,
25391 loader/i386/efi/linux_normal.c and
25392 include/grub/i386/efi/loader.h.
25394 * loader/i386/efi/linux.c: New file.
25395 * loader/i386/efi/linux_normal.c: Likewise.
25396 * include/grub/i386/efi/loader.h: Likewise.
25398 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
25400 * commands/blocklist.c: New file.
25402 * DISTLIST: Added commands/blocklist.c.
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.
25410 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
25412 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
25413 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
25415 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
25418 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
25419 BG. The spec is wrong again.
25421 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
25423 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
25425 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25426 commands/blocklist.c.
25427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
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.
25434 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
25436 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
25438 (lba_mode): Use %eax more intensively to reduce the code size.
25440 2006-05-20 Marco Gerards <marco@gnu.org>
25442 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
25444 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
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.
25454 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
25455 front of the list, instead of to the end.
25457 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
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>.
25463 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
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.
25469 * include/grub/i386/pc/linux.h: Moved to ...
25470 * include/grub/i386/linux.h: ... here.
25472 * include/grub/i386/linux.h (struct linux_kernel_params): New
25475 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
25477 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
25479 (grub_video_vbe_blit_glyph): Likewise.
25480 (grub_video_vbe_blit_bitmap): Likewise.
25481 (grub_video_vbe_blit_render_target): Likewise.
25483 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
25485 * configure.ac (--with-platform): Properly quote the square
25488 2006-05-08 Marco Gerards <marco@gnu.org>
25490 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
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.
25507 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
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.
25524 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
25525 `kernel.elf' instead of `grubof'.
25527 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
25529 Add --with-platform to configure. Use pkglibdir instead of
25530 pkgdatadir. This is reported by Roger Leigh.
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.
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.
25548 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
25549 instead of GRUB_DATADIR.
25551 * util/i386/pc/grub-mkimage.c (usage): Likewise.
25553 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25556 * configure.ac (--with-platform): New option.
25557 Use PLATFORM instead of HOST_VENDOR to specify a platform.
25559 * Makefile.in: Include a makefile based on PLATFORM instead of
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.
25569 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
25571 Use the environment context in the menu. Remove the commands
25572 "default" and "timeout", and use variables instead.
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
25586 * normal/main.c (read_config_file): Do not initialize
25587 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
25589 (grub_normal_execute): Use a data slot to store the menu.
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.
25606 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
25608 (normal_mod_SOURCES): Removed normal/context.c.
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.
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.
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.
25622 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
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.
25631 * DISTLIST: Removed commands/default.c, commands/timeout.c and
25634 * commands/default.c: Removed.
25635 * commands/timeout.c: Likewise.
25636 * normal/context.c: Likewise.
25638 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
25640 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
25642 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
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
25654 (grub_env_context_close): Rewritten according to the new
25655 scheme. Also, add an assertion to prevent the initial context from
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
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.
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
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.
25686 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
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.
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.
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
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
25706 * kern/efi/init.c (grub_efi_set_prefix): Specify
25707 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
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
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
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
25727 * include/grub/efi/efi.h (grub_efi_get_device_path): New
25729 (grub_efi_get_loaded_image): Take an argument to specify an image
25732 * include/grub/loader.h (grub_loader_set): Added one more argument
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.
25743 * disk/efi/efidisk.c (device_path_guid): Moved to ...
25744 * kern/efi/efi.c (device_path_guid): ... here.
25746 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
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.
25756 * DISTLIST: Added include/grub/efi/chainloader.h,
25757 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
25759 * include/grub/efi/chainloader.h: New file.
25760 * loader/efi/chainloader.c: Likewise.
25761 * loader/efi/chainloader_normal.c: Likewise.
25763 2006-04-30 Marco Gerards <marco@gnu.org>
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 `.'.
25769 2006-04-30 Marco Gerards <marco@gnu.org>
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.
25776 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
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
25787 2006-04-30 Marco Gerards <marco@gnu.org>
25789 * include/grub/env.h (grub_env_export): New prototype. Reported
25790 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
25792 2006-04-30 Marco Gerards <marco@gnu.org>
25794 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
25795 size of the extents in a catalog file record.
25797 2006-04-29 Marco Gerards <marco@gnu.org>
25799 * commands/configfile.c (grub_cmd_configfile): Execute the
25800 configfile within its own context.
25802 * include/grub/env.h (grub_env_context_open): New prototype.
25803 (grub_env_context_close): Likewise.
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
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
25818 (grub_env_iterate): Rewritten so both the current context and the
25819 global context are being used.
25821 * normal/command.c (export_command): New function.
25822 (grub_command_init): Register the `export' function.
25824 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
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.
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.
25858 * include/grub/video.h: Do not include grub/symbol.h.
25859 (grub_video_register): Not exported. This symbol is not defined in
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.
25884 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
25886 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
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.
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.
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.
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.
25908 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
25911 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
25913 (gensymlist.sh): New target.
25914 (genkernsyms.sh): Likewise.
25916 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
25917 genkernsyms.sh.in and gensymlist.sh.in.
25919 * genkernsyms.sh: Removed.
25920 * gensymlist.sh: Likewise.
25922 * genkernsyms.sh.in: New file.
25923 * gensymlist.sh.in: Likewise.
25925 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
25927 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
25928 clobber "prefix", since we may have already set it manually.
25930 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
25932 * kern/misc.c (abort): New alias for grub_abort.
25934 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
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".
25942 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
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.
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.
25956 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
25957 (grub_machine_init): Do not set the prefix here.
25959 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
25961 * kern/efi/init.c: Include grub/mm.h.
25962 (grub_efi_set_prefix): New function.
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.
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.
25979 * kern/misc.c (grub_abort): Print a newline to distinguish
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.
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.
25991 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
25993 (grub_efidisk_get_device_handle): New prototype.
25994 (grub_efidisk_get_device_name): Likewise.
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.
26008 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
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.
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.
26021 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
26023 Use grub_abort instead of grub_stop, and grub_exit must be
26024 define in each architecture now. Also, this change adds support
26027 * util/i386/pc/grub-probefs.c: Include grub/term.h.
26028 (grub_getkey): New function.
26029 (grub_term_get_current): Likewise.
26031 * util/i386/pc/grub-setup.c: Include grub/term.h.
26032 (grub_getkey): New function.
26033 (grub_term_get_current): Likewise.
26035 * util/misc.c (grub_stop): Renamed to ...
26036 (grub_exit): ... this.
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.
26043 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
26046 * kern/i386/pc/startup.S (grub_exit): New function.
26047 (cold_reboot): New label.
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.
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.
26068 * kern/rescue.c (grub_rescue_cmd_exit): New function.
26069 (grub_enter_rescue_mode): Register "exit".
26071 * kern/misc.c (grub_real_dprintf): A cosmetic change.
26072 (grub_abort): New function.
26074 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
26076 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
26078 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
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.
26085 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
26086 * disk/efi/efidisk.c: Likewise.
26088 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
26090 * include/grub/efi/console_control.h
26091 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
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
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
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.
26201 * include/grub/misc.h (grub_stop): Removed.
26202 (grub_exit): New prototype.
26203 (grub_abort): Likewise.
26205 * include/grub/disk.h (enum grub_disk_dev_id): Added
26206 GRUB_DISK_DEVICE_EFIDISK_ID.
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.
26212 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
26214 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
26215 as it was simply too buggy.
26217 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
26219 * kern/misc.c (grub_lltoa): New function.
26220 (grub_vsprintf): Added support for the long long suffix,
26223 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
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
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.
26238 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
26240 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
26241 length for unknown glyph.
26243 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
26245 Add support for pre-loaded modules into the EFI port.
26247 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
26248 completely. Accept one more argument DIR. The caller has changed.
26250 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
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.
26257 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
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.
26264 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
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>.
26270 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
26272 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
26274 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
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.
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.
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.
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.
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.
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.
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.
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.
26347 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
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.
26356 * Makefile.in (RMKFILES): Added i386-efi.rmk.
26358 * genmk.rb (PModule#rule): Do not export symbols if
26359 #{prefix}_EXPORTS is set to "no".
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.
26373 2006-04-17 Marco Gerards <marco@gnu.org>
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.
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
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.
26423 * normal/parser.y (func_mem): Removed variable.
26424 (menu_entry): 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.
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
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.
26452 2006-04-16 Marco Gerards <marco@gnu.org>
26454 * normal/command.c (grub_command_init): Remove the title command.
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.
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.
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.
26477 (commands): Likewise. Add error handling.
26479 * normal/script.c (grub_script_create_cmdline): If
26480 `grub_script_parsed' is 0, assume the parser encountered an error.
26482 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
26484 * configure.ac: Add support for EFI. Fix the typo
26485 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
26487 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
26489 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
26490 foreign multibyte characters should be shown correctly.
26492 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
26494 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
26496 (read_config_file): Made it to close file before returning.
26498 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
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.
26504 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
26505 video/i386/pc/vbefill.c.
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.
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.
26516 * include/grub/i386/pc/vbeblit.h: New file.
26518 * include/grub/i386/pc/vbefill.h: New file.
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.
26525 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
26527 (grub_video_vbe_blit_render_target): Changed to use more optimized
26529 (grub_video_vbe_setup): Added detection for optimized settings.
26530 (grub_video_vbe_create_render_target): Likewise.
26532 * video/i386/pc/vbeblit.c: New file.
26534 * video/i386/pc/vbefill.c: New file.
26536 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
26538 * font/manager.c (grub_font_get_glyph): Removed font fixup from
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.
26545 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
26547 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
26548 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
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.
26568 * commands/videotest.c: New file.
26570 * font/manager.c (fill_with_default_glyph): Modified to use
26572 (grub_font_get_glyph): Likewise.
26573 (fontmanager): Renamed from this...
26574 (font_manager): ... to this.
26576 * include/grub/font.h (grub_font_glyph): Added new structure.
26577 (grub_font_get_glyph): Modified to use grub_font_glyph.
26579 * include/grub/misc.h (grub_abs): Added as inline function.
26581 * include/grub/video.h: New file.
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.
26611 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
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.
26644 * normal/cmdline.c (cl_set_pos): Refresh the screen.
26645 (cl_insert): Likewise.
26646 (cl_delete): Likewise.
26648 * term/gfxterm.c: New file.
26650 * term/i386/pc/vesafb.c: Removed file.
26652 * video/video.c: New file.
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.
26692 2006-03-10 Marco Gerards <marco@gnu.org>
26694 * configure.ac (AC_INIT): Bumped to 1.93.
26696 * DISTLIST: Added `include/grub/hfs.h'.
26698 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
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.
26703 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
26705 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
26706 Poe Chen <poe.poechen@gmail.com>.
26708 2006-01-17 Marco Gerards <marco@gnu.org>
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
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
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.
26745 2006-01-03 Marco Gerards <marco@gnu.org>
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>.
26752 2006-01-03 Marco Gerards <marco@gnu.org>
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.
26759 2006-01-03 Marco Gerards <marco@gnu.org>
26761 * partmap/apple.c (apple_partition_map_iterate): Convert the data
26762 read from disk from big endian to host byte order.
26764 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
26766 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
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
26776 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
26778 (grub_hfsplus_volheader): Change type of member `magic' to
26780 (grub_hfsplus_data): Add new member `embedded_offset'.
26781 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
26783 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
26784 Calculate the offset.
26786 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26788 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
26790 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
26792 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26794 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
26795 ENV->NAME is NULL after allocating ENV->VALUE.
26797 2005-12-25 Marco Gerards <marco@gnu.org>
26799 * kern/env.c (grub_env_set): Rewritten the error handling code.
26801 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
26803 * geninit.sh: Made more robust, and more portable.
26805 2005-12-25 Marco Gerards <marco@gnu.org>
26807 Add support for Apple HFS+ filesystems.
26809 * fs/hfsplus.c: New file.
26811 * DISTLIST: Added `fs/hfsplus.c'.
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.
26823 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
26825 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
26827 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
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
26835 Removed kern/sparc64/cache.c.
26837 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
26838 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
26841 * configure.ac (AC_INIT): Bumped to 1.92.
26843 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
26845 * kern/err.c (grub_error_push): Added new function to support error
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
26853 (grub_print_error): Added support to print errors from error stack.
26855 * include/grub/err.h (grub_error_push): Added function prototype.
26856 (grub_error_pop): Likewise.
26858 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
26860 * configure.ac: Accept `powerpc64' as host_cpu.
26861 (amd64): Rename to `biarch32'.
26863 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
26864 non-cacheline-aligned addresses.
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.
26870 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
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
26875 (pkgdata_MODULES): Add `gpt.mod'.
26876 (gpt_mod_SOURCES): New variable.
26877 (gpt_mod_CFLAGS): Likewise.
26878 (gpt_mod_LDFLAGS): Likewise.
26880 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
26882 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
26885 * partmap/gpt.c: New file.
26887 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
26888 GPT partition map is detected.
26890 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
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
26897 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
26899 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
26900 ((unused))' to silence gcc warning.
26902 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
26904 * configure.ac: Correct `AC_PROG_YACC' test.
26906 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26908 * util/powerpc/ieee1275/grub-install.in: Run the mount point
26909 check before installing files.
26911 2005-11-22 Mike Small <smallm@panix.com>
26913 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
26914 number regex so multidigit numbers are recognized correctly.
26916 2005-11-22 Mike Small <smallm@panix.com>
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.
26923 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26925 * term/tparm.c (get_space): Remove empty `if' statement.
26927 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
26929 * kern/parser.c (check_varstate): Rename `state' to 's'.
26931 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
26933 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
26934 variable definitions to the beginning of each function. Sort stack
26936 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
26937 `buf' argument to `char *'.
26939 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
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.
26972 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
26974 (pkgdata_MODULES): Add test.mod.
26976 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
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.
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.
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
27017 * conf/common.rmk: ... to here. New file.
27019 * conf/common.mk: New file.
27021 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
27023 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
27024 (grub_script.tab.c): ... here.
27026 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
27027 (grub_script.tab.c): ... here.
27029 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
27030 (grub_script.tab.c): ... here.
27032 * normal/command.c (grub_command_find): Fixed a memory leak of
27033 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
27035 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27037 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
27038 "@" which marks the start of a comment on ARM.
27039 (VARIABLE): Likewise.
27041 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27043 Add support for Linux/ADFS partition tables.
27045 * partmap/acorn.c: New file.
27047 * include/grub/acorn_filecore.h: Likewise.
27049 * DISTLIST: Added `partmap/acorn.c' and
27050 `include/grub/acorn_filecore.h'.
27052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
27054 (pkgdata_MODULES): Add `acorn.mod'.
27055 (acorn_mod_SOURCES): New variable.
27056 (acorn_mod_CFLAGS): Likewise.
27058 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
27060 (pkgdata_MODULES): Add `acorn.mod'.
27061 (acorn_mod_SOURCES): New variable.
27062 (acorn_mod_CFLAGS): Likewise.
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.
27070 * include/types.h (grub_disk_addr_t): New typedef.
27072 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
27074 * geninit.sh: New file.
27076 * geninitheader.sh: Likewise.
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):
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):
27090 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
27091 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
27093 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
27094 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
27096 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
27098 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
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):
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.
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
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'.
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
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.
27145 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
27147 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
27148 escape sequence and a literal ^L to clear the screen.
27150 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
27151 when returning from Open Firmware.
27153 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
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.
27162 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
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.
27178 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
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.
27191 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
27193 Add initial scripting support.
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.
27203 * configure.ac: Add `AC_PROG_YACC' test.
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
27212 (pkgdata_MODULES): Add `test.mod'.
27213 (grub_script.tab.c): New rule.
27214 (grub_script.tab.h): Likewise.
27216 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
27218 * include/grub/normal.h (grub_test_init): New prototype.
27219 (grub_test_fini): Likewise.
27221 * normal/command.c: Include <grub/script.h>.
27222 (grub_command_execute): Rewritten.
27224 * util/grub-emu.c (main): Call `grub_test_init' and
27227 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27229 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
27231 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
27232 there are no pending characters.
27234 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
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'.
27240 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
27242 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
27243 `debug' environment variable has been set.
27245 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
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
27256 (add_segments): Call `grub_util_get_path'.
27258 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
27260 From Timothy Baldwin:
27261 * commands/ls.c (grub_ls_list_files): Close FILE with
27263 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
27265 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
27267 * include/grub/parser.h: New file.
27269 * kern/parser.c: Likewise.
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'.
27277 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
27278 (grub_emu_SOURCES): Add `kern/parser.c'.
27279 (grubof_SOURCES): Likewise.
27281 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
27282 (grubof_SOURCES): Add `kern/parser.c'.
27284 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
27286 * kern/misc.c (grub_split_cmdline): Removed function.
27288 * kern/rescue.c: Include <grub/parser.h>.
27289 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
27290 of `grub_split_cmdline'.
27292 * normal/command.c: Include <grub/parser.h>.
27293 (grub_command_execute): Use `grub_parser_split_cmdline' instead
27294 of `grub_split_cmdline'.
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.
27305 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
27307 * normal/sparc64/setjmp.S: New file.
27309 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
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.
27316 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
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
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
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.
27351 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
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.
27357 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
27359 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
27360 consistently within the loop.
27362 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
27364 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
27365 directory can not be read.
27367 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27369 * configure.ac (AC_INIT): Increase the version number to 1.91.
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.
27375 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27377 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
27378 file size must be permitted.
27380 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
27381 between %ah and %al.
27383 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27385 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
27387 Call the hook with a NUL-terminated filename.
27388 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
27391 * kern/term.c (cursor_state): New variable.
27392 (grub_term_set_current): Reset the cursor state on a new
27394 (grub_setcursor): Rewritten to use CURSOR_STATE.
27395 (grub_getcursor): New function.
27397 * include/grub/term.h (grub_getcursor): New prototype.
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>.
27403 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
27405 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
27407 (grub_sfs_dir): Likewise.
27409 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
27411 Add support for the SFS filesystem.
27413 * fs/sfs.c: New file.
27415 * DISTLIST: Added `fs/sfs.c'.
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.
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.
27430 * util/grub-emu.c (main): Call `grub_sfs_init' and
27433 * include/grub/fs.h (grub_sfs_init): New prototype.
27434 (grub_sfs_fini): Likewise.
27436 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
27438 Add support for the AFFS filesystem.
27440 * fs/affs.c: New file.
27442 * DISTLIST: Added `fs/affs.c'.
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.
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.
27457 * util/grub-emu.c (main): Call `grub_affs_init' and
27460 * include/grub/fs.h (grub_affs_init): New prototype.
27461 (grub_affs_fini): Likewise.
27463 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
27465 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
27467 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
27469 * configure.ac: Accept `x86_64' as host_cpu. In that case add
27472 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
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
27493 (normal_mod_ASFLAGS): Add `-m32'.
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'.
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'.
27508 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
27510 Make GRUB's kernel compliant to Multiboot Specification.
27512 * kern/i386/pc/startup.S (multiboot_header): New label.
27513 (multiboot_entry): Likewise.
27514 (multiboot_trampoline): Likewise.
27516 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27517 Increased to 0x4A0.
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.
27523 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
27525 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
27527 Adds support for the XFS filesystem. Btrees are not supported
27530 * fs/xfs.c: New file.
27532 * DISTLIST: Added `fs/xfs.c'.
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.
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.
27546 * util/grub-emu.c (main): Call `grub_xfs_init' and
27549 * include/grub/fs.h (grub_xfs_init): New prototype.
27550 (grub_xfs_fini): Likewise.
27553 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
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
27559 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27561 * normal/completion.c (complete_arguments): Add the qualifier
27562 const into OPTIONS.
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
27573 (terminfo_mod_SOURCES): New variable.
27574 (terminfo_mod_CFLAGS): Likewise.
27575 (serial_mod_SOURCES): Likewise.
27576 (serial_mod_CFLAGS): Likewise.
27578 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
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.
27584 * boot/powerpc/ieee1275/crt0.S: Moved to ...
27585 * kern/powerpc/ieee1275/crt0.S: ... here.
27587 * boot/powerpc/ieee1275/cmain.c: Moved to ...
27588 * kern/powerpc/ieee1275/cmain.c: ... here.
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.
27595 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
27596 sectors. It was not used anyway.
27598 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
27600 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
27601 `unused parameter' warning.
27603 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
27605 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
27607 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
27610 2005-08-28 Marco Gerards <metgerards@student.han.nl>
27612 * include/grub/normal.h (enum grub_completion_type): Added
27613 `GRUB_COMPLETION_TYPE_ARGUMENT'.
27615 * normal/cmdline.c (print_completion): Handle
27616 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
27617 * normal/menu_entry.c (store_completion): Likewise.
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.
27623 2005-08-27 Marco Gerards <metgerards@student.han.nl>
27625 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
27626 `gzio.mod' instead of `io.mod').
27628 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
27630 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
27631 (DISTDIRS): Added io and video.
27632 Rewrite the search routine to make an output consistently.
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.
27641 * include/grub/gzio.h: New file.
27642 * io/gzio.c: Likewise.
27644 * kern/file.c (grub_file_close): Call grub_device_close only if
27645 FILE->DEVICE is not NULL.
27647 * include/grub/mm.h [!NULL] (NULL): New macro.
27649 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
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.
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.
27661 * commands/cat.c: Include grub/gzio.h.
27662 (grub_cmd_cat): Use grub_gzfile_open instead of
27665 * commands/cmp.c: Include grub/gzio.h.
27666 (grub_cmd_cmp): Use grub_gzfile_open instead of
27669 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
27670 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
27672 (grub_rescue_cmd_module): Likewise.
27674 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
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.
27680 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
27682 * configure.ac: Add support for sparc64 host with ieee1275
27684 * configure: Generated from configure.ac.
27685 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
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.
27712 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
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
27720 * normal/menu.c (print_entry): Made aware of Unicode. First,
27721 convert TITLE to UCS-4, and predict the cursor position by
27724 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
27726 * kern/misc.c (grub_utf16_to_utf8): Likewise.
27728 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
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
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.
27739 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
27741 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
27742 invalid magic in the error.
27744 * commands/search.c: New file.
27746 * util/grub-emu.c (main): Call grub_search_init and
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.
27755 * kern/partition.c (grub_partition_iterate): Return the result of
27756 PARTMAP->ITERATE instead of GRUB_ERRNO.
27758 * kern/device.c: Include grub/partition.h.
27759 (grub_device_iterate): New function.
27761 * include/grub/partition.h (grub_partition_iterate): Return int
27762 instead of grub_err_t.
27764 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
27766 [GRUB_UTIL] (grub_search_fini): Likewise.
27768 * include/grub/device.h (grub_device_iterate): New prototype.
27770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
27772 (pkgdata_MODULES): Added search.mod.
27773 (search_mod_SOURCES): New variable.
27774 (search_mod_CFLAGS): Likewise.
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.
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.
27785 * DISTLIST: Added commands/search.c.
27787 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
27789 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
27791 (grub_getcharwidth): New function.
27793 * kern/misc.c (grub_utf8_to_ucs4): New function.
27795 * include/grub/term.h (struct grub_term): Added a new member
27797 (grub_getcharwidth): New prototype.
27799 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
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
27808 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
27809 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
27811 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
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
27817 (grub_vesafb_getcharwidth): New function.
27818 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
27821 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
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.
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.
27837 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
27838 * commands/i386/pc/vbeinfo.c: ... this.
27840 * commands/i386/pc/vbe_test.c: Renamed to ...
27841 * commands/i386/pc/vbetest.c: ... this.
27843 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
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
27850 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
27851 (GRUB_MOD_FINI): Likewise.
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.
27862 * normal/misc.c: Include grub/mm.h.
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.
27875 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
27877 * normal/misc.c: New file.
27879 * DISTLIST: Added normal/misc.c.
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.
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.
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.
27913 * normal/cmdline.c (print_completion): New function.
27915 * kern/partition.c (grub_partition_iterate): Add an argument DISK
27917 All callers changed.
27919 * kern/disk.c (grub_print_partinfo): Removed.
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.
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.
27934 * include/grub/disk.h (grub_print_partinfo): Removed.
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.
27941 * commands/ls.c (grub_ls_list_disks): Use
27942 grub_normal_print_device_info instead of grub_print_partinfo. Free
27944 (grub_ls_list_files): Use grub_normal_print_device_info instead of
27945 duplicating the code.
27947 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
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.
27956 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
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.
27986 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
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.
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.
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
28003 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
28004 cleared by a debugger, if it is not zero.
28006 * include/grub/normal.h (grub_command_execute): Add an argument
28009 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
28011 * DISTLIST: Added include/grub/i386/pc/vbe.h.
28013 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
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.
28021 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
28023 * DISTLIST: Added normal/completion.c.
28025 * normal/completion.c: New file.
28027 * term/i386/pc/console.c (grub_console_getwh): New function.
28028 (grub_console_term): Assign grub_console_getwh to getwh.
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
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.
28041 * kern/misc.c (grub_strncmp): Rewritten.
28043 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
28044 returns non-zero. Otherwise return 0.
28046 * include/grub/partition.h (grub_partition_map_iterate): Return
28047 int instead of void.
28049 * include/grub/normal.h (grub_normal_do_completion): New prototype.
28051 * include/grub/misc.h (grub_strncmp): Change the type of N to
28054 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
28057 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
28058 unsigned explicitly before comparing it with I.
28060 * kern/main.c (grub_env_write_root): Add the attribute unused into
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.
28069 * normal/command.c (grub_iterate_commands): If ITERATE returns
28070 non-zero, return one immediately.
28072 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
28074 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
28075 * kern/i386/pc/startup.S: Updated Global Descriptor table's
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.
28090 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
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.
28098 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
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().
28104 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
28106 * include/grub/powerpc/ieee1275/console.h: Do not include
28107 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
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.
28121 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
28123 * Makefile.in (LIBLZO): New variable.
28125 * configure.ac: Check for LZO version 2.
28127 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
28128 lzo/lzo1x.h instead of lzo1x.h.
28130 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
28133 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
28134 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
28136 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
28137 copying the data from PARTITION to P.
28139 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28141 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
28142 negative, unload the module.
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
28152 * util/i386/pc/grub-install.in: Do not specify --boot-file or
28153 --core-file. Specify INSTALL_DEVICE as an argument.
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.
28162 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
28164 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
28166 * configure.ac: Check for curses libraries and headers.
28168 * Makefile.in (LIBCURSES): New variable.
28170 * genmk.rb (Script::rule): Set the executable bits.
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".
28175 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
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.
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.
28193 * include/grub/powerpc/ieee1275/console.h: Resurrected.
28195 * COPYING: Upgraded to the latest version. Only the address of the
28196 FSF office has changed.
28198 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
28200 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
28201 kern/ieee1275.c with kern/ieee1275/of.c.
28203 * kern/ieee1275.c: Moved to ...
28204 * kern/ieee1275/of.c: ... here.
28206 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
28208 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
28211 * config.guess: Updated to the latest version from gnulib.
28212 * config.sub: Likewise.
28213 * install.sh: Likewise.
28214 * mkinstalldirs: Likewise.
28216 * include/grub/console.h: Removed. This file is arch-specific. Do
28217 not put this in include/grub.
28219 * include/grub/i386/pc/console.h: Resurrected.
28221 * util/console.c: Include grub/machine/console.h instead of
28223 * util/grub-emu.c: Likewise.
28225 2005-08-04 Marco Gerards <metgerards@student.han.nl>
28227 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
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
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
28247 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
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
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'.
28275 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
28277 * DISTLIST: Added util/i386/pc/grub-probefs.c.
28279 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
28280 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
28282 (grub_probefs_SOURCES): New variable.
28284 * util/i386/pc/grub-probefs.c: New file.
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.
28292 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
28294 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
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>.
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.
28312 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
28314 * util/i386/pc/grub-install.in (datadir): New variable.
28316 (pkgdatadir): New variable.
28317 (pkglibdir): Removed.
28319 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
28321 * DISTLIST: Added util/i386/pc/grub-install.in.
28323 * util/i386/pc/grub-install.in: New file.
28325 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
28326 (grub_install_SOURCES): Likewise.
28328 * genmk.rb: Added support for scripts.
28329 (Script): New class.
28330 (scripts): New variable.
28332 * Makefile.in (install-local): Install sbin_SCRIPTS by
28334 (uninstall): Remove sbin_SCRIPTS.
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.
28341 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
28342 description for --device-map.
28344 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
28346 Change the semantics of variable hooks. They now return strings
28347 instead of error values.
28349 * util/i386/pc/grub-setup.c: Include grub/env.h.
28350 (setup): Use grub_device_set_root instead of grub_env_set.
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.
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.
28360 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
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,
28369 Allocate the default empty string on the heap, because this string
28370 may be freed later.
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.
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.
28384 * include/grub/device.h (grub_device_set_root): Removed.
28385 (grub_device_set_root): Likewise.
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.
28391 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
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
28396 Put a newline only if there is no error.
28397 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
28400 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
28402 * kern/partition.c (grub_partition_probe): Initialize PART to
28403 NULL. Otherwise, when no partition map is registered, this returns
28406 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
28408 * partmap/apple.c (apple_partition_map_iterate): Check if POS
28409 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
28412 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
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
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
28423 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
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.
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
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
28463 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
28464 const into "longarg". Change the type of "shortarg" to int.
28466 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
28468 * boot/i386/pc/boot.S (boot_drive_check): New label.
28470 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
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.
28476 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
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.
28482 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
28484 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
28485 be 0x7C00 instead of 0x8000.
28487 * boot/i386/pc/pxeboot.S: Rewritten.
28489 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
28491 (gate_a20_check_state): Read a byte from 0x108000. Invert the
28494 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
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.
28500 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28501 Increased to 0x440.
28503 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
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.
28518 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
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.
28524 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
28526 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
28528 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
28529 (grub_mkdevicemap_SOURCES): New variable.
28531 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
28532 lib/device.c of GRUB Legacy.
28534 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
28536 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
28537 instead of PATH is NULL.
28539 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
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.
28547 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
28549 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
28552 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
28554 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
28555 when backspace is pressed at beginning of line.
28557 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
28559 * DISTLIST: Added genfslist.sh.
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.
28566 * kern/fs.c (grub_fs_autoload_hook): New variable.
28567 (grub_fs_probe): Added support for auto-loading.
28569 * include/grub/normal.h (struct grub_fs_module_list): New struct.
28570 (grub_fs_module_list_t): New type.
28572 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
28573 (grub_fs_autoload_hook): New prototype.
28575 * genfslist.sh: New file.
28577 * genmk.rb: Added a rule to generate a filesystem list.
28579 2005-06-30 Marco Gerards <metgerards@student.han.nl>
28581 * configure.ac: Fix the test for cross-compiling.
28583 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
28584 define GRUB_UTIL anymore.
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.
28591 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
28593 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
28594 contains `l' modifier, get a long from va_arg().
28596 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
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
28601 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
28603 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
28605 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
28606 `grub_ieee1275_chosen'.
28608 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
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
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'.
28633 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
28635 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
28637 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
28638 /chosen/bootargs as "variable=value" pairs.
28640 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
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.
28650 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
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):
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
28681 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
28682 `grub_ieee1275_test_flag'.
28683 (grub_ieee1275_encode_devname): Likewise.
28685 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
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
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.
28702 2005-03-30 Marco Gerards <metgerards@student.han.nl>
28704 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
28705 `grub_loader_unset'.
28707 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
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
28724 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
28726 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
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
28738 * util/powerpc/ieee1275/misc.c: New file.
28740 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28742 * DISTLIST: New file.
28743 * gendistlist.sh: Likewise.
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
28761 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28763 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
28764 descriptor. This is ported from GRUB Legacy.
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>.
28770 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
28772 Automatic loading of commands is supported.
28774 * normal/main.c (read_command_list): New function.
28775 (grub_normal_execute): Call read_command_list.
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,
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.
28787 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
28788 make sure that each command is loaded.
28790 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
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.
28796 * commands/help.c (grub_cmd_help): Call grub_command_find to make
28797 sure that each command is loaded.
28799 * genmk.rb (PModule::rule): Specify a module name without the
28800 suffix ".mod" to gencmdlist.sh.
28802 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
28804 * gencmdlist.sh: New file.
28806 * genmk.rb (PModule::rule): Generate a rule for a command list.
28808 Generate command.lst from $(COMMANDFILES).
28810 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
28811 (DATA): Added $(pkgdata_DATA).
28812 (install-local): Install files in $(pkgdata_DATA).
28814 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
28816 * term/i386/pc/vga.c (debug_command): Removed.
28817 (GRUB_MOD_INIT): Do not register the command "debug".
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
28835 [GRUB_UTIL] (grub_configfile_fini): Likewise.
28837 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
28839 * normal/arg.c (grub_arg_show_help): Do not show the bug report
28842 * commands/help.c (grub_cmd_help): Do not print newlines after
28843 the last command in print_command_help.
28845 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
28847 * commands/default.h: New file.
28848 * commands/timeout.h: Likewise.
28849 * normal/context.c: Likewise.
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.
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.
28859 * util/console.c (grub_ncurses_checkkey): Return the read
28862 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
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
28872 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
28874 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
28876 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
28878 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
28880 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
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.
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
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.
28915 * Makefile.in (all-local): Added $(MKFILES).
28917 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
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
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
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.
28934 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
28936 This implements an Emacs-like menu entry editor.
28938 * normal/menu_entry.c: New file.
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.
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.
28953 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
28955 * kern/misc.c (grub_vprintf): Call grub_refresh.
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.
29007 * include/grub/normal.h: New prototype.
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.
29015 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
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.
29022 * util/grub-emu.c: Include signal.h.
29023 (main_env): New global variable.
29024 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
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.
29032 * include/grub/util/misc.h: Include setjmp.h.
29033 (main_env): New prototype.
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.
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.
29043 * util/i386/pc/misc.c: New file.
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.
29049 2005-02-14 Guillem Jover <guillem@hadrons.org>
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
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.
29068 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
29071 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
29073 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
29074 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
29076 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
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.
29086 2005-02-01 Guillem Jover <guillem@hadrons.org>
29088 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
29091 2005-01-31 Marco Gerards <metgerards@student.han.nl>
29093 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
29095 (grub_rescue_cmd_linux): New prototype.
29096 (grub_rescue_cmd_initrd): Likewise.
29097 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
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):
29111 (grub_linux_normal_fini): Likewise.
29112 (GRUB_MOD_INIT): Register `initrd'.
29113 (GRUB_MOD_FINI): Unregister `initrd'.
29115 2005-01-31 Marco Gerards <metgerards@student.han.nl>
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
29127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
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
29139 * normal/cmdline.c (grub_cmdline_get): Doc fix.
29141 * normal/command.c (grub_command_init): Fixed the description of
29142 the `set' and `unset' commands.
29144 2005-01-31 Marco Gerards <metgerards@student.han.nl>
29146 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
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'
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.
29161 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
29163 * include/grub/misc.h (memmove): New prototype.
29164 (memcpy): Likewise.
29166 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
29168 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
29169 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
29171 2005-01-22 Marco Gerards <metgerards@student.han.nl>
29173 * kern/misc.c (grub_strndup): Function rewritten.
29175 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
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
29186 2005-01-21 Marco Gerards <metgerards@student.han.nl>
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.
29192 2005-01-21 Marco Gerards <metgerards@student.han.nl>
29194 Add the loopback device, a device via which files can be accessed
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
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
29211 * include/grub/disk.h (grub_disk_dev_id): Add
29212 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
29214 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
29216 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
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):
29223 * commands/ieee1275/suspend.c: New file.
29225 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
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
29234 2005-01-20 Marco Gerards <metgerards@student.han.nl>
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'.
29248 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
29249 point to `currnode' when `currnode' is changed.
29251 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
29252 Schottelius <nico-linux@schottelius.org>.
29254 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
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.
29268 2005-01-05 Marco Gerards <metgerards@student.han.nl>
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
29274 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
29276 * TODO: Add note about endianness in grub-mkimage.
29277 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
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
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.
29323 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
29325 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
29327 * include/grub/powerpc/ieee1275/ieee1275.h
29328 (grub_ieee1275_milliseconds): New prototype.
29329 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
29331 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
29332 grub_ieee1275_milliseconds.
29334 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
29336 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
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.
29345 2004-12-29 Marco Gerards <metgerards@student.han.nl>
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>.
29351 2004-12-28 Marco Gerards <metgerards@student.han.nl>
29353 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
29355 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
29356 `kern/powerpc/cache.S'.
29358 2004-12-27 Marco Gerards <metgerards@student.han.nl>
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):
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
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
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
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.
29424 2004-12-19 Marco Gerards <metgerards@student.han.nl>
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):
29437 (grub_arch_dl_relocate_symbols): Likewise.
29438 (grub_register_exported_symbols): Likewise.
29440 2004-12-13 Marco Gerards <metgerards@student.han.nl>
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>.
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>.
29451 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
29452 output so the output looks better.
29454 2004-12-04 Marco Gerards <metgerards@student.han.nl>
29456 Modulize the partition map support and add support for the amiga
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
29512 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
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
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].
29525 2004-11-16 Marco Gerards <metgerards@student.han.nl>
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.
29531 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
29533 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
29534 `actual' for negativity.
29535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
29538 2004-11-01 Marco Gerards <metgerards@student.han.nl>
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
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
29566 2004-11-01 Marco Gerards <metgerards@student.han.nl>
29568 Add support for iso9660 (including rockridge).
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.
29578 * include/grub/misc.h (grub_strncat): New prototype.
29579 * kern/misc.c (grub_strncat): New function.
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.
29586 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
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):
29593 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
29594 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
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
29602 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
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.
29608 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
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.
29614 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
29616 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
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>.
29625 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
29627 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
29628 Call grub_children_iterate for device nodes of type `scsi',
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):
29636 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
29637 Return -1 if args.size was -1.
29639 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
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):
29650 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
29652 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
29654 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
29655 -1 if args.base was -1.
29657 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
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.
29663 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
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.
29671 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
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.
29677 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
29679 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
29681 Make the source code of the menu interface more readable.
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.
29708 2004-09-17 Marco Gerards <metgerards@student.han.nl>
29710 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
29711 can be loaded from normal mode.
29713 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
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.
29720 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
29721 attribute `unused'.
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'.
29726 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
29727 looking up a symlink.
29729 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
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.
29735 * normal/menu.c (grub_menu_run): Fix typo.
29737 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
29739 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
29741 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
29742 `y + 1' instead of `y - 1'.
29744 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
29746 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
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.
29757 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
29759 Added normal mode command `chainloader' as module chain.mod, which
29760 depends on normal.mod and _chain.mod.
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):
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.
29772 2004-09-11 Marco Gerards <metgerards@student.han.nl>
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'.
29783 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
29785 (grub_fshelp_node): New struct.
29786 (grub_ext2_data): Added member `diropen'. Changed member `inode'
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.
29801 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
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.
29809 * kern/loader.c (grub_loader_is_loaded): New function.
29811 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
29812 (grub_get_rtc): Exported.
29814 * include/grub/i386/pc/time.h: Include grub/symbol.h.
29815 (grub_get_rtc): Exported.
29817 * include/grub/normal.h (struct grub_command_list): Remove
29818 constant from the member `command'.
29820 * include/grub/loader.h (grub_loader_is_loaded): Declared.
29822 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
29824 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
29826 2004-08-28 Marco Gerards <metgerards@student.han.nl>
29828 Add support for the JFS filesystem.
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.
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.
29849 2004-08-24 Marco Gerards <metgerards@student.han.nl>
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.
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'.
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.
29865 * include/grub/fs.h (grub_hfs_init): New prototype.
29866 (grub_hfs_fini): Likewise.
29869 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29871 Each disk device has its own id now. This is useful to make use
29872 of multiple disk devices.
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.
29878 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
29879 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
29881 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
29882 GRUB_DISK_DEVICE_OFDISK_ID as an id.
29884 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
29885 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
29887 * include/grub/disk.h (struct grub_disk_dev): Added a new member
29888 "id" which is used by the cache manager.
29890 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
29893 2004-08-18 Marco Gerards <metgerards@student.han.nl>
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.
29903 * include/grub/misc.h (grub_strncasecmp): Add prototype.
29904 * kern/misc.c (grub_strncasecmp): Add function.
29906 2004-08-14 Marco Gerards <metgerards@student.han.nl>
29908 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
29911 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
29912 (grub_ext2_dir): In case the directory entry type is unknown, read
29915 2004-08-02 Peter Bruin <pjbruin@dds.nl>
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.
29921 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
29923 2004-07-27 Marco Gerards <metgerards@student.han.nl>
29925 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
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.
29939 2004-07-12 Marco Gerards <metgerards@student.han.nl>
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.
29947 2004-07-11 Marco Gerards <metgerards@student.han.nl>
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
29958 2004-07-11 Marco Gerards <metgerards@student.han.nl>
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>.
29968 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
29970 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
29971 there was no input.
29973 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
29975 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
29976 the history buffer logic.
29978 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
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
29988 2004-05-24 Marco Gerards <metgerards@student.han.nl>
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
29994 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
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
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
30014 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
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.
30021 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
30024 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
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.
30031 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
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.
30042 2004-03-29 Marco Gerards <metgerards@student.han.nl>
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
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.
30072 These files were written by Johan Rydberg
30073 (jrydberg@night.trouble.net) and I only modified them slightly.
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.
30080 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
30082 * Makefile.in: Update copyright.
30083 * genmodsrc.sh: Likewise.
30084 * gensymlist.sh: Likewise.
30085 * term/i386/pc/vga.c: Indent correctly.
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.
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
30098 * util/console.c (pupa_ncurses_fini): Return 0.
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.
30107 2004-03-14 Marco Gerards <metgerards@student.han.nl>
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
30117 (pupa_command_execute): Changed (almost rewritten) so it uses
30118 pupa_split_command. Added support for setting variables using the
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
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,
30136 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
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.
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
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
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
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
30229 * util/pupa-emu.c: Include <pupa/env.h>.
30230 (options): Added 0's for unused fields to silence a gcc warning.
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
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
30249 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
30250 local variable i unsigned to silence a gcc warning.
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
30257 (pupa_set_more): New function.
30258 * include/pupa/term.h (pupa_set_more): New prototype.
30261 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
30263 Now this project is GRUB 2 rather than PUPA. The location of
30264 the CVS repository was moved to GRUB's.
30266 * configure.ac: Use bug-grub as the reporting address.
30267 Use GRUB instead of PUPA.
30268 Change the version number to 1.90.
30270 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
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.
30358 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
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.
30366 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
30368 (struct linux_kernel_header): Add kernel_version and
30370 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
30371 pupa_file_read succeeds.
30372 (pupa_rescue_cmd_initrd): Implement.
30374 2003-12-03 Marco Gerards <metgerards@student.han.nl>
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.
30382 * kern/misc.c (pupa_strndup): New function.
30383 * include/pupa/misc.h (pupa_strndup): New prototype.
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.
30409 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
30412 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
30413 * configure.ac [i386]: Check for regparam bug.
30414 (NESTED_FUNC_ATTR) [! i386]: Defined.
30416 2003-11-17 Marco Gerards <metgerards@student.han.nl>
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
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.
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
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.
30469 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
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.
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.
30488 * kern/misc.c (pupa_stpcpy): New function.
30489 * include/pupa/misc.h (pupa_stpcpy): New prototype.
30491 2003-11-12 Marco Gerards <metgerards@student.han.nl>
30493 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
30494 for available extensions.
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
30504 * util/misc.c: Include <sys/times.h>
30505 (pupa_get_rtc): New function.
30507 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
30509 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
30511 (pupa_ext2_get_file_block): Use blocks member.
30513 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
30514 first block. Return -1 instead of pupa_errno on error.
30516 2003-10-27 Marco Gerards <metgerards@student.han.nl>
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.
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.
30541 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
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>.
30547 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
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".
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.
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.
30568 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
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.
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.
30580 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
30583 * kern/term.c (pupa_term_set_current): Rewritten.
30584 (pupa_putchar): Likewise.
30585 (pupa_putcode): New function.
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.
30592 * normal/command.c: Include pupa/term.h.
30593 (terminal_command): New function.
30594 (pupa_command_init): Register the command "terminal".
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.
30607 * term/i386/pc/console.c (pupa_console_putchar): New function.
30609 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
30611 * util/resolve.c (pupa_util_resolve_dependencies): BUG
30612 FIX. Reverse the path_list.
30614 * include/pupa/normal.h: Export pupa_register_command and
30615 pupa_unregister_command.
30617 * hello/hello.c (pupa_cmd_hello): New module.
30618 * conf/i386-pc.rmk: Added hello.mod.
30620 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
30622 * kern/i386/pc/lzo1x.S: New file.
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.
30629 * util/misc.c (pupa_util_read_image): Fix a file descriptor
30631 (pupa_util_load_image): New function.
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.
30641 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
30644 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
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.
30653 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
30655 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
30656 (Utility#rule): Likewise.
30658 * configure.ac: Check if LZO is available.
30660 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
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.
30671 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
30672 (pupa_rescue_cmd_initrd): Likewise.
30674 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
30677 * kern/i386/pc/startup.S (translation_table): New variable.
30678 (translate_keycode): New function.
30679 (pupa_console_getkey): Call translate_keycode.
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.
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
30690 * kern/main.c (pupa_load_normal_mode): Just load the module
30692 (pupa_main): Don't print the message
30693 "Entering into rescue mode..." here.
30695 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
30697 (pupa_rescue_cmd_initrd): Likewise.
30698 (pupa_rescue_cmd_initrd): Likewise.
30700 * include/pupa/symbol.h (FUNCTION): Specify the type.
30701 (VARIABLE): Likewise.
30703 * include/pupa/err.h (pupa_err_t): Added
30704 PUPA_ERR_UNKNOWN_COMMAND.
30706 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
30707 (pupa_dl_get_prefix): Likewise.
30709 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
30710 Added _chain.mod and _linux.mod instead of chain.mod and
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.
30724 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
30726 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
30729 * kern/dl.c (pupa_dl_ref): Refer depending modules
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
30735 (pupa_dl_unload): Unload depending modules explicitly,
30738 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
30740 * include/pupa/i386/pc/linux.h: New file.
30741 * loader/i386/pc/linux.c: Likewise.
30743 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
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.
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.
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.
30775 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
30776 (pupa_enter_rescue_mode): Don't register initrd and module.
30778 * kern/mm.c: Include pupa/dl.h.
30780 * kern/main.c: Include pupa/file.h and pupa/device.h.
30782 * kern/loader.c (pupa_loader_load_module_func): Removed.
30783 (pupa_loader_load_module): Likewise.
30785 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
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.
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.
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.
30805 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
30806 (linux_mod_SOURCES): New variable.
30807 (linux_mod_CFLAGS): Likewise.
30809 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
30811 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
30812 the length of a blocklist correctly.
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.
30819 * kern/main.c (pupa_set_root_dev): New function.
30820 (pupa_load_normal_mode): Likewise.
30821 (pupa_main): Call those above.
30823 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
30826 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
30828 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30830 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
30831 (setup): Configure the installed partition information and the
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.
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.
30847 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
30849 (make_install_device): New function.
30850 (pupa_machine_init): Set the dl prefix.
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,
30862 * kern/mm.c (pupa_memalign): If failed even after invalidating
30863 disk caches, unload unneeded modules and retry.
30865 * kern/misc.c (pupa_memmove): New function.
30866 (pupa_memcpy): Removed.
30867 (pupa_strcpy): New function.
30868 (pupa_itoa): Made static.
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.
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.
30889 * include/pupa/types.h: Fix a typo.
30891 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
30893 (pupa_memmove): Declared.
30894 (pupa_strcpy): Likewise.
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.
30907 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
30908 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
30910 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
30911 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
30913 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
30914 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
30916 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
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
30922 (find_root_device): Use lstat instead of stat.
30923 Don't follow symbolic links.
30924 Fix the path-constructing code.
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.
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.
30941 * kern/main.c (pupa_main): Don't split the starting message from
30944 * kern/term.c (pupa_putchar): Put CR after LF instead of before
30945 LF, because BIOS goes crazy about character attributes in this
30948 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
30950 * include/i386/pc/util/biosdisk.h: New file.
30951 * util/i386/pc/biosdisk.c: Likewise.
30952 * util/i386/pc/pupa-setup.c: Likewise.
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.
30961 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
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.
30970 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
30972 * include/pupa/util/misc.h (xrealloc): Declared.
30974 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
30976 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
30977 (PUPA_BOOT_MACHINE_BPB_END): ... this.
30979 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
30980 [PUPA_UTIL] (pupa_fat_fini): Likewise.
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.
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
30991 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
30992 (pupa_setup_SOURCES): Likewise.
30994 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
30996 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
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
31002 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
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.
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.
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.
31027 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
31029 * genmk.rb (PModule#rule): Compile automatically generated
31030 sources with module-specific CFLAGS as well as other sources.
31032 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
31034 * configure.ac: Check ld.
31035 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
31036 respectively, before checking endianness and sizes.
31038 * Makefile.in (LD): New variable.
31040 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
31042 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
31044 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
31046 * Changelog: New file.